.client-detail .client-hero{align-items:flex-start;gap:1rem;margin-top:.35rem}.client-detail .client-hero-actions{flex-wrap:wrap;justify-content:flex-end}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.section-head h2{margin-bottom:.25rem}.callout{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.callout.info{background:linear-gradient(90deg, #c0e4fe73, var(--surface));border-color:#9ec9e8}.field-hint{color:var(--muted);margin-top:.25rem;font-size:.78rem;display:block}.check-row{align-items:center;gap:.55rem;font-weight:500;display:flex}.btn-sm{padding:.4rem .75rem;font-size:.88rem}.btn.ghost:hover{background:var(--bg-soft)}.project-cards{flex-direction:column;gap:.85rem;display:flex}.project-card,.account-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);padding:1rem 1.1rem}.project-card:hover,.account-card:hover{border-color:var(--line-strong)}.project-card.is-editing,.project-card.is-new,.account-card.is-new{background:var(--surface);box-shadow:var(--shadow);border-color:var(--brand-hot)}.project-card.is-inactive,.account-card.is-inactive{opacity:.72}.project-name{margin:0 0 .25rem;font-size:1.1rem}.goal-chips{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.goal-chip{background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;align-items:baseline;gap:.35rem;padding:.35rem .65rem;font-size:.85rem;font-weight:600;display:inline-flex}.goal-chip em{opacity:.75;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-style:normal;font-weight:500}.goal-chip .chip-sub{color:var(--muted);font-size:.75rem;font-weight:500}.goals-block{border-top:1px solid var(--line);padding-top:.85rem}.goals-title{margin:0;font-size:1rem}.goals-hint{margin:.25rem 0 .75rem;font-size:.85rem}.goal-row{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);grid-template-columns:1fr 1fr 1fr 1fr auto;align-items:end;gap:.65rem;margin-bottom:.65rem;padding:.65rem;display:grid}.goal-remove{margin-bottom:.15rem}.account-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.account-summary{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.account-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.account-meta{margin:.3rem 0 0;font-size:.88rem}.error-inline{color:var(--danger);margin:.4rem 0 0;font-size:.85rem}.account-actions{flex-shrink:0}@media (width<=900px){.goal-row{grid-template-columns:1fr 1fr}.goal-remove{grid-column:1/-1;justify-self:start}}.pw-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem;display:grid}.pw-card{--pw-accent:#bf7ceb;border:1px solid var(--line);box-shadow:var(--shadow);cursor:default;background:#fff;border-radius:16px;flex-direction:column;gap:.35rem;padding:1.1rem 1.15rem .85rem;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s,border-color .2s;animation:.45s cubic-bezier(.22,1,.36,1) both pw-in;display:flex;position:relative;overflow:hidden}.pw-card:nth-child(2){animation-delay:50ms}.pw-card:nth-child(3){animation-delay:.1s}.pw-card:nth-child(4){animation-delay:.15s}@keyframes pw-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.pw-card[role=button]{cursor:pointer}.pw-card[role=button]:hover,.pw-card.active{border-color:var(--pw-accent);transform:translateY(-3px);box-shadow:0 14px 32px #2222221a}.pw-card:before{content:"";background:var(--pw-accent);height:4px;position:absolute;inset:0 0 auto}.pw-head{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;display:flex}.pw-name{font-family:var(--display);letter-spacing:-.03em;font-size:1.12rem;font-weight:700;line-height:1.15}.pw-sub{color:var(--muted);margin-top:.15rem;font-size:.75rem}.pw-dot{background:var(--pw-accent);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--pw-accent) 25%, transparent);border-radius:50%;flex-shrink:0;margin-top:.35rem}.pw-hero{font-family:var(--display);letter-spacing:-.04em;margin-top:.25rem;font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:700;line-height:1.05}.pw-hero-label{color:var(--muted);text-transform:lowercase;letter-spacing:.02em;margin-bottom:.55rem;font-size:.72rem}.pw-metrics{border-top:1px solid #f0f0f0;grid-template-columns:repeat(4,1fr);gap:.35rem;padding:.55rem 0;display:grid}.pw-m-val{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:.88rem;font-weight:600}.pw-m-lab{color:var(--muted);margin-top:.1rem;font-size:.68rem}.pw-spark{opacity:.95;margin:0 -.35rem -.15rem}.pw-skeleton{flex-direction:column;gap:.5rem;padding:.75rem 0;display:flex}.pw-skel{background:linear-gradient(90deg,#eee 25%,#f7f0ff 50%,#eee 75%) 0 0/200% 100%;border-radius:6px;height:12px;animation:1.2s infinite an-shimmer}.pw-skel.short{width:48%}.pw-err{color:var(--danger);padding:.75rem 0;font-size:.85rem}@media (width<=640px){.pw-metrics{grid-template-columns:repeat(2,1fr)}}.main:has(.an-page){max-width:none}.an-page{animation:.4s cubic-bezier(.22,1,.36,1) an-fade-in}@keyframes an-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes an-kpi-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes an-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.an-dash-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.9rem;display:grid}.an-dash-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;gap:.7rem;padding:1.2rem 1.2rem 1rem;transition:border-color .2s,box-shadow .2s,transform .2s cubic-bezier(.22,1,.36,1);display:flex}.an-dash-card:hover{border-color:var(--brand-hot);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.an-dash-card h3{letter-spacing:-.03em;margin:0;font-size:1.15rem}.an-dash-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.an-create-bar{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(120deg,#fff 0%,#f3e8ff 48%,#fbff81 140%);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.95rem 1.1rem;display:flex}.an-create-bar input{background:#ffffffd9;border-color:#0000;flex:1;min-width:200px}.an-editor{grid-template-columns:168px 1fr 300px;gap:.9rem;min-height:calc(100vh - 9rem);display:grid}.an-editor.no-config{grid-template-columns:168px 1fr}.an-palette{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;align-self:start;gap:.4rem;padding:.9rem;display:flex}.an-palette-label{text-transform:lowercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.15rem;font-size:.72rem;font-weight:600}.an-palette .an-add-btn{border-radius:10px;justify-content:flex-start;gap:.45rem;width:100%;padding:.48rem .65rem;font-weight:500}.an-add-ico{background:var(--accent-lime);color:#222;border-radius:7px;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:.7rem;font-weight:700;display:grid}.an-canvas-wrap{border:1px solid var(--line);background-color:#0000;background-image:radial-gradient(circle at 1px 1px,#22222212 1px,#0000 0);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:16px;min-height:520px;padding:.7rem;overflow:auto}.an-widget{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;height:100%;transition:border-color .18s,box-shadow .18s;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a}.an-widget:hover{box-shadow:var(--shadow-hover)}.an-widget.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.an-widget-head{letter-spacing:-.02em;cursor:move;-webkit-user-select:none;user-select:none;background:linear-gradient(#fafafa,#f5f5f5);border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.84rem;font-weight:600;display:flex}.an-widget-head button{opacity:.4;transition:opacity .15s}.an-widget:hover .an-widget-head button,.an-widget.selected .an-widget-head button{opacity:1}.an-widget-body{flex:1;min-height:0;padding:.55rem .7rem .7rem}.an-config{border-radius:14px;align-self:start;max-height:calc(100vh - 6rem);animation:.25s an-fade-in;position:sticky;top:.5rem;overflow:auto}.an-chips{flex-wrap:wrap;gap:.35rem;display:flex}.an-chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:.24rem .62rem;font-size:.76rem;transition:background .15s,border-color .15s,transform .12s}.an-chip:hover{border-color:var(--brand-hot);background:var(--brand-soft)}.an-chip:active{transform:scale(.97)}.an-chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.an-kpi{flex-direction:column;justify-content:center;align-items:flex-start;gap:.45rem;height:100%;padding:.35rem .2rem;display:flex}.an-kpi-value{font-family:var(--display);letter-spacing:-.04em;color:var(--ink);font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:700;line-height:1.05;animation:.45s cubic-bezier(.22,1,.36,1) an-kpi-pop}.an-kpi-delta{border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .6rem;font-size:.82rem;font-weight:600;animation:.5s 80ms both an-fade-in;display:inline-flex}.an-kpi-delta.up{color:#1f8a5b;background:var(--accent-mint)}.an-kpi-delta.down{color:var(--danger);background:var(--accent-coral)}.an-kpi-arrow{font-size:.75rem}.an-kpi-delta-label{opacity:.7;font-size:.72rem;font-weight:500}.an-kpi-hint{color:var(--muted);font-size:.75rem}.an-skeleton{flex-direction:column;justify-content:center;gap:.55rem;height:100%;min-height:80px;padding:.5rem;display:flex}.an-skeleton-bar{background:linear-gradient(90deg,#eee 25%,#f7f0ff 50%,#eee 75%) 0 0/200% 100%;border-radius:6px;height:10px;animation:1.2s infinite an-shimmer}.an-skeleton-bar.short{width:55%}.an-soft-error{text-align:center;height:100%;color:var(--danger);place-items:center;padding:.75rem;font-size:.82rem;line-height:1.35;display:grid}.an-empty{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.an-table-wrap{border-radius:8px;max-height:100%;overflow:auto}.an-table{border-collapse:collapse;width:100%;font-size:.8rem}.an-table th{text-align:left;border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f3f5f7;padding:.4rem .55rem;font-size:.7rem;font-weight:600;position:sticky;top:0}.an-table td{border-bottom:1px solid #f0f0f0;padding:.42rem .55rem}.an-table tr:hover td{background:#faf7ff}.an-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.an-filters{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:end;gap:.65rem;margin-bottom:.15rem;padding:.8rem 1rem;display:flex}.an-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.an-toolbar-title{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.an-toolbar-title input{min-width:220px;font-weight:700;font-family:var(--display);letter-spacing:-.03em;background:0 0;border:1px solid #0000;border-radius:10px;padding:.25rem .45rem;font-size:1.15rem}.an-toolbar-title input:hover,.an-toolbar-title input:focus{border-color:var(--line);box-shadow:0 0 0 3px var(--brand-soft);background:#fff;outline:none}.an-back{color:var(--muted);font-size:.9rem}.an-back:hover{color:var(--brand-ink)}.react-grid-item.react-grid-placeholder{opacity:.65;border-radius:14px;background:var(--brand-soft)!important}.react-grid-item>.react-resizable-handle:after{border-color:transparent transparent var(--brand-hot) transparent!important}@media (width<=1100px){.an-editor,.an-editor.no-config{grid-template-columns:1fr}.an-config{max-height:none;position:static}.an-palette{flex-flow:wrap}.an-palette .an-add-btn{width:auto}}.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}@font-face{font-family:Steppe;src:url(/fonts/Steppe-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Steppe;src:url(/fonts/Steppe-Medium.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Steppe;src:url(/fonts/Steppe-SemiBold.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Steppe;src:url(/fonts/Steppe-Bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#f3f5f7;--bg-soft:#ebebeb;--surface:#fff;--ink:#222;--muted:#686868;--line:#e0e0e0;--line-strong:#b0b0b0;--brand:#bf7ceb;--brand-ink:#8f4fc0;--brand-soft:#f3e8ff;--brand-hot:#ddafff;--accent-lime:#fbff81;--accent-mint:#bef5d5;--accent-sky:#c0e4fe;--accent-coral:#ffd9d8;--danger:#dd484b;--warn:#b54708;--ok:#1f8a5b;--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000a;--shadow-hover:0 10px 28px #22222214;--radius:12px;--radius-sm:8px;--sidebar:248px;--font:"Steppe", Arial, system-ui, sans-serif;--display:"Steppe", Arial, system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 100% -10%, #bf7ceb1f, transparent 50%), radial-gradient(ellipse 60% 40% at 0% 100%, #fbff812e, transparent 45%), var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}a{color:var(--brand-ink);transition:color .15s var(--ease);text-decoration:none}a:hover{color:var(--brand);text-underline-offset:3px;text-decoration:underline}h1,h2,h3{font-family:var(--display);letter-spacing:-.03em;margin:0 0 .45rem;font-weight:700;line-height:1.15}h1{font-size:clamp(1.75rem,2.5vw,2.35rem)}.page-kicker{letter-spacing:.04em;text-transform:lowercase;color:var(--ink);background:var(--accent-lime);border-radius:999px;align-items:center;gap:.4rem;margin-bottom:.55rem;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.page-state{color:var(--muted);text-align:center;padding:2.5rem 1.25rem}.page-state.error{color:var(--danger)}.app-shell{grid-template-columns:var(--sidebar) 1fr;min-height:100vh;display:grid}.app-shell.collapsed{grid-template-columns:1fr}.sidebar{color:#fff;background:#222;border-right:1px solid #383838;flex-direction:column;gap:1.35rem;padding:1.35rem 1rem 1.15rem;display:flex}.brand{color:inherit;align-items:center;gap:.7rem;min-width:0;padding:.15rem .1rem;text-decoration:none;display:flex}.brand:hover{color:inherit;text-decoration:none}.brand-mark-wrap{width:42px;height:42px;transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);background:linear-gradient(145deg,#ffffff1f,#ffffff0a);border:1px solid #ffffff24;border-radius:12px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 0 0 1px #fbff8114,0 8px 20px #00000040}.brand:hover .brand-mark-wrap{border-color:#fbff8159;transform:translateY(-1px);box-shadow:0 0 0 1px #bf7ceb33,0 10px 24px #00000047}.brand-glyph{color:#fff;width:22px;height:22px;display:block}.brand--light .brand-mark-wrap{background:#222;border-color:#0000;box-shadow:0 6px 16px #2222222e}.brand--light .brand-glyph{color:#fff}.brand-word{flex-direction:column;min-width:0;line-height:1.05;display:flex}.brand-word-main{font-family:var(--display);letter-spacing:-.045em;text-transform:lowercase;font-size:1.28rem;font-weight:700}.brand-word-sub{font-family:var(--display);letter-spacing:.06em;text-transform:lowercase;opacity:.55;margin-top:.12rem;font-size:.68rem;font-weight:500}.brand--sidebar .brand-word-main{color:#fff}.brand--sidebar .brand-word-sub{color:#c6c6c6;opacity:1}.brand--light .brand-word-main{color:#222}.brand--light .brand-word-sub{color:#686868;opacity:1}.sidebar .brand{margin-bottom:.45rem}.auth-card .brand{color:var(--ink);margin-bottom:1.35rem}.nav{flex-direction:column;gap:.2rem;display:flex}.nav a{color:#c6c6c6;transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);border-radius:10px;padding:.6rem .75rem;font-size:.95rem;font-weight:500;text-decoration:none}.nav a:hover{color:#fff;background:#ffffff0f;text-decoration:none}.nav a.active{background:var(--brand);color:#fff;text-decoration:none;box-shadow:0 6px 16px #bf7ceb59}.sidebar-footer{color:#a7a7a7;border-top:1px solid #383838;flex-direction:column;gap:.55rem;margin-top:auto;padding-top:1rem;font-size:.85rem;display:flex}.main{width:100%;max-width:1240px;animation:page-in .4s var(--ease);padding:1.6rem 1.85rem 2.75rem}.main h1{text-transform:none}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.topbar-mobile{color:#fff;background:#222;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:none}.btn{appearance:none;color:#fff;font:inherit;cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .15s var(--ease), box-shadow .18s var(--ease);background:#222;border:1px solid #0000;border-radius:10px;padding:.6rem 1.05rem;font-weight:600}.btn:hover:not(:disabled){background:var(--brand);box-shadow:0 8px 20px #bf7ceb59}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{color:var(--ink);border-color:var(--line-strong);background:#fff}.btn.secondary:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink);box-shadow:none}.btn.ghost{color:inherit;background:0 0;border-color:#ffffff2e}.btn.ghost:hover:not(:disabled){box-shadow:none;background:#ffffff14}.btn.danger{background:var(--danger)}.btn.danger:hover:not(:disabled){background:#c33a3d;box-shadow:0 8px 20px #dd484b4d}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:box-shadow .2s var(--ease);padding:1.15rem 1.25rem}.panel+.panel{margin-top:1rem}.stack{flex-direction:column;gap:.9rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row.between{justify-content:space-between}.muted{color:var(--muted)}.form-grid{gap:.85rem;display:grid}.form-grid.two{grid-template-columns:1fr 1fr}label.field{flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:500;display:flex}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);background:#fff;padding:.58rem .75rem}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:auto}table.data{border-collapse:collapse;width:100%;font-size:.88rem}table.data th,table.data td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.6rem .7rem}table.data th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f3f5f7;font-size:.75rem;font-weight:600;position:sticky;top:0}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:#faf7ff}table.data tfoot td{background:var(--brand-soft);font-weight:700}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.74rem;font-weight:600;display:inline-flex}.badge.warn{color:var(--warn);background:#ffeacb}.badge.ok{background:var(--accent-mint);color:var(--ok)}.badge.err{background:var(--accent-coral);color:var(--danger)}.auth-page{background:#222;place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#bf7ceb73,#0000 65%);border-radius:50%;width:55vw;height:55vw;position:absolute;inset:-20% auto auto -10%}.auth-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#fbff8159,#0000 65%);border-radius:50%;width:50vw;height:50vw;position:absolute;bottom:-20%;right:-15%}.auth-card{background:var(--surface);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow-hover);z-index:1;animation:page-in .45s var(--ease);border-radius:18px;padding:1.85rem 1.75rem;position:relative}.auth-card h1{margin-bottom:.25rem;font-size:1.85rem}.charts{grid-template-columns:repeat(3,1fr);gap:.85rem;display:grid}.chart-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:240px;padding:.5rem}.filters{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.error-banner{background:var(--accent-coral);color:var(--danger);border:1px solid #f3c1bd;border-radius:10px;padding:.65rem .85rem;font-size:.9rem}.empty{text-align:center;color:var(--muted);padding:1.5rem}@media (width<=960px){.app-shell{grid-template-columns:1fr}.topbar-mobile{display:flex}.sidebar{z-index:40;width:min(280px,85vw);display:none;position:fixed;inset:0 auto 0 0}.sidebar.open{display:flex}.sidebar-backdrop{z-index:30;background:#0006;position:fixed;inset:0}.main{padding:1rem}.form-grid.two,.charts{grid-template-columns:1fr}}
