:root{--font-display:var(--font-body);--paper:#edf0f7;--surface:#fff;--surface-2:#f4f6fb;--ink:#101828;--ink-soft:#39445c;--muted:#5d677c;--faint:#667085;--line:#e2e7f1;--line-soft:#eef1f7;--mod-dashboard:#0d9a92;--mod-ai:#6455f0;--mod-vouchers:#c07708;--mod-ledger:#0d9d57;--mod-personnel:#d62777;--mod-teams:#2563eb;--mod-contracts:#8a3ed8;--mod-documents:#0e7490;--mod-lunch:#dd5a17;--mod-rooms:#b0347a;--mod-system:#526180;--brand-1:#00efa8;--brand-2:#13c0bf;--brand-3:#2b8ade;--brand-4:#4055f2;--brand-grad:linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 30%, var(--brand-3) 64%, var(--brand-4) 100%);--good:#0e9e5b;--good-soft:#e3f7ec;--warning:#b5790b;--warning-soft:#fdf2da;--serious:#c05621;--serious-soft:#fce9dd;--critical:#d33a32;--critical-soft:#fce6e4;--cat-1:#0d9a92;--cat-2:#c07708;--cat-3:#6455f0;--cat-4:#d62777;--cat-5:#2563eb;--cat-6:#dd5a17;--cat-7:#0e7490;--cat-other:#94a3b8;--chart-surface:#fff;--chart-grid:#e8ecf4;--chart-axis:#c3cbdb;--shadow-sm:0 1px 2px #1018280a, 0 2px 6px -3px #10182814;--shadow:0 1px 2px #1018280a, 0 10px 26px -14px #10182833;--shadow-lg:0 2px 4px #1018280a, 0 28px 56px -22px #1018284d;--radius-xs:8px;--radius-sm:11px;--radius:16px;--radius-lg:22px;--radius-pill:999px;--scrim:#0a0e1780;--t-fast:.12s;--t:.2s;--t-slow:.4s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.4, .5, 1);--ease-menu:cubic-bezier(.4, 0, .2, 1);--accent:var(--brand-3);--accent-ink:color-mix(in oklab, var(--accent) 74%, var(--ink));--accent-soft:color-mix(in oklab, var(--accent) 10%, var(--surface));--accent-soft-line:color-mix(in oklab, var(--accent) 26%, var(--surface));--accent-2:var(--brand-1);--on-accent:#fff;--hero-grad:var(--brand-grad);--ring:0 0 0 3px color-mix(in oklab, var(--accent) 26%, transparent);--sidebar-w:78px;--sidebar-w-open:258px;--topbar-h:52px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0a0e17;--surface:#121826;--surface-2:#1a2130;--ink:#e8edf7;--ink-soft:#c0cadb;--muted:#8794ab;--faint:#7d88a0;--scrim:#0000009e;--line:#232c3d;--line-soft:#1a2130;--mod-dashboard:#2fd4c6;--mod-ai:#a497ff;--mod-vouchers:#f2b44b;--mod-ledger:#43d98a;--mod-personnel:#ff77ae;--mod-teams:#7fa9ff;--mod-contracts:#c79bff;--mod-documents:#52c7de;--mod-lunch:#ff9155;--mod-rooms:#ff8ec4;--mod-system:#9baac7;--good:#45d98a;--good-soft:#45d98a26;--warning:#f2b44b;--warning-soft:#f2b44b26;--serious:#f0956b;--serious-soft:#f0956b26;--critical:#f0736c;--critical-soft:#f0736c26;--cat-1:#2fd4c6;--cat-2:#f2b44b;--cat-3:#a497ff;--cat-4:#ff77ae;--cat-5:#7fa9ff;--cat-6:#ff9155;--cat-7:#38bdf8;--cat-other:#64748b;--chart-surface:#121826;--chart-grid:#212a3a;--chart-axis:#3a4557;--shadow-sm:0 1px 2px #0000004d, 0 2px 6px -3px #00000073;--shadow:0 1px 2px #00000059, 0 12px 28px -14px #000000b3;--shadow-lg:0 2px 4px #0006, 0 32px 60px -22px #000c;--accent-2:#6ff0c8;--on-accent:#0a0e17}}:root[data-theme=dark]{--paper:#0a0e17;--surface:#121826;--surface-2:#1a2130;--ink:#e8edf7;--ink-soft:#c0cadb;--muted:#8794ab;--faint:#7d88a0;--scrim:#0000009e;--line:#232c3d;--line-soft:#1a2130;--mod-dashboard:#2fd4c6;--mod-ai:#a497ff;--mod-vouchers:#f2b44b;--mod-ledger:#43d98a;--mod-personnel:#ff77ae;--mod-teams:#7fa9ff;--mod-contracts:#c79bff;--mod-documents:#52c7de;--mod-lunch:#ff9155;--mod-rooms:#ff8ec4;--mod-system:#9baac7;--good:#45d98a;--good-soft:#45d98a26;--warning:#f2b44b;--warning-soft:#f2b44b26;--serious:#f0956b;--serious-soft:#f0956b26;--critical:#f0736c;--critical-soft:#f0736c26;--cat-1:#2fd4c6;--cat-2:#f2b44b;--cat-3:#a497ff;--cat-4:#ff77ae;--cat-5:#7fa9ff;--cat-6:#ff9155;--cat-7:#38bdf8;--cat-other:#64748b;--chart-surface:#121826;--chart-grid:#212a3a;--chart-axis:#3a4557;--shadow-sm:0 1px 2px #0000004d, 0 2px 6px -3px #00000073;--shadow:0 1px 2px #00000059, 0 12px 28px -14px #000000b3;--shadow-lg:0 2px 4px #0006, 0 32px 60px -22px #000c;--accent-2:#6ff0c8;--on-accent:#0a0e17}.app-shell{--mod-hien-tai:var(--mod-dashboard);--accent:var(--mod-hien-tai);--accent-ink:color-mix(in oklab, var(--accent) 74%, var(--ink));--accent-soft:color-mix(in oklab, var(--accent) 10%, var(--surface));--accent-soft-line:color-mix(in oklab, var(--accent) 26%, var(--surface));--accent-2:color-mix(in oklab, var(--accent) 66%, #ffc98a);--ring:0 0 0 3px color-mix(in oklab, var(--accent) 26%, transparent);--hero-grad:linear-gradient(118deg, color-mix(in oklab, var(--accent) 60%, #17102e) 0%, var(--accent) 54%, color-mix(in oklab, var(--accent) 74%, #ffd9a8) 100%)}.app-shell[data-module=ai]{--mod-hien-tai:var(--mod-ai)}.app-shell[data-module=vouchers]{--mod-hien-tai:var(--mod-vouchers)}.app-shell[data-module=ledger]{--mod-hien-tai:var(--mod-ledger)}.app-shell[data-module=personnel]{--mod-hien-tai:var(--mod-personnel)}.app-shell[data-module=teams]{--mod-hien-tai:var(--mod-teams)}.app-shell[data-module=contracts]{--mod-hien-tai:var(--mod-contracts)}.app-shell[data-module=documents]{--mod-hien-tai:var(--mod-documents)}.app-shell[data-module=lunch]{--mod-hien-tai:var(--mod-lunch)}.app-shell[data-module=rooms]{--mod-hien-tai:var(--mod-rooms)}.app-shell[data-module=system]{--mod-hien-tai:var(--mod-system)}:root[data-theme=dark] .app-shell{--hero-grad:linear-gradient(118deg, color-mix(in oklab, var(--accent) 30%, #0b0917) 0%, color-mix(in oklab, var(--accent) 55%, #171030) 54%, color-mix(in oklab, var(--accent) 46%, #6b4020) 100%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .app-shell{--hero-grad:linear-gradient(118deg, color-mix(in oklab, var(--accent) 30%, #0b0917) 0%, color-mix(in oklab, var(--accent) 55%, #171030) 54%, color-mix(in oklab, var(--accent) 46%, #6b4020) 100%)}}*{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.55}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.018em;margin:0;font-weight:700;line-height:1.22}h1{letter-spacing:-.022em;font-size:25px}h2{font-size:19px}h3{letter-spacing:-.01em;font-size:15px;font-weight:600}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-underline-offset:2px}::selection{background:var(--accent-soft-line);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:5px}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:10.5px;font-weight:700}.sub{color:var(--muted)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--accent-soft-line);background-clip:content-box}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.login-screen{background:radial-gradient(circle at 12% 15%, #00efa814, transparent 55%), radial-gradient(circle at 88% 85%, #4055f217, transparent 55%), var(--paper);justify-content:center;align-items:stretch;min-height:100vh;padding:24px;display:flex}.login-grid{width:100%;max-width:1180px;box-shadow:var(--shadow);background:var(--surface);border-radius:24px;grid-template-columns:1.1fr 1fr;margin:auto;animation:.55s cubic-bezier(.2,.8,.2,1) loginIn;display:grid;overflow:hidden}@keyframes loginIn{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.login-brand{isolation:isolate;color:#eefcfa;background:linear-gradient(150deg,#00efa8 0%,#13c0bf 26%,#2b8ade 58%,#4055f2 84%,#5b4fe0 112%) 0 0/220% 220%;flex-direction:column;justify-content:space-between;padding:56px 48px;animation:18s ease-in-out infinite brandGradient;display:flex;position:relative;overflow:hidden}@keyframes brandGradient{0%,to{background-position:0 30%}50%{background-position:100% 70%}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .login-brand{background:linear-gradient(150deg,#046b52 0%,#0b5f70 26%,#1a4f8c 58%,#2a2f9c 84%,#3a2f8f 112%) 0 0/220% 220%}}:root[data-theme=dark] .login-brand{background:linear-gradient(150deg,#046b52 0%,#0b5f70 26%,#1a4f8c 58%,#2a2f9c 84%,#3a2f8f 112%) 0 0/220% 220%}.login-brand canvas{opacity:.4;z-index:0;width:100%;height:100%;position:absolute;inset:0}.login-orb{filter:blur(50px);pointer-events:none;z-index:0;mix-blend-mode:screen;border-radius:50%;position:absolute}.login-orb--1{opacity:.45;background:#00efa8;width:260px;height:260px;animation:11s ease-in-out infinite orbFloat;top:-70px;right:-50px}.login-orb--2{opacity:.34;background:#4055f2;width:220px;height:220px;animation:14s ease-in-out infinite reverse orbFloat;bottom:-60px;left:-40px}.login-orb--3{opacity:.34;background:#7ef7d2;width:170px;height:170px;animation:9s ease-in-out infinite orbFloat;top:40%;left:58%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(16px,-20px)scale(1.08)}}.login-balloons{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-balloon{opacity:0;border-radius:50%;animation-name:balloonRise;animation-timing-function:ease-in;animation-iteration-count:infinite;position:absolute;bottom:-40px;box-shadow:0 4px 10px -4px #00000040}@keyframes balloonRise{0%{opacity:0;transform:translateY(0)translate(0)scale(.9)}10%{opacity:.8}50%{transform:translateY(-150px)translate(10px)scale(1)}90%{opacity:.5}to{opacity:0;transform:translateY(-320px)translate(-12px)scale(.95)}}.login-icons{z-index:1;pointer-events:none;position:absolute;inset:0}.login-icon{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#ffffff24;border:1px solid #ffffff47;border-radius:13px;justify-content:center;align-items:center;width:42px;height:42px;animation:6.5s ease-in-out infinite iconFloat;display:flex;position:absolute;box-shadow:0 8px 20px -10px #0006}.login-icon--1{animation-delay:.1s;top:15%;right:16%}.login-icon--2{animation-delay:1.3s;bottom:28%;right:26%}.login-icon--3{animation-delay:.7s;bottom:8%;right:8%}.login-icon--4{width:34px;height:34px;animation-delay:2s;top:6%;left:58%}@keyframes iconFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(-4deg)}}.login-brand-top,.login-brand-bottom{z-index:2;position:relative}.brand-mark{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:12px;font-size:21px;font-weight:700;display:flex}.brand-mark .brand-mark-img{background:#fff;border-radius:13px;padding:5px;box-shadow:0 0 0 1px #ffffff80,0 10px 24px -8px #0000004d}.login-brand h1{color:#fff;background:linear-gradient(120deg,#fff 35%,#d6fff2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;max-width:12ch;margin-top:26px;font-size:34px;line-height:1.15}.login-brand p{color:#e6faf6;max-width:38ch;margin-top:12px;font-size:14.5px}.brand-stats{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.brand-stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:12px;padding:10px 16px}.brand-stat b{font-family:var(--font-mono);color:#fff;font-size:20px;display:block}.brand-stat span{color:#d8f6ef;font-size:11.5px}.login-form-side{flex-direction:column;gap:22px;padding:58px 52px;display:flex;position:relative}.login-form-side:before{content:"";background:var(--brand-grad);border-radius:0 0 8px 8px;height:3px;position:absolute;top:0;left:52px;right:52px}.login-form-side h2{font-size:23px}.login-form-side>div>p{color:var(--muted);margin-top:6px;font-size:13.5px}.login-screen .btn--primary{background:linear-gradient(120deg,var(--brand-2),var(--brand-3) 55%,var(--brand-4));color:#fff;border-color:#0000;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 10px 24px -12px #2b8adea6}.login-screen .btn--primary:hover{filter:brightness(1.07);color:#fff;transform:translateY(-1px);box-shadow:0 14px 28px -12px #2b8adebf}.login-screen .field input:focus{box-shadow:0 0 0 3px var(--accent-soft-line)}.role-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.role-card{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:12px 14px;transition:border-color .15s,background .15s,transform .1s}.role-card:hover{border-color:var(--accent-soft-line);background:var(--accent-soft)}.role-card:active{transform:scale(.98)}.role-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.role-card .rc-title{font-size:13.5px;font-weight:600}.role-card .rc-sub{color:var(--muted);margin-top:2px;font-size:12px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:12px;font-weight:600}.st-sub{color:var(--muted);font-size:11.5px;line-height:1.6}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease, background var(--t-fast) ease;border-radius:10px;padding:10px 13px}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--accent-soft-line)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%238884a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:15px;padding-right:34px}.field select::-ms-expand{display:none}.field select:disabled{cursor:not-allowed;opacity:.65}.form-error{color:var(--critical);background:var(--critical-soft);border-radius:var(--radius-xs);padding:8px 12px;font-size:12.5px}input[data-ai-filled],textarea[data-ai-filled]{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.form-success{color:var(--good);background:var(--good-soft);border-radius:var(--radius-xs);padding:8px 12px;font-size:12.5px}.form-note{color:var(--ink-soft);background:var(--surface-2);border-radius:var(--radius-xs);border-left:3px solid var(--accent);padding:9px 12px;font-size:12.5px;line-height:1.6}.field-label{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.field-label label{color:var(--muted);font-size:12px;font-weight:600}.hint{vertical-align:middle;line-height:0;display:inline-flex;position:relative}.hint__dot{cursor:help;width:15px;height:15px;font-family:var(--font-display);color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-soft-line);transition:background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-fast) var(--ease-spring);border-radius:50%;flex:none;place-items:center;padding:0;font-size:10.5px;font-weight:700;line-height:1;display:inline-grid}.hint__dot:hover,.hint:focus-within .hint__dot{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:scale(1.14)}.hint__dot:focus-visible{box-shadow:var(--ring);outline:none}.hint__bubble{z-index:40;border-radius:var(--radius-sm);background:var(--surface);width:max-content;max-width:min(300px,66vw);color:var(--ink-soft);border:1px solid var(--line);box-shadow:var(--shadow-lg);font-family:var(--font-body);text-align:left;white-space:normal;letter-spacing:0;opacity:0;visibility:hidden;transform-origin:14px 100%;pointer-events:none;transition:opacity var(--t-fast) ease, transform var(--t) var(--ease-out), visibility 0s linear var(--t);padding:10px 13px 10px 15px;font-size:11.5px;font-weight:400;line-height:1.65;position:absolute;bottom:calc(100% + 9px);left:-9px;transform:translateY(5px)scale(.97)}.hint__bubble:before{content:"";background:linear-gradient(var(--accent), var(--accent-2));border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:0}.hint__bubble:after{content:"";background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:9px;height:9px;position:absolute;bottom:-5px;left:12px;transform:rotate(45deg)}.hint:hover .hint__bubble,.hint:focus-within .hint__bubble{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.hint[data-align=end] .hint__bubble{transform-origin:calc(100% - 14px) 100%;left:auto;right:-9px}.hint[data-align=end] .hint__bubble:after{left:auto;right:12px}@media (max-width:640px){.hint[data-align] .hint__bubble{z-index:90;border-radius:var(--radius);width:auto;max-width:none;padding:13px 15px 13px 17px;font-size:12.5px;position:fixed;inset:auto 12px 12px;transform:translateY(10px)}.hint[data-align] .hint__bubble:after{display:none}.hint:hover .hint__bubble,.hint:focus-within .hint__bubble{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hint__dot:hover,.hint:focus-within .hint__dot{transform:none}.hint__bubble{transition:opacity var(--t-fast) ease, visibility 0s linear var(--t-fast);transform:none}.hint:hover .hint__bubble,.hint:focus-within .hint__bubble{transform:none}}.ctl-bar{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.ctl-bar .field{gap:6px;min-width:0}.ctl-bar .field input,.ctl-bar .field select{width:100%;min-width:0;max-width:none;min-height:44px}.ctl-bar .btn{min-height:44px;padding:0 18px}.ctl-bar .btn--sm{border-radius:10px;min-height:44px;font-size:13px}.ctl-w-sm{flex:none;width:132px}.ctl-w-md{flex:none;width:186px}.ctl-w-lg{flex:none;width:320px}.ctl-grow{flex:210px;min-width:0}.ctl-btns{flex-wrap:wrap;gap:8px;display:flex}.ctl-sep{background:var(--line);flex:none;align-self:stretch;width:1px;margin:2px 4px}.ctl-end{margin-left:auto}@media (max-width:640px){.ctl-bar{flex-direction:column;align-items:stretch}.ctl-bar .field{width:100%}.ctl-w-sm,.ctl-w-md,.ctl-w-lg,.ctl-grow{flex:none;width:auto}.ctl-end{margin-left:0}.ctl-bar .btn{justify-content:center}.ctl-sep{display:none}}.band{border-top:1px solid var(--line-soft);padding:16px 20px}.band:first-child{border-top:none}.band__label{letter-spacing:.07em;text-transform:uppercase;color:color-mix(in oklab, var(--accent) 62%, var(--muted));align-items:center;gap:6px;margin-bottom:11px;font-size:9.5px;font-weight:700;display:flex}.band__label:after{content:"";background:linear-gradient(90deg, color-mix(in oklab, var(--accent) 24%, var(--line)), transparent);flex:1;height:1px}.field input[type=file]{cursor:pointer;padding:6px 12px 6px 6px}.field input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);border-radius:var(--radius-xs);cursor:pointer;transition:background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease;margin-right:11px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:600}.field input[type=file]:hover::file-selector-button{background:var(--accent-soft);border-color:var(--accent-soft-line);color:var(--accent-ink)}.or-rule{color:var(--faint);align-items:center;gap:12px;font-size:11.5px;font-weight:600;display:flex}.or-rule:before,.or-rule:after{content:"";background:var(--line);flex:1;height:1px}.btn--google{background:var(--surface);width:100%;color:var(--ink);border-color:var(--line);justify-content:center;gap:10px;padding:11px 15px;font-size:13.5px}.btn--google:hover{background:var(--surface-2);color:var(--ink);border-color:var(--muted)}.btn--google[disabled]{opacity:.6;cursor:progress}.hint-text{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.linked-row{border-radius:var(--radius-sm);background:var(--good-soft);border:1px solid color-mix(in oklab, var(--good) 26%, transparent);align-items:center;gap:11px;padding:11px 13px;display:flex}.linked-icon{border-radius:var(--radius-xs);background:var(--good);color:#fff;flex:none;place-items:center;width:26px;height:26px;display:grid}.linked-text{flex-direction:column;min-width:0;display:flex}.linked-text b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.linked-text span{color:var(--muted);font-size:11.5px}.auth-card{transition:border-color var(--t) ease, box-shadow var(--t) ease}.auth-card.is-open-door{border-color:color-mix(in oklab, var(--warning) 45%, var(--line));box-shadow:0 0 0 3px color-mix(in oklab, var(--warning) 14%, transparent)}.auth-card-body{flex-direction:column;gap:2px;display:flex;position:relative}.auth-card .setting-row{cursor:pointer}.auth-open-note{background:var(--warning-soft);color:var(--ink-soft);border-radius:10px;align-items:flex-start;gap:9px;margin:10px 0 0;padding:10px 12px;font-size:12px;line-height:1.6;display:flex}.auth-open-note svg{color:var(--warning);flex:none;margin-top:2px}.auth-saving{color:var(--muted);font-size:11.5px;font-weight:600;position:absolute;top:0;right:0}.auth-keys{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:12px;padding-bottom:16px;display:flex}.auth-toggles{flex-direction:column;padding-top:4px;display:flex;position:relative}.auth-key-status{color:var(--ink-soft);border-radius:10px;align-items:flex-start;gap:9px;padding:10px 12px;font-size:12px;line-height:1.6;display:flex}.auth-key-status svg{flex:none;margin-top:3px}.auth-key-status--missing{background:var(--critical-soft)}.auth-key-status--missing svg{color:var(--critical)}.auth-key-status--env{background:var(--warning-soft)}.auth-key-status--env svg{color:var(--warning)}.auth-key-status--ok{background:var(--accent-soft)}.auth-key-status--ok svg{color:var(--accent)}.auth-secret-row{gap:8px;display:flex}.auth-secret-row input{flex:1;min-width:0}.auth-callout{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.auth-callout-head{color:var(--ink-soft);margin:0;font-size:12px;font-weight:600}.auth-callout .st-sub{color:var(--muted);margin:0;font-size:11.5px;line-height:1.6}.auth-copy-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-copy-label{color:var(--muted);min-width:190px;font-size:11.5px;font-weight:600}.auth-copy-value{white-space:nowrap;background:var(--surface);border:1px solid var(--line-soft);border-radius:7px;flex:1;min-width:0;padding:6px 9px;font-size:11.5px;overflow-x:auto}.auth-keys-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.auth-keys-foot .st-sub{color:var(--muted);font-size:11.5px}@media (max-width:600px){.auth-copy-label{flex-basis:100%;min-width:0}}.pending-row{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 12px;display:flex}.pending-who{flex-direction:column;flex:1;min-width:0;display:flex}.pending-who b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.pending-who span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.pending-approve{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pending-approve select{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 10px;font-size:12.5px;font-weight:600}@media (max-width:640px){.pending-approve{width:100%}.pending-approve select{flex:1;min-width:0}}.pending-new-employee{flex-basis:100%;margin-top:2px}.pending-new-employee summary{cursor:pointer;color:var(--accent);border-radius:var(--radius-xs);align-items:center;gap:6px;width:fit-content;padding:5px 9px;font-size:12px;font-weight:600;list-style:none;display:inline-flex}.pending-new-employee summary::-webkit-details-marker{display:none}.pending-new-employee summary:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.pending-new-employee summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pending-new-employee[open] summary{margin-bottom:10px}.pending-new-toggle{cursor:pointer;align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;font-weight:600;display:flex}.pending-new-grid{border:1px dashed var(--line);background:var(--surface);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:12px;display:grid}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-lg);transition:transform var(--t) var(--ease-out);border-radius:0 0 12px;padding:11px 18px;font-size:13px;font-weight:700;text-decoration:none;position:fixed;top:0;left:0;transform:translateY(-140%)}.skip-link:focus-visible{outline-offset:-4px;transform:translateY(0)}main.content:focus{outline:none}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.profile-grid>:last-child{grid-column:1/-1}.profile-banner{border-radius:var(--radius);color:#fff;background:linear-gradient(120deg,#5b4fe0 0%,#9438c8 48%,#e93d82 100%);align-items:center;gap:20px;margin-bottom:18px;padding:28px;display:flex;position:relative;overflow:hidden}:root[data-theme=dark] .profile-banner{background:linear-gradient(120deg,#4a3aa0 0%,#7d2f92 48%,#c23f74 100%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .profile-banner{background:linear-gradient(120deg,#4a3aa0 0%,#7d2f92 48%,#c23f74 100%)}}.profile-banner-avatar{background:#ffffff2e;border:2px solid #ffffff80;border-radius:50%;flex:none;justify-content:center;align-items:center;width:76px;height:76px;font-size:26px;font-weight:700;display:flex;overflow:hidden}.profile-banner-avatar img{object-fit:cover;width:100%;height:100%}.attachment-add-btn{align-self:flex-start}.attachment-thumbs{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.attachment-thumb{border-radius:var(--radius-xs);border:1px solid var(--line);flex:none;width:64px;height:64px;position:relative;overflow:hidden}.attachment-thumb img{object-fit:cover;width:100%;height:100%}.attachment-file-chip{background:var(--surface-2);width:100%;height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;text-decoration:none;display:flex}.attachment-file-ext{letter-spacing:.03em;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:1px 4px;font-size:9px;font-weight:800}.attachment-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8.5px;line-height:1.2;overflow:hidden}.attachment-thumb button{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.attachment-thumb button:hover{background:var(--critical)}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;transition:background .15s,border-color .15s,opacity .15s;display:grid}.lightbox-nav:hover:not(:disabled){background:#ffffff38;border-color:#ffffff80}.lightbox-nav:disabled{opacity:.28;cursor:default}.searchable-select-trigger{text-align:left;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);width:100%;color:var(--ink);font-size:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;transition:border-color .15s,box-shadow .15s;display:flex}.searchable-select-trigger:hover{border-color:var(--accent-soft-line)}.searchable-select-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line)}.searchable-select-trigger svg{color:var(--faint);flex:none}.searchable-select-placeholder{color:var(--faint)}.searchable-select-panel{z-index:95;background:var(--surface);border:1px solid var(--line);min-width:240px;box-shadow:var(--shadow);border-radius:12px;animation:.16s tabIn;position:fixed;overflow:hidden}.searchable-select-search{border-bottom:1px solid var(--line-soft);color:var(--faint);align-items:center;gap:8px;padding:9px 12px;display:flex}.searchable-select-search input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13px}.searchable-select-options{max-height:240px;padding:6px;overflow-y:auto}.searchable-select-option{border-radius:var(--radius-xs);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.searchable-select-option:hover,.searchable-select-option.highlight{background:var(--accent-soft)}.searchable-select-option.selected{color:var(--accent-ink);font-weight:700}.searchable-select-hint{color:var(--faint);font-size:11px;font-weight:500}.searchable-select-empty{text-align:center;color:var(--faint);padding:14px 10px;font-size:12.5px}.searchable-select-value,.searchable-select-placeholder{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.searchable-select-options:focus{outline:none}.searchable-select-option.disabled{opacity:.45;cursor:not-allowed;background:0 0}.searchable-select-group{color:var(--muted);padding:10px 10px 4px;font-size:11.5px;font-weight:650}.searchable-select-group:first-child{padding-top:4px}.searchable-select.ss--compact{min-width:110px}.searchable-select.ss--compact .searchable-select-trigger{padding:7px 10px;font-size:12.5px;font-weight:600}.searchable-select.ss--pill{min-width:120px}.filter-select-wrap .searchable-select.ss--pill .searchable-select-trigger{padding:9px 16px}.searchable-select.ss--pill .searchable-select-trigger{border-radius:var(--radius-pill);border-width:1.5px;padding:8px 14px;font-size:12.5px;font-weight:700}.searchable-select.ss--cell{min-width:120px}.searchable-select.ss--cell .searchable-select-trigger{padding:5px 8px;font-size:12px}.searchable-select.tab-select{min-width:210px}.searchable-select.ss--dish{max-width:170px}.searchable-select.ss-inherited .searchable-select-trigger{color:var(--muted);border-style:dashed}.setting-row .searchable-select{max-width:52%}.pending-approve .searchable-select{max-width:220px}@media (max-width:640px){.pending-approve .searchable-select{flex:1;min-width:0;max-width:none}}.profile-banner-name{font-family:var(--font-display);font-size:20px;font-weight:700}.profile-banner-meta{color:#ffffffd9;margin-top:2px;font-size:13px}.profile-banner-email{color:#ffffffb3;margin-top:2px;font-size:12.5px}.avatar-field{flex-direction:column;align-items:flex-start;display:flex}.avatar-upload{border:2px solid var(--line);background:var(--accent-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;padding:0;display:flex;position:relative;overflow:hidden}.avatar-upload img{object-fit:cover;width:100%;height:100%}.avatar-upload-fallback{color:var(--accent);font-size:28px;font-weight:700}.avatar-upload-overlay{text-align:center;color:#fff;opacity:0;background:#1c1a2e8c;justify-content:center;align-items:center;font-size:11px;font-weight:600;transition:opacity .15s;display:flex;position:absolute;inset:0}.avatar-upload:hover .avatar-upload-overlay{opacity:1}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-fast) var(--ease-spring), box-shadow var(--t-fast) ease;border-radius:10px;align-items:center;gap:7px;padding:9px 15px;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent-soft-line);background:var(--accent-soft);color:var(--accent-ink)}.btn:active{transform:scale(.97)}.btn--primary{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px #1018281a, 0 8px 20px -11px color-mix(in oklab, var(--accent) 80%, transparent);border-color:#0000}.btn--primary:hover{background:color-mix(in oklab, var(--accent) 90%, var(--ink));color:var(--on-accent);box-shadow:0 2px 4px #1018281f, 0 14px 28px -12px color-mix(in oklab, var(--accent) 85%, transparent);border-color:#0000;transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)scale(.98)}.btn--ghost{background:0 0;border-color:#0000}.btn--danger{color:var(--critical)}.btn--danger:hover{background:var(--critical-soft);color:var(--critical);border-color:#0000}.btn--sm{border-radius:9px;padding:6px 11px;font-size:12px}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none!important}.btn-block{justify-content:center;width:100%;padding:11px 14px}.login-foot{color:var(--faint);margin-top:auto;font-size:12px}.app-shell{min-height:100vh}.sidebar{z-index:20;height:100vh;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--line);transition:width .3s var(--ease-menu), box-shadow .3s ease, transform .3s var(--ease-menu);flex-direction:column;gap:2px;padding:16px 12px;display:flex;position:fixed;top:0;left:0}.sidebar:is(:hover,:has(.notif-panel),:has(:focus-visible)),:root[data-sidebar=pinned] .sidebar{width:var(--sidebar-w-open)}.sidebar:is(:hover,:has(.notif-panel),:has(:focus-visible)){box-shadow:30px 0 70px -34px #10182873}:root[data-sidebar=pinned] .sidebar{box-shadow:none}.sidebar-brand{white-space:nowrap;font-family:var(--font-display);letter-spacing:-.024em;align-items:center;gap:11px;padding:4px 4px 16px;font-size:17px;font-weight:650;display:flex;overflow:hidden}.brand-mark-img{transition:transform .3s var(--ease-spring), filter .3s ease;flex:none;display:block;position:relative}.brand-mark-img img{object-fit:contain;width:100%;height:100%;display:block}.sidebar-brand .brand-mark-img{filter:drop-shadow(0 4px 8px #2b8ade66)}.sidebar:hover .brand-mark-img{filter:drop-shadow(0 6px 12px #13c0bf8c);transform:rotate(-6deg)scale(1.08)}.brand-wordmark{white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.brand-wordmark b{letter-spacing:-.03em;font-weight:800}.brand-wordmark span{letter-spacing:-.02em;opacity:.82;font-weight:400}.sidebar-brand .brand-text{opacity:0;transition:opacity .18s ease, transform .28s var(--ease-menu);transform:translate(-6px)}.pin-btn{width:28px;height:28px;color:var(--faint);cursor:pointer;opacity:0;transition:opacity .18s ease, transform .22s var(--ease-spring), background .15s ease, color .15s ease;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;justify-content:center;align-items:center;margin-left:auto;display:flex;transform:scale(.85)}.pin-btn:hover{background:var(--surface-2);color:var(--ink-soft)}.pin-btn.is-pinned{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft-line)}.sidebar-close-btn{display:none}.sidebar-nav{scrollbar-width:thin;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;position:relative;overflow:hidden auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-section-label{text-transform:uppercase;letter-spacing:.09em;color:var(--faint);white-space:nowrap;padding:14px 10px 6px;font-size:10px;font-weight:800;line-height:14px;position:relative}.nav-section-label span{opacity:0;transition:opacity .16s}.nav-section-label:after{content:"";background:var(--line);opacity:1;height:1px;transition:opacity .16s;position:absolute;bottom:10px;left:14px;right:14px}.nav-marker{pointer-events:none;background:var(--accent-soft);border:1px solid var(--accent-soft-line);opacity:0;height:0;transition:transform .34s var(--ease-spring), height .34s var(--ease-spring), opacity .2s ease, background .3s ease, border-color .3s ease;border-radius:12px;position:absolute;top:0;left:0;right:0}.nav-marker.is-placed{opacity:1}.nav-marker:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:58%;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.nav-item{z-index:1;color:var(--ink-soft);cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:9px;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .18s,background .18s;display:flex;position:relative}.nav-item[data-module=dashboard]{--item-hue:var(--mod-dashboard)}.nav-item[data-module=ai]{--item-hue:var(--mod-ai)}.nav-item[data-module=vouchers]{--item-hue:var(--mod-vouchers)}.nav-item[data-module=ledger]{--item-hue:var(--mod-ledger)}.nav-item[data-module=personnel]{--item-hue:var(--mod-personnel)}.nav-item[data-module=teams]{--item-hue:var(--mod-teams)}.nav-item[data-module=contracts]{--item-hue:var(--mod-contracts)}.nav-item[data-module=documents]{--item-hue:var(--mod-documents)}.nav-item[data-module=lunch]{--item-hue:var(--mod-lunch)}.nav-item[data-module=rooms]{--item-hue:var(--mod-rooms)}.nav-item[data-module=system]{--item-hue:var(--mod-system)}.nav-icon{width:26px;height:26px;color:var(--item-hue,var(--muted));transition:transform .24s var(--ease-spring);flex:none;justify-content:center;align-items:center;display:flex}.nav-item svg{opacity:.92;flex:none;transition:opacity .18s}.nav-item:hover{background:var(--surface-2)}.nav-item:hover .nav-icon{transform:translateY(-1px)scale(1.1)}.nav-item:hover svg{opacity:1}.nav-item.active{color:var(--accent-ink);font-weight:700}.nav-item.active svg{opacity:1}.nav-item.active .nav-icon{color:var(--accent)}.nav-label{white-space:nowrap;opacity:0;transition:opacity .18s ease, transform .28s var(--ease-menu);transform:translate(-6px)}.sidebar:is(:hover,:has(.notif-panel),:has(:focus-visible)) :is(.nav-label,.brand-text,.nav-section-label span,.rp-text,.rp-go,.pin-btn),:root[data-sidebar=pinned] :is(.nav-label,.brand-text,.nav-section-label span,.rp-text,.rp-go,.pin-btn){opacity:1;transform:none}.sidebar:is(:hover,:has(.notif-panel),:has(:focus-visible)) .nav-section-label:after,:root[data-sidebar=pinned] .nav-section-label:after{opacity:0}.sidebar-foot{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin-top:auto;padding-top:10px;display:flex}.role-pill{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:6px;display:flex;overflow:hidden}.role-pill--link{color:inherit;transition:background var(--t-fast) ease;text-decoration:none}.role-pill--link:hover{background:var(--surface-2)}.role-pill .avatar-circle{background:var(--accent);width:34px;height:34px;color:var(--on-accent);box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--accent-soft-line);transition:background var(--t-slow) ease, box-shadow var(--t-slow) ease;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex;overflow:hidden}.role-pill .avatar-circle img{object-fit:cover;width:100%;height:100%}.role-pill .rp-text{opacity:0;min-width:0;transition:opacity .18s ease, transform .28s var(--ease-menu);flex:1;overflow:hidden;transform:translate(-6px)}.role-pill .rp-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;line-height:1.35;overflow:hidden}.role-pill .rp-role{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.35;overflow:hidden}.role-pill .rp-go{color:var(--faint);opacity:0;transition:opacity .18s ease, transform .2s var(--ease-spring), color .14s ease;flex:none;display:flex}.role-pill--link:hover .rp-go{color:var(--accent);transform:translate(3px)}.sidebar-tools{transition:gap .3s var(--ease-menu), padding-left .3s var(--ease-menu);align-items:center;gap:0;padding-left:4px;display:flex}.sidebar-tools .theme-switch,.sidebar-tools .logout-form{opacity:0;max-width:0;transition:opacity .2s ease, max-width .3s var(--ease-menu), padding .3s var(--ease-menu);overflow:hidden}.sidebar-tools .theme-switch{border-width:0;padding:0}.sidebar-tools .logout-form{margin-left:auto}.sidebar:is(:hover,:has(.notif-panel),:has(:focus-visible)) .sidebar-tools,:root[data-sidebar=pinned] .sidebar-tools{gap:8px;padding-left:0}.sidebar:is(:hover,:has(.notif-panel),:has(:focus-visible)) .sidebar-tools .theme-switch,:root[data-sidebar=pinned] .sidebar-tools .theme-switch{opacity:1;border-width:1px;max-width:120px;padding:2px}.sidebar:is(:hover,:has(.notif-panel),:has(:focus-visible)) .sidebar-tools .logout-form,:root[data-sidebar=pinned] .sidebar-tools .logout-form{opacity:1;max-width:40px}.logout-btn:hover{background:var(--critical-soft);color:var(--critical);border-color:#0000}.sidebar-scrim{z-index:19;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .26s;position:fixed;inset:0}.main-col{min-width:0;margin-left:var(--sidebar-w);background:radial-gradient(1100px 380px at 50% -170px, color-mix(in oklab, var(--accent) 11%, transparent), transparent 72%);transition:margin-left .3s var(--ease-menu), background .4s ease;flex-direction:column;display:flex}:root[data-sidebar=pinned] .main-col{margin-left:var(--sidebar-w-open)}.gio-ribbon{z-index:16;transform-origin:0;background:linear-gradient(90deg, color-mix(in oklab, var(--accent) 78%, #17102e) 0%, var(--accent) 46%, color-mix(in oklab, var(--accent) 68%, #ffd9a8) 100%);height:3px;animation:ribbonSweep .6s var(--ease-out);display:block;position:sticky;top:0}@keyframes ribbonSweep{0%{opacity:.35;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.topbar{z-index:15;height:var(--topbar-h);background:color-mix(in oklab, var(--paper) 78%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.5);border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:12px;padding:0 26px;display:flex;position:sticky;top:3px}.topbar-menu-btn{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;display:none}.crumbs{align-items:center;gap:9px;min-width:0;display:flex}.crumb{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.crumb--module{color:var(--accent-ink);flex:none;align-items:center;gap:8px;font-weight:700;display:inline-flex}.crumb-icon{border-radius:var(--radius-xs);background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border:1px solid var(--accent-soft-line);flex:none;place-items:center;transition:background .3s,color .3s,border-color .3s;display:grid}.crumb-sep{color:var(--faint);font-size:12px}.topbar-search{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);color:var(--muted);cursor:pointer;flex:none;align-items:center;gap:8px;margin-left:auto;padding:6px 8px 6px 13px;font-size:12.5px;font-weight:600;transition:border-color .16s,box-shadow .16s,color .16s;display:flex}.topbar-search:hover{border-color:var(--accent-soft-line);color:var(--ink-soft);box-shadow:var(--shadow-sm)}.topbar-search:focus-visible{border-color:var(--accent);box-shadow:var(--ring)}.topbar-search-text{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}kbd{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);color:var(--faint);border-bottom-width:2px;border-radius:5px;padding:4px 5px;font-size:10px;font-weight:600;line-height:1}.period-select{align-items:center;gap:8px;margin-left:6px;display:flex}.period-select select{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-xs);padding:7px 10px;font-size:12.5px;font-weight:600}.period-select select:first-child{min-width:104px}.src-note-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.src-note-link:hover{color:var(--accent-2)}.lock-pill{border-radius:var(--radius-pill);border:none;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.lock-pill.locked{background:var(--critical-soft);color:var(--critical)}.lock-pill.open{background:var(--good-soft);color:var(--good)}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--ink-soft);transition:background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease, transform var(--t-fast) var(--ease-spring);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-soft-line);transform:translateY(-1px)}.icon-btn:active{transform:scale(.94)}.search-pill{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.search-pill:hover{background:var(--surface-2)}.search-pill kbd{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);color:var(--faint);border-radius:5px;padding:1px 5px;font-size:10.5px}@media (hover:none),(max-width:640px){.search-pill kbd,.topbar-search kbd{display:none}}.theme-switch{border:1px solid var(--line);background:var(--surface);border-radius:9px;flex:none;align-items:center;gap:2px;padding:2px;display:flex}.theme-switch button{cursor:pointer;width:28px;height:28px;color:var(--muted);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:flex}.theme-switch button:hover{background:var(--surface-2)}.theme-switch button.active{background:var(--accent-soft);color:var(--accent-ink)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:56px 24px 60px;display:flex}.empty-state-icon{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border:1px solid var(--accent-soft-line);box-shadow:0 10px 24px -14px color-mix(in oklab, var(--accent) 70%, transparent);border-radius:20px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.empty-state h4{font-size:15.5px}.empty-state .sub{max-width:440px;line-height:1.55}.empty-state .btn{margin-top:8px}.match-bar-head{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.file-cell{align-items:center;gap:6px;display:inline-flex}.modal-overlay{z-index:80;background:var(--scrim);-webkit-backdrop-filter:blur(5px);padding:40px 20px;animation:.2s modalFade;position:fixed;inset:0;overflow-y:auto}@keyframes modalFade{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:640px;animation:modalIn .28s var(--ease-out);margin:0 auto;position:relative;box-shadow:0 40px 90px -28px #05081099}.modal-panel:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:3px;position:absolute;top:0;left:0;right:0}.modal-panel--wide{max-width:960px}@keyframes modalIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}.modal-close{z-index:2;position:absolute;top:14px;right:14px}.modal-body{padding:26px 26px 24px}.modal-body .page-head{margin-bottom:16px;padding-right:34px}.modal-body .page-head h1{font-size:21px}.modal-body>.card{box-shadow:none;background:0 0;border:none}.modal-body>.card>.card-body{padding:0}.modal-body .contract-tabs{margin-left:0;margin-right:0}.notif-bell{position:relative}.bell-count{border-radius:var(--radius-pill);background:var(--critical);color:#fff;text-align:center;border:2px solid var(--surface);box-sizing:content-box;min-width:17px;height:17px;animation:bellPop .3s var(--ease-spring);padding:0 4px;font-size:10px;font-weight:800;line-height:17px;position:absolute;top:-5px;right:-5px}@keyframes bellPop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.notif-panel{z-index:60;background:var(--surface);border:1px solid var(--line);width:340px;box-shadow:var(--shadow);animation:notifIn .18s var(--ease-menu);border-radius:14px;flex-direction:column;display:flex;position:absolute;bottom:calc(100% + 10px);left:0;overflow:hidden}@keyframes notifIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.notif-panel-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:13.5px;display:flex}.notif-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:700}.notif-link-btn:hover{text-decoration:underline}.notif-panel-list{flex-direction:column;max-height:340px;display:flex;overflow-y:auto}.notif-panel-foot{text-align:center;color:var(--accent);border-top:1px solid var(--line-soft);padding:11px;font-size:12.5px;font-weight:700;text-decoration:none;display:block}.notif-panel-foot:hover{background:var(--surface-2)}.notif-empty{text-align:center;color:var(--muted);padding:26px 16px;font-size:12.5px}.notif-item{cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--line-soft);background:0 0;align-items:flex-start;gap:9px;width:100%;padding:11px 14px;transition:background .14s;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-2)}.notif-item-dot{background:0 0;border-radius:50%;flex:none;width:7px;height:7px;margin-top:5px}.notif-item.unread .notif-item-dot,.notif-row.unread .notif-item-dot{background:var(--critical)}.notif-item-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-item-title{color:var(--ink-soft);font-size:13px;font-weight:600}.notif-item.unread .notif-item-title,.notif-row.unread .notif-item-title{color:var(--ink);font-weight:750}.notif-item-body{color:var(--muted);font-size:12px;line-height:1.45}.notif-item-time{color:var(--faint);font-size:11px}.notif-filters{gap:6px;display:flex}.notif-rows{border-top:1px solid var(--line);flex-direction:column;display:flex}.notif-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:6px;padding-right:12px;transition:background .14s;display:flex}.notif-row:hover{background:var(--surface-2)}.notif-row.is-pending{opacity:.5}.notif-row-main{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:13px 16px;display:flex}.notif-row-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notif-row-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notif-row-del{opacity:0;width:28px;height:28px;transition:opacity .15s,background .15s}.notif-row:hover .notif-row-del,.notif-row-del:focus-visible{opacity:1}.notif-event{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:14px 16px;transition:opacity .2s,border-color .2s}.notif-event.is-off{opacity:.55}.notif-event-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.notif-event-head .sub{margin-top:3px;font-size:12.3px}.notif-event-body{flex-direction:column;gap:9px;margin-top:12px;display:flex}.notif-roles{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.notif-roles-label{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin-right:2px;font-size:11.5px;font-weight:700}.notif-role-chip{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;align-items:center;padding:5px 11px;font-size:12px;font-weight:650;transition:background .15s,color .15s,border-color .15s,transform .12s;display:inline-flex;position:relative}.notif-role-chip:hover{transform:translateY(-1px)}.notif-role-chip input{opacity:0;width:0;height:0;position:absolute}.notif-role-chip.is-pending{opacity:.6}.notif-role-chip:has(input:disabled){cursor:not-allowed;opacity:.5}.notif-direct-note{font-size:12px}.notif-threshold{flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.notif-threshold input{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-xs);width:190px;color:inherit;padding:6px 10px;font-size:12.5px}.notif-threshold input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line);outline:none}main.content{flex:1;padding:24px 26px 76px;overflow-x:hidden}.page-transition{--measure-form:940px;--measure-panel:660px}.page-transition[data-measure]{max-width:var(--measure);margin-inline:auto}.page-transition[data-measure=form]{--measure:var(--measure-form)}.page-transition[data-measure=panel]{--measure:var(--measure-panel)}.page-transition[data-measure]>*+*{margin-top:16px}.page-transition[data-measure]>.page-head+*,.page-transition[data-measure]>.profile-banner+*{margin-top:0}.page-transition{animation:pageIn .24s var(--ease-out)}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.page-transition>*{animation:blockRise .22s var(--ease-out) backwards}@keyframes blockRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-transition>:first-child{animation-delay:0s}.page-transition>:nth-child(2){animation-delay:15ms}.page-transition>:nth-child(3){animation-delay:30ms}.page-transition>:nth-child(4){animation-delay:45ms}.page-transition>:nth-child(5){animation-delay:55ms}.page-transition>:nth-child(6){animation-delay:60ms}.page-transition>:nth-child(7){animation-delay:65ms}.page-transition>:nth-child(n+8){animation-delay:70ms}.page-transition>.hero-popup{animation:heroPopIn .3s var(--ease-out)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head .sub{color:var(--muted);max-width:70ch;margin-top:5px;font-size:13px}.actions-row{flex-wrap:wrap;gap:8px;display:flex}.grid{gap:16px;display:grid}.kpi-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);align-items:center;gap:10px;margin:22px 0 12px;font-size:11.5px;font-weight:800;display:flex}.section-label:after{content:"";background:var(--line);flex:1;height:1px}.kpi-row--2{grid-template-columns:repeat(2,1fr)}.kpi-row--3{grid-template-columns:repeat(3,1fr)}.kpi-row--6{grid-template-columns:repeat(6,1fr)}@media (max-width:1100px){.kpi-row--6{grid-template-columns:repeat(3,1fr)}}@media (max-width:1180px){.kpi-row:not(.kpi-row--2):not(.kpi-row--3):not(.kpi-row--6){grid-template-columns:repeat(2,1fr)}}.charts-row{grid-template-columns:1.55fr 1fr;align-items:stretch;margin-bottom:16px}.charts-row-2{grid-template-columns:1fr 1fr;margin-bottom:16px}.charts-stack{grid-template-columns:1.5fr 1fr;align-items:start;margin-bottom:16px}.charts-stack>.stack{flex-direction:column;gap:16px;min-width:0;display:flex}.dash-folds{flex-direction:column;gap:16px;display:flex}.chart-meta{border-top:1px dashed var(--line-soft);grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;padding-top:14px;display:grid}.chart-meta>div{min-width:0}.chart-meta span{color:var(--muted);font-size:11.5px;font-weight:600;display:block}.chart-meta b{font-family:var(--font-mono);color:var(--ink);margin-top:2px;font-size:15px;font-weight:600;display:block}@media (max-width:640px){.chart-meta{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:background-color var(--t) ease, border-color var(--t) ease, box-shadow var(--t) ease}.card-head{justify-content:space-between;align-items:flex-start;gap:10px;padding:17px 20px 0;display:flex}.card-head h3{padding-left:11px;font-size:15px;position:relative}.card-head h3:before{content:"";background:linear-gradient(var(--accent), var(--accent-2));border-radius:3px;width:3px;position:absolute;top:.18em;bottom:.18em;left:0}.card-head .sub{color:var(--muted);margin-top:3px;font-size:12px}@media (max-width:640px){.card-head{flex-wrap:wrap}.card-head .sub{flex-basis:100%;margin-top:6px}}.card-body{padding:15px 20px 20px}.contract-form,.fancy-form{border-radius:var(--radius);position:relative}.contract-form:before,.fancy-form:before{content:"";background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:var(--radius) var(--radius) 0 0;height:3px;display:block}.contract-tabs{background:var(--surface-2);border-radius:13px;gap:4px;width:fit-content;max-width:100%;margin:16px 20px 0;padding:5px;display:flex;overflow-x:auto}.contract-tab{color:var(--muted);cursor:pointer;white-space:nowrap;transition:color var(--t-fast) ease, background var(--t-fast) ease, transform var(--t-fast) var(--ease-spring);background:0 0;border:none;border-radius:10px;padding:9px 16px;font-size:12.5px;font-weight:700}.contract-tab:hover{color:var(--ink);background:color-mix(in oklab, var(--surface) 70%, transparent)}.contract-tab:active{transform:scale(.96)}.contract-tab.active{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 16px -8px color-mix(in oklab, var(--accent) 85%, transparent)}.contract-tab-panel{padding:18px;display:none}.contract-tab-panel.active{animation:.3s cubic-bezier(.2,.8,.2,1) tabIn;display:block}@keyframes tabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.field-grid{grid-template-columns:1fr 1fr;gap:14px 20px;display:grid}.field-grid .field--full{grid-column:1/-1}.field-grid .field input:focus,.field-grid .field select:focus,.field-grid .field textarea:focus{box-shadow:0 0 0 3px var(--accent-soft-line)}.contract-form-actions{border-top:1px solid var(--line);justify-content:flex-end;padding:16px 18px;display:flex}@media (max-width:760px){.field-grid{grid-template-columns:1fr}.team-sub-grid{grid-template-columns:1fr!important}}.kpi-card{background:linear-gradient(160deg, color-mix(in oklab, var(--kpi-tint,var(--accent)) 9%, var(--surface)), color-mix(in oklab, var(--kpi-tint,var(--accent)) 3%, var(--surface)));border-color:color-mix(in oklab, var(--kpi-tint,var(--accent)) 24%, var(--line));transition:transform var(--t) var(--ease-out), box-shadow var(--t) ease, border-color var(--t) ease;position:relative;overflow:hidden;container-type:inline-size}.kpi-card:after{content:"";background:radial-gradient(circle, color-mix(in oklab, var(--kpi-tint,var(--accent)) 26%, transparent), transparent 68%);pointer-events:none;opacity:.75;width:110px;height:110px;transition:opacity var(--t) ease, transform var(--t-slow) var(--ease-out);border-radius:50%;position:absolute;top:-50px;right:-50px}.kpi-card--link:hover{border-color:color-mix(in oklab, var(--kpi-tint,var(--accent)) 30%, var(--line));box-shadow:0 2px 4px #1018280d, 0 20px 38px -20px color-mix(in oklab, var(--kpi-tint,var(--accent)) 55%, transparent);transform:translateY(-3px)}.kpi-card:hover:after{opacity:1;transform:scale(1.12)}.kpi-card .card-body.kpi-body{align-items:center;gap:11px;padding:11px 14px;display:flex;position:relative}.kpi-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.kpi-icon{background:color-mix(in oklab, var(--kpi-tint,var(--accent)) 14%, var(--surface));width:30px;height:30px;color:var(--kpi-tint,var(--accent));border:1px solid color-mix(in oklab, var(--kpi-tint,var(--accent)) 26%, var(--surface));transition:transform var(--t) var(--ease-spring);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.kpi-card:hover .kpi-icon{transform:scale(1.08)}.kpi-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:700;overflow:hidden}@media (max-width:520px){.kpi-card .kpi-icon{display:none}}.kpi-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:color-mix(in oklab, var(--kpi-tint,var(--ink)) 72%, var(--ink));font-size:clamp(13px,7.8cqi,19px);font-weight:700;line-height:1.2}.hero-card{isolation:isolate;background:var(--hero-grad);border-radius:var(--radius-lg);color:#fff;box-shadow:0 2px 6px #1018281a, 0 22px 44px -24px color-mix(in oklab, var(--accent) 70%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:16px 22px;display:flex;position:relative;overflow:hidden}.hero-card:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#ffffff42,#0000 70%);animation:18s ease-in-out infinite heroDrift;position:absolute;inset:-40% -10%}@keyframes heroDrift{0%,to{transform:translate(-14%,6%)scale(1)}50%{transform:translate(18%,-8%)scale(1.18)}}.hero-card>div{min-width:0;position:relative}.hero-card .eyebrow{color:#ffffffc7}.hero-card h1{color:#fff;margin-top:3px;font-size:20px}.hero-card p{color:#ffffffd6;max-width:62ch;margin:4px 0 0;font-size:12.5px}.hero-card .btn{color:#fff;-webkit-backdrop-filter:blur(6px);background:#ffffff2b;border-color:#ffffff57;position:relative}.hero-card .btn:hover{color:#fff;background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.hero-popup{z-index:35;width:min(440px,100vw - 32px);transition:opacity .3s;animation:.3s cubic-bezier(.2,.8,.2,1) heroPopIn;position:fixed;bottom:22px;right:22px}.hero-popup.hero-fade-out{opacity:0;pointer-events:none}.hero-popup .hero-card{margin-bottom:0;box-shadow:0 24px 48px -16px #140a288c}.hero-popup-close{background:var(--ink);color:#fff;cursor:pointer;width:26px;height:26px;box-shadow:var(--shadow);z-index:1;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute;top:-10px;right:-10px}.hero-popup-close:hover{filter:brightness(1.15)}.hero-popup-close:focus-visible{outline-offset:2px;outline:2px solid #fff}@keyframes heroPopIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.hero-popup{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.hero-popup{animation:none}}.activity-feed{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.activity-feed li{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:10px;padding:10px 18px;font-size:12.8px;display:flex}.activity-feed li:last-child{border-bottom:none}.activity-feed .avatar-init{margin-top:1px}.activity-text b{font-weight:600}.activity-tag{background:var(--surface-2);color:var(--muted);border-radius:6px;align-items:center;gap:4px;margin-left:2px;padding:1px 7px;font-size:11px;display:inline-flex}.activity-time{color:var(--faint);margin-top:2px;font-size:11px}.kpi-delta{white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:5px;align-items:center;gap:4px;width:fit-content;max-width:100%;margin-top:2px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.kpi-delta.up{color:var(--good);background:var(--good-soft)}.kpi-delta.down{color:var(--critical);background:var(--critical-soft)}.kpi-delta.flat{color:var(--muted);background:var(--surface-2);display:inline-block}@media (hover:none),(max-width:760px){.kpi-delta.flat{white-space:normal;padding:2px 6px;line-height:1.35}}.kpi-fold{margin-bottom:14px}.kpi-fold>summary{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);width:fit-content;color:var(--ink-soft);-webkit-user-select:none;user-select:none;transition:border-color var(--t-fast) ease;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;font-weight:650;list-style:none;display:flex}.kpi-fold>summary::-webkit-details-marker{display:none}.kpi-fold>summary:hover{border-color:var(--accent-soft-line)}.kpi-fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-fold-caret{color:var(--faint);transition:transform var(--t-fast) ease;display:inline-flex}.kpi-fold[open] .kpi-fold-caret{transform:rotate(90deg)}.kpi-fold-hint{color:var(--faint);font-weight:500}.kpi-fold>summary{flex-wrap:wrap;row-gap:2px;max-width:100%}body:has(.sidebar.is-mobile-open) .hero-popup{display:none}.kpi-fold[open]>summary{margin-bottom:12px}.kpi-fold>.kpi-row{margin-bottom:0}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:12px;padding:0 18px 14px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-swatch{border-radius:2px;flex:none;width:9px;height:9px}.legend-line{border-radius:2px;flex:none;width:14px;height:2px}.chart-tip{pointer-events:none;background:var(--ink);color:var(--paper);box-shadow:var(--shadow);opacity:0;z-index:10;white-space:nowrap;border-radius:7px;padding:7px 9px;font-size:11.5px;transition:opacity 80ms;position:absolute;transform:translate(-50%,-110%)}:root[data-theme=dark] .chart-tip{color:#0b1413;background:#eafaf5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .chart-tip{color:#0b1413;background:#eafaf5}}.chart-wrap{position:relative}.chart-crosshair{stroke:var(--chart-axis);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none;opacity:0}.table-wrap{border-top:1px solid var(--line);overflow-x:auto}.table-wrap--flush{border-top:none}table.data-table{border-collapse:collapse;width:100%;min-width:640px;font-size:12.9px}table.data-table--compact{min-width:0;font-size:12.2px}table.data-table--compact thead th,table.data-table--compact td{padding:8px 10px}table.data-table thead th{z-index:2;text-align:left;letter-spacing:0;color:var(--muted);white-space:nowrap;background:color-mix(in oklab, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 1px 0 var(--line);padding:11px 15px;font-size:11.5px;font-weight:600;position:sticky;top:0}table.data-table tbody td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:11px 15px}table.data-table tbody tr{transition:background-color var(--t-fast) ease}table.data-table tbody tr:hover{background:var(--accent-soft);cursor:default}table.data-table tbody tr td:first-child{position:relative}table.data-table tbody tr td:first-child:before{content:"";background:var(--accent);width:3px;transition:transform var(--t) var(--ease-out);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}table.data-table tbody tr:hover td:first-child:before{transform:scaleY(1)}table.data-table tbody tr.clickable{cursor:pointer}table.data-table tbody tr.clickable:active{background:color-mix(in oklab, var(--accent) 18%, var(--surface))}table.data-table td.num,table.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}table.data-table td.num:first-child,table.data-table th.num:first-child{text-align:left}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table td.num,table.data-table th.num,table.data-table td.col-date,table.data-table td.nowrap{white-space:nowrap}.cell-clamp{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:200px;max-width:min(480px,34vw);line-height:1.45;display:-webkit-box;overflow:hidden}.cell-clamp--3{-webkit-line-clamp:3;line-clamp:3}table.data-table td.num :is(.meta-note,.cell-sub,.sub){white-space:normal;min-width:150px;max-width:240px;font-family:var(--font-body);letter-spacing:0;margin-left:auto}.cell-clamp--narrow{min-width:110px;max-width:220px}@media (max-width:760px){.cell-clamp{min-width:160px;max-width:280px}.cell-clamp--narrow{min-width:96px;max-width:190px}}.cell-clamp :focus-visible{outline-offset:-2px}.chip{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:700;line-height:1.5;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.chip--good{background:var(--good-soft);color:var(--good)}.chip--warning{background:var(--warning-soft);color:var(--warning)}.chip--critical{background:var(--critical-soft);color:var(--critical)}.chip--serious{background:var(--serious-soft);color:var(--serious)}.chip--neutral{background:var(--surface-2);color:var(--muted)}.masked{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted)}.reveal-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:6px;padding:0;font-size:11.5px;font-weight:700}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.toolbar select,.toolbar input[type=text],.toolbar input[type=search]{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-xs);padding:7px 10px;font-size:12.5px}.search-box{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);align-items:center;gap:6px;min-width:200px;padding:6px 10px;display:flex}.search-box input{background:0 0;border:none;outline:none;width:100%;font-size:12.5px}.team-grid{grid-template-columns:repeat(3,1fr)}.team-card{transition:transform .18s,box-shadow .18s,opacity .18s}.team-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px -18px #1c1a2e4d}.team-card .card-body{flex-direction:column;gap:10px;display:flex}.team-card--inactive{opacity:.55}.team-lg-card{margin-bottom:18px}.team-lg-card:last-child{margin-bottom:0}.team-lg-card.team-card--inactive{opacity:.6}.team-lg-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px 0;display:flex}.team-lg-head h3{align-items:center;gap:0;font-size:17px;display:flex}.team-lg-body{padding:14px 22px 22px}.team-meta-row{color:var(--muted);flex-wrap:wrap;gap:6px 20px;margin:2px 0 10px;font-size:12.5px;display:flex}.team-meta-row b{color:var(--ink);font-weight:700;font-family:var(--font-mono)}.team-actions{flex-wrap:wrap;gap:6px;display:flex}.team-section-label{justify-content:space-between;align-items:center;gap:10px;margin:16px 0 10px;display:flex}.team-sub-grid{grid-template-columns:repeat(var(--team-sub-cols,1), 1fr);gap:12px;display:grid}.team-sub-card{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .15s,transform .15s;display:flex}.team-sub-card:hover{border-color:var(--accent-soft-line);transform:translateY(-2px)}.team-sub-card--inactive{opacity:.6}.team-sub-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.team-sub-name{align-items:center;font-size:13.5px;font-weight:700;display:flex}.team-empty-hint{color:var(--faint);padding:10px 0;font-size:12.5px;font-style:italic}.member-list{flex-wrap:wrap;gap:6px;display:flex}.member-pill{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);align-items:center;gap:6px;padding:3px 8px 3px 3px;font-size:11.8px;font-weight:600;display:inline-flex}.team-sub-card .member-pill{background:var(--surface)}.member-pill-remove{color:var(--faint);cursor:pointer;background:0 0;border:none;align-items:center;margin-left:2px;padding:0;line-height:1;display:flex}.member-pill-remove:hover{color:var(--critical)}.member-more{display:inline-block}.member-more[open]{flex:1 0 100%}.member-more>summary{cursor:pointer;background:var(--accent-soft);color:var(--accent-ink);border-color:#0000;padding:3px 10px;list-style:none}.member-more>summary::-webkit-details-marker{display:none}.member-more>summary:hover{box-shadow:0 0 0 1px var(--accent)}.member-more>summary:focus-visible{box-shadow:var(--ring);outline:none}.member-more[open] .member-more-open,.member-more:not([open]) .member-more-close{display:none}.member-more-list{margin-top:6px}.member-add-row{align-items:flex-end;gap:8px;margin-top:10px;display:flex}.member-add-row .field{flex:1;min-width:0}.searchable-select-trigger.multi{flex-wrap:wrap;row-gap:4px;height:auto;min-height:40px;padding:6px 34px 6px 8px;position:relative}.searchable-select-trigger.multi svg{position:absolute;top:16px;right:12px}.ms-chip-row{flex-wrap:wrap;gap:5px;display:flex}.ms-chip{background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--radius-pill);align-items:center;gap:3px;padding:3px 5px 3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.ms-chip-remove{color:var(--accent-ink);cursor:pointer;opacity:.7;background:0 0;border:none;align-items:center;padding:2px;display:flex}.ms-chip-remove:hover{opacity:1}.searchable-select-option-checkbox{width:14px;height:14px;accent-color:var(--accent);pointer-events:none;flex:none}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:14px 0;display:flex}.pagination-info{color:var(--muted);font-size:12.5px;font-weight:600}.pagination-size{color:var(--muted);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.pagination-size select{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);cursor:pointer;padding:5px 10px;font-family:inherit;font-size:12.5px;font-weight:700}.pagination-size select:hover{border-color:var(--accent-soft-line)}.pagination-size select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line);outline:none}.personnel-filters{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:linear-gradient(135deg, var(--accent-soft) 0%, var(--surface-2) 68%);border:1px solid var(--accent-soft-line);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;display:flex}.personnel-filters select,.personnel-filters input[type=month]{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);padding:8px 14px;font-size:12.5px;font-weight:700;transition:border-color .15s,box-shadow .15s}.personnel-filters select:hover,.personnel-filters input[type=month]:hover{border-color:var(--accent-soft-line)}.personnel-filters select:focus,.personnel-filters input[type=month]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line);outline:none}.personnel-filters .search-pill{border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);transition:border-color .15s,box-shadow .15s}.personnel-filters .search-pill:hover{border-color:var(--accent-soft-line);background:var(--surface)}.personnel-filters .search-pill:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line)}.period-select select,.toolbar select,.personnel-filters select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%238884a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:13px;padding-right:30px}.period-select select::-ms-expand{display:none}.toolbar select::-ms-expand{display:none}.personnel-filters select::-ms-expand{display:none}.filter-panel{border-radius:var(--radius);background:linear-gradient(135deg, var(--accent-soft) 0%, var(--surface-2) 68%);border:1px solid var(--accent-soft-line);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex}.filter-panel-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-date{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);cursor:pointer;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:700;transition:border-color .15s,box-shadow .15s}.filter-date:hover{border-color:var(--accent-soft-line)}.filter-date:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line);outline:none}.filter-date-sep{color:var(--faint);font-size:12.5px}.filter-month-selects{align-items:center;gap:6px;display:flex}.filter-divider{background:var(--line);align-self:stretch;width:1px;min-height:22px}@media (max-width:760px){.filter-divider{display:none}}.data-table tr.row-loading{background:var(--accent-soft);cursor:progress;position:relative}.data-table tr.row-loading td{opacity:.55}.confirm-steps{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.cell-muted{color:var(--muted)}.cell-sub{color:var(--muted);font-size:12px}.cell-note{color:var(--muted);margin-top:2px;font-size:12px}.cell-plain-link{color:inherit;text-decoration:none}.chip--after-text{margin-left:6px}.cell-badge-row{margin-top:2px}.chip--xs{gap:5px;padding:1px 8px;font-size:11px}.chip--xs:before{width:5px;height:5px}table.data-table td.num .cell-code{white-space:normal;max-width:150px;display:inline-block}.cell-code>span{white-space:nowrap}.data-table tr.row-loading td:first-child:before{content:"";background:linear-gradient(var(--accent), var(--accent-2));width:3px;animation:1s ease-in-out infinite rowPulse;position:absolute;top:0;bottom:0;left:0}@keyframes rowPulse{0%,to{opacity:.35}50%{opacity:1}}.btn[aria-busy=true]{cursor:progress;opacity:.8}html[data-nav-pending]:before{content:"";z-index:200;background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent));background-size:200% 100%;height:3px;animation:.9s linear infinite navBar;position:fixed;inset:0 0 auto}@keyframes navBar{0%{background-position:200% 0}to{background-position:0 0}}html[data-nav-pending] .content{opacity:.6;pointer-events:none;transition:opacity .15s}html[data-nav-pending] .filter-panel{cursor:progress}.cashflow-2col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.cashflow-section{margin-bottom:16px}.cashflow-section>*+*{margin-top:16px}@media (max-width:860px){.cashflow-2col{grid-template-columns:minmax(0,1fr)}}.filter-search{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-pill);min-width:240px;color:var(--faint);flex:260px;align-items:center;gap:8px;padding:9px 14px;transition:border-color .15s,box-shadow .15s,color .15s;display:flex}.filter-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line);color:var(--accent)}.filter-search input{min-width:0;color:var(--ink);background:0 0;border:none;flex:1;padding:0;font-size:13px;font-weight:600}.filter-search input:focus{outline:none}.filter-search input::placeholder{color:var(--faint);font-weight:500}.filter-search-clear{background:var(--surface-2);color:var(--muted);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;transition:background .15s,color .15s;display:flex}.filter-search-clear:hover{background:var(--critical-soft);color:var(--critical)}.filter-select-wrap{flex:none;position:relative}.filter-select{appearance:none;border:1.5px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);color:var(--ink);cursor:pointer;padding:9px 34px 9px 16px;font-size:12.5px;font-weight:700;transition:border-color .15s,box-shadow .15s}.filter-select:hover{border-color:var(--accent-soft-line)}.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line);outline:none}.filter-select-chevron{pointer-events:none;color:var(--faint);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.filter-result-count{color:var(--accent-ink);white-space:nowrap;background:var(--surface);border:1px solid var(--accent-soft-line);border-radius:var(--radius-pill);margin-left:auto;padding:6px 12px;font-size:11.5px;font-weight:800}.filter-pills-label{color:var(--muted);flex:none;align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:inline-flex}.filter-pills{flex-wrap:wrap;gap:8px;display:flex}.filter-pill{border-radius:var(--radius-pill);border:1.5px solid var(--line);cursor:pointer;background:var(--surface);color:var(--muted);align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s,color .12s;display:inline-flex}.filter-pill:before{content:"";opacity:.4;background:currentColor;border-radius:50%;width:7px;height:7px;transition:opacity .12s}.filter-pill:hover{transform:translateY(-1px);box-shadow:0 4px 10px -6px #1c1a2e40}.filter-pill--neutral{color:var(--muted)}.filter-pill--good{color:var(--good)}.filter-pill--serious{color:var(--serious)}.filter-pill--critical{color:var(--critical)}.filter-pill.active{border-color:currentColor;box-shadow:0 4px 12px -6px}.filter-pill.active:before{opacity:1}.filter-pill.active.filter-pill--neutral{background:var(--surface-2)}.filter-pill.active.filter-pill--good{background:var(--good-soft)}.filter-pill.active.filter-pill--serious{background:var(--serious-soft)}.filter-pill.active.filter-pill--critical{background:var(--critical-soft)}.filter-pill.is-on{color:var(--accent);background:var(--accent-soft);border-color:currentColor}.filter-pill.is-on:before{opacity:1}.filter-clear-all{color:var(--critical);background:var(--critical-soft);border-radius:var(--radius-pill);cursor:pointer;border:none;align-items:center;gap:6px;margin-left:auto;padding:7px 14px;font-size:12px;font-weight:700;transition:filter .15s,transform .12s;display:inline-flex}.filter-clear-all:hover{filter:brightness(.95);transform:translateY(-1px)}@media (max-width:640px){.filter-result-count,.filter-clear-all{margin-left:0}}.attendance-table{border-collapse:collapse;font-size:11.5px}.attendance-table th,.attendance-table td{border:1px solid var(--line-soft);text-align:center;white-space:nowrap;padding:4px}.attendance-table th.attendance-name-col,.attendance-table td.attendance-name-col{text-align:left;background:var(--surface);z-index:1;min-width:150px;position:sticky;left:0}.attendance-table th{color:var(--muted);white-space:pre-line;font-size:10.5px;line-height:1.3}.attendance-cell-select{text-align:center;cursor:pointer;width:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:5px;padding:3px 1px;font-size:10px}.attendance-cell-select.marked{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-soft);font-weight:700}.attendance-summary-col{font-size:11.5px;font-weight:600}.team-card .swatch-dot{border-radius:3px;width:11px;height:11px;margin-right:8px;display:inline-block}.team-stats{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.team-stats b{color:var(--ink);font-family:var(--font-mono);font-size:13px}.role-perm-group{margin-bottom:22px}.role-perm-group:last-child{margin-bottom:0}.role-perm-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);border-bottom:1px solid var(--line-soft);margin-bottom:8px;padding:0 0 8px;font-size:11px;font-weight:800}.role-perm-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:10px 4px;display:flex}.role-perm-row:last-child{border-bottom:none}.role-perm-name{color:var(--ink);font-size:13px;font-weight:600}.role-perm-toggles-row{flex:none;align-items:center;gap:18px;display:flex}.role-perm-toggle{align-items:center;gap:7px;display:flex}.role-perm-toggle-label{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:600}.role-perm-toggle:has(input:disabled) .role-perm-toggle-label{opacity:.6}@media (max-width:640px){.role-perm-toggles-row{flex-wrap:wrap;gap:10px 16px}}.link-or-file-row{gap:8px;display:flex}.link-or-file-row input{flex:1;min-width:0}.link-or-file-attached{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.link-or-file-list{flex-direction:column;gap:6px;display:flex}.link-chip{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--accent);align-items:center;gap:6px;max-width:220px;padding:4px 9px 4px 6px;font-size:11.5px;font-weight:600;text-decoration:none;display:inline-flex}.link-chip:hover{background:var(--accent-soft)}.link-chip .attachment-file-ext{flex:none;font-size:9px}.link-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.link-chips-row{flex-wrap:wrap;gap:6px;display:flex}.lunch-table td.today{background:var(--accent-soft)}.dish-select{border:1px solid var(--line);background:var(--surface);border-radius:6px;max-width:170px;padding:5px 8px;font-size:12px}.dish-select:disabled{opacity:.55}.drawer-overlay{background:var(--scrim);opacity:0;pointer-events:none;z-index:30;transition:opacity .18s;position:fixed;inset:0}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{background:var(--surface);border-left:1px solid var(--line);width:560px;max-width:96vw;height:100vh;box-shadow:var(--shadow);z-index:31;flex-direction:column;transition:transform .2s;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.drawer.open{transform:translate(0)}.drawer--wide{width:800px}.drawer--wide.drawer--voucher{width:880px}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:20px 20px 14px;display:flex}.drawer-body{flex-direction:column;flex:1;gap:16px;padding:18px 20px;display:flex;overflow-y:auto}.drawer-body .contract-form{border:1px solid var(--line)}.drawer-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:16px 20px;display:flex}.drawer--voucher{overflow-y:auto}.drawer--voucher .drawer-head{z-index:2;background:var(--surface);flex:none;position:sticky;top:0}.drawer--voucher .drawer-body{flex:none;overflow:visible}.drawer--voucher .drawer-foot{flex:none}.voucher-history-section{border-top:1px solid var(--line)}.voucher-history-section>.kv-row{border-bottom:0;padding:0}.drawer .kv-row>*{overflow-wrap:anywhere;min-width:0}.drawer .attachment-thumbs{justify-content:flex-end;max-width:100%}.voucher-team-edit{flex-direction:column;align-items:flex-start;gap:8px;padding:2px 0 10px;display:flex}.voucher-team-edit.is-open{border:1px solid var(--accent-soft-line);border-radius:var(--radius-sm);background:var(--accent-soft);align-items:stretch;gap:10px;margin:2px 0 12px;padding:12px 14px}.voucher-team-edit small{color:var(--muted);font-size:11.5px;line-height:1.45}.voucher-team-actions{justify-content:flex-end;gap:8px;display:flex}.leave-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-right:auto;display:flex}.drawer-danger-zone:has(.leave-form){align-items:flex-end}.leave-form .field{min-width:160px;margin:0}.drawer--wide.drawer--ledger{width:1200px}.drawer--ledger .field-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px 16px}@media (max-width:1100px){.drawer--ledger .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.drawer--ledger .field-grid{grid-template-columns:1fr}}@media (min-width:900px){.drawer--ledger .split-row{grid-template-columns:20px minmax(0,1fr) 240px 56px 30px;grid-template-areas:"no team money pct del"}.drawer--ledger .split-row-no{align-self:center;margin-top:0}.drawer--ledger .split-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;display:grid}}.split-box{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:14px;padding:16px;display:flex;box-shadow:0 1px 2px #00000008}.split-head{align-items:flex-start;gap:10px;display:flex}.split-head>div{flex-direction:column;gap:3px;min-width:0;display:flex}.split-head b{font-size:14px}.split-head .sub{font-size:11.5px;line-height:1.45}.split-head-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.split-note{color:var(--muted);border-radius:var(--radius-sm);background:var(--surface-2);align-items:flex-start;gap:6px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.45;display:flex}.split-note svg{flex:none;margin-top:2px}.split-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.split-list li{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:5px 10px;display:grid}.split-list-top{justify-content:space-between;gap:10px;min-width:0;font-size:13px;display:flex}.split-list-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.split-list-pct{color:var(--accent-ink);text-align:right;grid-area:1/2/span 2;font-size:12px;font-weight:800}.split-bar{border-radius:var(--radius-pill);background:var(--line-soft);height:6px;overflow:hidden}.split-bar>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .2s;display:block}.split-form{flex-direction:column;gap:12px;display:flex}.split-rows{flex-direction:column;gap:8px;display:flex}.split-row{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:20px minmax(0,1fr) auto;grid-template-areas:"no team del""no money pct";align-items:center;gap:8px;padding:10px;display:grid}.split-row.is-empty{background:var(--surface)}.split-row-no{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);width:20px;height:20px;color:var(--muted);grid-area:no;align-self:start;place-items:center;margin-top:8px;font-size:11px;font-weight:800;display:grid}.split-row-team{grid-area:team;min-width:0}.split-row-money{grid-area:money;min-width:0;position:relative}.split-row-money input{text-align:right;font-variant-numeric:tabular-nums;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);padding:8px 28px 8px 12px;font-size:13px;font-weight:700;transition:border-color .15s,box-shadow .15s}.split-row-money input:hover{border-color:var(--accent-soft-line)}.split-row-money input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line);outline:none}.split-row-unit{color:var(--faint);pointer-events:none;font-size:12px;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.split-row-pct{text-align:right;min-width:44px;color:var(--accent-ink);grid-area:pct;font-size:12px;font-weight:800}.split-row-del{grid-area:del}.split-row-del:disabled{opacity:.35;cursor:default}.mp--block{width:100%}.mp--block .mp-trigger{border-radius:var(--radius-sm);background:var(--surface);width:100%;max-width:none;padding:8px 34px 8px 12px;font-weight:600}.mp-panel--floating{z-index:60}.split-tools{flex-wrap:wrap;gap:6px;display:flex}.split-sum{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--ink);flex-direction:column;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.split-sum-top{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.split-sum-state{align-items:center;gap:4px;font-weight:800;display:inline-flex}.split-sum.is-ok{background:var(--accent-soft)}.split-sum.is-ok .split-sum-state{color:var(--accent-ink)}.split-sum.is-over{background:var(--critical-soft)}.split-sum.is-over .split-sum-state{color:var(--critical)}.split-sum.is-over .split-bar>span{background:var(--critical)}.split-bar--sum{background:var(--line-soft)}.split-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.voucher-reject{flex:100%;margin:0}.voucher-reject textarea{resize:vertical;width:100%;min-height:72px}.voucher-reject__goi-y{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.voucher-reject__goi-y .chip{cursor:pointer;font:inherit;border:0;font-size:11.5px}.voucher-reject-note{border-radius:var(--radius-sm);background:var(--critical-soft);color:var(--critical);flex-direction:column;gap:4px;margin:10px 0 2px;padding:10px 12px;font-size:12.8px;line-height:1.5;display:flex}.voucher-reject-note span{color:var(--ink);white-space:pre-line;overflow-wrap:anywhere}.voucher-reject-inline{max-width:320px;color:var(--critical);white-space:pre-line;overflow-wrap:anywhere;margin-top:4px;font-size:11.8px;line-height:1.4}.shared-cost-check{cursor:pointer;align-items:flex-start;gap:8px;margin-top:9px;display:flex}.shared-cost-check input{accent-color:var(--accent);flex:none;width:15px;height:15px;margin-top:2px}.shared-cost-check span{font-size:12.3px;line-height:1.45}.shared-cost-check em{color:var(--muted);margin-top:2px;font-size:11.5px;font-style:normal;display:block}.pay-panel{border:1px solid var(--accent-soft-line);border-radius:var(--radius);background:var(--surface);flex:100%;min-width:0;overflow:hidden}.pay-panel-head{background:var(--accent-soft);border-bottom:1px solid var(--accent-soft-line);letter-spacing:.02em;color:var(--accent-ink);align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:700;display:flex}.pay-panel-body{flex-direction:column;gap:14px;padding:14px;display:flex}.pay-panel--modal{background:0 0;border:none;border-radius:0}.pay-panel--modal .pay-panel-head{border-bottom:1px solid var(--line);background:0 0;padding:18px 46px 12px 22px;font-size:13px}.pay-panel--modal .pay-panel-body{padding:16px 22px 22px}.modal-panel--pay{max-width:520px}.pay-subject{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px}.pay-amount{border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px;display:flex}.pay-amount span{color:var(--muted);font-size:11.5px;font-weight:600}.pay-amount b{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink);font-size:20px;font-weight:600}.pay-amount b.is-in{color:var(--good)}.pay-group{border:none;min-width:0;margin:0;padding:0}.pay-group legend{color:var(--muted);padding:0 0 7px;font-size:12px;font-weight:600}.pay-funds{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;display:grid}.pay-fund{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;transition:border-color .16s var(--ease-out), background .16s var(--ease-out);flex-direction:column;gap:3px;padding:10px 12px;display:flex;position:relative}.pay-fund:hover{border-color:var(--accent-soft-line)}.pay-fund.is-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--ring)}.pay-fund input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute;top:10px;left:12px}.pay-fund:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.pay-fund-name{overflow-wrap:anywhere;align-items:center;gap:6px;font-size:12.8px;font-weight:600;display:flex}.pay-fund-code{font-family:var(--font-mono);color:var(--faint);font-size:11px}.pay-fund-bal{font-family:var(--font-mono);color:var(--muted);font-size:12.5px;font-weight:600}.pay-fund.is-on .pay-fund-bal{color:var(--accent-ink)}.pay-fund-bal em{font-style:normal;font-family:var(--font-body);color:var(--warning);font-size:11px}.pay-setup{color:var(--faint);margin:8px 0 0;font-size:11.5px}.pay-setup a{color:var(--accent-ink);align-items:center;gap:4px;font-weight:600;display:inline-flex}.pay-warn{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);align-items:flex-start;gap:7px;margin:0;padding:9px 11px;font-size:12.2px;line-height:1.45;display:flex}.pay-warn svg{flex:none;margin-top:1px}.pay-ref input{font-family:var(--font-mono);letter-spacing:.02em}.pay-ref small{color:var(--faint);font-size:11.5px;line-height:1.45}.pay-row-2{grid-template-columns:1fr 1fr;align-items:start;gap:14px 16px;display:grid}@media (max-width:640px){.pay-row-2{grid-template-columns:1fr}}.pay-submit{align-self:flex-start}.pay-actions{justify-content:flex-end;gap:8px;display:flex}.pay-empty{border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.pay-empty svg{color:var(--muted);flex:none;margin-top:2px}.pay-empty b{font-size:12.8px}.pay-empty p{color:var(--muted);max-width:46ch;margin:3px 0 0;font-size:12px;line-height:1.5}.pay-empty>div{flex:200px;min-width:0}@media (max-width:640px){.drawer{width:100%;max-width:100vw}.pay-funds{grid-template-columns:1fr}.pay-submit,.pay-actions .btn{width:100%}.pay-actions{flex-direction:column-reverse}}.kv-row{border-bottom:1px dashed var(--line-soft);justify-content:space-between;gap:10px;padding:7px 0;font-size:13px;display:flex}.kv-row span:first-child{color:var(--muted)}.kv-row span:last-child{text-align:right;font-weight:600}.kv-grid{grid-template-columns:1fr 1fr;column-gap:24px;display:grid}.kv-grid>.kv-row--full{grid-column:1/-1}.kv-row.kv-row--stack{flex-direction:column;gap:8px}.kv-row.kv-row--stack span:last-child{text-align:left;font-weight:400}@media (max-width:760px){.kv-grid{grid-template-columns:1fr}}.toast-stack{z-index:90;pointer-events:none;flex-direction:column;gap:9px;display:flex;position:fixed;bottom:22px;right:22px}.toast{pointer-events:auto;background:var(--surface);max-width:400px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:toastIn .32s var(--ease-spring);border-radius:12px;align-items:center;gap:10px;padding:11px 12px 11px 14px;font-size:13px;font-weight:600;display:flex}@keyframes toastIn{0%{opacity:0;transform:translate(28px)scale(.96)}to{opacity:1;transform:none}}.toast-icon{color:#fff;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;display:grid}.toast--good .toast-icon{background:var(--good)}.toast--critical .toast-icon{background:var(--critical)}.toast--info .toast-icon{background:var(--accent)}.toast--good{border-color:color-mix(in oklab, var(--good) 35%, var(--line))}.toast--critical{border-color:color-mix(in oklab, var(--critical) 35%, var(--line))}.toast-close{cursor:pointer;width:22px;height:22px;color:var(--faint);transition:background var(--t-fast) ease, color var(--t-fast) ease;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;margin-left:auto;display:grid}.toast-close:hover{background:var(--surface-2);color:var(--ink)}.update-bar{z-index:95;background:var(--surface);max-width:min(620px,100vw - 32px);color:var(--ink);border:1px solid color-mix(in oklab, var(--accent) 40%, var(--line));box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:12px;padding:10px 12px 10px 14px;font-size:13px;line-height:1.5;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.update-bar .toast-icon{background:var(--accent)}.update-bar .btn{flex:none}@media (max-width:640px){.update-bar{flex-wrap:wrap;max-width:none;bottom:12px;left:16px;right:16px;transform:none}}.sync-box{background:var(--accent-soft);border:1px solid var(--accent-soft-line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.sync-box .sync-text b{font-size:13px;display:block}.sync-box .sync-text span{color:var(--muted);font-size:12px}.sync-collapsible{background:var(--accent-soft);border:1px solid var(--accent-soft-line);border-radius:10px;margin-bottom:16px}.sync-collapsible summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:14px 16px;list-style:none;display:flex}.sync-collapsible summary::-webkit-details-marker{display:none}.sync-collapsible summary .sync-chevron{color:var(--muted);flex:none;margin-left:auto;transition:transform .15s}.sync-collapsible[open] summary .sync-chevron{transform:rotate(180deg)}.sync-collapsible summary b{font-size:13px}.sync-collapsible summary span{color:var(--muted);font-size:12px}.sync-collapsible-body{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.import-row-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:13px 18px;list-style:none;display:flex}.import-row-head::-webkit-details-marker{display:none}.import-row-head b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.import-row-head .sub{text-align:right;margin-left:auto;font-size:11.5px}.contract-form details:not([open]) .import-row-head{border-bottom:none}.empty-note{color:var(--muted);padding:16px 18px;font-size:12.5px}hr.hair{border:none;border-top:1px solid var(--line);margin:0}.ai-chat-page{height:calc(100vh - var(--topbar-h) - 103px);gap:16px;min-height:460px;display:flex}.ai-history{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;flex:none;width:236px;min-height:0;display:flex;overflow:hidden}.ai-history-head{border-bottom:1px solid var(--line);padding:12px}.ai-new-btn{border:1px dashed var(--line);width:100%;color:var(--ink-soft);cursor:pointer;transition:border-color var(--t-fast) ease, color var(--t-fast) ease;background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:12.5px;font-weight:600;display:flex}.ai-new-btn:hover:not([disabled]){border-color:var(--accent);color:var(--accent);border-style:solid}.ai-new-btn[disabled]{opacity:.5;cursor:not-allowed}.ai-history-list{flex-direction:column;flex:1;gap:1px;padding:8px;display:flex;overflow-y:auto}.ai-history-item{border-radius:var(--radius-xs);transition:background var(--t-fast) ease;align-items:center;display:flex;overflow:hidden}.ai-history-item:hover{background:var(--surface-2)}.ai-history-item.is-active{background:var(--accent-soft)}.ai-history-item.is-active .ai-history-open{color:var(--accent);font-weight:600}.ai-history-open{text-align:left;cursor:pointer;min-width:0;color:var(--ink-soft);background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:9px 4px 9px 10px;font-size:12.5px;display:flex}.ai-history-open span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-history-open[disabled]{cursor:default}.ai-history-tools{opacity:0;transition:opacity var(--t-fast) ease;gap:1px;padding-right:6px;display:flex}.ai-history-item:hover .ai-history-tools,.ai-history-tools:focus-within{opacity:1}.ai-history-tools button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px;display:flex}.ai-history-tools button:hover{background:var(--surface);color:var(--ink)}.ai-history-tools button:last-child:hover{color:var(--critical)}.ai-rename{flex:1;padding:4px 6px}.ai-rename input{border:1px solid var(--accent);background:var(--surface);width:100%;color:var(--ink);border-radius:7px;padding:5px 8px;font-size:12.5px}.ai-rename input:focus{box-shadow:var(--ring);outline:none}@media (prefers-reduced-motion:reduce){.ai-history-tools{opacity:1}}.ai-chat-pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ai-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 22px;display:flex}.ai-head-title h2{letter-spacing:-.01em;font-size:15px;font-weight:700}.ai-head-title p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.5}.ai-head-scope{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);text-align:right;max-width:340px;font-size:10.5px;font-weight:600;line-height:1.6}.ai-messages{scroll-behavior:smooth;flex:1;padding:26px 22px 30px;overflow-y:auto}.ai-thread{flex-direction:column;gap:26px;max-width:74ch;margin:0 auto;display:flex}.ai-ask{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.ai-ask-label{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:10px;font-weight:700}.ai-ask p{max-width:52ch;color:var(--ink-soft);border-right:2px solid var(--accent-soft-line);margin:0;padding-right:12px;font-size:13.5px;line-height:1.6}.ai-answer{border-left:2px solid color-mix(in oklab, var(--accent) 55%, transparent);padding-left:18px;position:relative}.ai-answer-body{color:var(--ink);font-size:14px;line-height:1.72}.ai-answer-body p{margin:0 0 10px}.ai-answer-body p:last-child{margin-bottom:0}.ai-answer-body ul{flex-direction:column;gap:5px;margin:8px 0;padding-left:20px;display:flex}.ai-answer-body b{font-weight:680}.ai-figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;box-shadow:inset 0 -1px 0 0 color-mix(in oklab, var(--accent) 38%, transparent);padding-bottom:1px;font-size:.94em}.ai-sources{flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;display:flex}.ai-sources-label{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:10px;font-weight:700}.ai-source{background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:600}.ai-answer.is-working{border-left-color:var(--line)}.ai-thinking{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.ai-thinking .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite aipulse}@keyframes aipulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ai-thinking .dot{opacity:.7;animation:none}}.ai-empty{max-width:74ch;margin:0 auto;padding-top:8px}.ai-empty-greeting{color:var(--ink-soft);max-width:56ch;margin:0 0 22px;font-size:14.5px;line-height:1.6}.ai-reach{grid-template-columns:1fr 1fr;gap:22px 32px;display:grid}.ai-reach-group h3{border-bottom:1px solid var(--line-soft);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;margin:0 0 8px;padding-bottom:7px;font-size:11px;font-weight:700;display:flex}.ai-reach-group h3 svg{color:var(--accent);opacity:.8}.ai-reach-group ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ai-reach-group button{text-align:left;cursor:pointer;width:100%;color:var(--ink-soft);transition:color var(--t-fast) ease, padding-left var(--t-fast) ease;background:0 0;border:none;padding:5px 0;font-size:12.8px;line-height:1.5}.ai-reach-group button:hover{color:var(--accent);padding-left:5px}.ai-reach-group button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){.ai-reach-group button:hover{padding-left:0}}.ai-composer{border-top:1px solid var(--line);align-items:flex-end;gap:10px;padding:14px 22px;display:flex}.ai-composer textarea{border:1px solid var(--line);background:var(--surface);resize:none;border-radius:10px;flex:1;max-height:132px;padding:11px 13px;font-family:inherit;font-size:13.5px;line-height:1.5}.ai-composer textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.ai-send-btn{border-radius:var(--radius-sm);background:var(--accent);width:38px;height:38px;color:var(--on-accent);cursor:pointer;transition:transform var(--t-fast) var(--ease-spring), background var(--t-fast) ease;border:none;flex:none;justify-content:center;align-items:center;display:flex}.ai-send-btn:hover:not([disabled]){transform:scale(1.06)}.ai-send-btn:active:not([disabled]){transform:scale(.94)}.ai-send-btn[disabled]{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.ai-send-btn{transition:background var(--t-fast) ease}.ai-send-btn:hover:not([disabled]){transform:none}}@media (max-width:820px){.ai-history{display:none}.ai-reach{grid-template-columns:1fr;gap:18px}.ai-head{flex-direction:column;align-items:flex-start;gap:8px}.ai-head-scope{text-align:left;max-width:none}.ai-messages{padding:20px 16px 24px}.ai-composer{padding:12px 16px}}.toggle{flex:none;width:38px;height:22px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle .track{background:var(--line);border-radius:var(--radius-pill);cursor:pointer;transition:background .15s;position:absolute;inset:0}.toggle .track:before{content:"";width:16px;height:16px;transition:transform .22s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track:before{transform:translate(16px)}.toggle input:disabled+.track{opacity:.5;cursor:not-allowed}.setting-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.setting-row:last-child{border-bottom:none}.setting-row>*{min-width:0}.setting-row .st-label{font-size:13px;font-weight:600;display:block}.setting-row .st-sub{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.setting-row select{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-xs);max-width:52%;color:var(--ink);cursor:pointer;flex:0 auto;padding:7px 10px;font-size:12.5px}.setting-row select:disabled{cursor:not-allowed;opacity:.65}.tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 20px;display:flex}.tab-btn{color:var(--muted);cursor:pointer;transition:color var(--t-fast) ease, border-color var(--t) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;margin-right:18px;padding:11px 4px;font-size:13px;font-weight:600}.tab-btn:hover{color:var(--ink)}.tab-btn.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.usage-bar{border-radius:var(--radius-pill);background:var(--surface-2);height:7px;overflow:hidden}.usage-bar>div{border-radius:var(--radius-pill);height:100%}.avatar-init{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:11.5px;font-weight:700;display:flex;overflow:hidden}.avatar-init img{object-fit:cover;width:100%;height:100%;display:block}.cmd-overlay{z-index:100;background:var(--scrim);-webkit-backdrop-filter:blur(6px);justify-content:center;padding:12vh 20px 20px;animation:.16s modalFade;display:flex;position:fixed;inset:0}.cmd-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:min(560px,74vh);animation:cmdIn .26s var(--ease-out);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 44px 96px -26px #050810a8}@keyframes cmdIn{0%{opacity:0;transform:translateY(-16px)scale(.97)}to{opacity:1;transform:none}}.cmd-search{border-bottom:1px solid var(--line-soft);color:var(--faint);flex:none;align-items:center;gap:11px;padding:15px 17px;display:flex}.cmd-search input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:15px;font-weight:500}.cmd-search input::placeholder{color:var(--faint);font-weight:400}.cmd-list{flex:1;min-height:0;padding:8px;overflow-y:auto}.cmd-group{text-transform:uppercase;letter-spacing:.09em;color:var(--faint);padding:13px 10px 5px;font-size:10px;font-weight:800}.cmd-item{--item-hue:var(--muted);cursor:pointer;text-align:left;width:100%;color:var(--ink-soft);transition:background var(--t-fast) ease, color var(--t-fast) ease;background:0 0;border:none;border-radius:12px;align-items:center;gap:11px;padding:9px 10px;font-size:13.5px;font-weight:600;display:flex}.cmd-item[data-module=dashboard]{--item-hue:var(--mod-dashboard)}.cmd-item[data-module=ai]{--item-hue:var(--mod-ai)}.cmd-item[data-module=vouchers]{--item-hue:var(--mod-vouchers)}.cmd-item[data-module=ledger]{--item-hue:var(--mod-ledger)}.cmd-item[data-module=personnel]{--item-hue:var(--mod-personnel)}.cmd-item[data-module=teams]{--item-hue:var(--mod-teams)}.cmd-item[data-module=contracts]{--item-hue:var(--mod-contracts)}.cmd-item[data-module=lunch]{--item-hue:var(--mod-lunch)}.cmd-item[data-module=system]{--item-hue:var(--mod-system)}.cmd-item-icon{background:color-mix(in oklab, var(--item-hue) 13%, var(--surface));width:29px;height:29px;color:var(--item-hue);border:1px solid color-mix(in oklab, var(--item-hue) 24%, var(--surface));border-radius:9px;flex:none;place-items:center;display:grid}.cmd-item.is-active{background:color-mix(in oklab, var(--item-hue) 15%, var(--surface));color:var(--ink);box-shadow:inset 3px 0 0 var(--item-hue)}.cmd-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmd-item-hint{color:var(--faint);white-space:nowrap;flex:none;font-size:11px;font-weight:600}.cmd-item-go{color:var(--item-hue);opacity:0;transition:opacity var(--t-fast) ease, transform var(--t) var(--ease-out);flex:none;display:flex}.cmd-item.is-active .cmd-item-go{opacity:1;transform:translate(3px)}.cmd-empty{text-align:center;color:var(--muted);padding:38px 22px;font-size:13px;line-height:1.65}.cmd-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:.6s linear infinite cmdSpin}@keyframes cmdSpin{to{transform:rotate(360deg)}}.cmd-foot{border-top:1px solid var(--line-soft);color:var(--faint);flex-wrap:wrap;flex:none;align-items:center;gap:18px;padding:10px 17px;font-size:11px;font-weight:600;display:flex}.cmd-foot span{align-items:center;gap:5px;display:inline-flex}.skeleton-page{animation:.2s pageIn}.sk{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--surface-2) 0%, color-mix(in oklab, var(--surface-2) 55%, var(--surface)) 45%, var(--surface-2) 90%);background-size:220% 100%;animation:1.5s linear infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-40% 0}}.sk-line{height:12px}.sk-block{border-radius:var(--radius);border:1px solid var(--line);width:100%}.skeleton-toolbar{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:10px;padding:15px 20px;display:flex}.skeleton-row{border-bottom:1px solid var(--line-soft);animation:blockRise .4s var(--ease-out) backwards;align-items:center;gap:24px;padding:15px 20px;display:flex}.skeleton-row:last-child{border-bottom:none}@media (max-width:1180px){.charts-row,.charts-stack{grid-template-columns:1fr}}@media (max-width:980px){.main-col,:root[data-sidebar=pinned] .main-col{margin-left:0}.sidebar,:root[data-sidebar=pinned] .sidebar,.sidebar:is(:hover,:has(.notif-panel),:has(:focus-visible)){width:var(--sidebar-w-open);box-shadow:none;padding:16px 14px;transform:translate(-100%)}.sidebar.is-mobile-open{transform:none;box-shadow:0 0 90px -12px #0000008c}.sidebar-scrim.is-open{opacity:1;pointer-events:auto}.topbar-menu-btn{display:flex}.sidebar :is(.nav-label,.brand-text,.nav-section-label span,.rp-text,.rp-go){opacity:1;transform:none}.sidebar .nav-section-label:after{opacity:0}.sidebar .pin-btn{display:none}.sidebar-close-btn{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.sidebar-tools{gap:8px;padding-left:0}.sidebar-tools .theme-switch{opacity:1;border-width:1px;max-width:120px;padding:2px}.sidebar-tools .logout-form{opacity:1;max-width:40px}.topbar{padding:0 16px}.topbar-search-text{display:none}main.content{padding:18px 16px 72px}.kpi-row{grid-template-columns:repeat(2,1fr)}.charts-row,.charts-row-2{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.team-sub-grid{grid-template-columns:repeat(2,1fr)!important}.login-grid{grid-template-columns:1fr}.login-brand{min-height:150px;padding:28px 24px 34px}.login-brand h1,.login-brand p,.brand-stats,.login-icon--3,.login-icon--4{display:none}}@media (max-width:640px){.pwb-tabs{grid-template-columns:1fr 1fr;gap:6px;padding:6px}.pwb-tab{gap:8px;padding:9px 10px}.pwb-tab-text em{display:none}.kpi-row,.team-grid{grid-template-columns:1fr}.team-sub-grid{grid-template-columns:1fr!important}.hero-card{border-radius:var(--radius);padding:22px}.hero-card h1{font-size:21px}.cmd-overlay{padding:8vh 12px 12px}.cmd-item-hint,.cmd-foot span:last-child{display:none}.toast-stack{bottom:12px;left:12px;right:12px}.toast{max-width:none}h1{font-size:22px}}.doc-ai-warning{background:var(--warning-soft);color:var(--ink-soft);border-radius:10px;align-items:flex-start;gap:11px;padding:12px 14px;font-size:12.5px;line-height:1.65;display:flex}.doc-ai-warning svg{color:var(--warning);flex:none;margin-top:2px}.doc-ai-warning b{color:var(--ink)}.doc-ai-stats{flex-wrap:wrap;gap:8px;display:flex}.doc-ai-stat{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:9px;flex-direction:column;flex:1;gap:2px;min-width:92px;padding:9px 11px;display:flex}.doc-ai-stat b{font-variant-numeric:tabular-nums;font-size:17px;line-height:1.2}.doc-ai-stat span{color:var(--muted);font-size:11px}.doc-ai-stat--good b{color:var(--good)}.doc-ai-stat--info b{color:var(--accent)}.doc-ai-stat--bad b{color:var(--critical)}.doc-ai-stat--muted b{color:var(--muted)}.doc-layout{grid-template-columns:260px 1fr;align-items:start;gap:16px;display:grid}@media (max-width:900px){.doc-layout{grid-template-columns:1fr}}.doc-side{position:sticky;top:16px}.doc-main{flex-direction:column;gap:16px;min-width:0;display:flex}.doc-tree{flex-direction:column;gap:1px;display:flex}.doc-tree-row{border-radius:var(--radius-xs);color:var(--ink-soft);transition:background var(--t) ease;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;text-decoration:none;display:flex}.doc-tree-row:hover{background:var(--surface-2)}.doc-tree-row.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.doc-tree-row svg{opacity:.7;flex:none}.doc-tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.doc-tree-name--muted{color:var(--muted)}.doc-tree-team{background:var(--surface-2);color:var(--muted);border-radius:20px;padding:1px 6px;font-size:10px}.doc-tree-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.doc-tree-row.is-passthrough{opacity:.45;cursor:default;pointer-events:none}.doc-new-folder{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:6px;display:flex}.doc-new-folder input{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);flex:1;min-width:0;padding:6px 9px;font-size:12px}.doc-search{align-items:center;gap:10px;padding:10px 14px;display:flex}.doc-search svg{color:var(--muted);flex:none}.doc-search input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13px}.doc-search input::placeholder{color:var(--faint)}.doc-upload{flex-direction:column;gap:8px;display:flex}.doc-dropzone{cursor:pointer;border:1.5px dashed var(--line);background:var(--surface);transition:border-color var(--t) ease, background var(--t) ease;border-radius:12px;align-items:center;gap:12px;padding:16px 18px;display:flex}.doc-dropzone:hover,.doc-dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.doc-dropzone.is-pending{opacity:.7;cursor:progress}.doc-dropzone svg{color:var(--accent);flex:none}.doc-dropzone div{flex-direction:column;gap:2px;display:flex}.doc-dropzone b{font-size:13px}.doc-dropzone span{color:var(--muted);font-size:11.5px}.doc-list{flex-direction:column;display:flex}.doc-row{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:14px;padding:12px 0;display:flex}.doc-row:last-child{border-bottom:none}.doc-row.is-picked{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);border-radius:var(--radius-sm)}.doc-row-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.doc-row-title{color:var(--ink);font-size:13.5px;font-weight:600;text-decoration:none}.doc-row-title:hover{color:var(--accent)}.doc-row-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:11.5px;display:flex}.doc-source-link{color:var(--accent);text-decoration:none}.doc-row-snippet{border-radius:var(--radius-xs);background:var(--surface-2);color:var(--ink-soft);margin:2px 0 0;padding:8px 11px;font-size:12px;line-height:1.6}.doc-row-tags{flex-wrap:wrap;gap:5px;display:flex}.doc-tag{background:var(--surface-2);color:var(--muted);border-radius:20px;padding:2px 8px;font-size:10.5px}.doc-row-side{flex-direction:column;flex:none;align-items:flex-end;gap:7px;display:flex}.doc-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}@media (max-width:640px){.doc-row{flex-direction:column}.doc-row-side{align-items:flex-start}.doc-row .bulk-check{justify-content:flex-start}}.doc-chip{white-space:nowrap;cursor:help;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.doc-chip--good{background:var(--good-soft);color:var(--good)}.doc-chip--info{background:var(--accent-soft);color:var(--accent)}.doc-chip--bad{background:var(--critical-soft);color:var(--critical)}.doc-chip--muted{background:var(--surface-2);color:var(--muted)}.doc-detail{flex-direction:column;gap:16px;max-width:860px;margin:0 auto;display:flex}.doc-move-row{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.doc-move-row select{flex:1;min-width:180px}.doc-text{white-space:pre-wrap;word-break:break-word;max-height:520px;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:10px;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.75;overflow:auto}.doc-folder-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.doc-perm-table{border-collapse:collapse;width:100%;font-size:12px}.doc-perm-table th,.doc-perm-table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:8px 10px}.doc-perm-table thead th{color:var(--muted);font-size:11px;font-weight:600}.doc-perm-table tbody th{white-space:nowrap;font-weight:600}.doc-perm-table tr.is-module-off{opacity:.6}.doc-perm-off{color:var(--muted);align-items:center;gap:4px;margin-left:7px;font-size:10px;font-weight:500;display:inline-flex}.doc-perm-cell{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.doc-perm-btn{background:var(--surface);color:var(--muted);cursor:pointer;transition:background var(--t) ease, color var(--t) ease;border:none;padding:4px 8px;font-size:10.5px;font-weight:600}.doc-perm-btn+.doc-perm-btn{border-left:1px solid var(--line)}.doc-perm-btn:hover:not(:disabled){background:var(--surface-2)}.doc-perm-btn:disabled{opacity:.4;cursor:not-allowed}.doc-perm-btn--inherit.is-on{background:var(--surface-2);color:var(--ink-soft)}.doc-perm-btn--allow.is-on{background:var(--good-soft);color:var(--good)}.doc-perm-btn--deny.is-on{background:var(--critical-soft);color:var(--critical)}.doc-perm-note{color:var(--faint);margin-top:3px;font-size:10px;display:block}.ai-attach-bar{flex-wrap:wrap;align-items:center;gap:8px;padding:0 14px 8px;display:flex}.ai-attach-chip{background:var(--accent-soft);color:var(--accent);border-radius:20px;align-items:center;gap:6px;max-width:100%;padding:4px 10px;font-size:11.5px;display:inline-flex}.ai-attach-chip b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ai-attach-chip i{color:var(--muted);font-size:10.5px;font-style:normal}.ai-attach-chip button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;display:flex}.ai-attach-chip button:hover{opacity:1}.ai-attach-error{color:var(--critical);font-size:11.5px}.ai-attach-btn{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:color var(--t) ease, border-color var(--t) ease;border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.ai-attach-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent-soft-line)}.ai-attach-btn:disabled{opacity:.5;cursor:not-allowed}.doc-folder-tools{flex-direction:column;gap:12px;display:flex}@media (min-width:900px){.doc-folder-tools{grid-template-columns:1fr 1fr;align-items:center;gap:14px 20px;display:grid}.doc-folder-tools .doc-folder-foot{grid-column:1/-1}}.doc-folder-tool{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.doc-folder-tool label{flex:none;min-width:82px}.doc-folder-tool input,.doc-folder-tool select{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);min-width:180px;color:var(--ink);flex:1;padding:7px 10px;font-size:12.5px}.doc-folder-tool input:focus,.doc-folder-tool select:focus{border-color:var(--accent);outline:none}.doc-new-folder select{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);flex:1;padding:6px 9px;font-size:12px}.doc-new-folder .searchable-select,.doc-folder-tool .searchable-select{flex:1;min-width:0}.user-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.user-filter-search{flex:1;align-items:center;gap:8px;min-width:200px;display:flex}.user-filter-search svg{color:var(--muted);flex:none}.user-filter-search input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13px}.user-filters select{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:6px 9px;font-size:12.5px}.user-filter-check{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.card-head--filters{flex-wrap:wrap;align-items:center;gap:10px 16px}.card-head--filters .user-filters{flex:1;justify-content:flex-end;min-width:260px}.card-head--filters .search-pill{cursor:text;flex:1;min-width:200px;max-width:340px}.card-head--filters .search-pill:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line)}.user-filter-clear{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:2px;display:flex}.user-filter-clear:hover{color:var(--ink);background:var(--surface-2)}@media (max-width:760px){.card-head--filters .user-filters{justify-content:flex-start}.card-head--filters .search-pill{flex:100%;max-width:none}}.user-list{flex-direction:column;display:flex}.user-row{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:flex-start;gap:16px;padding:13px 0;display:flex}.user-row:last-child{border-bottom:none}.user-row.is-locked{opacity:.6}.user-main{flex-direction:column;flex:1;gap:5px;min-width:220px;display:flex}.user-name{flex-wrap:wrap;align-items:center;gap:7px;font-size:13.5px;display:flex}.user-tag{border-radius:20px;padding:2px 7px;font-size:10px;font-weight:600}.user-tag--self{background:var(--accent-soft);color:var(--accent)}.user-tag--locked{background:var(--surface-2);color:var(--muted)}.user-tag--pending{background:var(--warning-soft);color:var(--warning)}.user-tag--warn{background:var(--critical-soft);color:var(--critical);cursor:help}.user-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:11.5px;display:flex}.user-auth{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.user-auth-chip{background:var(--surface-2);color:var(--faint);cursor:help;border-radius:20px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;display:inline-flex}.user-auth-chip.is-on{background:var(--good-soft);color:var(--good)}.user-actions{flex-direction:column;flex:none;align-items:flex-end;gap:7px;display:flex}.user-role-form{align-items:center;gap:6px;display:flex}.user-role-form select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:5px 8px;font-size:12px}.user-role-form .searchable-select{flex:240px;min-width:0}.user-role-form .searchable-select-trigger{border-radius:7px;padding:5px 8px;font-size:12px}.user-role-form .searchable-select-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-role-static{color:var(--muted);font-size:12.5px}.user-buttons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.user-create-form,.user-reset-form{grid-template-columns:1fr 1fr;gap:14px 20px;display:grid}.user-create-foot{grid-column:1/-1}@media (max-width:700px){.user-create-form,.user-reset-form{grid-template-columns:1fr}.user-actions{align-items:flex-start;width:100%}.user-buttons{justify-content:flex-start}}.user-meta-warn{color:var(--warning);font-weight:600}.pending-approve select{max-width:220px}.audit-alert{border-color:color-mix(in oklab, var(--critical) 40%, var(--line))}.audit-alert-head{color:var(--critical);align-items:center;gap:8px;font-size:13.5px;display:flex}.audit-alert-list{flex-direction:column;gap:6px;display:flex}.audit-alert-row{flex-wrap:wrap;align-items:baseline;gap:12px;font-size:12px;display:flex}.audit-alert-row b{font-size:12.5px}.audit-alert-row span{color:var(--muted)}.audit-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.audit-filters select{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:6px 9px;font-size:12.5px}.audit-list{flex-direction:column;display:flex}.audit-row{border-bottom:1px solid var(--line-soft);grid-template-columns:152px 132px 150px 1fr 120px;align-items:baseline;gap:12px;padding:8px 0;font-size:12px;display:grid}.audit-row:last-child{border-bottom:none}.audit-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.audit-tag{text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:20px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-block;overflow:hidden}.audit-tag--good{background:var(--good-soft);color:var(--good)}.audit-tag--bad{background:var(--critical-soft);color:var(--critical)}.audit-tag--warn{background:var(--warning-soft);color:var(--warning)}.audit-tag--muted{background:var(--surface-2);color:var(--muted)}.audit-who{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.audit-detail{color:var(--ink-soft);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.audit-ip{color:var(--faint);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;cursor:help}@media (max-width:900px){.audit-row{grid-template-columns:1fr 1fr;gap:4px 10px}.audit-ip{text-align:left}}.ai-history-error{color:var(--critical);border-top:1px solid var(--line-soft);margin:0;padding:8px 12px;font-size:11.5px;line-height:1.5}.form-warn{color:var(--warning);background:var(--warning-soft);border-radius:var(--radius-xs);padding:8px 12px;font-size:12.5px}.ai-history-note{color:var(--faint);border-top:1px solid var(--line-soft);margin:0;padding:9px 12px;font-size:10.5px;line-height:1.5}.room-book-form,.room-manage-form{grid-template-columns:repeat(4,1fr);gap:14px 18px;display:grid}.room-book-form .field--full,.room-book-foot{grid-column:1/-1}.room-manage-form{grid-template-columns:repeat(3,1fr)}.room-list{flex-direction:column;gap:16px;display:flex}.room-card.is-off{opacity:.62}.room-off-tag{background:var(--surface-2);color:var(--muted);vertical-align:middle;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:600}.room-week{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.room-day{flex-direction:column;gap:6px;min-width:0;display:flex}.room-day-head{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-soft);padding-bottom:5px;font-size:10.5px;font-weight:700}.room-day-empty{color:var(--faint);margin:0;padding:6px 0;font-size:11px}.room-slot{border-radius:var(--radius-xs);background:var(--surface-2);border-left:2px solid var(--line);flex-direction:column;gap:2px;padding:7px 9px;font-size:11.5px;line-height:1.45;display:flex;position:relative}.room-slot.is-mine{background:var(--accent-soft);border-left-color:var(--accent)}.room-slot-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:11px;font-weight:600}.room-slot-title{color:var(--ink-soft);overflow-wrap:anywhere}.room-slot-who{color:var(--muted);font-size:10.5px;font-weight:600}.room-slot-note{color:var(--faint);overflow-wrap:anywhere;font-size:10.5px}.room-slot-cancel{color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--t-fast) ease;background:0 0;border:none;border-radius:5px;padding:2px;display:flex;position:absolute;top:5px;right:5px}.room-slot:hover .room-slot-cancel,.room-slot-cancel:focus-visible{opacity:1}.room-slot-cancel:hover{background:var(--surface);color:var(--critical)}.room-manage-list{border-top:1px solid var(--line-soft);flex-direction:column;gap:2px;display:flex}.room-manage-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.room-manage-row:last-child{border-bottom:none}@media (max-width:1100px){.room-week{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.room-week,.room-book-form,.room-manage-form{grid-template-columns:1fr}.room-slot-cancel{opacity:1}}@media (prefers-reduced-motion:reduce){.room-slot-cancel{opacity:1}}.lunch-cutoff{background:var(--surface-2);color:var(--muted);border-radius:9px;margin:0 0 16px;padding:9px 13px;font-size:12px;line-height:1.6}.lunch-cutoff b{color:var(--ink);font-variant-numeric:tabular-nums}.lunch-totals{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.lunch-total-day{flex-direction:column;gap:3px;min-width:0;display:flex}.lunch-total-head{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;padding-bottom:5px;font-size:10.5px;font-weight:700;display:flex}.lunch-locked{background:var(--surface-2);color:var(--faint);letter-spacing:0;text-transform:none;border-radius:20px;padding:1px 6px;font-size:9.5px}.lunch-total-row{justify-content:space-between;gap:8px;font-size:11.5px;line-height:1.5;display:flex}.lunch-total-row span{color:var(--ink-soft);overflow-wrap:anywhere}.lunch-total-row b,.lunch-total-sum b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none}.lunch-total-sum{border-top:1px solid var(--line-soft);color:var(--ink);justify-content:space-between;gap:8px;margin-top:5px;padding-top:5px;font-size:11.5px;display:flex}.lunch-total-empty{color:var(--faint);margin:0;font-size:11px}@media (max-width:1100px){.lunch-totals{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.lunch-totals{grid-template-columns:1fr}}.room-session{flex-direction:column;gap:5px;margin-top:4px;display:flex}.room-session-label{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:9.5px;font-weight:700}.setting-inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.setting-inline label{color:var(--ink);font-size:13px;font-weight:600}.setting-inline input,.setting-inline select{border:1px solid var(--line);background:var(--surface);width:170px;color:var(--ink);text-align:right;transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease;border-radius:10px;padding:10px 13px}.setting-inline select{text-align:left;width:210px}.setting-inline input:hover,.setting-inline select:hover{border-color:var(--accent-soft-line)}.setting-inline input:focus,.setting-inline select:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.setting-inline input:disabled,.setting-inline select:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.setting-inline-suffix{color:var(--muted);font-size:13px}@media (max-width:640px){.setting-inline{flex-direction:column;align-items:stretch}.setting-inline input,.setting-inline select{width:100%}}.room-weeknav{align-items:center;gap:6px;display:flex}.room-edit{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.room-edit input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;min-width:0;padding:6px 9px;font-size:12.5px}.room-edit input[name=name]{flex:2;min-width:130px}.room-edit input[name=location]{flex:1;min-width:90px}.room-edit input[name=capacity]{flex:none;width:70px}@media (max-width:640px){.room-manage-row{flex-direction:column;align-items:stretch}}.personnel-filters .searchable-select,.audit-filters .searchable-select,.user-filters .searchable-select{flex:none;min-width:170px}.personnel-filters .searchable-select-trigger,.audit-filters .searchable-select-trigger,.user-filters .searchable-select-trigger{border-radius:var(--radius-pill);border-width:1.5px;padding:8px 14px;font-size:12.5px;font-weight:700}.audit-filters .searchable-select-trigger,.user-filters .searchable-select-trigger{border-radius:var(--radius-xs);border-width:1px;padding:6px 10px;font-weight:400}.searchable-select-trigger:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-2)}.searchable-select-trigger:disabled:hover{border-color:var(--line)}.chg-list{margin:0;padding:0;list-style:none;position:relative}.chg-list:before{content:"";background:linear-gradient(var(--line), transparent);width:1px;position:absolute;top:8px;bottom:8px;left:10px}.chg-item{gap:12px;padding:0 0 16px;display:flex;position:relative}.chg-item:last-child{padding-bottom:0}.chg-dot{z-index:1;background:var(--surface);border:1px solid var(--line);height:21px;color:var(--muted);border-radius:50%;flex:0 0 21px;place-items:center;display:grid;position:relative}.chg-item--good .chg-dot{border-color:color-mix(in oklab, var(--good) 45%, var(--line));color:var(--good)}.chg-item--critical .chg-dot{border-color:color-mix(in oklab, var(--critical) 45%, var(--line));color:var(--critical)}.chg-body{flex:1;min-width:0}.chg-head{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12.5px;display:flex}.chg-who{color:var(--ink)}.chg-time{color:var(--muted);margin-left:auto;font-size:11.5px}.chg-fields{flex-direction:column;gap:3px;margin:6px 0 0;display:flex}.chg-field{align-items:baseline;gap:8px;font-size:12px;display:flex}.chg-field dt{color:var(--muted);flex:none;min-width:110px}.chg-field dd{overflow-wrap:anywhere;min-width:0;margin:0}.vflow{grid-template-columns:repeat(var(--vflow-n,6), minmax(0, 1fr));border:1px solid var(--line);background:color-mix(in oklab, var(--ink) 2.5%, var(--surface));border-radius:12px;gap:0;margin:14px 0 6px;padding:16px 10px 14px;list-style:none;display:grid}.vflow-step{text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:0 6px;display:flex;position:relative}.vflow-step:not(:last-child):after{content:"";background:var(--line);border-radius:2px;height:2px;position:absolute;top:13px;left:calc(50% + 17px);right:calc(17px - 50%)}.vflow-step--done:not(:last-child):after,.vflow-step--skipped:not(:last-child):after{background:color-mix(in oklab, var(--good) 55%, var(--line))}.vflow-dot{z-index:1;border:2px solid var(--line);background:var(--surface);width:28px;height:28px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;line-height:1;display:grid;position:relative}.vflow-text{flex-direction:column;align-items:center;gap:3px;min-width:0;max-width:100%;display:flex}.vflow-label{color:var(--ink);overflow-wrap:anywhere;font-size:12.5px;font-weight:600;line-height:1.3}.vflow-who{color:var(--muted);overflow-wrap:anywhere;font-size:11.5px;line-height:1.3}.vflow-tag{border-radius:var(--radius-pill);letter-spacing:.02em;color:color-mix(in oklab, var(--warning) 70%, var(--ink));background:color-mix(in oklab, var(--warning) 16%, var(--surface));margin-top:2px;padding:2px 8px;font-size:10.5px;font-weight:700}.vflow-tag--muted{color:var(--muted);background:color-mix(in oklab, var(--ink) 6%, var(--surface))}.vflow-tag--bad{color:var(--critical);background:color-mix(in oklab, var(--critical) 12%, var(--surface))}.vflow-step--done .vflow-dot{background:var(--good);border-color:var(--good);color:#fff}.vflow-step--current .vflow-dot{border-color:var(--warning);color:color-mix(in oklab, var(--warning) 70%, var(--ink));background:color-mix(in oklab, var(--warning) 14%, var(--surface));box-shadow:0 0 0 4px color-mix(in oklab, var(--warning) 20%, transparent)}.vflow-step--current .vflow-label{color:var(--ink);font-weight:700}.vflow-step--skipped .vflow-dot{color:var(--muted);border-style:dashed}.vflow-step--skipped .vflow-label{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--muted) 60%, transparent);text-decoration-color:color-mix(in oklab, var(--muted) 60%, transparent);font-weight:500}.vflow-step--rejected .vflow-dot{background:var(--critical);border-color:var(--critical);color:#fff}.vflow-step--todo .vflow-label{color:var(--muted);font-weight:500}@media (max-width:720px){.vflow{grid-template-columns:1fr;row-gap:14px;padding:12px 14px}.vflow-step{text-align:left;flex-direction:row;align-items:flex-start;gap:12px;padding:0}.vflow-text{align-items:flex-start;padding-top:5px}.vflow-step:not(:last-child):after{width:2px;height:auto;inset:30px auto -14px 13px}}.donut-with-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;display:flex}.donut-legend{flex-direction:column;flex:220px;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.donut-legend li{border-radius:var(--radius-xs);cursor:default;grid-template-columns:10px minmax(0,1fr) auto 38px;align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;display:grid}.donut-legend li.is-hover{background:var(--surface-2)}.donut-legend-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);overflow:hidden}.donut-legend-val{font-family:var(--font-mono);color:var(--ink);font-size:11.5px}.donut-legend-pct{font-family:var(--font-mono);color:var(--muted);text-align:right;font-size:11px}.status-tabs{scrollbar-width:thin;gap:4px;padding:0 18px 12px;display:flex;overflow-x:auto}.status-tab{border-radius:var(--radius-pill);white-space:nowrap;color:var(--muted);border:1px solid #0000;align-items:center;gap:7px;padding:7px 12px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.status-tab:hover{background:var(--surface-2);color:var(--ink)}.status-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.status-tab.is-active{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-soft-line)}.status-tab-count{font-family:var(--font-mono);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);padding:1px 7px;font-size:11px}.status-tab.is-active .status-tab-count{background:var(--surface);color:var(--accent-ink)}.status-tab--mine{color:var(--warning)}.status-tab--mine .status-tab-count{background:color-mix(in oklab, var(--warning) 16%, var(--surface));color:var(--warning);font-weight:600}.voucher-summary{background:var(--surface-2);border-left:4px solid var(--vs-tone,var(--accent));border-radius:14px;padding:14px 16px 12px}.voucher-summary--thu{--vs-tone:var(--good)}.voucher-summary--chi{--vs-tone:var(--critical)}.voucher-summary--advance{--vs-tone:var(--warning)}.voucher-summary-amount{font-family:var(--font-display,inherit);letter-spacing:-.01em;color:var(--vs-tone);font-size:28px;font-weight:700;line-height:1.1}.voucher-summary-desc{color:var(--ink);overflow-wrap:anywhere;margin-top:6px;font-size:14px;line-height:1.45}.voucher-summary-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.voucher-edit-row{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.voucher-edit-row:empty{display:none}.voucher-edit-row>*{flex:260px;min-width:0}.voucher-edit-row .voucher-team-edit{margin:0}.flow-toggle{background:var(--surface-2);border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.flow-toggle-opt{cursor:pointer;border:1.5px solid #0000;border-radius:10px;flex-direction:column;gap:2px;padding:11px 14px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.flow-toggle-opt input{opacity:0;pointer-events:none;position:absolute}.flow-toggle-opt b{color:var(--muted);font-size:14px;font-weight:650}.flow-toggle-opt span{color:var(--muted);font-size:12px}.flow-toggle-opt:hover b{color:var(--ink)}.flow-toggle-opt.is-on{background:var(--surface);box-shadow:0 1px 3px color-mix(in oklab, var(--ink) 10%, transparent)}.flow-toggle--chi .flow-toggle-opt.is-on{border-color:color-mix(in oklab, var(--critical) 45%, var(--line))}.flow-toggle--chi .flow-toggle-opt.is-on b{color:var(--critical)}.flow-toggle--thu .flow-toggle-opt.is-on{border-color:color-mix(in oklab, var(--good) 45%, var(--line))}.flow-toggle--thu .flow-toggle-opt.is-on b{color:var(--good)}.flow-toggle-opt:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.flow-toggle-opt.is-disabled{cursor:not-allowed;opacity:.55}.money-input-box{position:relative}.money-input-box input{width:100%;font-family:var(--font-mono);text-align:right;letter-spacing:.01em;padding-right:30px;font-size:17px;font-weight:600}.money-input-unit{color:var(--muted);pointer-events:none;font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.money-input--out .money-input-box input:focus{border-color:color-mix(in oklab, var(--critical) 55%, var(--line))}.money-input--in .money-input-box input:focus{border-color:color-mix(in oklab, var(--good) 55%, var(--line))}.money-input-words{color:var(--muted);margin-top:6px;font-size:12px;font-style:italic;line-height:1.4;display:block}.date-vn{position:relative}.date-vn input[type=text]{width:100%;padding-right:40px}.date-vn-btn{aspect-ratio:1;border-radius:var(--radius-xs);height:calc(100% - 10px);color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:5px;right:5px}.date-vn-btn:hover{background:var(--surface-2);color:var(--ink)}.date-vn-native{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;right:0}.date-vn.is-invalid input[type=text]{border-color:var(--critical)}.date-vn-err{color:var(--critical);margin-top:5px;font-size:12px;display:block}.tools-menu{position:relative}.tools-menu>summary{cursor:pointer;list-style:none}.tools-menu>summary::-webkit-details-marker{display:none}.tools-menu[open]>summary{background:var(--surface-2)}.tools-menu-panel{z-index:40;background:var(--surface);border:1px solid var(--line);min-width:230px;box-shadow:0 12px 32px color-mix(in oklab, var(--ink) 14%, transparent);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.tools-menu-panel a,.tools-menu-panel button{border-radius:var(--radius-xs);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:9px 11px;font-size:13px;text-decoration:none;display:flex}.tools-menu-panel a:hover,.tools-menu-panel button:hover,.tools-menu-panel a:focus-visible{background:var(--surface-2)}.tools-menu-panel svg{color:var(--muted)}.drawer-danger-zone{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:14px;display:flex}.member-add{margin-top:8px}.member-add>summary{cursor:pointer;width:fit-content;list-style:none}.member-add>summary::-webkit-details-marker{display:none}.member-add .member-add-close,.member-add[open] .member-add-open{display:none}.member-add[open] .member-add-close,.member-add-open{align-items:center;gap:4px;display:inline-flex}.member-add[open]>summary{margin-bottom:6px}.member-add .date-vn{width:150px}.field-manage-link{color:var(--muted);margin-top:6px;font-size:12px;text-decoration:none;display:inline-block}.field-manage-link:hover{color:var(--accent);text-decoration:underline}.vhist{width:100%;min-width:0}.vhist-note{color:var(--muted);margin:0 0 10px;font-size:12px;font-style:italic}.vhist-stage{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);padding:1px 7px;font-size:11px}.vhist-move{color:var(--muted);margin-top:2px;font-size:11.5px}.vhist-text{overflow-wrap:anywhere;margin-top:3px;font-size:12.5px}.audit-tabs{background:var(--surface-2);border-radius:13px;gap:4px;width:fit-content;max-width:100%;margin-bottom:16px;padding:5px;display:flex;overflow-x:auto}.audit-tab{color:var(--muted);white-space:nowrap;transition:color var(--t-fast) ease, background var(--t-fast) ease;border-radius:10px;align-items:center;gap:6px;padding:9px 15px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-flex}.audit-tab:hover{color:var(--ink);background:color-mix(in oklab, var(--surface) 70%, transparent)}.audit-tab.active{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 16px -8px color-mix(in oklab, var(--accent) 85%, transparent)}.pwb{flex-direction:column;gap:16px;display:flex}.pwb-tabs{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:8px;display:grid}.pwb-tab{text-align:left;cursor:pointer;border-radius:var(--radius-sm);color:var(--muted);transition:background var(--t) var(--ease-out), color var(--t) var(--ease-out), border-color var(--t) var(--ease-out);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:11px 13px;display:flex}.pwb-tab:hover{background:var(--surface-2);color:var(--ink-soft)}.pwb-tab svg{flex:none}.pwb-tab-text{flex-direction:column;gap:1px;min-width:0;display:flex}.pwb-tab-text b{font-size:13px;font-weight:650;line-height:1.25}.pwb-tab-text em{color:var(--faint);overflow-wrap:anywhere;font-size:11px;font-style:normal;line-height:1.3}.pwb-tab.is-active{background:var(--accent-soft);border-color:var(--accent-soft-line);color:var(--accent-ink)}.pwb-tab.is-active .pwb-tab-text em{color:color-mix(in oklab, var(--accent-ink) 62%, var(--muted))}.pwb-panel{flex-direction:column;gap:16px;display:flex}.pwb-panel[hidden]{display:none}.pset-dot{background:var(--pset,var(--cat-other));width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in oklab, var(--pset,var(--cat-other)) 18%, transparent);border-radius:50%;flex:none}.pset-chip{border-radius:var(--radius-pill);background:color-mix(in oklab, var(--pset,var(--cat-other)) 12%, var(--surface));border:1px solid color-mix(in oklab, var(--pset,var(--cat-other)) 30%, var(--surface));max-width:100%;color:color-mix(in oklab, var(--pset,var(--cat-other)) 72%, var(--ink));align-items:center;gap:6px;padding:4px 9px;font-size:11.8px;font-weight:600;line-height:1.35;display:inline-flex}.pset-chip em{opacity:.72;border-left:1px solid color-mix(in oklab, var(--pset,var(--cat-other)) 32%, transparent);padding-left:6px;font-size:10.5px;font-style:normal;font-weight:500}.pset-chip.is-off{opacity:.5;text-decoration:line-through}.pset-chip--grant button{cursor:pointer;background:color-mix(in oklab, var(--pset,var(--cat-other)) 22%, transparent);width:15px;height:15px;color:inherit;transition:background var(--t-fast) var(--ease-out);border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}.pset-chip--grant button:hover:not(:disabled){background:var(--critical);color:#fff}.pset-chip--grant button:disabled{opacity:.4;cursor:default}.pset-board{--pset-cao:min(74vh, 720px);grid-template-columns:minmax(230px,290px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:900px){.pset-board{--pset-cao:none;grid-template-columns:1fr}}.pset-list{max-height:var(--pset-cao);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:sticky;top:12px;overflow:hidden}@media (max-width:900px){.pset-list{position:static}}.pset-list-head{border-bottom:1px solid var(--line-soft);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:13px 14px;display:flex}.pset-list-head h3{margin:0;font-size:13.5px}.pset-new{background:var(--surface-2);border-bottom:1px solid var(--line-soft);flex-direction:column;flex:none;gap:10px;padding:13px 14px;display:flex}.pset-items{flex-direction:column;flex:1;gap:3px;min-height:0;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.pset-item{cursor:pointer;text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink-soft);transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);background:0 0;border:1px solid #0000;align-items:center;gap:9px;padding:9px 10px;display:flex}.pset-item:hover{background:var(--surface-2)}.pset-item.is-active{background:color-mix(in oklab, var(--pset) 9%, var(--surface));border-color:color-mix(in oklab, var(--pset) 32%, var(--surface))}.pset-item.is-off{opacity:.55}.pset-item-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.pset-item-body b{overflow-wrap:anywhere;font-size:12.8px;font-weight:640}.pset-item-body em{color:var(--faint);font-size:10.8px;font-style:normal}.pset-item-usage{text-align:center;border-radius:var(--radius-pill);background:var(--surface-2);min-width:24px;color:var(--muted);flex:none;padding:2px 6px;font-size:11px;font-weight:650}.pset-item.is-active .pset-item-usage{background:color-mix(in oklab, var(--pset) 16%, var(--surface));color:color-mix(in oklab, var(--pset) 70%, var(--ink))}.pset-editor{max-height:var(--pset-cao);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);border-top:3px solid var(--pset,var(--cat-other));flex-direction:column;display:flex;overflow:hidden}.pset-editor-head,.pset-usage{flex:none}.pset-scroll{flex:1;min-height:0;overflow-y:auto}.pset-editor.is-off{opacity:.72}.pset-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px 12px;display:flex}.pset-editor-title{align-items:flex-start;gap:10px;min-width:0;display:flex}.pset-editor-title .pset-dot{width:11px;height:11px;margin-top:6px}.pset-editor-title h3{margin:0 0 2px;font-size:16px}.pset-editor-title p{color:var(--muted);max-width:62ch;margin:0;font-size:12.2px;line-height:1.45}.pset-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pset-badge{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:650;display:inline-flex}.pset-badge--builtin{background:var(--accent-soft);color:var(--accent-ink)}.pset-badge--off{background:var(--critical-soft);color:var(--critical)}.pset-badge--bac{background:color-mix(in oklab, var(--mod-vouchers) 13%, var(--surface));color:var(--mod-vouchers)}.pset-badge--money{background:var(--serious-soft);color:var(--serious)}.pset-badge--link{background:var(--accent-soft);color:var(--accent-ink);transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);text-decoration:none}.pset-badge--link:hover{background:var(--accent);color:var(--on-accent)}.pset-usage{color:var(--muted);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:14px;padding:0 18px 14px;font-size:11.8px;display:flex}.pset-usage span{align-items:center;gap:5px;display:inline-flex}.pset-config{border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.pset-config-toggle{cursor:pointer;width:100%;color:var(--ink-soft);text-align:left;background:0 0;border:none;align-items:center;gap:7px;padding:11px 18px;font-size:12.3px;font-weight:620;display:flex}.pset-config-toggle:hover{color:var(--accent-ink)}.pset-config-form{flex-direction:column;gap:14px;padding:2px 18px 16px;display:flex}.pset-money{border:1px solid color-mix(in oklab, var(--serious) 28%, var(--surface));border-radius:var(--radius-sm);background:color-mix(in oklab, var(--serious) 6%, var(--surface));flex-direction:column;gap:9px;margin:0;padding:12px 14px;display:flex}.pset-money legend{color:var(--serious);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;margin-left:-6px;padding:0 6px;font-size:11.5px;font-weight:700;display:flex}.pset-money label{cursor:pointer;align-items:flex-start;gap:9px;display:flex}.pset-money input{width:15px;height:15px;accent-color:var(--serious);flex:none;margin-top:2px}.pset-money span{font-size:12.3px;line-height:1.4}.pset-money em{color:var(--muted);margin-top:1px;font-size:11.2px;font-style:normal;display:block}.pset-config-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.pset-danger{border-top:1px dashed var(--line);flex-wrap:wrap;gap:8px;padding:11px 18px 14px;display:flex}.src-test{border-top:1px solid var(--line-soft);flex-direction:column;align-items:flex-start;gap:7px;padding:12px 18px;display:flex}.src-test .sub{max-width:62ch;font-size:11.6px;line-height:1.45}.kpi-card--link{color:inherit;text-decoration:none;display:block}.kpi-card--link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-go{color:var(--accent);opacity:.34;transition:opacity var(--t) var(--ease-out), transform var(--t) var(--ease-out);flex:none;align-self:center}.kpi-card--link:hover .kpi-go{opacity:1;transform:translate(3px)}.skeleton-modal{padding:4px 2px 2px}.skeleton-modal-fields{grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:20px;display:grid}.skeleton-modal-field{animation:blockRise .4s var(--ease-out) backwards;flex-direction:column;display:flex}@media (max-width:720px){.skeleton-modal-fields{grid-template-columns:1fr}}.fold{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.fold>summary{cursor:pointer;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:9px;padding:13px 16px;list-style:none;display:flex}.fold>summary::-webkit-details-marker{display:none}.fold>summary:after{content:"";border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);width:7px;height:7px;transition:transform var(--t) var(--ease-out);flex:none;margin-left:auto;transform:rotate(-45deg)}.fold[open]>summary:after{transform:rotate(45deg)}.fold>summary:hover{background:var(--surface-2)}.fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius)}.fold-title{color:var(--ink);font-size:13.5px;font-weight:650}.fold-sub{color:var(--muted);flex-basis:100%;font-size:11.5px}.fold-body{padding:0 12px 12px}.fold-body>.card:not(.is-open-door){box-shadow:none;border:none}.mep-cuon{background:linear-gradient(var(--surface) 36%, transparent) center top, linear-gradient(transparent, var(--surface) 64%) center bottom, radial-gradient(farthest-side at 50% 0, color-mix(in oklab, var(--ink) 20%, transparent), transparent) center top, radial-gradient(farthest-side at 50% 100%, color-mix(in oklab, var(--ink) 20%, transparent), transparent) center bottom;scrollbar-color:var(--faint) transparent;background-repeat:no-repeat;background-size:100% 24px,100% 24px,100% 9px,100% 9px;background-attachment:local,local,scroll,scroll}.pset-matrix{columns:440px 2;column-gap:26px;padding:6px 18px 18px}.pset-matrix.is-saving{opacity:.62;pointer-events:none}.pset-group{break-inside:avoid;padding-top:14px}.pset-group h4{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);align-items:center;gap:6px;margin:0 0 6px;font-size:10.8px;font-weight:700;display:flex}.pset-group-count{letter-spacing:0;font-variant-numeric:tabular-nums;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);flex:none;margin-left:auto;padding:1px 7px}.pset-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(92px,1fr) minmax(126px,1fr) auto;align-items:center;gap:9px;padding:4px 0;display:grid}.pset-row:last-child{border-bottom:none}.pset-row-name{align-items:center;gap:5px;min-width:0;font-size:12.4px;display:flex}.pset-level{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);width:100%;color:var(--ink);padding:4px 7px;font-size:11.9px}.pset-level:hover{border-color:var(--accent-soft-line)}.pset-level:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.pset-level:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.pset-closed{flex-wrap:wrap;gap:5px;padding:8px 0 2px;display:flex}.pset-open-btn{cursor:pointer;border:1px dashed var(--line);border-radius:var(--radius-pill);color:var(--faint);transition:border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);background:0 0;align-items:center;gap:4px;padding:3px 9px;font-size:11.4px;font-weight:550;display:inline-flex}.pset-open-btn:hover:not(:disabled){border-style:solid;border-color:var(--accent-soft-line);background:var(--accent-soft);color:var(--accent-ink)}.pset-open-btn:disabled{opacity:.5;cursor:not-allowed}.pset-open-btn.is-static{cursor:default;border-style:dotted}.pset-crud{gap:5px;display:flex}.pset-crud-box{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);background:var(--surface);transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);align-items:center;gap:4px;padding:3px 7px;font-size:11px;display:inline-flex}.pset-crud-box input{width:12px;height:12px;accent-color:var(--accent);margin:0}.pset-crud-box:has(input:checked){background:var(--accent-soft);border-color:var(--accent-soft-line);color:var(--accent-ink);font-weight:600}.pset-crud-box:has(input:disabled){opacity:.45;cursor:not-allowed}@media (max-width:720px){.pset-matrix{columns:auto}.pset-row{grid-template-columns:1fr;gap:6px;padding:9px 0}.pset-crud{flex-wrap:wrap}}.team-assign{flex-direction:column;gap:14px;display:flex}.tab-group{border:1px solid var(--line-soft);border-radius:var(--radius-sm);overflow:hidden}.tab-row{background:var(--surface);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;display:flex}.tab-row:last-child{border-bottom:none}.tab-row.is-child{background:var(--surface-2);padding-left:30px}.tab-row.is-inactive{opacity:.6}.tab-row-name{align-items:center;gap:9px;min-width:0;display:flex}.tab-row-name b{font-size:13px;font-weight:640;display:block}.tab-row-name em{color:var(--faint);margin-top:1px;font-size:11.2px;font-style:normal;display:block}.tab-select{min-width:210px;font-size:12.3px}.tab-select.is-inherited{color:var(--muted);border-style:dashed}.grant-filters{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;display:flex}.grant-list{flex-direction:column;gap:2px;max-height:min(62vh,620px);display:flex;overflow-y:auto}.grant-row{border-radius:var(--radius-sm);transition:background var(--t-fast) var(--ease-out);border:1px solid #0000;grid-template-columns:minmax(160px,1.1fr) minmax(120px,.8fr) minmax(180px,1.4fr);align-items:center;gap:14px;padding:10px 12px;display:grid}.grant-row:hover{background:var(--surface-2)}.grant-row.has-grants{background:var(--accent-soft);border-color:var(--accent-soft-line)}.grant-who{flex-direction:column;gap:2px;min-width:0;display:flex}.grant-who b{font-size:13px;font-weight:640}.grant-who em{color:var(--faint);font-size:11.2px;font-style:normal}.grant-who .chip{align-self:flex-start;margin-top:3px}.grant-base{min-width:0}.grant-base-empty{color:var(--faint);font-size:11.3px;font-style:italic}.grant-sets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.grant-add{cursor:pointer;border:1px dashed var(--line);border-radius:var(--radius-pill);color:var(--muted);transition:border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);background:0 0;align-items:center;gap:4px;padding:4px 10px;font-size:11.3px;font-weight:600;display:inline-flex}.grant-add:hover{border-color:var(--accent);color:var(--accent-ink)}.grant-form{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--accent-soft-line);flex-wrap:wrap;grid-column:1/-1;align-items:flex-end;gap:12px;margin-top:8px;padding:12px 13px;display:flex}.grant-form .field{flex:200px;margin:0}@media (max-width:860px){.grant-row{grid-template-columns:1fr;gap:8px}}.access-summary{flex-direction:column;gap:7px;min-width:0;display:flex}.access-sets{flex-wrap:wrap;gap:6px;display:flex}.access-summary.is-compact .pset-chip{padding:3px 8px;font-size:11.2px}.access-summary.is-compact .pset-chip em{display:none}.access-facts{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:11.3px;display:flex}.access-facts .is-money{color:var(--serious);font-weight:600}.access-empty{color:var(--faint);font-size:11.5px;font-style:italic}.base-list{flex-direction:column;gap:2px;max-height:min(62vh,620px);display:flex;overflow-y:auto}.base-row{border-radius:var(--radius-sm);grid-template-columns:minmax(180px,1.1fr) auto minmax(200px,1.3fr);align-items:center;gap:14px;padding:10px 12px;display:grid}.base-row:hover{background:var(--surface-2)}.base-who{flex-direction:column;gap:2px;min-width:0;display:flex}.base-who b{font-size:13px;font-weight:640}.base-who em{color:var(--faint);overflow-wrap:anywhere;font-size:11.2px;font-style:normal}.base-form{align-items:center;gap:7px;display:flex}.base-form select{min-width:160px;font-size:12.2px}.base-static{color:var(--muted);font-size:12.3px}.base-access{min-width:0}@media (max-width:860px){.base-row{grid-template-columns:1fr;gap:8px}}.user-access{border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.user-access-label{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);justify-content:space-between;align-items:center;gap:10px;font-size:10.6px;font-weight:700;display:flex}.user-access-link{text-transform:none;letter-spacing:0;color:var(--accent-ink);align-items:center;gap:3px;font-weight:600;display:inline-flex}.user-link-label{color:var(--muted);white-space:nowrap;font-size:11px}.emp-perm{flex-direction:column;gap:16px;display:flex}.emp-perm-source{flex-direction:column;gap:7px;display:flex}.emp-perm-label{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);align-items:center;gap:5px;font-size:10.6px;font-weight:700;display:flex}.emp-perm-grants{flex-direction:column;gap:8px;display:flex}.emp-perm-grant{border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:12px;padding:9px 11px;display:flex}.emp-perm-note{flex-direction:column;flex:1;gap:1px;min-width:120px;font-size:12px;display:flex}.emp-perm-note em{color:var(--faint);font-size:10.8px;font-style:normal}.emp-perm-form{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-soft-line);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 13px;display:flex}.emp-perm-form .field{flex:200px;margin:0}.notif-role-chip.on{background:color-mix(in oklab, var(--pset,var(--accent)) 14%, var(--surface));border-color:color-mix(in oklab, var(--pset,var(--accent)) 34%, var(--surface));color:color-mix(in oklab, var(--pset,var(--accent)) 72%, var(--ink))}.src-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.src-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);border-top:3px solid var(--pset,var(--cat-other));overflow:hidden}.src-card.is-off{opacity:.68}.src-head{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:15px 17px 10px;display:flex}.src-head .pset-dot{width:11px;height:11px;margin-top:6px}.src-title{flex:1;min-width:150px}.src-title h3{margin:0 0 2px;font-size:15px}.src-title p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.src-badges{flex-wrap:wrap;gap:6px;display:flex}.src-actions{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;padding:4px 17px 15px;display:grid}.src-form{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;align-items:flex-start;gap:9px;padding:12px 13px;display:flex}.src-form .field{width:100%;margin:0}.src-form input[type=file]{font-size:11.5px}.src-note{color:var(--warning);margin:0;font-size:11.3px;line-height:1.4}.src-card .pset-config-toggle{border-top:1px solid var(--line-soft)}.import-list{flex-direction:column;gap:2px;display:flex}.import-row{border-radius:var(--radius-sm);color:inherit;transition:background var(--t-fast) var(--ease-out);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;text-decoration:none;display:flex}.import-row:hover{background:var(--surface-2)}.import-who{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.import-who b{font-size:13px;font-weight:640}.import-who em{color:var(--faint);font-size:11.2px;font-style:normal}.import-summary{color:var(--muted);font-size:11.8px;font-family:var(--font-mono)}.skip-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.skip-list li{color:var(--muted);font-size:12.4px;line-height:1.5}.skip-list li b{color:var(--fg);font-weight:640;font-family:var(--font-mono);font-size:11.8px}.review-summary{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.review-stat{flex-direction:column;gap:1px;min-width:120px;display:flex}.review-stat b{font-family:var(--font-display);font-size:24px;line-height:1.1}.review-stat span{color:var(--ink-soft);font-size:11.8px;font-weight:600}.review-stat em{color:var(--faint);font-size:11px;font-style:normal}.review-stat.is-warn b,.review-stat.is-warn em{color:var(--serious)}.review-bulk{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.review-filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.review-tab{border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;background:var(--surface);color:var(--muted);transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);padding:6px 13px;font-size:12.2px;font-weight:600}.review-tab:hover{color:var(--ink-soft)}.review-tab.is-active{background:var(--accent-soft);border-color:var(--accent-soft-line);color:var(--accent-ink)}.review-legend{margin-left:auto}.review-list{flex-direction:column;gap:6px;display:flex}.review-row{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:22px minmax(160px,1.2fr) minmax(150px,.9fr) minmax(170px,1.3fr) auto;align-items:center;gap:14px;padding:11px 12px;display:grid}.review-row.is-picked{border-color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.review-row.is-applied{opacity:.62;background:var(--surface-2)}.review-row.has-diff{border-color:color-mix(in oklab, var(--serious) 40%, var(--surface));background:color-mix(in oklab, var(--serious) 4%, var(--surface))}.review-row.is-todo{border-color:color-mix(in oklab, var(--warning) 45%, var(--surface));background:color-mix(in oklab, var(--warning) 6%, var(--surface));box-shadow:inset 3px 0 0 var(--warning)}.review-who{flex-direction:column;gap:2px;min-width:0;display:flex}.review-who b{overflow-wrap:anywhere;font-size:13px;font-weight:640}.review-who em{color:var(--faint);overflow-wrap:anywhere;font-size:11px;font-style:normal}.review-money{flex-direction:column;gap:2px;min-width:0;display:flex}.review-gross{font-family:var(--font-mono);font-size:13.5px;font-weight:600}.review-money em{color:var(--faint);font-size:10.8px;font-style:normal}.review-diff{border-radius:var(--radius-pill);background:var(--serious-soft);color:var(--serious);font-size:11px;font-weight:650;font-family:var(--font-mono);align-self:flex-start;margin-top:2px;padding:2px 8px}.review-match{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.review-match b{overflow-wrap:anywhere;font-size:12.2px;font-weight:600}.review-match em{color:var(--faint);font-size:10.8px;font-style:normal;line-height:1.4}.review-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.review-link{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-soft-line);flex-wrap:wrap;grid-column:1/-1;align-items:flex-end;gap:14px;margin-top:9px;padding:12px 13px;display:flex}.review-link .field{flex:320px;margin:0}.review-link small{color:var(--muted);font-size:11px}.review-remember{cursor:pointer;flex:240px;align-items:flex-start;gap:8px;display:flex}.review-remember input{width:15px;height:15px;accent-color:var(--accent);flex:none;margin-top:2px}.review-remember span{font-size:12px;line-height:1.4}.review-remember em{color:var(--muted);margin-top:1px;font-size:10.8px;font-style:normal;display:block}.review-link--bulk{margin-top:14px}.review-selectall{color:var(--muted);cursor:pointer;align-items:center;gap:9px;margin:2px 0 10px;padding:0 12px;font-size:12px;display:flex}.review-selectall input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.bulk-check{cursor:pointer;justify-content:center;align-items:center;min-height:26px;display:flex}.bulk-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.bulk-check--empty{min-height:26px}.bulk-bar{z-index:5;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--accent-soft-line);box-shadow:0 6px 20px color-mix(in oklab, var(--ink) 14%, transparent);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:10px 14px;display:flex;position:sticky;bottom:12px}.bulk-bar__count{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12.5px;display:flex}.bulk-bar__count b{color:var(--ink);font-size:14px}.bulk-bar__link{cursor:pointer;font:inherit;color:var(--accent);background:0 0;border:none;padding:0;font-size:11.5px;text-decoration:underline}.notif-pickable{align-items:flex-start;gap:6px;display:flex}.notif-pickable__body{flex:1;min-width:0}.notif-pickable.is-picked,.user-row.is-picked{background:var(--accent-soft);border-radius:var(--radius-sm)}.bulk-bar__reason{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;max-width:420px;color:var(--ink);font:inherit;flex:240px;padding:6px 10px;font-size:12.5px}.bulk-bar__reason:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.bulk-bar__sum{color:var(--ink);margin-right:2px;font-size:12.5px;font-weight:700}.data-table th.col-pick,.data-table td.col-pick{width:34px;padding-left:10px;padding-right:0}.bulk-bar__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}@media (max-width:720px){.bulk-bar__actions{width:100%;margin-left:0}}@media (max-width:900px){.review-row{grid-template-columns:22px 1fr;align-items:start;gap:8px 12px}.review-row>:not(.bulk-check){grid-column:2}.review-actions{justify-content:flex-start}}:root{--holiday-accent:var(--holiday-accent-light,transparent);--holiday-ink:var(--holiday-ink-light,#fff)}:root[data-theme=dark]{--holiday-accent:var(--holiday-accent-dark,transparent);--holiday-ink:var(--holiday-ink-dark,#fff)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--holiday-accent:var(--holiday-accent-dark,transparent);--holiday-ink:var(--holiday-ink-dark,#fff)}}html[data-holiday-intensity=vua] .app-shell{--holiday-keep:88%}html[data-holiday-intensity=dam] .app-shell{--holiday-keep:72%}html[data-holiday-intensity=vua] .app-shell,html[data-holiday-intensity=dam] .app-shell{--accent:color-mix(in oklab, var(--mod-hien-tai) var(--holiday-keep), var(--holiday-accent))}html[data-holiday-intensity=vua] body,html[data-holiday-intensity=dam] body{background-color:color-mix(in oklab, var(--holiday-accent) 4%, var(--paper))}html[data-holiday-intensity=dam] .card{border-color:color-mix(in oklab, var(--holiday-accent) 22%, var(--line));box-shadow:var(--shadow-sm), 0 1px 0 color-mix(in oklab, var(--holiday-accent) 14%, transparent)}.hd-layer{pointer-events:none;z-index:-1;opacity:.5;position:fixed;inset:0;overflow:hidden}.app-shell .hd-scene{opacity:.55}html[data-holiday-intensity=nhe] .app-shell .hd-scene{display:none}.hd-scene{position:absolute;inset:0}.hd-scene svg{position:absolute}.hd-particles{position:absolute;inset:0}.hd-particle{opacity:0;position:absolute;top:-8%;overflow:visible}.hd-particle--bay{top:auto;bottom:-8%}.hd-particle--nhay{top:var(--hd-rest,40%)}html[data-holiday-motion=on] .hd-particle{animation-timing-function:linear;animation-iteration-count:infinite}html[data-holiday-motion=on] .hd-particle--roi{animation-name:hd-fall}html[data-holiday-motion=on] .hd-particle--bay{animation-name:hd-rise}html[data-holiday-motion=on] .hd-particle--nhay{animation-name:hd-hop;animation-timing-function:ease-in-out}.hd-sway,.hd-bob,.hd-twinkle{transform-box:view-box}html[data-holiday-motion=on] .hd-sway{transform-origin:top;animation:7s ease-in-out infinite hd-sway}html[data-holiday-motion=on] .hd-bob{animation:5.5s ease-in-out infinite hd-bob}html[data-holiday-motion=on] .hd-twinkle{animation:3.2s ease-in-out infinite hd-twinkle}@keyframes hd-fall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}8%{opacity:1}92%{opacity:1}to{transform:translate3d(var(--hd-drift,30px), 112vh, 0) rotate(var(--hd-spin,220deg));opacity:0}}@keyframes hd-rise{0%{opacity:0;transform:translateY(10vh)rotate(0)}10%{opacity:1}90%{opacity:1}to{transform:translate3d(var(--hd-drift,30px), -112vh, 0) rotate(var(--hd-spin,0deg));opacity:0}}@keyframes hd-hop{0%,to{opacity:.25;transform:translate(0,0)scale(.9)}50%{opacity:1;transform:translateY(-10px)scale(1)}}@keyframes hd-sway{0%,to{transform:rotate(-2.2deg)}50%{transform:rotate(2.2deg)}}@keyframes hd-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes hd-twinkle{0%,to{opacity:.28}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.hd-particle,.hd-sway,.hd-bob,.hd-twinkle{animation:none!important}.hd-particle{top:var(--hd-rest,40%);opacity:.45;bottom:auto}}html[data-holiday-motion=off] .hd-particle{top:var(--hd-rest,40%);opacity:.45;bottom:auto}.hd-strip{z-index:2;isolation:isolate;letter-spacing:.01em;color:#fff;text-shadow:0 1px 2px #00000073;background:linear-gradient(100deg, var(--holiday-from) 0%, var(--holiday-via) 100%);align-items:center;height:28px;font-size:12.5px;font-weight:650;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -2px #ffd87480,inset 0 1px #ffffff38}.hd-strip svg{filter:drop-shadow(0 1px 1px #0000004d);flex:none}.hd-banner__dim{pointer-events:none;background:linear-gradient(#0000000d,#00000029),linear-gradient(90deg,#0000 28%,#0000002e);position:absolute;inset:0}.hd-banner__sheen{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff47,#0000);width:33%;position:absolute;top:0;bottom:0;left:-33%;transform:skew(-12deg)}html[data-holiday-motion=on] .hd-banner__sheen{animation:6.5s ease-in-out infinite hd-sheen}.hd-banner__viewport{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.hd-banner__track{align-items:center;width:max-content;display:flex}.hd-banner__loop{flex:none;align-items:center;display:flex}.hd-banner__lap{white-space:nowrap;flex:none;align-items:center;gap:12px;padding-right:56px;display:flex}.hd-banner__still{flex:1;justify-content:center;align-items:center;gap:12px;min-width:0;padding:0 12px;display:flex}.hd-banner__still>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hd-banner__viewport{display:none}html[data-holiday-motion=on] .hd-banner__viewport{display:block}html[data-holiday-motion=on] .hd-banner__still{display:none}html[data-holiday-motion=on] .hd-banner__track{animation-name:hd-marquee;animation-timing-function:linear;animation-iteration-count:infinite}.hd-strip:hover .hd-banner__track,.hd-strip:focus-within .hd-banner__track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){html[data-holiday-motion=on] .hd-banner__viewport{display:none}html[data-holiday-motion=on] .hd-banner__still{display:flex}.hd-banner__sheen{animation:none!important}}@keyframes hd-marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@keyframes hd-sheen{0%{left:-33%}55%{left:110%}to{left:110%}}.app-shell .hd-strip{border-bottom:1px solid #0000001f}.login-brand .hd-layer{opacity:1;z-index:1;position:absolute}html[data-holiday-intensity=vua] .login-brand,html[data-holiday-intensity=dam] .login-brand{background:linear-gradient(150deg, var(--holiday-from) 0%, var(--holiday-via) 54%, var(--holiday-to) 112%);background-size:220% 220%}:root[data-theme=dark][data-holiday-intensity=vua] .login-brand,:root[data-theme=dark][data-holiday-intensity=dam] .login-brand{background:linear-gradient(150deg, color-mix(in oklab, var(--holiday-from) 46%, #07090f) 0%, color-mix(in oklab, var(--holiday-via) 46%, #07090f) 54%, color-mix(in oklab, var(--holiday-to) 46%, #07090f) 112%);background-size:220% 220%}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-holiday-intensity=vua] .login-brand,:root:not([data-theme=light])[data-holiday-intensity=dam] .login-brand{background:linear-gradient(150deg, color-mix(in oklab, var(--holiday-from) 46%, #07090f) 0%, color-mix(in oklab, var(--holiday-via) 46%, #07090f) 54%, color-mix(in oklab, var(--holiday-to) 46%, #07090f) 112%);background-size:220% 220%}}html[data-holiday]:not([data-holiday=none]) .login-balloons,html[data-holiday]:not([data-holiday=none]) .login-icons,html[data-holiday-intensity=vua] .login-balloons,html[data-holiday-intensity=vua] .login-icons,html[data-holiday-intensity=dam] .login-balloons,html[data-holiday-intensity=dam] .login-icons{display:none}html[data-holiday-intensity=vua] .login-screen .btn--primary,html[data-holiday-intensity=dam] .login-screen .btn--primary{background:linear-gradient(120deg, var(--holiday-from), var(--holiday-via) 60%, var(--holiday-to));color:var(--holiday-ink)}.hd-card-swatch{border-radius:var(--radius-sm);border:1px solid var(--line);height:62px;position:relative;overflow:hidden}.hd-card-swatch:after{content:"";background:linear-gradient(120deg, var(--hd-from) 0%, var(--hd-via) 54%, var(--hd-to) 100%);position:absolute;inset:0}.hd-swatch-row{flex-wrap:wrap;gap:10px;display:flex}.hd-swatch-field{flex:130px;min-width:130px}.hd-swatch-field input[type=color]{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);width:100%;height:38px;padding:3px}.hd-campaign-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.hd-campaign-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:9px;padding:12px;display:flex}.hd-campaign-card--off{opacity:.58}.hd-campaign-name{align-items:center;gap:7px;font-size:13.5px;font-weight:700;display:flex}.hd-campaign-meta{color:var(--muted);flex-wrap:wrap;gap:4px 10px;font-size:11.5px;display:flex}.hd-campaign-actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.plan-period{align-items:center;gap:6px;display:flex}.plan-period-label{white-space:nowrap;padding:0 4px;font-size:13px;font-weight:700}.plan-period-label em{color:var(--muted);font-style:normal;font-weight:500}.plan-table th.plan-group{text-align:center;border-bottom:2px solid var(--line);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px}.plan-table th.plan-group.is-in{border-bottom-color:color-mix(in oklab, var(--good) 60%, var(--line))}.plan-table th.plan-group.is-out{border-bottom-color:color-mix(in oklab, var(--critical) 55%, var(--line))}.plan-table tfoot td,.plan-lines tfoot td{border-top:2px solid var(--line);background:var(--surface-2);padding:11px 15px;font-weight:700}.plan-strong{font-weight:700}.plan-pl.is-pos{color:var(--good)}.plan-pl.is-neg{color:var(--critical)}.plan-pct{border-radius:var(--radius-pill);color:var(--muted);background:var(--surface-2);margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700}.plan-empty{color:var(--muted);text-align:center;font-size:12.5px;padding:18px!important}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}@media (max-width:1180px){.plan-grid{grid-template-columns:1fr}}.plan-card .card-head h3{align-items:center;gap:8px;display:flex}.plan-dot{border-radius:50%;flex:none;width:9px;height:9px}.plan-dot.is-in{background:var(--good)}.plan-dot.is-out{background:var(--critical)}.plan-title{font-weight:600}.plan-note{color:var(--muted);margin-top:2px;font-size:11.5px}.plan-chip{margin-top:4px;font-size:10.5px}.plan-team{color:var(--muted);white-space:nowrap;font-size:12.5px}.plan-settled td{opacity:.6}.plan-settled .plan-title{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.plan-actions{white-space:nowrap;text-align:right}.plan-actions>*{vertical-align:middle;margin-left:4px;display:inline-flex}.plan-del{color:var(--critical)}.plan-editing td{background:var(--surface-2)}.plan-form{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) minmax(0,1.1fr);align-items:center;gap:8px;display:grid}.plan-form input,.plan-form select{width:100%;min-width:0}.plan-form-actions{justify-content:flex-end;gap:6px;display:flex}.plan-form--add{border-top:1px dashed var(--line);padding:14px 18px}@media (max-width:640px){.plan-form{grid-template-columns:1fr}.plan-form input[name=note]{grid-column:auto}.plan-form-actions{justify-content:stretch}.plan-form-actions .btn{flex:1}}.mp{flex:none;position:relative}.mp-trigger{text-align:left;align-items:center;gap:8px;max-width:260px;display:inline-flex;position:relative}.mp-trigger.is-active{border-color:var(--accent);background:var(--accent-soft)}.mp-trigger-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mp-badge{border-radius:var(--radius-pill);background:var(--accent);color:#fff;flex:none;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;display:inline-grid}.mp-panel{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);width:320px;max-width:calc(100vw - 32px);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.mp-search{border-bottom:1px solid var(--line-soft);color:var(--muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.mp-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:2px 0;font-size:13px}.mp-list{max-height:320px;margin:0;padding:6px;list-style:none;overflow-y:auto}.mp-children{border-left:1.5px solid var(--line-soft);margin:0 0 2px 15px;padding:0 0 0 22px;list-style:none}.mp-row{border-radius:var(--radius-xs);align-items:center;gap:2px;display:flex}.mp-row:hover{background:var(--surface-2)}.mp-row.is-on{background:var(--accent-soft)}.mp-row.is-implied{opacity:.7}.mp-expand,.mp-expand-gap{flex:none;width:24px;height:24px}.mp-expand{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;transition:transform .15s;display:grid}.mp-expand:hover{background:var(--line-soft);color:var(--ink)}.mp-expand.is-open{transform:rotate(90deg)}.mp-option{text-align:left;min-width:0;color:var(--ink);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:7px 8px;font-size:13px;display:flex}.mp-option:disabled{cursor:default}.mp-check{border:1.5px solid var(--line);color:#fff;background:var(--surface);border-radius:5px;flex:none;place-items:center;width:16px;height:16px;display:grid}.mp-check.is-on{background:var(--accent);border-color:var(--accent)}.mp-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mp-sub{color:var(--muted);flex:none;font-size:11px}.mp-count{border-radius:var(--radius-pill);background:var(--surface-2);min-width:22px;color:var(--muted);text-align:center;flex:none;padding:1px 7px;font-size:11px;font-weight:700}.mp-row.is-on .mp-count{background:var(--surface);color:var(--accent)}.mp-empty{color:var(--muted);text-align:center;padding:14px;font-size:12.5px}.mp-foot{border-top:1px solid var(--line-soft);background:var(--surface-2);align-items:center;gap:8px;padding:8px 10px;display:flex}.mp-foot-count{color:var(--muted);text-align:center;flex:1;font-size:12px}@media (max-width:640px){.mp-panel{width:auto;max-width:none;position:fixed;inset:auto 16px 16px}.mp-list{max-height:55vh}}.flow-toggle--neutral .flow-toggle-opt.is-on{border-color:color-mix(in oklab, var(--accent) 45%, var(--line))}.flow-toggle--neutral .flow-toggle-opt.is-on b{color:var(--accent)}.payee-card{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.payee-card--warn{border-color:color-mix(in oklab, var(--warning) 50%, var(--line));background:var(--warning-soft)}.payee-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.payee-card-head .sub{font-size:12px}.payee-card-bank{grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:13px;display:grid}.payee-card-bank dt{color:var(--muted)}.payee-card-bank dd{margin:0;font-weight:600}.payee-card-bank .mono,.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.pay-verify{margin:4px 0 2px}.plan-form{grid-template-columns:minmax(0,2fr) minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,1.4fr);align-items:end}.plan-form-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;grid-column:1/-1;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.plan-field{border:0;flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;display:flex}.plan-field>span{color:var(--muted);font-size:11.5px;font-weight:600}.plan-field input,.plan-field .searchable-select{width:100%}.plan-field--note{grid-column:1/4}.plan-form input[name=note]{grid-column:auto}.plan-check{text-align:center;width:34px}.plan-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.plan-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.plan-chips .plan-chip{margin-top:0}.plan-chip--so{background:var(--accent-soft);color:var(--accent)}.plan-bulk{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;display:flex}.plan-bulk .sub{font-size:12px}.plan-clone{margin-bottom:18px}.plan-clone summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;list-style:none;display:flex}.plan-clone summary::-webkit-details-marker{display:none}.plan-clone summary svg{color:var(--accent)}.plan-clone summary .sub{flex-basis:100%;margin-left:24px;font-size:12.5px}.plan-clone-form{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.6fr);align-items:end;gap:14px;padding:4px 18px 18px;display:grid}.plan-clone-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:14px;display:flex}.plan-clone-actions .sub{flex:1;min-width:240px;font-size:12px}.seg{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.seg-opt{cursor:pointer;flex:auto;position:relative}.seg-opt input{opacity:0;pointer-events:none;position:absolute}.seg-opt span{text-align:center;border-radius:var(--radius-xs);color:var(--muted);transition:background var(--t-fast) ease, color var(--t-fast) ease;padding:7px 12px;font-size:12.5px;font-weight:600;display:block}.seg-opt:hover span{color:var(--ink)}.seg-opt input:checked+span{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px color-mix(in oklab, var(--ink) 12%, transparent)}.seg-opt input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}@media (max-width:900px){.plan-form,.plan-clone-form{grid-template-columns:1fr}.plan-field--note{grid-column:auto}}.alloc-section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.alloc-rule{flex-direction:column;gap:16px;display:flex}.alloc-modes{background:var(--surface-2);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;display:grid}.alloc-mode{cursor:pointer;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:3px;padding:10px 11px;display:flex;position:relative}.alloc-mode input{opacity:0;pointer-events:none;position:absolute}.alloc-mode b{color:var(--muted);font-size:13px}.alloc-mode span{color:var(--faint);font-size:11.5px;line-height:1.4}.alloc-mode:hover b{color:var(--ink)}.alloc-mode.is-on{background:var(--surface);border-color:color-mix(in oklab, var(--accent) 45%, var(--line));box-shadow:0 1px 3px color-mix(in oklab, var(--ink) 10%, transparent)}.alloc-mode.is-on b{color:var(--accent)}.alloc-mode.is-on span{color:var(--muted)}.alloc-note{color:var(--ink-soft);background:var(--warning-soft);border-radius:10px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.55}.alloc-step{border:1px solid var(--line-soft);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.alloc-step-head{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.alloc-step-head .seg{margin-left:auto}.alloc-step-no{color:#fff;background:var(--accent);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.alloc-rows{flex-direction:column;gap:8px;display:flex}.alloc-row{align-items:center;gap:8px;display:flex}.alloc-row-team{flex:1;min-width:0}.alloc-pct{flex:none;align-items:center;gap:4px;display:flex}.alloc-pct input{text-align:right;width:76px}.alloc-pct span{color:var(--muted);font-size:12px}.alloc-share{text-align:right;width:96px;color:var(--muted);flex:none;font-size:12.5px;font-weight:600}.alloc-rows-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.alloc-total{font-size:12.5px;font-weight:700}.alloc-total.is-ok{color:var(--good)}.alloc-total.is-off{color:var(--critical)}.alloc-people{flex-direction:column;gap:6px;display:flex}.alloc-people .sub{font-size:11.5px}.alloc-warn{color:var(--warning);font-size:12px;font-weight:600}.alloc-apply{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:10px;margin-top:16px;padding:14px;display:flex}.alloc-apply-head{flex-direction:column;gap:3px;font-size:13px;display:flex}.alloc-apply-head .sub{font-size:11.5px;line-height:1.5}.alloc-apply-row{align-items:center;gap:8px;display:flex}.alloc-apply-row .searchable-select{flex:1}.seg--sm .seg-opt span{padding:5px 10px;font-size:12px}.alloc-card-rule{border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent);align-items:flex-start;gap:5px;padding:6px 8px;font-size:11.5px;line-height:1.45;display:flex}.alloc-card-rule svg{flex:none;margin-top:2px}.alloc-card-rule--dynamic{background:var(--warning-soft);color:var(--warning)}.alloc-ledger-note{background:var(--accent-soft);color:var(--ink-soft);border-radius:10px;margin:14px 0 8px;padding:10px 12px;font-size:12.5px;line-height:1.55}.alloc-ledger-note.is-dynamic{background:var(--warning-soft)}@media (max-width:640px){.alloc-modes{grid-template-columns:1fr}}.alloc-note--info{background:var(--accent-soft)}.plan-kpi-head{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 10px;font-size:13.5px;display:flex}.plan-kpi-head .sub{font-size:12.5px}.plan-kpi-head+.kpi-row{margin-bottom:18px}.plan-tag{border-radius:var(--radius-pill);letter-spacing:.05em;text-transform:uppercase;flex:none;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:800;display:inline-flex}.plan-tag--real{background:var(--good-soft);color:var(--good)}.plan-tag--plan{background:var(--accent-soft);color:var(--accent)}.plan-tag--wait{background:var(--warning-soft);color:var(--warning)}.plan-sub{border-top:1px solid var(--line-soft)}.plan-sub:first-of-type{border-top:0}.plan-sub-head{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px 6px;font-size:13px;display:flex}.plan-sub-head .sub{flex-basis:100%;margin-left:0;font-size:11.5px}.plan-sub-link{color:var(--accent);margin-left:auto;font-size:12px;font-weight:600}.plan-sub+.plan-sub .plan-sub-head{padding-top:14px}.plan-equation{color:var(--muted);font-size:12px;line-height:1.6}.plan-equation b{color:var(--ink);font-weight:700}.plan-equation b.is-in{color:var(--good)}.plan-equation b.is-out{color:var(--critical)}.plan-banner{background:var(--warning-soft);color:var(--ink-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.plan-banner svg{color:var(--warning);flex:none}.plan-banner span{flex:1;min-width:240px}.plan-team-filter{min-width:190px}.plan-book{overflow:hidden}.plan-book-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.plan-book-tab{color:var(--muted);transition:background var(--t-fast) ease, color var(--t-fast) ease;border-bottom:3px solid #0000;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:-1px;padding:16px 22px 14px;text-decoration:none;display:flex}.plan-book-tab+.plan-book-tab{border-left:1px solid var(--line-soft)}.plan-book-tab span{font-family:var(--font-display);font-size:15px;font-weight:650}.plan-book-tab b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:15px;font-weight:600}.plan-book-tab:hover{background:var(--surface-2);color:var(--ink)}.plan-book-tab.is-on{color:var(--ink);background:var(--surface)}.plan-book-tab--out.is-on{border-bottom-color:var(--critical)}.plan-book-tab--out.is-on b{color:var(--critical)}.plan-book-tab--in.is-on{border-bottom-color:var(--good)}.plan-book-tab--in.is-on b{color:var(--good)}.plan-eq{--eq:var(--critical);align-items:stretch;gap:14px;padding:18px 22px 6px;display:flex}.plan-eq--in{--eq:var(--good)}.plan-eq-bar{flex:1;gap:4px;min-width:0;display:flex}.plan-eq-seg{min-width:0;color:var(--ink);transition:transform var(--t-fast) ease, box-shadow var(--t-fast) ease;border:1.5px solid #0000;border-radius:10px;flex-direction:column;flex-basis:0;justify-content:space-between;gap:6px;padding:10px 12px;text-decoration:none;display:flex;position:relative}.plan-eq-seg--real{background:color-mix(in oklab, var(--eq) 16%, var(--surface));border-color:color-mix(in oklab, var(--eq) 38%, transparent)}.plan-eq-seg--wait{background:repeating-linear-gradient(135deg, color-mix(in oklab, var(--warning) 18%, var(--surface)) 0 7px, var(--surface) 7px 12px);border-color:color-mix(in oklab, var(--warning) 45%, transparent)}.plan-eq-seg--plan{background:var(--surface);border:1.5px dashed color-mix(in oklab, var(--accent) 55%, var(--line))}.plan-eq-seg:hover{transform:translateY(-1px)}.plan-eq-seg.is-on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px color-mix(in oklab, var(--ink) 70%, transparent)}.plan-eq-name{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:650;overflow:hidden}.plan-eq-name em{color:var(--muted);margin-left:4px;font-style:normal;font-weight:500}.plan-eq-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.plan-eq-pct{color:var(--muted);font-size:10.5px;font-weight:700;position:absolute;top:9px;right:10px}.plan-eq-total{border-left:2px solid var(--ink);flex-direction:column;flex:none;justify-content:center;gap:4px;min-width:150px;padding-left:16px;display:flex}.plan-eq-total span{color:var(--muted);font-size:12px;font-weight:600}.plan-eq-total b{font-family:var(--font-mono);color:var(--eq);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:19px;font-weight:700}.plan-book-body{padding:8px 0 0}.plan-list-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding:12px 22px 10px;display:flex}.plan-list-title{flex-direction:column;gap:3px;min-width:0;display:flex}.plan-list-title h4{font-family:var(--font-display);margin:0;font-size:16px;font-weight:650}.plan-list-title .sub{font-size:12px}.plan-crumb{color:var(--accent);align-items:center;gap:5px;margin-bottom:2px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.seg-link{border-radius:var(--radius-xs);color:var(--muted);padding:5px 11px;font-size:12px;font-weight:600;text-decoration:none;display:block}.seg-link:hover{color:var(--ink)}.seg-link.is-on{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px color-mix(in oklab, var(--ink) 12%, transparent)}.plan-rank td,.plan-lines td{vertical-align:middle}.plan-rank-name{color:var(--ink);font-weight:650;text-decoration:none}.plan-rank-name:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.plan-rank-bar-col{width:38%}.plan-rank-bar{vertical-align:middle;border-radius:var(--radius-pill);background:var(--surface-2);width:calc(100% - 48px);height:8px;display:inline-block;overflow:hidden}.plan-rank-bar i{border-radius:inherit;background:color-mix(in oklab, var(--critical) 70%, var(--surface));height:100%;display:block}.plan-book--in .plan-rank-bar i{background:color-mix(in oklab, var(--good) 70%, var(--surface))}.plan-rank-share{text-align:right;width:44px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:700;display:inline-block}.plan-date{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.plan-empty--block{text-align:center;border-top:1px solid var(--line-soft);padding:28px 22px!important}.plan-add{border:1px dashed color-mix(in oklab, var(--accent) 45%, var(--line));border-radius:12px;margin:14px 22px 20px}.plan-add summary{cursor:pointer;color:var(--accent);align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:650;list-style:none;display:flex}.plan-add summary::-webkit-details-marker{display:none}.plan-add[open] summary{border-bottom:1px dashed var(--line)}.plan-add .plan-form{padding:14px 16px}.plan-book .pagination,.plan-book .plan-bulk{padding:10px 22px}@media (max-width:760px){.plan-eq{flex-direction:column;padding:14px 16px 4px}.plan-eq-bar{flex-direction:column}.plan-eq-seg{flex-direction:row;align-items:center;flex-grow:1!important}.plan-eq-pct{position:static}.plan-eq-total{border-left:0;border-top:2px solid var(--ink);flex-direction:row;justify-content:space-between;align-items:baseline;padding:10px 0 0}.plan-book-tab{padding:12px 14px}.plan-list-head,.plan-book .pagination,.plan-book .plan-bulk{padding-left:16px;padding-right:16px}.plan-rank-bar-col{display:none}.plan-add{margin:12px 16px 16px}}@media (prefers-reduced-motion:reduce){.plan-eq-seg{transition:none}.plan-eq-seg:hover{transform:none}}.plan-rank tfoot td{border-top:2px solid var(--line);background:var(--surface-2);padding:11px 15px;font-size:12.5px;font-weight:700}.pay-category{margin:4px 0 2px}.flow{flex-direction:column;gap:12px;margin:0;display:flex}.flow-track{background:var(--surface-2);border-radius:7px;gap:3px;height:14px;display:flex;overflow:hidden}.flow--compact .flow-track{border-radius:5px;gap:2px;height:9px}.flow-track{animation:.9s cubic-bezier(.3,.7,.2,1) .12s both flow-sweep}.flow-seg{flex-basis:0;min-width:3px;display:block}.flow-seg--net{background:var(--accent)}.flow-seg--dim1{background:color-mix(in oklab, var(--ink-soft) 70%, var(--surface))}.flow-seg--dim2{background:color-mix(in oklab, var(--ink-soft) 45%, var(--surface))}.flow-seg--dim3{background:color-mix(in oklab, var(--ink-soft) 28%, var(--surface))}.flow-seg--kept{background:repeating-linear-gradient(135deg, color-mix(in oklab, var(--critical) 55%, var(--surface)) 0 3px, color-mix(in oklab, var(--critical) 18%, var(--surface)) 3px 6px)}@keyframes flow-sweep{0%{clip-path:inset(0 100% 0 0 round 7px)}to{clip-path:inset(0 round 7px)}}.flow-legend{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px 20px;font-size:12.5px;display:flex}.flow-key{align-items:baseline;gap:7px;display:inline-flex}.flow-key b{color:var(--ink);font-size:12.5px;font-weight:600}.flow-key:first-child b{color:var(--accent-ink);font-weight:700}.flow-dot{border-radius:3px;flex:none;width:9px;height:9px;display:inline-block;transform:translateY(1px)}.flow-caption{color:var(--faint);flex-basis:100%;font-size:11.5px}.flow--compact .flow-legend{gap:4px 16px;font-size:12px}.payroll-months{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft);scrollbar-width:thin;gap:4px;width:max-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.payroll-months .seg-link{white-space:nowrap}.payroll-hero{flex-direction:column;gap:18px;padding:22px 24px 0;display:flex}.payroll-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.payroll-hero-label{color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600}.payroll-hero-value{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);margin:0;font-size:clamp(30px,4.2vw,44px);font-weight:700;line-height:1}.payroll-hero-side{gap:28px;margin:0;display:flex}.payroll-hero-side div{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.payroll-hero-side dt{color:var(--muted);font-size:12px;font-weight:600}.payroll-hero-side dd{color:var(--ink);margin:0;font-size:17px;font-weight:600}.payroll-steps{border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,minmax(0,1fr));margin:4px -24px 0;padding:0;list-style:none;display:grid}.payroll-step{gap:12px;min-width:0;padding:16px 24px 18px;display:flex}.payroll-step+.payroll-step{border-left:1px solid var(--line-soft)}.payroll-step-no{width:24px;height:24px;color:var(--muted);border:1.5px solid var(--line);background:var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.payroll-step.is-done .payroll-step-no{background:var(--accent);border-color:var(--accent);color:#fff}.payroll-step-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.payroll-step-body h4{margin:2px 0 0;font-size:14px}.payroll-step-body p{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:12.5px;line-height:1.55}.payroll-step-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.payroll-post-form{flex-direction:column;gap:12px;padding-top:4px;display:flex}.payroll-post-form>.btn{align-self:flex-start}.payroll-post-form--alt{border-top:1px dashed var(--line);margin-top:14px;padding-top:14px}.payroll-danger{justify-content:flex-end;display:flex}.payroll-danger .btn{color:var(--muted)}.payroll-danger .btn:hover{color:var(--critical)}@media (max-width:980px){.payroll-steps{grid-template-columns:1fr}.payroll-step+.payroll-step{border-left:none;border-top:1px solid var(--line-soft)}}.reveal .btn svg{transition:transform .22s}.reveal.is-open .btn svg{transform:rotate(90deg)}.reveal-panel{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1),opacity .2s;display:grid}.reveal.is-open .reveal-panel{opacity:1;grid-template-rows:1fr}.reveal-inner{min-height:0;overflow:hidden}.reveal.is-open .reveal-inner{padding-top:10px;overflow:visible}.payroll-bench{grid-template-columns:260px minmax(0,1fr);display:grid}.payroll-teams{border-right:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:14px 10px;display:flex}.pt-item{text-align:left;cursor:pointer;color:var(--ink);font:inherit;background:0 0;border:none;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name count""money money""bar bar";gap:2px 8px;padding:8px 10px;transition:background .15s;display:grid}.pt-item:hover{background:var(--surface-2)}.pt-item.is-on{background:var(--accent-soft)}.pt-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pt-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.pt-item.is-on .pt-name{color:var(--accent-ink)}.pt-item.is-warn .pt-name{color:var(--warning)}.pt-count{color:var(--faint);font-variant-numeric:tabular-nums;grid-area:count;font-size:11.5px;font-weight:700}.pt-money{color:var(--muted);grid-area:money;font-size:11.5px}.pt-bar{background:var(--surface-2);border-radius:2px;grid-area:bar;height:4px;margin-top:3px;overflow:hidden}.pt-bar i{border-radius:inherit;background:color-mix(in oklab, var(--accent) 55%, var(--surface));height:100%;transition:width .3s;display:block}.pt-item.is-on .pt-bar i{background:var(--accent)}.pt-note{color:var(--faint);margin:10px 10px 0;font-size:11px;line-height:1.5}.payroll-list{min-width:0}.payroll-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;display:flex}.payroll-toolbar .filter-search{flex:240px;max-width:360px}.payroll-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12.5px;font-weight:600}@media (max-width:1100px){.payroll-bench{grid-template-columns:1fr}.payroll-teams{border-right:none;border-bottom:1px solid var(--line-soft);flex-direction:row;padding:10px 12px;overflow-x:auto}.pt-item{flex:none;min-width:150px}.pt-note{display:none}}.sort-btn{all:unset;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border-radius:4px;align-items:center;gap:5px;display:inline-flex}.sort-btn:hover,.sort-btn.is-on{color:var(--accent-ink)}.sort-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sort-caret{opacity:.45;font-size:9px}.sort-btn.is-on .sort-caret{opacity:1}th.num .sort-btn{flex-direction:row-reverse}.payroll-table tbody tr{transition:background .12s}.payroll-table tbody tr.is-open{background:var(--accent-soft)}.payroll-table tbody tr.is-open td:first-child{box-shadow:inset 3px 0 0 var(--accent)}tr.payroll-row--warn td:first-child{box-shadow:inset 3px 0 0 var(--warning)}.payroll-name{all:unset;cursor:pointer;color:var(--ink);font-weight:600}.payroll-name:hover{color:var(--accent-ink)}.payroll-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.payroll-flag{margin-top:4px}.payroll-net{color:var(--ink);font-weight:700}.payroll-table tfoot th,.payroll-table tfoot td{border-top:1.5px solid var(--line);background:var(--surface-2);padding:13px 15px;font-weight:700}.payroll-table tfoot th{text-align:left;font-size:12.5px}.payslip{flex-direction:column;gap:18px;display:flex}.payslip-sheet{padding:24px 26px}.payslip-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.payslip-month{color:var(--muted);margin:0 0 4px;font-size:12.5px;font-weight:600}.payslip-name{letter-spacing:-.02em;margin:0 0 6px;font-size:22px}.payslip-role{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:12.5px;display:flex}.payslip-code{background:var(--surface-2);color:var(--ink-soft);border-radius:6px;padding:2px 7px;font-size:11.5px}.payslip-net{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.payslip-net span{color:var(--muted);font-size:12.5px;font-weight:600}.payslip-net b{font-family:var(--font-display);letter-spacing:-.03em;color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.05}.payslip-grid{border-top:1px solid var(--line-soft);grid-template-columns:1fr 1fr;gap:18px 30px;padding-top:4px;display:grid}.payslip-group{min-width:0}.payslip-group-title{color:var(--ink);font-size:13px;font-weight:700;font-family:var(--font-display);margin:12px 0 2px}.payslip-group .kv-row span:last-child{font-variant-numeric:tabular-nums}.payslip-total{border-top:1px solid var(--line);margin-top:2px;border-bottom:none!important}.payslip-total span{color:var(--ink)!important;font-weight:700!important}.payslip-none{color:var(--faint);padding:7px 0;font-size:12.5px}.payslip-foot{color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:11.5px;display:flex}@media (max-width:760px){.payslip-grid{grid-template-columns:1fr}.payslip-net{align-items:flex-start}.payslip-sheet{padding:18px}.payroll-hero{padding:18px 16px 0}.payroll-hero-side div{align-items:flex-start}.payroll-steps{margin:4px -16px 0}.payroll-step{padding:14px 16px 16px}}.drawer--payslip{width:720px}.drawer--payslip .drawer-head{align-items:center;padding:14px 20px}.drawer--payslip .drawer-body{animation:.28s cubic-bezier(.2,.8,.2,1) both payslip-in}@keyframes payslip-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.drawer--payslip.open{animation:.26s cubic-bezier(.2,.8,.2,1) drawer-slide}@keyframes drawer-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.payslip-nav{align-items:center;gap:8px;display:flex}.payslip-nav-pos{color:var(--muted);text-align:center;min-width:52px;font-size:12px}.icon-btn.is-disabled{opacity:.35;cursor:default;pointer-events:none}.payslip-admin{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:14px;display:flex}.payslip-admin h4{color:var(--muted);margin:0;font-size:13px}.payslip-admin-row{align-items:flex-end;gap:10px;display:flex}.payslip-admin-row .field{flex:1;min-width:0}.payslip-admin-note{margin:0;font-size:12.5px}@media (prefers-reduced-motion:reduce){.flow-track,.drawer--payslip.open,.drawer--payslip .drawer-body{animation:none}.reveal-panel,.reveal .btn svg,.pt-bar i{transition:none}}dialog{color:inherit}dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(4px)}@media (prefers-reduced-motion:no-preference){dialog[open]::backdrop{animation:.2s backdropIn}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}dialog.drawer{border:0;border-left:1px solid var(--line);max-width:96vw;height:100dvh;max-height:none;margin:0;padding:0;inset:0 0 0 auto}dialog.drawer.open{transform:none}@media (prefers-reduced-motion:no-preference){dialog.drawer[open]{animation:drawerIn .26s var(--ease-out)}}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:none}}@media (max-width:640px){dialog.drawer{border-left:0;width:100vw;max-width:100vw}}dialog.modal-panel{overscroll-behavior:contain;width:calc(100% - 32px);height:fit-content;max-height:calc(100dvh - 64px);margin:32px auto;padding:0;position:fixed;inset:0;overflow-y:auto}@media (max-width:640px){dialog.modal-panel{max-height:calc(100dvh - 24px);margin:12px auto}}.confirm-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);width:min(440px,100vw - 32px);margin:auto;padding:0}@media (prefers-reduced-motion:no-preference){.confirm-dialog[open]{animation:modalIn .22s var(--ease-out)}}.confirm-dialog-body{padding:22px 24px 6px}.confirm-dialog-title{letter-spacing:-.01em;margin:0 0 8px;font-size:17px}.confirm-dialog-msg{color:var(--ink-soft);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.6}.confirm-dialog-actions{justify-content:flex-end;gap:8px;padding:18px 24px 20px;display:flex}.confirm-dialog--danger .confirm-dialog-title{color:var(--critical)}.btn--danger-solid{background:var(--critical);border-color:var(--critical);color:var(--surface)}.btn--danger-solid:hover{background:color-mix(in oklab, var(--critical) 86%, #000);border-color:#0000}.stack{flex-direction:column;gap:16px;display:flex}.stack--sm{gap:10px}.stack--xs{gap:6px}.stack>.btn,.stack>button{align-self:flex-start}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meta-note{color:var(--muted);font-size:12px;line-height:1.5}.meta-note--xs{font-size:11.5px}.section-divider{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.link{color:var(--accent-ink);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.num-good{color:var(--good)}.num-bad{color:var(--critical)}.callout{border-radius:var(--radius-xs);background:var(--surface-2);color:var(--ink-soft);border-left:3px solid var(--line);padding:9px 12px;font-size:12.5px;line-height:1.6}.callout--warning{background:var(--warning-soft);color:var(--ink);border-left-color:var(--warning)}.callout--info{background:var(--accent-soft);color:var(--ink);border-left-color:var(--accent)}.callout--critical{background:var(--critical-soft);color:var(--ink);border-left-color:var(--critical)}.status-card{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:440px;margin:0 auto;padding:32px;display:flex}.status-card h1{font-size:20px}.status-card .sub{line-height:1.6}.status-card .btn{margin-top:10px}.toast-stack[popover]{color:inherit;background:0 0;border:0;margin:0;padding:0;inset:auto 22px 22px auto;overflow:visible}@media (max-width:980px){.sidebar{visibility:hidden;transition:transform var(--t) var(--ease-out), visibility 0s linear var(--t)}.sidebar.is-mobile-open{visibility:visible;transition:transform var(--t) var(--ease-out), visibility 0s}}.data-table tbody tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:0}.searchable-select{position:relative}.searchable-select-required{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:12px}.status-card-icon{border-radius:var(--radius);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:4px;display:flex}.status-card-icon--critical{background:var(--critical-soft);color:var(--critical)}.status-card-icon--warning{background:var(--warning-soft);color:var(--warning)}.status-card-icon--info{background:var(--accent-soft);color:var(--accent)}.empty-state-title{margin:0;font-size:15.5px}.status-screen{padding:60px 16px}.status-card-form{width:100%;margin-top:10px}dialog.lightbox{background:#000000d1;border:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;display:flex;inset:0}dialog.lightbox::backdrop{background:0 0}.lightbox-bar{align-self:flex-end;align-items:center;gap:8px;display:flex}.lightbox-name{color:#ffffffc7;margin-right:6px;font-size:12.5px}.lightbox-stage{align-items:center;gap:16px;min-width:0;max-width:100%;display:flex}.lightbox-img{object-fit:contain;background:#fff;border-radius:10px;min-width:0;max-width:100%;max-height:calc(100dvh - 120px)}.lightbox-hint{color:#fff9;font-size:12px}dialog.cmd-overlay{border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0}dialog.cmd-overlay::backdrop{background:0 0}.plain-list{margin:0;padding:0;list-style:none}.nowrap{white-space:nowrap}.fieldset-reset{border:0;min-width:0;margin:0;padding:0}.page-block{margin-bottom:18px}.kv-row .sub,.kv-row .meta-note{font-weight:400}.kv-row--top{align-items:flex-start}.card-body--flush-top{padding-top:0}.card-body--flush{padding:6px 0 4px}.cell-strong{font-weight:600}.field-caption{color:var(--muted);font-size:12px;font-weight:600}.form-error--block{margin-top:6px;font-size:12px;display:block}.callout--block{margin:0 0 16px}.num-warn{color:var(--warning)}.num-serious{color:var(--serious)}.num-cat4{color:var(--cat-4)}.meta-note--warning{color:var(--warning)}details.meta-note>summary{cursor:pointer;color:var(--accent-ink);font-weight:600}.chart-meta b.num-good{color:var(--good)}.chart-meta b.num-bad{color:var(--critical)}.chart-meta b.num-cat4{color:var(--cat-4)}table.data-table tfoot th,table.data-table tfoot td{border-top:2px solid var(--line);background:var(--surface-2);padding:11px 15px;font-weight:700}table.data-table tfoot th{text-align:left;font-size:12.5px}.color-swatch{border:1px solid var(--line);cursor:pointer;background:var(--sw);border-radius:6px;width:24px;height:24px;padding:0}.color-swatch[aria-pressed=true]{border:2px solid var(--ink)}.room-slot-mine{border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700}@media (max-width:600px){.data-table--ledger th:nth-child(5),.data-table--ledger td:nth-child(5),.data-table--ledger th:nth-child(6),.data-table--ledger td:nth-child(6),.data-table--ledger th:nth-child(9),.data-table--ledger td:nth-child(9){display:none}}.ai-history-toggle,.ai-history-close{display:none}@media (max-width:820px){.ai-history-toggle{display:inline-flex}.ai-chat-page[data-history-open] .ai-history{inset:var(--topbar-h) 0 0 0;z-index:40;border-width:1px 0 0;border-radius:0;width:auto;display:flex;position:fixed}.ai-chat-page[data-history-open] .ai-history-close{margin-bottom:8px;margin-left:auto;display:flex}}@media (hover:none){.ai-history-tools{opacity:1}}.page-transition section[id]{scroll-margin-top:calc(var(--topbar-h) + 12px)}.seg-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}dialog:not([open]){display:none!important}@media (max-width:640px){.toast-stack[popover]{inset:auto 12px 12px}}.impersonation-bar{color:var(--ink);background:var(--warning-soft);border-bottom:1px solid color-mix(in oklab, var(--warning) 40%, var(--line));flex-wrap:wrap;align-items:center;gap:10px;padding:8px 26px;font-size:13px;line-height:1.5;display:flex}.impersonation-bar>svg{color:var(--warning);flex:none}.impersonation-bar-text{flex:260px;min-width:0}.impersonation-bar form{margin-left:auto}@media (max-width:980px){.impersonation-bar{padding:8px 16px}}.section-label>span{order:0}.section-label:after{order:1}.section-label-link{text-transform:none;letter-spacing:0;color:var(--accent);order:2;align-items:center;gap:5px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.section-label-link:hover{text-decoration:underline}.card-head-link{color:var(--accent);white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.card-head-link:hover{text-decoration:underline}.attn{margin-bottom:16px}.attn .card-head{align-items:center}.attn-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;padding-top:13px;display:grid}.attn-item{--attn-tint:var(--accent);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);transition:border-color var(--t) ease, background-color var(--t) ease, transform var(--t) var(--ease-out);align-items:center;gap:11px;padding:11px 34px 11px 12px;text-decoration:none;display:flex;position:relative}.attn-item.is-active{border-color:color-mix(in oklab, var(--attn-tint) 34%, var(--line));background:color-mix(in oklab, var(--attn-tint) 7%, var(--surface))}.attn-item.is-link:hover{border-color:color-mix(in oklab, var(--attn-tint) 55%, var(--line));transform:translateY(-2px)}.attn-item.is-link:focus-visible{outline:2px solid var(--attn-tint);outline-offset:2px}.attn-icon{width:32px;height:32px;color:var(--attn-tint);background:color-mix(in oklab, var(--attn-tint) 13%, var(--surface));border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.attn-text{flex-direction:column;min-width:0;display:flex}.attn-value{font-family:var(--font-display);color:var(--attn-tint);font-variant-numeric:tabular-nums;font-size:18px;font-weight:750;line-height:1.15}.attn-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.attn-go{color:var(--faint);opacity:.7;transition:transform var(--t) var(--ease-out), opacity var(--t) ease;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.attn-item.is-link:hover .attn-go{opacity:1;transform:translate(3px,-50%)}.attn-item.is-idle .attn-icon{color:var(--faint);background:var(--surface-2)}.attn-item.is-idle .attn-value{color:var(--faint)}@media (max-width:520px){.attn-grid{grid-template-columns:1fr;gap:8px}.attn-item{padding:9px 32px 9px 10px}}.pnl-card{margin-bottom:16px}.pnl-card-body{padding:12px 0 0}.pnl-table{min-width:880px}.pnl-table tbody th,.pnl-table tfoot th{text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:11px 15px;font-weight:600}.pnl-table tfoot td{padding:12px 15px}.pnl-name{text-overflow:ellipsis;align-items:center;gap:8px;max-width:280px;display:inline-flex;overflow:hidden}.pnl-name>svg{color:var(--faint);flex:none}.pnl-name--child{padding-left:14px}.pnl-name--child.is-direct{color:var(--muted);font-style:italic}.pnl-table td.pnl-cost{color:var(--ink-soft)}.pnl-table .pnl-profit{font-weight:700}.pnl-table .pnl-profit.is-good{color:var(--good)}.pnl-table .pnl-profit.is-bad{color:var(--critical)}.pnl-table tr.pnl-group>*{background:color-mix(in oklab, var(--accent) 6%, var(--surface));font-weight:700}.pnl-table tr.pnl-group th .pnl-name{color:var(--accent)}.pnl-table tr.pnl-group th .pnl-name>svg{color:currentColor}.pnl-table tr.pnl-group--unassigned th .pnl-name{color:var(--serious)}.pnl-table tr.pnl-group--common th .pnl-name{color:var(--ink-soft)}.pnl-table tfoot tr.pnl-total>*{background:color-mix(in oklab, var(--accent) 12%, var(--surface));border-top:1px dashed color-mix(in oklab, var(--accent) 45%, var(--line));font-weight:800}.pnl-table tfoot tr.pnl-total .pnl-name{color:var(--accent)}.pnl-margin{border-radius:var(--radius-pill);text-align:center;font-variant-numeric:tabular-nums;min-width:42px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-block}.pnl-margin.is-good{color:var(--good);background:var(--good-soft)}.pnl-margin.is-bad{color:var(--critical);background:var(--critical-soft)}.pnl-note{color:var(--muted);border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px 14px;font-size:12px;display:flex}.pnl-note>span:first-child{flex:420px;max-width:90ch}.pnl-charts{margin-bottom:16px}.pnl-mini{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pnl-mini-top{align-items:center;gap:10px;font-size:12.8px;display:flex}.pnl-mini-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.pnl-mini-top b{font-family:var(--font-mono);white-space:nowrap;font-size:12.5px;font-weight:600}.pnl-mini-bar{border-radius:var(--radius-pill);background:var(--surface-2);height:7px;margin-top:5px;overflow:hidden}.pnl-mini-bar>span{border-radius:inherit;background:color-mix(in oklab, var(--cat-5) 26%, var(--surface));height:100%;display:block}.pnl-mini-bar>span>i{border-radius:inherit;background:var(--good);height:100%;display:block}.pnl-mini li.is-loss .pnl-mini-bar>span{background:color-mix(in oklab, var(--critical) 22%, var(--surface))}.pnl-mini li.is-loss .pnl-mini-bar>span>i{background:var(--critical)}@media print{.sidebar,.topbar,.impersonation-bar,.filter-panel,.actions-row,.hero-popup,.update-bar{display:none!important}.main-col,.content,.page-transition{margin:0!important;padding:0!important;display:block!important}body{background:#fff!important}.card,.kpi-card{break-inside:avoid;box-shadow:none!important}.table-wrap{overflow:visible!important}.pnl-table{min-width:0;font-size:10.5px}}a.filter-pill{text-decoration:none}.pnl-table tbody th,.pnl-table tfoot th{z-index:1;background:var(--surface);position:sticky;left:0}.pnl-table tbody tr:hover th{background:color-mix(in oklab, var(--accent) 10%, var(--surface))}.voucher-return-note{border-radius:var(--radius-sm);background:var(--serious-soft);color:var(--serious);border:1px solid color-mix(in oklab, var(--serious) 28%, var(--line));flex-direction:column;gap:6px;margin:10px 0 2px;padding:11px 13px;font-size:12.8px;line-height:1.5;display:flex}.voucher-return-note span{color:var(--ink);white-space:pre-line;overflow-wrap:anywhere}.voucher-return-note em{color:var(--muted);font-size:12px;font-style:normal}.voucher-return-note .btn{align-self:flex-start}.voucher-return-note--form{margin:0 0 14px}.voucher-return-inline{margin-top:4px;font-size:12px;font-weight:700;display:inline-block}.vflow-step--returned .vflow-dot{background:var(--serious);border-color:var(--serious);color:#fff}.vflow-tag--returned{color:var(--serious);background:color-mix(in oklab, var(--serious) 12%, var(--surface))}.voucher-feedback-section{border-top:1px solid var(--line)}.vfb{border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 5%, var(--surface)), var(--surface) 70%);border:1px solid color-mix(in oklab, var(--accent) 16%, var(--line));flex-direction:column;gap:14px;width:100%;padding:14px;display:flex}.vfb-head{align-items:flex-start;gap:10px;display:flex}.vfb-head-icon{width:32px;height:32px;color:var(--accent);background:color-mix(in oklab, var(--accent) 13%, var(--surface));border:1px solid color-mix(in oklab, var(--accent) 24%, var(--surface));border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.vfb-head-text{min-width:0}.vfb-head h4{color:var(--ink);align-items:center;gap:7px;margin:0;font-size:14px;font-weight:700;display:flex}.vfb-head p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.45}.vfb-count{border-radius:var(--radius-pill);min-width:20px;height:20px;color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface));justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.vfb-list{flex-direction:column;gap:12px;max-height:360px;margin:0;padding:2px 2px 2px 0;list-style:none;display:flex;overflow-y:auto}.vfb-item{align-self:flex-start;align-items:flex-end;gap:8px;max-width:92%;display:flex}.vfb-item.is-mine{flex-direction:row-reverse;align-self:flex-end}.vfb-item .avatar-init{box-shadow:0 0 0 2px var(--surface);margin-bottom:2px}.vfb-bubble{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);border-radius:14px 14px 14px 4px;padding:8px 12px 9px;font-size:13px;line-height:1.5}.vfb-item.is-mine .vfb-bubble{background:color-mix(in oklab, var(--accent) 10%, var(--surface));border-color:color-mix(in oklab, var(--accent) 26%, var(--line));border-radius:14px 14px 4px}.vfb-item.is-return .vfb-bubble{background:var(--serious-soft);border-color:color-mix(in oklab, var(--serious) 30%, var(--line))}.vfb-item.is-resubmit .vfb-bubble{background:var(--good-soft);border-color:color-mix(in oklab, var(--good) 30%, var(--line))}.vfb-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px;font-size:11.5px;display:flex}.vfb-meta b{color:var(--ink);font-size:12.2px;font-weight:700}.vfb-meta time{color:var(--faint);white-space:nowrap;margin-left:auto;padding-left:8px;font-size:11px}.vfb-role{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);padding:0 7px;font-size:10.5px;font-weight:600}.vfb-kind{color:var(--serious);align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:700;display:inline-flex}.vfb-item.is-resubmit .vfb-kind{color:var(--good)}.vfb-text{white-space:pre-line;overflow-wrap:anywhere;color:var(--ink);margin-top:3px}.vfb-empty{text-align:center;border-radius:var(--radius-sm);border:1px dashed color-mix(in oklab, var(--accent) 28%, var(--line));background:color-mix(in oklab, var(--accent) 3%, var(--surface));flex-direction:column;align-items:center;gap:6px;padding:18px 16px;display:flex}.vfb-empty-icon{width:46px;height:46px;color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface));box-shadow:0 0 0 6px color-mix(in oklab, var(--accent) 6%, transparent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.vfb-empty b{color:var(--ink);font-size:13.5px}.vfb-empty p{max-width:46ch;color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.vfb-composer{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease;flex-direction:column;gap:9px;padding:10px 12px;display:flex}.vfb-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-line)}.vfb-composer-row{align-items:flex-start;gap:10px;display:flex}.vfb-composer-row .avatar-init{margin-top:3px}.vfb-composer textarea{resize:none;min-height:38px;max-height:180px;box-shadow:none;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:8px 2px;font-size:13.5px;line-height:1.5;overflow-y:hidden}.vfb-composer textarea:focus{box-shadow:none;outline:0}.vfb-composer textarea::placeholder{white-space:nowrap;text-overflow:ellipsis;color:var(--faint);overflow:hidden}.vfb-chips{flex-wrap:wrap;gap:6px;padding-left:40px;display:flex}.vfb-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);font:inherit;border-radius:var(--radius-pill);cursor:pointer;transition:border-color var(--t-fast) ease, color var(--t-fast) ease, background var(--t-fast) ease;padding:4px 10px;font-size:11.8px}.vfb-chip:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklab, var(--accent) 8%, var(--surface))}.vfb-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vfb-composer-foot{border-top:1px dashed var(--line-soft);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.vfb-hint{color:var(--faint);align-items:center;gap:4px;font-size:11.5px;display:flex}.vfb-hint kbd{font:inherit;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:10.5px;font-weight:600}.vfb-counter{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:8px}.vfb-counter.is-near{color:var(--warning);font-weight:600}.vfb-send{gap:6px}@media (max-width:520px){.vfb{padding:12px}.vfb-item{max-width:100%}.vfb-chips{padding-left:0}.vfb-hint{display:none}.vfb-composer-foot{justify-content:flex-end}}.voucher-cols,.voucher-col-main,.voucher-col-side{display:contents}@media (min-width:1180px){.drawer--wide.drawer--voucher{width:min(1320px,96vw);overflow:hidden}.voucher-cols{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(400px,1fr);min-height:0;display:grid}.voucher-col-main,.voucher-col-side{overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.voucher-col-side{border-left:1px solid var(--line);background:color-mix(in oklab, var(--surface-2) 55%, var(--surface))}.voucher-col-side .drawer-foot{border-top:0;padding-top:18px}.voucher-col-side .voucher-feedback-section,.voucher-col-side .voucher-history-section{border-top:1px solid var(--line)}.voucher-col-main:focus-visible,.voucher-col-side:focus-visible{outline:2px solid var(--accent-soft-line);outline-offset:-2px}}
