:root{--igpui-radius-chip: 10px;--igpui-radius-card: 12px;--igpui-radius-modal: 16px;--igpui-neutral: #5c6a80;--igpui-accent: #4770cc;--igpui-focus-ring: 0 0 0 3px color-mix(in srgb, var(--igpui-accent) 18%, transparent);--igpui-focus-border: color-mix(in srgb, var(--igpui-accent) 55%, transparent);--igpui-page-bg: #eef0f4;--igpui-header-blur: 16px;--igpui-header-line: color-mix(in srgb, var(--igpui-neutral) 14%, transparent);--igpui-card-bg: #fcfcfd;--igpui-card-shadow: 0 1px 2px color-mix(in srgb, #0f172a 5%, transparent);--igpui-card-shadow-hover: 0 10px 24px -12px color-mix(in srgb, #0f172a 16%, transparent);--igpui-modal-shadow: 0 1px 2px color-mix(in srgb, #0f172a 5%, transparent), 0 28px 56px -18px color-mix(in srgb, #0f172a 22%, transparent);--igpui-overlay: color-mix(in srgb, #0f172a 40%, transparent);--igpui-overlay-blur: 12px;--igpui-border: color-mix(in srgb, var(--igpui-neutral) 16%, transparent);--igpui-border-strong: color-mix(in srgb, var(--igpui-neutral) 22%, transparent);--igpui-input-bg: rgba(255, 255, 255, .66);--igpui-button-bg: rgba(255, 255, 255, .55);--igpui-column-bg: rgba(228, 232, 240, .5);--igpui-surface: rgba(255, 255, 255, .55);--igpui-card-bg: rgba(255, 255, 255, .62);--igpui-header-fill: color-mix(in srgb, #ffffff 55%, transparent);--shell: rgba(255, 255, 255, .55);--canvas: var(--igpui-page-bg);--panel: var(--igpui-surface);--panel-2: var(--igpui-button-bg);--tile: var(--igpui-card-bg);--featured: var(--igpui-accent);--featured-2: #3857a8;--border: var(--igpui-border);--text: #1e293b;--muted: var(--igpui-neutral);--accent: var(--igpui-accent);--danger: #dc2626;--ok: #059669;--input: var(--igpui-input-bg);--shadow: var(--igpui-modal-shadow);color-scheme:light;font-family:Segoe UI,system-ui,sans-serif}:root[data-theme=dark]{--igpui-accent: #6ea8ff;--igpui-focus-ring: 0 0 0 3px color-mix(in srgb, #6ea8ff 28%, transparent);--igpui-focus-border: color-mix(in srgb, #6ea8ff 60%, transparent);--igpui-page-bg: #181818;--igpui-header-fill: color-mix(in srgb, #1c1c1c 94%, transparent);--igpui-header-blur: 6px;--igpui-header-line: color-mix(in srgb, #fff 10%, transparent);--igpui-card-shadow: none;--igpui-card-shadow-hover: 0 10px 24px -14px rgba(0, 0, 0, .55);--igpui-modal-shadow: 0 24px 48px -12px rgba(0, 0, 0, .55);--igpui-overlay: rgba(0, 0, 0, .62);--igpui-overlay-blur: 4px;--igpui-border: color-mix(in srgb, #fff 8%, transparent);--igpui-border-strong: color-mix(in srgb, #fff 14%, transparent);--igpui-input-bg: rgba(255, 255, 255, .09);--igpui-button-bg: rgba(255, 255, 255, .07);--igpui-column-bg: rgba(22, 23, 29, .55);--igpui-surface: rgba(38, 39, 47, .55);--igpui-card-bg: rgba(44, 46, 55, .66);--igpui-header-fill: color-mix(in srgb, #1c1c1c 55%, transparent);--shell: rgba(30, 31, 38, .62);--text: #e8e8e8;--muted: #b4b4b4;--featured-2: #6ea8ff;--danger: #f87171;--ok: #34d399;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;letter-spacing:-.01em;color:var(--text);background:var(--igpui-page-bg)}a{color:var(--igpui-accent);text-decoration:none}a:hover{text-decoration:none;opacity:.88}.app-bg{position:relative;min-height:100vh;padding:28px 20px 36px;display:flex;align-items:center;justify-content:center;background-image:var(--app-bg-image, none);background-size:cover;background-position:center;overflow:hidden;overflow:clip}.app-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(42% 55% at 12% 8%,color-mix(in srgb,var(--igpui-accent) 30%,transparent),transparent 70%),radial-gradient(38% 50% at 88% 12%,color-mix(in srgb,#8b5cf6 22%,transparent),transparent 70%),radial-gradient(45% 60% at 78% 88%,color-mix(in srgb,#22d3ee 16%,transparent),transparent 72%),radial-gradient(50% 55% at 18% 92%,color-mix(in srgb,#f472b6 12%,transparent),transparent 70%);pointer-events:none}.app-bg:after{content:"";position:absolute;z-index:0;width:55vw;height:55vw;left:-12vw;top:-14vw;background:radial-gradient(closest-side,color-mix(in srgb,var(--igpui-accent) 26%,transparent),transparent);filter:blur(60px);pointer-events:none;animation:aurora-float 28s ease-in-out infinite alternate}@keyframes aurora-float{0%{transform:translate(0) scale(1)}to{transform:translate(34vw,20vw) scale(1.12)}}@media(prefers-reduced-motion:reduce){.app-bg:after{animation:none}}.has-bg-image .app-bg:before,.has-bg-image .app-bg:after{display:none}.shell{position:relative;z-index:1;width:min(1120px,100%);height:min(760px,calc(100vh - 64px));background:var(--shell);border:1px solid var(--igpui-border);border-radius:var(--igpui-radius-modal);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}.shell-wide{width:min(1240px,100%)}@media(min-width:1440px){.shell-wide{width:min(1560px,100%);height:calc(100vh - 88px)}}.shell-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;gap:12px;min-height:44px;border-bottom:1px solid var(--igpui-header-line);background:var(--igpui-header-fill);backdrop-filter:blur(var(--igpui-header-blur));-webkit-backdrop-filter:blur(var(--igpui-header-blur))}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.brand-mark{width:31px;height:31px;border-radius:var(--igpui-radius-chip);display:grid;place-items:center;background:color-mix(in srgb,var(--igpui-accent) 10%,transparent);color:var(--igpui-accent);font-size:13px;font-weight:700}.brand-mark.brand-emoji{font-size:19px}img.brand-mark{object-fit:cover;padding:0}.seg{display:inline-flex;align-self:flex-start;border:1px solid var(--igpui-border);border-radius:8px;overflow:hidden;background:var(--igpui-button-bg)}.seg button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:2px 10px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:14px;line-height:1.4}.seg button svg{flex-shrink:0}.seg button:not(.active):hover{color:var(--text);background:color-mix(in srgb,var(--igpui-accent) 10%,transparent)}.seg button.active{background:var(--igpui-accent);color:#fff}.seg.page button{min-height:34px;padding:4px 16px;font-size:.9rem;font-weight:600}.seg.page button:not(.active){color:var(--text)}.brand-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--igpui-accent) 10%,transparent);color:var(--igpui-accent);overflow:hidden;flex-shrink:0}.brand-ico img,img.brand-ico{width:100%;height:100%;object-fit:cover}.brand-ico.brand-emoji{font-size:24px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin-bottom:.35rem}.welcome{margin:0;font-weight:600;color:var(--text)}.bg-preview{width:72px;height:44px;border-radius:8px;border:1px solid var(--igpui-border);background-size:cover;background-position:center;flex-shrink:0}.icon-row{display:flex;gap:8px}.icon-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--igpui-border);background:var(--igpui-button-bg);color:var(--text);display:grid;place-items:center;cursor:pointer;text-decoration:none}.icon-btn:hover,.icon-btn.active{border-color:transparent;background:var(--igpui-accent);color:#fff}.layout{display:grid;grid-template-columns:88px 1fr;flex:1;min-height:0}.side{padding:8px 14px 22px;display:flex;flex-direction:column;align-items:center;gap:10px;border-right:1px solid var(--igpui-border);background:var(--igpui-column-bg)}.side h1{display:none}.side nav{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center}.side nav a{width:100%;padding:7px 2px 6px;border-radius:var(--igpui-radius-chip);display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);background:transparent;text-decoration:none}.side-icon{font-size:17px;line-height:1.2}.side-label{font-size:10px;color:var(--muted);text-align:center;line-height:1.15;max-width:72px;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.side nav a:hover .side-label,.side nav a.active .side-label{color:inherit}.side nav a:hover{background:color-mix(in srgb,var(--igpui-accent) 10%,transparent);color:var(--igpui-accent)}.side nav a.active{background:var(--igpui-accent);color:#fff}.side nav .disabled{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:7px 2px 6px;border-radius:var(--igpui-radius-chip);opacity:.35;cursor:not-allowed;color:var(--muted)}.main{padding:12px 18px 16px;flex:1;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;background:var(--shell)}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem;gap:12px}.top h2,.main h2{margin:.15rem 0 0;letter-spacing:-.02em;font-weight:700}.main h2{margin:0 0 1rem}.self-portal{width:100%;max-width:none;margin:0;padding:12px 18px 16px;overflow:visible;background:var(--shell)}.self-stack{display:flex;flex-direction:column;gap:14px;min-height:0}.self-id{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.self-auth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.self-auth-grid:has(.is-enrolling){align-items:start}.self-auth-card.card{margin:0;padding:.85rem 1rem;display:flex;flex-direction:column;gap:0;height:100%;overflow:hidden}.self-auth-head{display:flex;flex-direction:column;gap:.45rem;flex:1;min-height:0}.self-auth-card.is-enrolling .self-auth-head{flex:none}.self-auth-card h3,.self-auth-head h3,.self-auth-head p{margin:0}.self-auth-head>button:last-of-type{margin-top:auto}.self-key-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.self-key-list li{display:flex;align-items:center;justify-content:space-between;gap:8px}.self-enroll-panel{display:grid;grid-template-rows:1fr;max-height:0;margin-top:0;min-height:0;overflow:hidden;transition:max-height .32s ease,margin-top .32s ease}.self-enroll-panel.open{max-height:32rem;margin-top:.45rem}.self-enroll-panel-inner{overflow:hidden;min-height:0}.self-enroll{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0 2px}.self-enroll .qr{width:min(220px,100%);height:auto;padding:8px}.self-enroll h3{margin:0 0 .35rem}.self-enroll .secret{font-size:.72rem;margin:0;text-align:center;word-break:break-all}.self-enroll label{min-width:0;width:100%}.card{background:var(--igpui-card-bg);border:1px solid var(--igpui-border);border-radius:var(--igpui-radius-card);box-shadow:var(--igpui-card-shadow);padding:1.05rem 1.2rem;margin-bottom:1rem}.card h3{margin:0 0 .75rem;font-size:1.05rem}.row{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--muted);flex:1;min-width:170px}input,select,textarea{background:var(--igpui-input-bg);border:1px solid var(--igpui-border);color:var(--text);border-radius:var(--igpui-radius-chip);padding:7px 10px;min-height:36px;font:inherit}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:0;height:18px;width:18px;padding:0;margin:0;flex-shrink:0;border:1px solid var(--igpui-border);border-radius:var(--igpui-radius-chip);background:var(--igpui-input-bg);display:inline-grid;place-content:center;cursor:pointer}input[type=checkbox]:before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .12s ease-in-out;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);background:#fff}input[type=checkbox]:checked{background:var(--igpui-accent);border-color:var(--igpui-accent)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}label.check{flex-direction:row;align-items:center;gap:.5rem;flex:0 0 auto;width:auto;min-width:0;cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none}.row>label.check{padding-bottom:10px}.check-list{display:grid;gap:.6rem;flex:1;min-width:200px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--igpui-focus-border);box-shadow:var(--igpui-focus-ring)}button,.btn{min-height:36px;background:var(--igpui-accent);color:#fff;border:1px solid transparent;border-radius:var(--igpui-radius-chip);padding:8px 14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:none}button.secondary{background:var(--igpui-button-bg);border-color:var(--igpui-border);color:var(--text)}button.danger{background:var(--danger);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--igpui-border)}th{color:var(--muted);font-weight:600;background:var(--igpui-column-bg)}.muted{color:var(--muted)}.err{color:var(--danger)}.ok{color:var(--ok)}.toast-stack{position:fixed;top:16px;right:16px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px))}.toast{padding:10px 14px;border-radius:10px;background:var(--igpui-card-bg);border:1px solid var(--igpui-border);box-shadow:var(--igpui-modal-shadow);font-size:.9rem;animation:toast-in .18s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.toast.ok{border-left:3px solid var(--ok)}.toast.err{border-left:3px solid var(--danger);color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.skeleton-wrap{display:flex;flex-direction:column;gap:16px;padding:6px 2px}.skeleton-row{display:flex;gap:22px}.skeleton{display:inline-block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--igpui-button-bg) 25%,var(--igpui-column-bg) 50%,var(--igpui-button-bg) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:2.25rem 1rem}.empty-state .row{justify-content:center;margin-top:1rem}.tab-page{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.tab-page>.card{flex:none}.tab-page>.card.table-card{flex:1 1 0;min-height:0;overflow:auto;margin-bottom:0}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;background:var(--igpui-button-bg);font-size:.75rem}.badge.bad{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--igpui-overlay);backdrop-filter:blur(var(--igpui-overlay-blur));-webkit-backdrop-filter:blur(var(--igpui-overlay-blur));display:flex;align-items:center;justify-content:center;padding:24px 16px}.modal{width:min(520px,100%);max-height:min(640px,calc(100vh - 48px));overflow:auto;background:var(--igpui-card-bg);border:1px solid var(--igpui-border);border-radius:var(--igpui-radius-modal);box-shadow:var(--igpui-modal-shadow);padding:1.1rem 1.25rem 1.25rem}.modal-wide{width:min(760px,100%)}.modal h3{margin:0 0 .4rem}.modal label{margin-top:.4rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:.75rem}.page-head h2{margin:0}.table-scroll{overflow:auto;flex:1;min-height:0;margin-bottom:0}.shell-compact{height:auto;width:min(680px,100%)}.shell-fit{height:auto;max-height:min(760px,calc(100vh - 64px));overflow:auto}.shell:has(.login){justify-content:stretch}.login-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8px 24px 24px;max-width:none;width:100%;margin:0;gap:.25rem}.login{margin:0;background:transparent;border:0;box-shadow:none}.login h2{margin:.2rem 0 .6rem}.login label{align-items:center;width:min(280px,100%);flex:none;min-width:0}.login input{width:100%;text-align:center}.login .row{justify-content:center}.login-self{align-items:stretch;text-align:left;width:min(640px,100%);margin:0 auto}.form-step{animation:step-in .22s ease}@keyframes step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.login-self-fields+.login-self-fields{margin-top:.55rem}.login-self h2{text-align:left;width:100%}.login-self-fields{display:flex;align-items:flex-end;gap:10px;width:100%}.login-self-fields label{flex:1;width:auto;min-width:0;align-items:flex-start}.login-self-fields input{text-align:left}.login-self .row{justify-content:flex-start}.login-self .err{width:100%}.login-self.otp-step{align-items:center;text-align:center}.login-self.otp-step h2{text-align:center}.login-self.otp-step .row{justify-content:center;width:100%}.login-self.otp-step .muted,.login-self.otp-step .err{width:100%}button.icon-btn.login-passkey{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;flex-shrink:0;background:var(--igpui-button-bg);color:var(--text);border:1px solid var(--igpui-border)}button.icon-btn.login-passkey:hover{border-color:transparent;background:var(--igpui-accent);color:#fff}.qr{max-width:220px;background:#fff;padding:8px;border-radius:8px}.secret{font-family:ui-monospace,monospace;word-break:break-all;font-size:.85rem}.user-chip{display:flex;align-items:center;gap:10px;background:var(--igpui-button-bg);border:1px solid var(--igpui-border);border-radius:999px;padding:6px 12px 6px 6px}.avatar{width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--igpui-accent) 16%,transparent);color:var(--igpui-accent);display:grid;place-items:center;font-size:13px;font-weight:800}@media(max-width:800px){.layout{grid-template-columns:1fr}.side{flex-direction:row;border-right:0;border-bottom:1px solid var(--igpui-border);overflow-x:auto}.side nav{flex-direction:row}.shell{border-radius:12px;height:auto;min-height:auto;max-height:none}.self-portal{overflow:auto}.self-auth-grid{grid-template-columns:1fr}.login-self-fields{flex-wrap:wrap}}
