@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}:root{--bg:#0f1115;--surface:#171a21;--surface-2:#1e222b;--surface-3:#262b36;--text:#e7e9ee;--muted:#9aa2b1;--border:#333a47;--border-strong:#626b80;--primary:#6366f1;--primary-strong:#4f52e0;--primary-hover:#4548d2;--primary-soft:rgba(99,102,241,.14);--success:#22c55e;--success-soft:rgba(34,197,94,.15);--warning:#f59e0b;--warning-soft:rgba(245,158,11,.15);--danger:#ef4444;--danger-soft:rgba(239,68,68,.15);--info:#38bdf8;--info-soft:rgba(56,189,248,.15);--on-success:#86efac;--on-warning:#fcd34d;--on-danger:#fca5a5;--on-info:#bae6fd;--on-primary-soft:#c7c9ff;--viz-1:#6366f1;--viz-2:#22c55e;--viz-3:#f59e0b;--viz-4:#38bdf8;--viz-5:#a855f7;--viz-6:#f472b6;--viz-grid:rgba(154,162,177,.16);--viz-axis:#9aa2b1;--font-sans:var(--font-inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:34px;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.5;--lh-relaxed:1.7;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-0-5:2px;--sp-1:4px;--sp-1-5:6px;--sp-2:8px;--sp-2-5:10px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-xs:4px;--r-sm:8px;--r-md:10px;--r-lg:12px;--r-xl:16px;--r-full:999px;--radius:var(--r-lg);--radius-sm:var(--r-sm);--elev-1:0 1px 2px rgba(0,0,0,.3);--elev-2:0 4px 12px rgba(0,0,0,.35);--elev-3:0 10px 30px rgba(0,0,0,.35);--shadow:var(--elev-3);--dur-fast:120ms;--dur-base:180ms;--dur-slow:300ms;--ease-out:cubic-bezier(0.2,0.8,0.25,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--z-sticky:5;--z-dropdown:20;--z-drawer-backdrop:30;--z-drawer:40;--z-modal:50;--z-toast:60;--sidebar-w:250px;--content-max:1360px;--mascot-ink:#394054;--mascot-ink-dark:#262b3a;--mascot-light:#eef1f8;--mascot-blush:rgba(244,167,185,.5);--mascot-beak:#f5a524;--mascot-fur:#dd9a54;--mascot-fur-dark:#b97c3f;--mascot-fur-light:#fbf1e4;--mascot-case:#a9743f;--mascot-case-dark:#7d5228;--mascot-clasp:#e3bd7a;--mascot-shadow:rgba(0,0,0,.32);--mascot-beam:0.32}:root[data-theme=light]{--bg:#f5f6f9;--surface:#fff;--surface-2:#eef0f5;--surface-3:#e4e7ef;--border:#d0d5df;--border-strong:#7c8598;--text:#1c2130;--muted:#5d6575;--primary:#4f52e0;--primary-strong:#4346c8;--primary-hover:#383bb4;--primary-soft:rgba(79,82,224,.1);--success:#16a34a;--success-soft:rgba(22,163,74,.12);--warning:#d97706;--warning-soft:rgba(217,119,6,.12);--danger:#dc2626;--danger-soft:rgba(220,38,38,.1);--info:#0284c7;--info-soft:rgba(2,132,199,.1);--on-success:#15803d;--on-warning:#b45309;--on-danger:#b91c1c;--on-info:#0369a1;--on-primary-soft:#4338ca;--viz-1:#4f52e0;--viz-2:#16a34a;--viz-3:#d97706;--viz-4:#0284c7;--viz-5:#9333ea;--viz-6:#db2777;--viz-grid:rgba(93,101,117,.18);--viz-axis:#5d6575;--elev-1:0 1px 2px rgba(15,17,21,.08);--elev-2:0 4px 12px rgba(15,17,21,.1);--elev-3:0 10px 30px rgba(15,17,21,.12);--mascot-ink:#2b3145;--mascot-ink-dark:#1b2030;--mascot-light:#fff;--mascot-fur:#d8933f;--mascot-fur-dark:#ad6f2c;--mascot-case:#9c6733;--mascot-case-dark:#6d4520;--mascot-shadow:rgba(28,33,48,.16);--mascot-beam:0.14}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:var(--fw-semibold);line-height:var(--lh-snug)}code,kbd,pre,samp{font-family:var(--font-mono)}.kv .v,.stat .value,.tabular,table td,table th{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--sp-3);top:var(--sp-3);z-index:var(--z-toast);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);background:var(--primary-strong);color:#fff;font-size:var(--fs-base);font-weight:var(--fw-semibold);transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.icon{display:inline-block;vertical-align:-.15em;flex:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar-brand{padding:var(--sp-4) var(--sp-4) var(--sp-3);display:flex;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border)}.brand-mark{width:34px;height:34px;flex:none}.brand-name{font-weight:var(--fw-semibold);font-size:var(--fs-md);letter-spacing:-.01em}.brand-sub{font-size:var(--fs-xs);color:var(--muted)}.nav{padding:var(--sp-2);display:flex;flex-direction:column;overflow-y:auto;flex:1 1}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-section{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:var(--sp-4) var(--sp-3) var(--sp-1-5)}.nav-group:first-child .nav-section{padding-top:var(--sp-2)}.nav-link{position:relative;display:flex;align-items:center;gap:var(--sp-2-5);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-base);font-weight:var(--fw-medium);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--primary-soft);color:var(--text);font-weight:var(--fw-semibold)}.nav-link.active:before{content:"";position:absolute;left:0;top:50%;translate:0 -50%;width:3px;height:18px;border-radius:0 var(--r-full) var(--r-full) 0;background:var(--primary)}.nav-link.active .nav-ico{color:var(--primary)}.nav-link .nav-ico{flex:none;color:var(--muted);transition:color var(--dur-fast) var(--ease-out)}.nav-link:hover .nav-ico{color:var(--text)}.sidebar-foot{border-top:1px solid var(--border);padding:var(--sp-3)}.user-chip-text{min-width:0}.user-chip-text .um-name,.user-chip-text .um-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{height:56px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;gap:var(--sp-3);padding:0 var(--sp-6);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.crumbs,.topbar{display:flex;align-items:center}.crumbs{min-width:0;font-size:var(--fs-base);color:var(--muted)}.crumb{display:inline-flex;align-items:center;gap:var(--sp-1);min-width:0}.crumb>a,.crumb>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb a:hover{color:var(--text)}.crumb [aria-current=page]{color:var(--text);font-weight:var(--fw-semibold)}.crumb-sep{flex:none;color:var(--border-strong)}.topbar-right{display:flex;align-items:center;gap:var(--sp-2);flex:none}.bell-menu,.user-menu{position:relative;flex:none}.bell-button{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid transparent;border-radius:var(--r-full);background:transparent;color:var(--muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.bell-button:hover,.bell-button[aria-expanded=true]{background:var(--surface-2);border-color:var(--border);color:var(--text)}.bell-badge{position:absolute;top:2px;right:2px;min-width:17px;padding:0 4px;border-radius:var(--r-full);background:var(--primary-strong);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:17px;text-align:center;white-space:nowrap}.menu-pop-empty{padding:var(--sp-3);color:var(--muted);font-size:var(--fs-sm)}.notif-item{align-items:flex-start}.notif-body{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-title{font-weight:var(--fw-medium);color:var(--text);overflow-wrap:anywhere}.notif-excerpt,.notif-when{color:var(--muted);font-size:var(--fs-xs);overflow-wrap:anywhere}.notif-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.user-button{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-1);border:1px solid transparent;border-radius:var(--r-full);background:transparent;color:var(--muted);font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.user-button:hover,.user-button[aria-expanded=true]{background:var(--surface-2);border-color:var(--border);color:var(--text)}.menu-pop{position:absolute;right:0;top:calc(100% + var(--sp-2));min-width:240px;padding:var(--sp-1);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--elev-2);z-index:var(--z-dropdown)}.menu-pop-head{padding:var(--sp-2) var(--sp-3)}.menu-pop-head,.menu-pop-theme{border-bottom:1px solid var(--border);margin-bottom:var(--sp-1)}.menu-pop-theme{justify-content:space-between;gap:var(--sp-2);padding:var(--sp-1-5) var(--sp-3)}.menu-pop-item,.menu-pop-theme{display:flex;align-items:center}.menu-pop-item{gap:var(--sp-2-5);width:100%;padding:var(--sp-2) var(--sp-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);text-align:left;cursor:pointer}.menu-pop-item:hover{background:var(--surface-2)}.menu-pop-item.danger{color:var(--danger)}.content{padding:var(--sp-6);max-width:var(--content-max);width:100%;margin-inline:auto}.avatar{border-radius:50%;object-fit:cover;background:var(--surface-2);border:1px solid var(--border)}.avatar-fallback{border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;font-weight:var(--fw-bold);border:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:10px}.user-chip .um-name{font-weight:var(--fw-semibold);font-size:var(--fs-base)}.user-chip .um-role{font-size:var(--fs-xs);color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width:960px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.stat .label{color:var(--muted);font-size:var(--fs-sm);display:flex;align-items:center;gap:8px}.stat .value{font-size:var(--fs-3xl);font-weight:var(--fw-bold);margin-top:8px;letter-spacing:-.02em}.stat .sub{font-size:var(--fs-sm);color:var(--muted);margin-top:4px}.stat-ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:var(--fs-lg)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);border:1px solid transparent}.badge.green{background:var(--success-soft);color:var(--on-success)}.badge.amber{background:var(--warning-soft);color:var(--on-warning)}.badge.red{background:var(--danger-soft);color:var(--on-danger)}.badge.blue{background:var(--info-soft);color:var(--on-info)}.badge.gray{background:var(--surface-2);color:var(--muted)}.badge.indigo{background:var(--primary-soft);color:var(--on-primary-soft)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(to right,var(--surface) 30%,transparent),linear-gradient(to left,var(--surface) 30%,transparent),linear-gradient(to right,rgba(0,0,0,.22),transparent 12px),linear-gradient(to left,rgba(0,0,0,.22),transparent 12px);background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-position:0 0,100% 0,0 0,100% 0;background-attachment:local,local,scroll,scroll}.card>.table-wrap,.content>*,.grid>*{min-width:0}table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}thead th{text-align:left;color:var(--muted);font-weight:var(--fw-semibold);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;z-index:1}tbody td,thead th{padding:var(--sp-2-5) var(--sp-4);border-bottom:1px solid var(--border)}tbody td{vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.th-sortable{padding:0}.th-sortable button{display:flex;align-items:center;gap:var(--sp-1-5);width:100%;padding:var(--sp-2-5) var(--sp-4);border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer}.th-sortable.num button{justify-content:flex-end}.th-sortable button:hover{color:var(--text)}.th-arrow{opacity:.35}.th-sortable button:hover .th-arrow{opacity:.7}.th-arrow.on{opacity:1;color:var(--primary)}@media (max-width:640px){.table-cards{border:0;background:none;overflow:visible}.table-cards table,.table-cards tbody,.table-cards td,.table-cards tr{display:block;width:auto}.table-cards thead{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.table-cards tr{margin-bottom:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-4)}.table-cards tbody tr:hover,.table-cards tr{background:var(--surface)}.table-cards td{border-bottom:0;padding:var(--sp-2) 0;text-align:left}.table-cards td+td{border-top:1px solid var(--border)}.table-cards td[data-label]{display:block}.table-cards td[data-label]:before{content:attr(data-label);display:block;margin-bottom:var(--sp-0-5);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.table-cards td.num{text-align:left}.table-cards td,.table-cards td *{min-width:0;max-width:100%}.table-cards td [style*=min-width]{min-width:0!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-base);line-height:var(--lh-snug);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--surface-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.danger{background:var(--danger-soft);border-color:transparent;color:var(--on-danger)}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 26%,transparent)}.btn.ghost{background:transparent}.btn.sm{padding:var(--sp-1-5) var(--sp-3);font-size:var(--fs-sm)}.btn.lg{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-md)}.btn.icon{padding:var(--sp-2);aspect-ratio:1}.btn.icon.sm{padding:var(--sp-1-5)}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn[data-busy=true]{color:transparent;pointer-events:none;position:relative}.btn[data-busy=true]:after{content:"";position:absolute;width:14px;height:14px;border-radius:var(--r-full);border:2px solid;border-top:2px solid transparent;color:var(--text);animation:pm-spin .6s linear infinite}.btn.primary[data-busy=true]:after{color:#fff}@keyframes pm-spin{to{transform:rotate(1turn)}}.btn-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.field{margin-bottom:var(--sp-4)}.field label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:var(--sp-1-5);color:var(--text)}.field .hint{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-1-5)}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],select,textarea{width:100%;padding:var(--sp-2-5,10px) var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-size:var(--fs-base);font-family:inherit;outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}[aria-invalid=true]{border-color:var(--danger)!important}[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-soft)!important}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:var(--sp-8)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 20px;gap:0 20px}@media (max-width:720px){.form-grid{grid-template-columns:1fr}}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}@media (max-width:620px){.check-grid{grid-template-columns:1fr}}.check-item{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.check-item.on,.check-item:hover{border-color:var(--primary)}.check-item.on{background:var(--primary-soft)}.check-item input{width:16px;height:16px;accent-color:var(--primary)}.check-item .ci-label{font-weight:var(--fw-semibold);font-size:var(--fs-base)}.check-item .ci-key{font-size:var(--fs-xs);color:var(--muted)}.photo-upload{display:flex;align-items:center;gap:16px}.photo-preview{width:84px;height:84px;border-radius:14px;object-fit:cover;border:1px solid var(--border);background:var(--surface-2)}.photo-preview.empty{display:grid;place-items:center;color:var(--muted);font-size:var(--fs-2xl)}.alert{padding:11px 14px;border-radius:var(--radius-sm);font-size:var(--fs-base);margin-bottom:16px;border:1px solid transparent}.alert.error{background:var(--danger-soft);color:var(--on-danger)}.alert.success{background:var(--success-soft);color:var(--on-success)}.alert.info{background:var(--info-soft);color:var(--on-info)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 70% -10%,rgba(99,102,241,.18),transparent),var(--bg)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-wrap{overflow-x:hidden}@supports (overflow:clip){.login-wrap{overflow-x:clip}}.login-stage{position:relative;width:100%;max-width:400px;--scene-x:-10px;--scene-y:182px;--scene-s:0.62;--scene-walk-y:92px;--scene-enter-x:-46px}.login-scene{position:absolute;left:50%;top:50%;width:300px;margin:-82.5px 0 0 -150px;z-index:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:translate(var(--scene-x),var(--scene-y)) scale(var(--scene-s));transition:transform .32s cubic-bezier(.2,.8,.25,1)}.login-scene-svg{display:block;width:100%;height:auto}.case-beam,.case-flash,.case-glow,.case-impact,.case-lid,.case-shadow,.case-sway,.cg-ear,.cg-eyes,.cg-idle,.cg-leg,.cg-tail,.cg-walk,.confetti-piece,.mascot-case,.pg-arm,.pg-beak,.pg-eyes,.pg-foot,.pg-idle,.pg-walk{transform-box:fill-box}.login-card{position:relative;z-index:1;transform-origin:50% 100%;transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.25,1)}.scene-shadow{fill:var(--mascot-shadow)}.case-glow{fill:url(#pm-case-glow);opacity:.85}.case-beam{opacity:var(--mascot-beam)}.case-flash,.case-impact{opacity:0}.case-lid{transform:translateY(-13px) scaleY(.52) rotate(-6deg)}.case-lid,.cg-idle,.pg-idle,.pg-walk{transform-origin:50% 100%}.cg-idle,.pg-idle{animation:pm-breathe 4.2s ease-in-out infinite}.cg-idle{animation-duration:3.4s}.cg-eyes,.pg-eyes{animation:pm-blink 5.4s ease-in-out infinite}.cg-eyes{animation-duration:6.8s}.cg-tail{transform-origin:100% 50%;animation:pm-wag .62s ease-in-out infinite}.cg-leg{transform-origin:50% 0}[data-login-intro=playing] .login-scene{transition:none;animation:pm-scene 5.2s both}[data-login-intro=playing] .login-card{animation:pm-card-rise 5.2s cubic-bezier(.22,1.2,.36,1) both}[data-login-intro=playing] .pg-walk{animation:pm-run-fwd .35s ease-in-out 4 both}[data-login-intro=playing] .pg-foot-l,[data-login-intro=playing] .pg-foot-r{animation:pm-step .35s ease-in-out 4 both}[data-login-intro=playing] .pg-foot-r{animation-delay:-175ms}[data-login-intro=playing] .cg-walk{animation:pm-trot .32s ease-in-out 60ms 4 both}[data-login-intro=playing] .cg-leg{animation:pm-leg-fwd .32s ease-in-out 60ms 4 both}[data-login-intro=playing] .cg-leg-rl,[data-login-intro=playing] .cg-leg-rr{animation-delay:-.11s}[data-login-intro=playing] .cg-tail{animation-duration:.34s}[data-login-intro=playing] .pg-idle{animation:pm-pg-setdown 5.2s both,pm-breathe 4.2s ease-in-out 5.2s infinite}[data-login-intro=playing] .cg-idle{animation:pm-cg-hop 5.2s both,pm-breathe 3.4s ease-in-out 5.2s infinite}[data-login-intro=playing] .mascot-case{animation:pm-case-carry 5.2s both}[data-login-intro=playing] .case-sway{animation:pm-sway .66s ease-in-out 3 both;transform-origin:50% 0}[data-login-intro=playing] .case-lid{animation:pm-lid-open 5.2s cubic-bezier(.34,1.32,.5,1) both}[data-login-intro=playing] .case-glow{animation:pm-glow 5.2s ease-out both}[data-login-intro=playing] .case-beam{animation:pm-beam 5.2s ease-out both}[data-login-intro=playing] .case-shadow{animation:pm-case-shadow 5.2s both}[data-login-intro=playing] .case-impact{animation:pm-impact 5.2s ease-out both}[data-login-intro=playing] .case-flash{animation:pm-flash 5.2s ease-out both}[data-login-intro=playing] .cg-ear{animation:pm-ear-flap .32s ease-in-out 60ms 4 both;transform-origin:50% 90%}[data-login-intro=playing] .cg-ear-far{animation-delay:-80ms}[data-login-intro=playing] .pg-arm{animation:pm-arm-pump .35s ease-in-out 4 both,pm-cheer 5.2s ease-out both;transform-origin:50% 12%}[data-login-intro=playing] .pg-arm-far{--cheer-dir:58deg;animation-delay:-175ms,0ms}[data-login-intro=playing] .pg-arm-near{--cheer-dir:-58deg}[data-login-intro=playing] .pg-beak{animation:pm-beak-open 5.2s ease-out both;transform-origin:50% 0}[data-login-intro=playing] .cg-eyes,[data-login-intro=playing] .pg-eyes{animation:pm-squint 5.2s ease-out both}[data-login-intro=playing] .confetti-t1{animation:pm-confetti-1 5.2s cubic-bezier(.2,.6,.4,1) both}[data-login-intro=playing] .confetti-t2{animation:pm-confetti-2 5.2s cubic-bezier(.2,.6,.4,1) both}[data-login-intro=playing] .confetti-t3{animation:pm-confetti-3 5.2s cubic-bezier(.2,.6,.4,1) both}[data-login-intro=playing] .confetti-t4{animation:pm-confetti-4 5.2s cubic-bezier(.2,.6,.4,1) both}[data-login-intro=playing] .confetti-t5{animation:pm-confetti-5 5.2s cubic-bezier(.2,.6,.4,1) both}[data-login-intro=playing] .confetti-t6{animation:pm-confetti-6 5.2s cubic-bezier(.2,.6,.4,1) both}@keyframes pm-scene{0%{opacity:0;transform:translate(var(--scene-enter-x),calc(var(--scene-walk-y) - 64px)) scale(.3);animation-timing-function:cubic-bezier(.3,.5,.5,1)}5%{opacity:1}27%{transform:translateY(var(--scene-walk-y)) scale(1);animation-timing-function:cubic-bezier(.3,0,.4,1)}31%{transform:translate(4px,calc(var(--scene-walk-y) + 3px)) scale(1.07);animation-timing-function:cubic-bezier(.4,0,.2,1)}35%{transform:translateY(var(--scene-walk-y)) scale(1);animation-timing-function:linear}74%{transform:translateY(var(--scene-walk-y)) scale(1);animation-timing-function:cubic-bezier(.5,0,.2,1)}to{transform:translate(var(--scene-x),var(--scene-y)) scale(var(--scene-s))}}@keyframes pm-card-rise{0%,74%{opacity:0;transform:translateY(16px) scale(.86)}84%,to{opacity:1;transform:none}}@keyframes pm-pg-setdown{0%,39%{transform:scale(1)}46%{transform:scale(1.07,.89)}53%{transform:scale(.96,1.05)}58%,to{transform:scale(1)}}@keyframes pm-cg-hop{0%,60%{transform:translateY(0) scale(1)}64%{transform:translateY(-14px) scale(.92,1.12)}68%{transform:translateY(0) scale(1.1,.88)}72%{transform:translateY(-7px) scale(.96,1.06)}76%{transform:translateY(0) scale(1.05,.94)}80%,to{transform:translateY(0) scale(1)}}@keyframes pm-run-fwd{0%,to{transform:translateY(0) rotate(-1.5deg) scale(1.02,.96)}20%{transform:translateY(-7px) rotate(0deg) scale(.98,1.04)}50%{transform:translateY(0) rotate(1.5deg) scale(1.02,.96)}70%{transform:translateY(-7px) rotate(0deg) scale(.98,1.04)}}@keyframes pm-step{0%,to{transform:translateY(0) scaleY(1)}35%{transform:translateY(-11px) scaleY(.8)}60%{transform:translateY(-4px) scaleY(1)}}@keyframes pm-trot{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pm-leg-fwd{0%,to{transform:translateY(0) scaleY(1)}30%{transform:translateY(-9px) scaleY(.72)}55%{transform:translateY(-2px) scaleY(1.05)}}@keyframes pm-ear-flap{0%,to{transform:rotate(0deg)}30%{transform:rotate(-16deg)}65%{transform:rotate(9deg)}}@keyframes pm-arm-pump{0%,to{transform:rotate(14deg)}50%{transform:rotate(-14deg)}}@keyframes pm-cheer{0%,60%{transform:rotate(0deg) translateY(0)}66%{transform:rotate(var(--cheer-dir,-58deg)) translateY(-4px)}78%{transform:rotate(var(--cheer-dir,-58deg)) translateY(-4px)}86%,to{transform:rotate(0deg) translateY(0)}}@keyframes pm-beak-open{0%,61%{transform:scaleY(1)}67%,76%{transform:scaleY(1.7)}84%,to{transform:scaleY(1)}}@keyframes pm-squint{0%,61%{transform:scaleY(1)}66%,78%{transform:scaleY(.35)}84%,to{transform:scaleY(1)}}@keyframes pm-wag{0%,to{transform:rotate(-10deg)}50%{transform:rotate(13deg)}}@keyframes pm-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,1.03)}}@keyframes pm-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes pm-case-carry{0%,39%{transform:translate(-36px,-14px) rotate(-4deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}46%{transform:translate(-16px,-9px) rotate(-2deg);animation-timing-function:cubic-bezier(.6,0,.9,.6)}52%{transform:translateY(1.5px) rotate(0deg)}55%{transform:translateY(-1px) rotate(0deg)}58%,to{transform:translate(0) rotate(0deg)}}@keyframes pm-sway{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes pm-lid-open{0%,56%{transform:translateY(0) scaleY(1) rotate(0deg)}58%{transform:translateY(-1.5px) scaleY(1) rotate(1.5deg)}60%{transform:translateY(0) scaleY(1) rotate(0deg)}74%,to{transform:translateY(-13px) scaleY(.52) rotate(-6deg)}}@keyframes pm-glow{0%,60%{opacity:0;transform:scale(.45)}67%{opacity:1;transform:scale(1.35)}74%{opacity:.95;transform:scale(1.05)}to{opacity:.85;transform:scale(1)}}@keyframes pm-beam{0%,61%{opacity:0}70%{opacity:calc(var(--mascot-beam) * 2)}to{opacity:var(--mascot-beam)}}@keyframes pm-impact{0%,51%{opacity:0;transform:scale(.35)}53%{opacity:.6;transform:scale(.5)}61%,to{opacity:0;transform:scale(1.5)}}@keyframes pm-flash{0%,60%{opacity:0;transform:scale(.3)}66%{opacity:.75;transform:scale(1.15)}78%,to{opacity:0;transform:scale(1.5)}}.confetti-piece{opacity:0;transform-origin:50% 50%}@keyframes pm-confetti-1{0%,60%{opacity:0;transform:translate(0) rotate(0deg) scale(.4)}63%{opacity:1;transform:translate(-15px,-28px) rotate(-90deg) scale(1)}72%{opacity:1;transform:translate(-34px,-46px) rotate(-210deg) scale(1)}84%{opacity:0;transform:translate(-42px,26px) rotate(-300deg) scale(.85)}to{opacity:0;transform:translate(-42px,26px) rotate(-300deg) scale(.85)}}@keyframes pm-confetti-2{0%,60%{opacity:0;transform:translate(0) rotate(0deg) scale(.4)}63%{opacity:1;transform:translate(13px,-31px) rotate(78deg) scale(1)}72%{opacity:1;transform:translate(30px,-52px) rotate(182deg) scale(1)}84%{opacity:0;transform:translate(38px,24px) rotate(260deg) scale(.85)}to{opacity:0;transform:translate(38px,24px) rotate(260deg) scale(.85)}}@keyframes pm-confetti-3{0%,60%{opacity:0;transform:translate(0) rotate(0deg) scale(.4)}63%{opacity:1;transform:translate(-8px,-35px) rotate(60deg) scale(1)}72%{opacity:1;transform:translate(-19px,-58px) rotate(140deg) scale(1)}84%{opacity:0;transform:translate(-24px,30px) rotate(200deg) scale(.85)}to{opacity:0;transform:translate(-24px,30px) rotate(200deg) scale(.85)}}@keyframes pm-confetti-4{0%,60%{opacity:0;transform:translate(0) rotate(0deg) scale(.4)}63%{opacity:1;transform:translate(9px,-26px) rotate(-72deg) scale(1)}72%{opacity:1;transform:translate(21px,-44px) rotate(-168deg) scale(1)}84%{opacity:0;transform:translate(26px,28px) rotate(-240deg) scale(.85)}to{opacity:0;transform:translate(26px,28px) rotate(-240deg) scale(.85)}}@keyframes pm-confetti-5{0%,60%{opacity:0;transform:translate(0) rotate(0deg) scale(.4)}63%{opacity:1;transform:translate(-3px,-38px) rotate(102deg) scale(1)}72%{opacity:1;transform:translate(-6px,-64px) rotate(238deg) scale(1)}84%{opacity:0;transform:translate(-8px,32px) rotate(340deg) scale(.85)}to{opacity:0;transform:translate(-8px,32px) rotate(340deg) scale(.85)}}@keyframes pm-confetti-6{0%,60%{opacity:0;transform:translate(0) rotate(0deg) scale(.4)}63%{opacity:1;transform:translate(4px,-36px) rotate(-54deg) scale(1)}72%{opacity:1;transform:translate(10px,-60px) rotate(-126deg) scale(1)}84%{opacity:0;transform:translate(12px,22px) rotate(-180deg) scale(.85)}to{opacity:0;transform:translate(12px,22px) rotate(-180deg) scale(.85)}}@keyframes pm-case-shadow{0%,46%{opacity:0;transform:scale(.5)}52%{opacity:1;transform:scale(1.12)}57%,to{opacity:1;transform:scale(1)}}@media (max-width:560px){.login-stage{--scene-x:-8px;--scene-y:178px;--scene-s:0.52;--scene-walk-y:88px}}@media (prefers-reduced-motion:reduce){.login-wrap,.login-wrap *{animation:none!important;transition:none!important}}.muted{color:var(--muted)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-base)}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar .search{max-width:300px}.spacer{flex:1 1}.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}.empty-state .big{font-size:var(--fs-3xl);margin-bottom:8px}.list-inline{display:flex;gap:6px;flex-wrap:wrap}.divider{height:1px;background:var(--border);margin:20px 0}.bar-track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-fill{height:100%;border-radius:999px}.kv{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:var(--fs-base)}.kv:last-child{border-bottom:none}.list-scroll{max-height:30rem;overflow-y:auto}.kv .k{color:var(--muted)}.link{color:var(--on-primary-soft);cursor:pointer}.link:hover{text-decoration:underline}.t-xs{font-size:var(--fs-xs)}.t-sm{font-size:var(--fs-sm)}.t-base{font-size:var(--fs-base)}.t-md{font-size:var(--fs-md)}.t-lg{font-size:var(--fs-lg)}.t-xl{font-size:var(--fs-xl)}.t-2xl{font-size:var(--fs-2xl)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.mt-0{margin-top:0}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mt-6{margin-top:var(--sp-6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-5{margin-bottom:var(--sp-5)}.mb-6{margin-bottom:var(--sp-6)}.ml-1{margin-left:var(--sp-1)}.ml-2{margin-left:var(--sp-2)}.row{display:flex;align-items:center;gap:var(--sp-2)}.row-wrap{flex-wrap:wrap}.row-between{justify-content:space-between}.row-end{justify-content:flex-end}.row-top{align-items:flex-start}.row-gap-1{gap:var(--sp-1)}.row-gap-3{gap:var(--sp-3)}.row-gap-4{gap:var(--sp-4)}.stack{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.stack-3{gap:var(--sp-3)}.stack-4{gap:var(--sp-4)}.nowrap{white-space:nowrap}.pre-wrap{white-space:pre-wrap}.w-full{width:100%}.flex-1{flex:1 1;min-width:0}.flex-none{flex:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-right{text-align:right}.text-center{text-align:center}.c-danger{color:var(--danger)}.c-warning{color:var(--warning)}.c-success{color:var(--success)}.c-primary{color:var(--primary)}.chart-legend{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;grid-gap:var(--sp-1-5);gap:var(--sp-1-5);font-size:var(--fs-sm)}.chart-legend-row{grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--sp-4)}.chart-legend li{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.legend-dot{width:9px;height:9px;border-radius:var(--r-full);flex:none}.legend-label{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-value{margin-left:auto;font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-legend-row .legend-value{margin-left:0}.donut{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.donut>svg{flex:none}.donut .chart-legend{margin-top:0;flex:1 1;min-width:160px}.donut-arc{transition:opacity var(--dur-fast) var(--ease-out)}.donut:hover .donut-arc{opacity:.5}.donut .donut-arc:hover{opacity:1}.donut-value{fill:var(--text);font-family:var(--font-sans);font-size:20px;font-weight:var(--fw-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.donut-label{fill:var(--muted);font-family:var(--font-sans);font-size:10px}.stackbar{display:flex;width:100%;border-radius:var(--r-full);overflow:hidden;background:var(--surface-2)}.stackbar-seg{display:block;height:100%;transition:opacity var(--dur-fast) var(--ease-out)}.stackbar:hover .stackbar-seg{opacity:.55}.stackbar .stackbar-seg:hover{opacity:1}.bullet+.bullet{margin-top:var(--sp-3)}.bullet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-1);font-size:var(--fs-sm)}.bullet-label{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bullet-value{font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.bullet-track{position:relative;width:100%;background:var(--surface-2);overflow:hidden}.bullet-fill,.bullet-track{border-radius:var(--r-full)}.bullet-fill{display:block;height:100%}.bullet-threshold{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--text);opacity:.55}.heatmap-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:3px;gap:3px}.heatmap-head{margin-bottom:var(--sp-1)}.heatmap-dow{text-align:center;font-size:var(--fs-xs);color:var(--muted)}.heatmap-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:var(--r-xs);background:var(--surface-2);font-size:var(--fs-xs);color:var(--muted)}.heatmap-cell.on{background:var(--viz-1);color:#fff;font-weight:var(--fw-semibold)}.heatmap-cell.is-pad{background:transparent}.report-heatmap{max-width:440px}.month-picker{display:flex;align-items:center;gap:var(--sp-1)}.month-picker-label{min-width:130px;text-align:center;font-size:var(--fs-base);font-weight:var(--fw-semibold)}.is-disabled{opacity:.4;pointer-events:none}.exec-runway-list{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.feed-item{padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.feed-item:last-child{border-bottom:0;padding-bottom:0}.feed-author{color:var(--text)}.page-head h2{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:var(--lh-tight)}.section-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:var(--sp-6) 0 var(--sp-3)}.tabs{display:flex;align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-5);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs-placeholder{height:41px;margin-bottom:var(--sp-5);border-bottom:1px solid var(--border)}.tab{position:relative;display:inline-flex;align-items:center;gap:var(--sp-2);flex:none;padding:var(--sp-2-5) var(--sp-3);margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tab.active,.tab:hover{color:var(--text)}.tab.active{border-bottom-color:var(--primary)}.tab-badge,.tab.active{font-weight:var(--fw-semibold)}.tab-badge{padding:1px var(--sp-1-5);border-radius:var(--r-full);background:var(--surface-2);color:var(--muted);font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tab.active .tab-badge{background:var(--primary-soft);color:var(--on-primary-soft)}.tab-panel:focus{outline:none}.skel{display:block;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;border-radius:var(--r-xs);animation:pm-shimmer 1.4s ease-in-out infinite}@keyframes pm-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skel-stack{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.skel-title{margin-bottom:var(--sp-4)}.skel-value{margin-top:var(--sp-2)}.skel-row,.skel-table{display:grid}.skel-row{grid-template-columns:1.6fr 1fr 1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4);align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.skel-row:last-child{border-bottom:0}.toast-region{position:fixed;right:var(--sp-5);bottom:var(--sp-5);z-index:var(--z-toast);display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);justify-items:end;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--sp-2-5);max-width:min(420px,calc(100vw - var(--sp-10)));padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3);box-shadow:var(--elev-2);font-size:var(--fs-base);pointer-events:auto;animation:pm-toast-in var(--dur-base) var(--ease-out)}@keyframes pm-toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-msg{flex:1 1;min-width:0}.toast-ico{flex:none}.toast-success .toast-ico{color:var(--success)}.toast-error .toast-ico{color:var(--danger)}.toast-info .toast-ico{color:var(--info)}.toast-x{flex:none;display:inline-flex;padding:var(--sp-1);border:0;border-radius:var(--r-xs);background:transparent;color:var(--muted);cursor:pointer}.toast-x:hover{background:var(--surface-2);color:var(--text)}@media (max-width:560px){.toast-region{left:var(--sp-4);right:var(--sp-4);bottom:var(--sp-4);justify-items:stretch}}.tick{color:var(--border-strong);flex:none}.tick.on{color:var(--success)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;padding:var(--sp-5);z-index:var(--z-modal);overflow-y:auto;animation:pm-overlay-in var(--dur-base) var(--ease-out)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:560px;box-shadow:var(--elev-3);margin:auto;animation:pm-modal-in var(--dur-base) var(--ease-out)}.modal:focus{outline:none}.modal.wide{max-width:680px}@keyframes pm-overlay-in{0%{opacity:0}}@keyframes pm-modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.modal-head h3{font-size:var(--fs-lg)}.modal-body{padding:var(--sp-5)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl)}.close-x{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer}.close-x:hover{color:var(--text)}.close-x:hover,code{background:var(--surface-2)}code{padding:1px 6px;border-radius:5px;font-size:var(--fs-sm)}:root[data-theme=light] .topbar{background:hsla(0,0%,100%,.7)}:root[data-theme=light] .login-wrap{background:radial-gradient(1200px 600px at 70% -10%,rgba(79,82,224,.12),transparent),var(--bg)}.theme-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:2px;gap:2px;background:var(--surface-2)}.theme-btn{border:none;background:transparent;border-radius:999px;padding:4px 8px;font-size:var(--fs-base);cursor:pointer;line-height:1;opacity:.55}.theme-btn:hover{opacity:1}.theme-btn.on{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);opacity:1}.status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;background:var(--muted)}.status-dot.working{background:var(--success);animation:pulse-dot 1.6s ease-in-out infinite}.status-dot.active_today{background:var(--warning)}.status-dot.quiet{background:var(--border)}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 var(--success-soft)}50%{box-shadow:0 0 0 6px var(--success-soft)}}@media print{.no-print,.sidebar,.sidebar-backdrop,.topbar{display:none!important}body,html{background:#fff;color:#000}.app-shell,.main{display:block}.content{padding:0;max-width:none}.card,.stat,.table-wrap{border-color:#ccc;background:#fff;box-shadow:none;page-break-inside:avoid;break-inside:avoid}.report-body{border:none;padding:0}thead th{background:#f2f2f2;color:#000}.muted{color:#444}}.topbar-left{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.menu-btn{flex:none}.menu-btn,.sidebar-backdrop{display:none}@media (max-width:860px){.menu-btn{display:inline-flex}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:var(--z-drawer);transform:translateX(-100%);transition:transform var(--dur-base) var(--ease-out),visibility var(--dur-base);box-shadow:var(--elev-3)}.sidebar[data-offcanvas=true]{visibility:hidden}.sidebar.open{transform:translateX(0);visibility:visible}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:var(--z-drawer-backdrop)}.topbar{padding:0 var(--sp-4)}.crumb:last-child .crumb-sep,.crumb:not(:last-child),.topbar-email,.user-button-name{display:none}.content{padding:var(--sp-4)}}.project-card-foot{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}a:hover .project-card-foot .btn.primary{background:var(--primary-hover)}.prose{max-width:78ch;font-size:var(--fs-md);line-height:1.7}.prose>:first-child{margin-top:0}.prose h1{font-size:var(--fs-2xl);margin:0 0 6px}.prose h2{font-size:var(--fs-xl);margin:34px 0 10px;padding-top:16px;border-top:1px solid var(--border)}.prose h3{font-size:var(--fs-lg);margin:22px 0 8px}.prose h4{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:18px 0 6px}.prose h1,.prose h2,.prose h3,.prose h4{break-after:avoid;page-break-after:avoid}.prose p{margin:0 0 12px}.prose ol,.prose ul{margin:0 0 14px;padding-left:22px}.prose li{margin:4px 0}.prose li>ol,.prose li>ul{margin:6px 0}.prose a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.prose code{font-size:var(--fs-sm)}.prose pre{margin:0 0 14px;padding:12px 14px;overflow-x:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.prose pre code{background:none;padding:0;line-height:1.6}.prose blockquote{margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--primary);background:var(--primary-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose blockquote>:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--border);margin:28px 0}.prose .table-wrap{margin:0 0 16px}.prose td code,.prose th code{white-space:nowrap}.exec-page{display:grid;grid-gap:20px;gap:20px}.exec-page .grid>*,.exec-page>*{min-width:0}.exec-headline .stat{text-decoration:none;color:inherit;display:block;transition:border-color .15s ease,transform .15s ease}.exec-headline .stat:hover{border-color:var(--primary);transform:translateY(-1px)}.exec-money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .value.exec-money{font-size:var(--fs-2xl)}.exec-section{scroll-margin-top:80px}.exec-allclear{display:flex;gap:12px;align-items:flex-start}.exec-allclear-ico{width:28px;height:28px;flex:none;border-radius:999px;display:grid;place-items:center;background:var(--success-soft);color:var(--success);font-weight:var(--fw-bold)}.exec-attention{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.exec-attention-row{border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-sm);padding:14px 16px;background:var(--surface-2)}.exec-attention-row.critical{border-left-color:var(--danger)}.exec-attention-row.warning{border-left-color:var(--warning)}.exec-attention-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.exec-project-name{font-weight:var(--fw-semibold);color:var(--text);text-decoration:none}a.exec-project-name:hover{color:var(--primary);text-decoration:underline}.exec-client{font-size:var(--fs-base)}.exec-badges{display:flex;gap:6px;flex-wrap:wrap}.health-dot{width:6px;height:6px;border-radius:999px;background:currentColor}.exec-callout{padding:8px 12px;border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--text);font-weight:var(--fw-semibold)}.exec-callout,.exec-reasons{margin:10px 0 0;font-size:var(--fs-base)}.exec-reasons{padding-left:18px;display:grid;grid-gap:4px;gap:4px}.exec-reasons li.critical::marker{color:var(--danger)}.exec-reasons li.warning::marker{color:var(--warning)}.exec-attention-foot{margin-top:10px;font-size:var(--fs-sm)}.exec-bucket td{padding-top:16px;padding-bottom:4px;border-bottom:none}.exec-bucket-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.exec-bucket-title.danger{color:var(--danger)}.exec-bucket-title.warning{color:var(--warning)}.exec-late{color:var(--danger);font-weight:var(--fw-semibold)}.exec-charts{margin-top:18px}.exec-chart-title{margin:0 0 2px;font-size:var(--fs-base);font-weight:var(--fw-semibold)}.exec-chart-note{margin:0 0 10px;font-size:var(--fs-sm)}.trend-chart{overflow-x:auto}.chart-empty{margin:0;padding:var(--sp-6) 0;text-align:center;font-size:var(--fs-base)}.chart-tick{fill:var(--viz-axis);font-size:9px;font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.85}.trend-bar{transition:opacity var(--dur-fast) var(--ease-out)}.trend-chart-inner:hover .trend-bar{opacity:.55}.trend-chart-inner .trend-bar:hover{opacity:1}.trend-labels{display:flex;margin-top:var(--sp-1-5)}.trend-label{flex:none;text-align:center;display:grid;grid-gap:1px;gap:1px;min-height:26px}.trend-label .v{font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.trend-label .k{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exec-money-stats{margin-top:4px}.exec-runway{margin-top:20px}.exec-footnote{font-size:var(--fs-sm);line-height:1.6;margin:0;max-width:70ch}@media (max-width:640px){.stat .value.exec-money{font-size:var(--fs-xl)}.exec-attention-head{flex-direction:column;gap:8px}}@page{size:A4;margin:16mm 14mm}@media print{:root,:root[data-theme=dark],:root[data-theme=light]{--bg:#fff;--surface:#fff;--surface-2:#f4f5f7;--border:#ccc;--text:#111;--muted:#444;--primary:#3730a3;--primary-soft:#f1f1fb;--shadow:none}.prose{max-width:none;font-size:10.5pt;line-height:1.55}.prose a{color:#111;text-decoration:none}.prose .table-wrap,.prose blockquote,.prose pre{page-break-inside:avoid;break-inside:avoid}tbody tr:hover{background:transparent}}