:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--border: #dde1e7;--text: #17202b;--muted: #5d6877;--primary: var(--brand);--primary-ink: #ffffff;--primary-soft: var(--brand-soft);--ok: #1d7a46;--ok-soft: #e1f3e8;--warn: #9a6200;--warn-soft: #fbf0d9;--danger: #b4282f;--danger-soft: #fbe4e4;--info: #255f9c;--info-soft: #e3edf9;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 8%);--radius: 10px;--radius-sm: 6px;--sidebar: 248px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f141a;--surface: #161d25;--surface-2: #1d2630;--border: #2b3643;--text: #e6ebf1;--muted: #98a4b3;--primary: var(--brand-light);--primary-ink: #0b1220;--primary-soft: var(--brand-soft-dark);--ok: #5cc98a;--ok-soft: #173225;--warn: #e2b45c;--warn-soft: #3a2e17;--danger: #f07a7f;--danger-soft: #3d1c1f;--info: #7fb1ea;--info-soft: #1c2c40;--shadow: 0 1px 2px rgb(0 0 0 / 40%);color-scheme:dark}}:root[data-theme=dark]{--bg: #0f141a;--surface: #161d25;--surface-2: #1d2630;--border: #2b3643;--text: #e6ebf1;--muted: #98a4b3;--primary: var(--brand-light);--primary-ink: #0b1220;--primary-soft: var(--brand-soft-dark);--ok: #5cc98a;--ok-soft: #173225;--warn: #e2b45c;--warn-soft: #3a2e17;--danger: #f07a7f;--danger-soft: #3d1c1f;--info: #7fb1ea;--info-soft: #1c2c40;--shadow: 0 1px 2px rgb(0 0 0 / 40%);color-scheme:dark}:root,:root[data-palette=institucional]{--brand: #1d4f91;--brand-light: #7eb0ee;--brand-soft: #e3ecf8;--brand-soft-dark: #182b45;--accent: #c5992f;--accent-soft: #f7eed6;--side-from: #0c1f3b;--side-to: #173a66;--side-text: #d6e2f3;--side-muted: #8fa6c6;--side-active: rgb(255 255 255 / 13%);--side-mark: #e2b84f}:root[data-palette=esmeralda]{--brand: #0d6e55;--brand-light: #5fd0ad;--brand-soft: #def3ec;--brand-soft-dark: #13342b;--accent: #c99a2c;--accent-soft: #f7eed6;--side-from: #0a2c25;--side-to: #11493c;--side-text: #d3ece4;--side-muted: #86b5a6;--side-active: rgb(255 255 255 / 13%);--side-mark: #e4be55}:root[data-palette=borgona]{--brand: #862242;--brand-light: #ec8fac;--brand-soft: #f6e3e9;--brand-soft-dark: #3a1724;--accent: #b8925a;--accent-soft: #f5ecdf;--side-from: #2c0d19;--side-to: #561a30;--side-text: #f1dbe3;--side-muted: #c39aa9;--side-active: rgb(255 255 255 / 12%);--side-mark: #d9b47a}:root[data-palette=grafito]{--brand: #2557d6;--brand-light: #86a8ff;--brand-soft: #e5ecfc;--brand-soft-dark: #1b2742;--accent: #0f9e8e;--accent-soft: #dcf3f0;--side-from: #151a24;--side-to: #262e3d;--side-text: #dde3ee;--side-muted: #8e9bb0;--side-active: rgb(255 255 255 / 10%);--side-mark: #2ec4b2}:root[data-palette=clasica]{--brand: #1f5fae;--brand-light: #5b9be6;--brand-soft: #e3edf9;--brand-soft-dark: #1c2c40;--accent: #1f5fae;--accent-soft: #e3edf9}:root{--tone-blue: #3b82f6;--tone-teal: #14b8a6;--tone-green: #22a06b;--tone-amber: #e0a020;--tone-violet: #8b5cf6;--tone-rose: #e5487a;--tone-slate: #8796ad;--tone-gold: #d4a536;--tone-sky: #0ea5e9}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}h1{font-size:1.4rem;margin:0 0 .25rem}h2{font-size:1.1rem;margin:0 0 .75rem}h3{font-size:.95rem;margin:1rem 0 .5rem}a{color:var(--primary)}.muted{color:var(--muted)}.small,small{font-size:.82rem}.mono{font-family:var(--mono);font-size:.85em}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);flex:none;background:linear-gradient(180deg,var(--side-from),var(--side-to));color:var(--side-text);border-right:1px solid rgb(0 0 0 / 20%);position:sticky;top:0;height:100vh;overflow-y:auto;padding:1rem .75rem;z-index:30;scrollbar-color:rgb(255 255 255 / 20%) transparent}.sidebar .brand small{color:var(--side-muted)}.sidebar .nav-group{display:flex;align-items:center;gap:.4rem;width:100%;margin:.75rem 0 .2rem;padding:.3rem .55rem;border:none;border-radius:6px;background:none;font:inherit;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--side-muted);cursor:pointer;text-align:left}.sidebar .nav-group:first-child{margin-top:.1rem}.sidebar .nav-group:hover{color:var(--side-text);background:#ffffff0f}.sidebar .nav-group span:first-child{flex:1}.sidebar .nav-group .count{font-size:.62rem;letter-spacing:0;padding:0 .4rem;border-radius:999px;background:#ffffff17}.sidebar .nav-group .chev{transition:transform .18s}.sidebar .nav-group.closed .chev{transform:rotate(-90deg)}.sidebar .nav-items{display:flex;flex-direction:column;gap:2px}.sidebar .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-palette=clasica] .sidebar .nav-group:hover{color:var(--text);background:var(--surface-2)}:root[data-palette=clasica] .sidebar .nav-group .count{background:var(--surface-2)}.brand{display:flex;gap:.6rem;align-items:center;margin-bottom:1.25rem;padding:0 .4rem}.brand strong{display:block}.brand small{color:var(--muted);display:block}.logo{width:34px;height:34px;border-radius:9px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{position:relative;display:flex;align-items:center;gap:.65rem;padding:.42rem .55rem;border-radius:8px;color:var(--side-text);text-decoration:none;transition:background .15s}.sidebar nav a:hover{background:#ffffff12}.sidebar nav a.active{background:var(--side-active);color:#fff;font-weight:600}.sidebar nav a.active:before{content:"";position:absolute;left:-.75rem;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:var(--side-mark)}.sidebar .icon{--tone: var(--tone-slate);flex:none;width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:7px;font-size:.92rem;color:color-mix(in srgb,var(--tone) 55%,#fff);background:color-mix(in srgb,var(--tone) 24%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 30%,transparent)}.sidebar nav a.active .icon{color:#fff;background:var(--tone);box-shadow:0 2px 8px color-mix(in srgb,var(--tone) 45%,transparent)}.icon[data-tone=blue]{--tone: var(--tone-blue)}.icon[data-tone=teal]{--tone: var(--tone-teal)}.icon[data-tone=green]{--tone: var(--tone-green)}.icon[data-tone=amber]{--tone: var(--tone-amber)}.icon[data-tone=violet]{--tone: var(--tone-violet)}.icon[data-tone=rose]{--tone: var(--tone-rose)}.icon[data-tone=slate]{--tone: var(--tone-slate)}.icon[data-tone=gold]{--tone: var(--tone-gold)}.icon[data-tone=sky]{--tone: var(--tone-sky)}:root[data-palette=clasica] .sidebar{background:var(--surface);color:var(--text);border-right-color:var(--border)}:root[data-palette=clasica] .sidebar nav a{color:var(--text)}:root[data-palette=clasica] .sidebar nav a:hover{background:var(--surface-2)}:root[data-palette=clasica] .sidebar nav a.active{background:var(--primary-soft);color:var(--primary)}:root[data-palette=clasica] .sidebar nav a.active:before{background:var(--primary)}:root[data-palette=clasica] .sidebar .nav-group,:root[data-palette=clasica] .sidebar .brand small{color:var(--muted)}:root[data-palette=clasica] .sidebar .icon{color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,transparent);box-shadow:none}:root[data-palette=clasica] .sidebar nav a.active .icon{color:#fff}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:inset 0 3px 0 -1px var(--primary),0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.topbar .tenant{display:flex;flex-direction:column;min-width:0}.topbar .tenant>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .chips{display:flex;gap:.35rem;flex-wrap:nowrap;overflow:hidden}.topbar .chip{white-space:nowrap}@media(max-width:1200px){.hide-md{display:none!important}}.chip{font-size:.75rem;padding:1px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.spacer{flex:1}.user{display:flex;align-items:center;gap:.5rem}.user strong,.user small{display:block;line-height:1.2}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,var(--accent)));color:#fff;display:grid;place-items:center;font-weight:700;font-size:.8rem}.content{padding:1.25rem;max-width:1400px;width:100%}.menu-btn .mob{display:none}@media(min-width:901px){.sidebar{transition:width .2s ease,padding .2s ease}.menu-collapsed .sidebar{width:68px;padding:1rem .55rem;overflow-x:hidden}.menu-collapsed .sidebar .nav-label,.menu-collapsed .sidebar .nav-group,.menu-collapsed .sidebar .brand>div{display:none}.menu-collapsed .sidebar .brand{justify-content:center;padding:0}.menu-collapsed .sidebar nav a{justify-content:center;padding:.4rem 0}.menu-collapsed .sidebar .nav-items{gap:4px}.menu-collapsed .sidebar nav a.active:before{left:-.55rem}}.backdrop{display:none}.tenant-logo{flex:none;display:grid;place-items:center;height:44px;max-width:180px;padding:4px 10px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--border)}.tenant-logo img{max-height:34px;max-width:160px;object-fit:contain;display:block}button.tenant-logo{cursor:pointer;font:inherit;color:#64748b}button.tenant-logo:hover{border-color:var(--primary)}.tenant-logo.empty{background:transparent;border-style:dashed;color:var(--muted);font-size:.78rem;padding:4px 12px}@media(max-width:900px){.sidebar{position:fixed;left:0;transform:translate(-100%);transition:transform .2s;box-shadow:var(--shadow)}.menu-open .sidebar{transform:none}.menu-btn .desk{display:none}.menu-btn .mob{display:inline-flex}.tenant-logo{height:36px;max-width:120px}.tenant-logo img{max-height:28px;max-width:100px}.menu-open .backdrop{display:block;position:fixed;inset:0;background:#00000059;z-index:25}.hide-sm{display:none!important}.content{padding:1rem}}.page-head{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-head>div:first-child{flex:1;min-width:220px}.page-head p{margin:0;color:var(--muted)}.page-head h1{display:flex;align-items:center;gap:.55rem}.page-head h1:before{content:"";flex:none;width:6px;height:1.35rem;border-radius:3px;background:linear-gradient(180deg,var(--primary),var(--accent))}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.card>h2:first-child{margin-top:0}.card>h2{display:flex;align-items:center;gap:.45rem}.card>h2:before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:2px;background:var(--accent);transform:rotate(45deg)}.card.empty{text-align:center;padding:2.5rem 1rem}.grid{display:grid;gap:1rem}.grid.kpis{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.kpi{--kpi: var(--primary);padding:1rem;min-width:0;position:relative;overflow:hidden;border-top:3px solid var(--kpi);background:linear-gradient(180deg,color-mix(in srgb,var(--kpi) 7%,var(--surface)),var(--surface) 70%)}.grid.kpis>.kpi:nth-child(4n+2){--kpi: var(--accent)}.grid.kpis>.kpi:nth-child(4n+3){--kpi: var(--tone-teal)}.grid.kpis>.kpi:nth-child(4n+4){--kpi: var(--tone-violet)}.kpi .label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.kpi .value{font-size:1.7rem;line-height:1.2;font-weight:700;margin:.2rem 0;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}.kpi .value.wrap{white-space:normal;overflow-wrap:anywhere;overflow:visible}.kpi .hint{font-size:.8rem;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 88%,#fff),var(--primary));border-color:var(--primary);color:var(--primary-ink);box-shadow:0 1px 2px color-mix(in srgb,var(--primary) 35%,transparent)}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{color:var(--danger);border-color:var(--danger)}td.danger,p.danger,.kpi .value.danger{color:var(--danger)}.btn.ghost{border-color:transparent;background:transparent}.btn.sm{padding:.2rem .55rem;font-size:.82rem}.btn.block{width:100%}.icon-btn{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;place-items:center;display:inline-grid}label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:500;color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:.45rem;color:var(--text);font-weight:400}label.check input{flex:none}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .6rem;min-width:0;width:100%}input[type=checkbox],input[type=radio]{width:auto}input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched{border-color:var(--danger)}textarea{min-height:80px;resize:vertical}.form-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end}.form-grid .wide{grid-column:1 / -1}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem 1rem;margin:0 0 1rem}legend{padding:0 .4rem;font-weight:600}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}.form-actions.start{justify-content:flex-start;margin-top:.25rem}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}.tpl-card{border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.45rem;background:var(--surface)}.tpl-card header{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.tpl-card p{margin:0;font-size:.88rem}.tpl-card ul{margin:0;padding-left:1.1rem;flex:1}.tpl-card .btn{align-self:flex-start}.acc-event{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .8rem;margin-bottom:.7rem}table.compact td,table.compact th{padding:.3rem .45rem}.pct-input{max-width:6rem}span.danger{color:var(--danger)}.doc-actions{display:inline-flex;gap:.35rem;vertical-align:middle}td .doc-actions{margin-left:.35rem}.print-header{display:none}@media print{:root,:root[data-theme=dark],:root:not([data-theme=light]){--bg: #fff;--surface: #fff;--surface-2: #f3f4f6;--border: #c9ced6;--text: #111;--muted: #555;--primary: #1f5fae;--primary-soft: #eef3fa;--shadow: none}@page{margin:14mm 12mm}body{background:#fff!important;color:#111}.sidebar,.topbar,.backdrop,.toasts,fidusa-guide-panel,.banner,.no-print,.btn,button,.form-actions,.tabs button:not(.active){display:none!important}.tabs{border:none;margin:0 0 .5rem}.tabs button.active{display:inline-block!important;padding:0;border:none;color:#111;font-size:1.05rem}.shell,.main{display:block}.content{padding:0;max-width:none}.card{box-shadow:none;border:1px solid var(--border);break-inside:avoid}.table-wrap{overflow:visible}table{font-size:.8rem}tr{break-inside:avoid}input,select,textarea{border:none!important;background:transparent!important;padding:0!important;appearance:none;color:#111}input::-webkit-calendar-picker-indicator{display:none}.grid.two,.grid.kpis{gap:.5rem}.print-header{display:flex;align-items:center;gap:1rem;border-bottom:2px solid #333;padding-bottom:.5rem;margin-bottom:1rem}.print-header img{max-height:56px;max-width:220px;object-fit:contain}.print-header .info{flex:1;text-align:right;font-size:.75rem;line-height:1.4;color:#333}.print-header .info strong{font-size:.9rem;color:#111}.print-header .meta{display:block;margin-top:.2rem;color:#666}}.filters{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end;margin-bottom:.75rem}.filters>*{flex:0 1 200px}.picker{display:grid;grid-template-columns:1fr 1.4fr;gap:.4rem}@media(max-width:600px){.picker{grid-template-columns:1fr}}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{padding:.5rem .7rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:color-mix(in srgb,var(--primary) 7%,var(--surface-2));font-weight:600;color:color-mix(in srgb,var(--primary) 45%,var(--muted));font-size:.78rem;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover,tbody tr.selected{background:var(--primary-soft)}tfoot td{font-weight:700;background:var(--surface-2)}td.empty{text-align:center;color:var(--muted);padding:1.5rem}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.badge[data-tone=ok]{background:var(--ok-soft);color:var(--ok)}.badge[data-tone=warn]{background:var(--warn-soft);color:var(--warn)}.badge[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.badge[data-tone=info]{background:var(--info-soft);color:var(--info)}.alert{padding:.6rem .8rem;border-radius:var(--radius-sm);margin:.5rem 0;border:1px solid transparent}.alert.error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.alert.info{background:var(--info-soft);color:var(--info)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert.banner{margin:0;border-radius:0}ol.steps{padding-left:0;list-style:none;display:grid;gap:.35rem}.tabs{display:flex;gap:.3rem;padding:.3rem;margin-bottom:1rem;overflow-x:auto;border-radius:10px;background:color-mix(in srgb,var(--primary) 6%,var(--surface-2));border:1px solid var(--border)}.tabs button{border:none;background:none;padding:.45rem .9rem;font:inherit;color:var(--muted);cursor:pointer;border-radius:7px;white-space:nowrap;transition:background .15s,color .15s}.tabs button:hover{color:var(--text);background:color-mix(in srgb,var(--primary) 8%,transparent)}.tabs button.active{color:var(--primary);background:var(--surface);font-weight:600;box-shadow:0 1px 3px #1018281f,inset 0 -2px 0 var(--accent)}dl.props{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0}dl.props dt{color:var(--muted)}dl.props dd{margin:0}.breakdown{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;max-width:460px}.breakdown .total{font-weight:700;border-top:1px solid var(--border);padding-top:.3rem}.toasts{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:100;max-width:min(420px,calc(100vw - 2rem))}.toast{padding:.7rem .9rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-left:4px solid var(--info)}.toast[data-kind=ok]{border-left-color:var(--ok)}.toast[data-kind=error]{border-left-color:var(--danger)}.toast small{display:block;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(160deg,var(--primary-soft),var(--bg) 60%)}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:.8rem;padding:2rem}.login-card h1{margin:0}.sidebar .logo-img,.brand .logo-img{width:40px;height:auto;flex:none}.logo-img{background:#fff;border-radius:12px;padding:3px;box-sizing:content-box}.logo-img{width:46px;height:auto;flex:none;filter:drop-shadow(0 4px 10px rgba(29,78,216,.35))}.auth{position:relative;min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;overflow:clip;color:#e2e8f0;background:radial-gradient(ellipse at 15% 10%,#16357e,#0b1b3f 45%,#050b1d)}.auth.platform{background:radial-gradient(ellipse at 15% 10%,#0f4a43,#0a2a3a 45%,#040d18)}.auth-bg{position:absolute;inset:0;pointer-events:none}.auth .orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:auth-orb 22s ease-in-out infinite alternate}.auth .o1{width:46vw;height:46vw;left:-10vw;top:-14vw;background:radial-gradient(circle,#2563eb,transparent 65%)}.auth .o2{width:38vw;height:38vw;right:-8vw;bottom:-12vw;background:radial-gradient(circle,#22a447,transparent 65%);animation-duration:28s}.auth .o3{width:30vw;height:30vw;left:38vw;top:30vh;background:radial-gradient(circle,#1d4ed8,transparent 65%);opacity:.35;animation-duration:34s}.auth.platform .o1{background:radial-gradient(circle,#0d9488,transparent 65%)}@keyframes auth-orb{to{transform:translate3d(6vw,4vh,0) scale(1.12)}}.auth-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 35% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 35% 45%,#000 20%,transparent 75%);animation:auth-grid 40s linear infinite}@keyframes auth-grid{to{background-position:64px 64px,64px 64px}}.auth-lines{position:absolute;inset:0;width:100%;height:100%}.auth-lines path{fill:none;stroke:#60a5fa59;stroke-width:1.4;stroke-dasharray:6 14;animation:auth-flow 18s linear infinite}.auth-lines path:nth-child(2){stroke:#4ade8047;animation-duration:24s;animation-direction:reverse}.auth-lines path:nth-child(3){stroke:#93c5fd38;animation-duration:30s}.auth-lines path.thin{stroke-width:1;stroke:#94a3b82e}@keyframes auth-flow{to{stroke-dashoffset:-400}}.auth-noise{position:absolute;inset:0;background:radial-gradient(circle at 70% 60%,rgba(255,255,255,.04),transparent 40%)}.auth-hero{position:relative;z-index:1;align-self:center;padding:4rem clamp(2rem,6vw,6rem);max-width:720px}.auth-emblem{width:210px;height:auto;margin-bottom:1.6rem;padding:18px;border-radius:50%;background:radial-gradient(circle,#fffffff7 0 52%,#ffffff8c 62%,#fff0 72%);filter:drop-shadow(0 24px 50px rgba(37,99,235,.5));animation:auth-float 7s ease-in-out infinite}@keyframes auth-float{50%{transform:translateY(-8px)}}.auth-eyebrow{margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:#93c5fd}.auth.platform .auth-eyebrow{color:#5eead4}.auth-hero h2{margin:0;font-size:clamp(2rem,3.4vw,3rem);line-height:1.1;letter-spacing:-.02em;color:#fff}.auth-hero h2 span{background:linear-gradient(100deg,#93c5fd,#86efac);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-tagline{margin:.9rem 0 1.8rem;color:#94a3b8;font-weight:600;letter-spacing:.04em}.auth-points{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:.85rem}.auth-points li{display:grid;grid-template-columns:36px 1fr;gap:.8rem;align-items:center;color:#cbd5e1}.auth-points li span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.auth-chips{display:flex;flex-wrap:wrap;gap:.6rem}.chip-glass{padding:.55rem .9rem;border-radius:999px;font-size:.85rem;color:#e2e8f0;background:#ffffff12;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:auth-float 6s ease-in-out infinite}.chip-glass b{color:#4ade80;margin-right:.3rem}.chip-glass.c2{animation-delay:-2s}.chip-glass.c3{animation-delay:-4s}.auth-panel{position:relative;z-index:1;display:grid;place-items:center;align-content:center;gap:1.2rem;padding:2rem 1.5rem;background:linear-gradient(90deg,transparent,rgba(5,11,29,.35))}.auth-panel .login-card{color:var(--text);box-shadow:0 40px 90px -30px #000000bf,0 0 0 1px #ffffff0f;border-radius:22px;animation:auth-in .6s cubic-bezier(.2,.8,.2,1)}@keyframes auth-in{0%{opacity:0;transform:translateY(14px)}}.auth-foot{margin:0;font-size:.78rem;color:#64748b;text-align:center}@media(max-width:960px){.auth{grid-template-columns:1fr}.auth-hero{padding:2.5rem 1.5rem 0;text-align:center;justify-self:center}.auth-hero h2,.auth-tagline,.auth-points,.auth-chips{display:none}.auth-emblem{width:140px;margin:0 auto .6rem;padding:12px}.auth-panel .login-card .brand{display:none}.auth-eyebrow{margin:0}.auth-panel{align-content:start;background:none}}@media(prefers-reduced-motion:reduce){.auth .orb,.auth-grid,.auth-lines path,.auth-emblem,.chip-glass,.auth-panel .login-card{animation:none!important}}.loading{color:var(--muted);padding:1rem 0}.guide-card h3{margin:0 0 .35rem;font-size:1rem}.guide-meta{margin:.35rem 0}.guide-bar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-bottom:.5rem}.guide-bar span{display:block;height:100%;background:var(--primary)}.guide-panel{position:fixed;right:1rem;bottom:1rem;z-index:90;width:min(400px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem 1rem}.guide-panel header{display:flex;align-items:flex-start;gap:.5rem}.guide-panel header>div{flex:1;display:flex;flex-direction:column}.guide-panel h4{margin:.6rem 0 .3rem}.guide-panel p{margin:.3rem 0}.guide-steps{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;padding:0;margin:.6rem 0 0}.guide-steps button{width:1.8rem;height:1.8rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit;font-size:.8rem}.guide-steps li.ok button{background:var(--primary);color:#fff;border-color:var(--primary)}.guide-steps li.on button{outline:2px solid var(--primary);outline-offset:2px}.guide-highlight{outline:3px solid var(--primary)!important;outline-offset:3px;border-radius:6px;transition:outline-color .2s}body:has(.guide-panel) .toasts{bottom:auto;top:4.5rem}.mfa-enroll{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:start;padding:.9rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-2, var(--bg))}.mfa-qr{width:150px;height:150px;border-radius:10px;background:#fff}.mfa-steps p{margin:0 0 .5rem;font-size:.88rem}.mfa-steps summary{cursor:pointer;font-size:.85rem;color:var(--primary);margin:.2rem 0 .5rem}.mfa-secret{font-size:1.05rem;letter-spacing:.08em;word-break:break-all;margin:.3rem 0 .5rem;padding:.5rem .6rem;border-radius:8px;background:var(--bg);border:1px dashed var(--border)}@media(max-width:480px){.mfa-enroll{grid-template-columns:1fr;justify-items:center}.mfa-qr{width:190px;height:190px}}.palette-picker{position:relative}.palette-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;width:270px;padding:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px #1018282e}.palette-menu header{padding:.2rem .4rem .5rem;font-weight:600;font-size:.85rem}.palette-option{display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem .5rem;border:1px solid transparent;border-radius:8px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.palette-option:hover{background:var(--surface-2)}.palette-option.selected{border-color:var(--primary);background:var(--primary-soft)}.palette-option small{display:block;color:var(--muted);font-size:.75rem}.swatch{flex:none;display:flex;width:54px;height:22px;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.swatch i{flex:1}@media print{.palette-picker{display:none!important}}
