*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:IBM Plex Sans,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-4{bottom:1rem}.right-4{right:1rem}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-7{height:1.75rem}.max-h-\[220px\]{max-height:220px}.max-h-\[88vh\]{max-height:88vh}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-20{width:5rem}.w-24{width:6rem}.w-48{width:12rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:var(--r)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:12px}.rounded-md{border-radius:var(--r)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-bad{border-color:var(--bad)}.border-line{border-color:var(--line)}.border-line-2{border-color:var(--line-2)}.border-ok{border-color:var(--ok)}.bg-accent{background-color:var(--accent)}.bg-accent-soft{background-color:var(--accent-soft)}.bg-bad{background-color:var(--bad)}.bg-bad-soft{background-color:var(--bad-soft)}.bg-bg{background-color:var(--bg)}.bg-black\/40{background-color:#0006}.bg-line-2{background-color:var(--line-2)}.bg-ok{background-color:var(--ok)}.bg-ok-soft{background-color:var(--ok-soft)}.bg-panel{background-color:var(--panel)}.bg-warn{background-color:var(--warn)}.bg-warn-soft{background-color:var(--warn-soft)}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-5{padding-left:1.25rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:IBM Plex Mono,ui-monospace,monospace}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-base{font-size:13px;line-height:1.45}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.text-accent{color:var(--accent)}.text-bad{color:var(--bad)}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-muted{color:var(--muted)}.text-muted-2{color:var(--muted-2)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[-\:T\]{-: T}:root{--bg: #f6f7f9;--panel: #ffffff;--panel-2: #fafbfc;--panel-3: #f8fafc;--ink: #0b1220;--ink-2: #1f2937;--muted: #5b6675;--muted-2: #7c899b;--line: #e5e7eb;--line-2: #eef0f3;--fill: #f1f5f9;--fill-2: #e2e8f0;--fill-strong: #cbd5e1;--hover: #fafbfc;--sidebar-ink: #cbd5e1;--sidebar-ink-dim: #64748b;--accent: #2563eb;--accent-2: #1d4ed8;--accent-soft: #eff6ff;--ok: #16a34a;--ok-soft: #ecfdf5;--warn: #b45309;--warn-soft: #fffbeb;--bad: #b91c1c;--bad-soft: #fef2f2;--ok-ink: #047857;--ok-line: #a7f3d0;--warn-ink: #92400e;--warn-line: #fde68a;--bad-line: #fecaca;--data-ok: #16a34a;--data-half: #0ea5e9;--data-ot: #f59e0b;--data-bad: #dc2626;--data-leave: #94a3b8;--cell-stripe: #fcfcfd;--cell-weekend: #fafaf6;--cell-weekend-head: #f8f5ef;--cell-holiday: #fdf5f9;--cell-holiday-head: #fdf2f8;--holiday-ink: #be185d;--holiday-dot: #ec4899;--scrollthumb: #d1d5db;--scrollthumb-h: #9ca3af;--kbd-bg: #f8fafc;--shadow-1: 0 1px 2px rgba(15, 23, 42, .06);--shadow-2: 0 12px 32px rgba(15, 23, 42, .14);--shadow-pop: 0 16px 40px rgba(15, 23, 42, .18);--row-h: 36px;--pad-row: 0 12px;--r: 8px;color-scheme:light}[data-density=comfortable]{--row-h: 44px;--pad-row: 0 14px}[data-density=dense]{--row-h: 32px;--pad-row: 0 10px}[data-accent=indigo]{--accent: #4f46e5;--accent-2: #4338ca;--accent-soft: #eef2ff}[data-accent=emerald]{--accent: #059669;--accent-2: #047857;--accent-soft: #ecfdf5}[data-accent=amber]{--accent: #c2410c;--accent-2: #9a3412;--accent-soft: #fff7ed}[data-theme=dark]{--bg: #0b0f18;--panel: #121826;--panel-2: #171f2f;--panel-3: #1a2233;--ink: #e8edf4;--ink-2: #c4cede;--muted: #9aa7bb;--muted-2: #6f7d93;--line: #273143;--line-2: #1d2637;--fill: #1b2334;--fill-2: #273143;--fill-strong: #3a4763;--hover: #1a2233;--accent-soft: color-mix(in oklab, var(--accent) 26%, #0b0f18);--ok-soft: color-mix(in oklab, #16a34a 20%, #0b0f18);--warn-soft: color-mix(in oklab, #d97706 20%, #0b0f18);--bad-soft: color-mix(in oklab, #dc2626 20%, #0b0f18);--warn: #d97706;--bad: #dc2626;--ok-ink: #4ade80;--ok-line: color-mix(in oklab, #16a34a 45%, transparent);--warn-ink: #fbbf24;--warn-line: color-mix(in oklab, #d97706 45%, transparent);--bad-line: color-mix(in oklab, #dc2626 45%, transparent);--data-ok: #4ade80;--data-half: #38bdf8;--data-ot: #fbbf24;--data-bad: #f87171;--data-leave: #94a3b8;--cell-stripe: #151c2c;--cell-weekend: #0f141f;--cell-weekend-head: #0f141f;--cell-holiday: #1a1928;--cell-holiday-head: #201b2e;--holiday-ink: #f9a8d4;--holiday-dot: #ec4899;--scrollthumb: #33415a;--scrollthumb-h: #475569;--kbd-bg: #1a2233;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 12px 32px rgba(0, 0, 0, .5);--shadow-pop: 0 16px 40px rgba(0, 0, 0, .55);color-scheme:dark}[data-theme=dark] .pill.draft,[data-theme=dark] .pill.neutral{background:var(--fill);color:#cbd5e1;border-color:var(--line)}[data-theme=dark] .pill.pending,[data-theme=dark] .pill.partial{color:#fbbf24;border-color:color-mix(in oklab,#d97706 45%,transparent)}[data-theme=dark] .pill.approved,[data-theme=dark] .pill.paid{color:#4ade80;border-color:color-mix(in oklab,#16a34a 45%,transparent)}[data-theme=dark] .pill.rejected,[data-theme=dark] .pill.unpaid,[data-theme=dark] .btn.danger{color:#fca5a5;border-color:color-mix(in oklab,#dc2626 45%,transparent)}[data-theme=dark] .btn.success{color:#4ade80;border-color:color-mix(in oklab,#16a34a 45%,transparent)}[data-theme=dark] .avatar{color:#0b0f18}[data-theme=dark] img{filter:brightness(.9) contrast(1.05)}body{--sidebar: color-mix(in oklab, var(--accent) 11%, #0a0e15);--sidebar-2: color-mix(in oklab, var(--accent) 15%, #0f1424);--sidebar-active: color-mix(in oklab, var(--accent) 22%, transparent);--sidebar-hover: color-mix(in oklab, var(--accent) 10%, transparent);--accent-lite: color-mix(in oklab, var(--accent) 58%, #ffffff)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:IBM Plex Sans,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";transition:background-color .2s ease,color .2s ease}.card,.modal,.sheet,.menu,.btn,.input,.select,.tbl th,.set-card,.set-nav-item,.prof-summary,.prof-nav{transition:background-color .2s ease,border-color .2s ease,color .2s ease}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollthumb);border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--scrollthumb-h)}::-webkit-scrollbar-track{background:transparent}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.pill{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.01em;border:1px solid transparent}.pill .dot{width:6px;height:6px;border-radius:50%}.pill.draft{background:var(--fill);color:#475569;border-color:var(--fill-2)}.pill.draft .dot{background:#94a3b8}.pill.pending{background:var(--warn-soft);color:var(--warn);border-color:#fde68a}.pill.pending .dot{background:#d97706}.pill.approved{background:var(--ok-soft);color:#047857;border-color:#a7f3d0}.pill.approved .dot{background:#16a34a}.pill.rejected{background:var(--bad-soft);color:var(--bad);border-color:#fecaca}.pill.rejected .dot{background:#dc2626}.pill.paid{background:var(--ok-soft);color:#047857;border-color:#a7f3d0}.pill.paid .dot{background:#16a34a}.pill.partial{background:var(--warn-soft);color:var(--warn);border-color:#fde68a}.pill.partial .dot{background:#d97706}.pill.unpaid{background:var(--bad-soft);color:var(--bad);border-color:#fecaca}.pill.unpaid .dot{background:#dc2626}.pill.neutral{background:var(--fill);color:#475569;border-color:var(--fill-2)}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:6px;font-size:12.5px;font-weight:500;border:1px solid var(--line);background:var(--panel);color:var(--ink-2);transition:background .12s,border-color .12s}.btn:hover{background:var(--panel-2);border-color:var(--fill-strong)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--fill)}.btn.danger{color:var(--bad);border-color:#fecaca;background:var(--panel)}.btn.danger:hover{background:var(--bad-soft)}.btn.success{color:#047857;border-color:#a7f3d0;background:var(--panel)}.btn.success:hover{background:var(--ok-soft)}.btn.sm{height:26px;padding:0 10px;font-size:12px}.btn.xs{height:22px;padding:0 8px;font-size:11.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.select{height:30px;padding:0 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:12.5px;outline:none;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}.kbd{display:inline-block;padding:1px 5px;font-size:10.5px;line-height:14px;color:var(--muted);background:var(--kbd-bg);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;font-family:IBM Plex Mono,monospace}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.tbl th{text-align:left;font-weight:500;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:8px 12px;background:var(--panel-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.tbl td{padding:0 12px;height:var(--row-h);border-bottom:1px solid var(--line-2);vertical-align:middle}.tbl tr:hover td{background:var(--panel-2)}.tbl tr.selected td{background:var(--accent-soft)}.tbl tr.selected:hover td{background:color-mix(in oklab,var(--accent-soft) 70%,#fff)}.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}.tbl td.center,.tbl th.center{text-align:center}.avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#cbd5e1,#94a3b8);color:#fff;font-size:10.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar.sm{width:22px;height:22px;font-size:9.5px}.avatar.foreman{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.cb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border:1.5px solid var(--fill-strong);border-radius:3px;background:var(--panel);cursor:pointer;position:relative;vertical-align:middle}.cb:checked{background:var(--accent);border-color:var(--accent)}.cb:checked:after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.cb:indeterminate{background:var(--accent);border-color:var(--accent)}.cb:indeterminate:after{content:"";position:absolute;left:2px;top:5px;width:8px;height:2px;background:var(--panel)}.layout{display:grid;grid-template-columns:232px 1fr;min-height:100vh}[data-sidebar=compact] .layout{grid-template-columns:56px 1fr}.focusable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hsep{width:1px;height:16px;background:var(--line);display:inline-block;vertical-align:middle}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:ovFade .14s ease-out}@keyframes ovFade{0%{opacity:0}to{opacity:1}}@keyframes ovScale{0%{transform:translate(-50%,-50%) scale(.96);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes ovSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1001;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--panel);border-radius:10px;border:1px solid var(--line);box-shadow:0 24px 60px #0f172a33,0 2px 6px #0f172a14;display:flex;flex-direction:column;animation:ovScale .16s cubic-bezier(.22,.61,.36,1)}.modal.lg{width:min(960px,calc(100vw - 48px));height:min(720px,calc(100vh - 48px))}.modal-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head .ttl{font-size:14.5px;font-weight:600;flex:1}.modal-head .sub{font-size:12px;color:var(--muted)}.modal-body{padding:18px;overflow-y:auto;flex:1}.modal-foot{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:var(--panel-2);border-bottom-left-radius:10px;border-bottom-right-radius:10px}.sheet{position:fixed;top:0;right:0;bottom:0;z-index:1001;width:min(560px,100vw);background:var(--panel);box-shadow:-16px 0 40px #0f172a2e;display:flex;flex-direction:column;animation:ovSlide .24s cubic-bezier(.22,.61,.36,1);border-left:1px solid var(--line)}.sheet-head{padding:18px 22px;border-bottom:1px solid var(--line)}.sheet-body{padding:18px 22px;overflow-y:auto;flex:1}.sheet-foot{display:flex;align-items:center;gap:8px;padding:14px 22px;border-top:1px solid var(--line);background:var(--panel-2)}.cmdk{position:fixed;left:50%;top:12vh;transform:translate(-50%);z-index:1001;width:min(560px,calc(100vw - 32px));max-height:70vh;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 60px #0f172a38,0 2px 6px #0f172a14;display:flex;flex-direction:column;overflow:hidden;animation:ovFade .14s ease-out}.cmdk-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.cmdk-input input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--ink)}.cmdk-list{overflow-y:auto;padding:6px}.cmdk-empty{padding:28px;text-align:center;color:var(--muted);font-size:13px}.cmdk-group+.cmdk-group{margin-top:4px}.cmdk-grouplabel{padding:6px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2)}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--ink);font-size:13px}.cmdk-item.active{background:var(--accent-soft)}.cmdk-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-sub{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.field{display:flex;flex-direction:column;gap:4px}.field>label{font-size:11.5px;font-weight:500;color:var(--ink-2);display:flex;align-items:center;gap:4px}.field>label .req{color:var(--bad)}.field>.hint{font-size:11px;color:var(--muted)}.field>.err{font-size:11px;color:var(--bad);display:inline-flex;align-items:center;gap:4px}.field .input,.field .select,.field textarea{width:100%}.field textarea{padding:8px 10px;border-radius:6px;border:1px solid var(--line);font-family:inherit;font-size:12.5px;resize:vertical;min-height:64px;outline:none}.field textarea:focus,.field .input:focus,.field .select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}.field.error .input,.field.error .select,.field.error textarea{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in oklab,var(--bad) 12%,transparent)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-group{border:1px solid var(--line);border-radius:8px;overflow:hidden}.form-group-head{background:var(--panel-2);padding:10px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.form-group-head .step{width:22px;height:22px;border-radius:11px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.form-group-head .ttl{font-size:13px;font-weight:600}.form-group-head .sub{font-size:11.5px;color:var(--muted);margin-left:auto}.form-group-body{padding:14px}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--fill);border-radius:6px;border:1px solid var(--line)}.segmented button{border:none;background:transparent;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:var(--ink-2);cursor:pointer}.segmented button.active{background:var(--panel);box-shadow:0 1px 2px #00000014;color:var(--ink);font-weight:600}.toast-rail{position:fixed;bottom:24px;right:24px;z-index:1100;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:#0b1220;color:#fff;font-size:12.5px;font-weight:500;box-shadow:0 12px 32px #00000038;animation:ovFade .16s ease-out;min-width:240px}.toast.success{background:#064e3b}.toast.error{background:#7f1d1d}.toast .x{background:transparent;border:none;color:#ffffffb3;cursor:pointer;padding:0 0 0 8px}.btn.menu-open{background:var(--fill)}.menu{z-index:1200;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px #0f172a29,0 2px 6px #0f172a14;padding:5px;animation:ovFade .12s ease-out}.menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:none;background:transparent;border-radius:6px;font-size:12.5px;color:var(--ink-2);text-align:left}.menu-item:hover{background:var(--fill)}.menu-item.danger{color:var(--bad)}.menu-item.danger:hover{background:var(--bad-soft)}.menu-hint{font-size:10.5px;color:var(--muted-2)}.menu-sep{height:1px;background:var(--line-2);margin:5px 4px}.user-menu{position:absolute;bottom:calc(100% + 8px);right:0;left:0;z-index:1200;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 14px 34px #00000057;padding:5px;animation:ovFade .12s ease-out}.emp-name{font-weight:500;color:var(--ink);display:inline-block;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;text-decoration-thickness:1px;transition:color .12s,text-decoration-color .12s;border-radius:3px}.emp-name:hover{color:var(--accent);text-decoration-color:currentColor}.emp-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.emp-toolbar{display:flex;align-items:center;gap:10px;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.emp-search{position:relative;display:flex;align-items:center}.emp-search .input{width:300px;padding-left:32px}.emp-search .s-ico{position:absolute;left:10px;display:flex;pointer-events:none}.emp-toolbar .tb-sep{width:1px;height:22px;background:var(--line);margin:0 3px}.emp-count{color:var(--muted);font-size:12px;white-space:nowrap}.emp-count b{color:var(--ink);font-weight:600}.emp-body{padding:14px 24px 24px}.emp-page .tbl thead th{padding-top:11px;padding-bottom:11px;background:var(--panel-2);border-bottom:1px solid var(--line)}.emp-page .tbl tbody tr:last-child td{border-bottom:none}.proj-chip{display:inline-flex;align-items:center;height:19px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:500;white-space:nowrap;background:var(--accent-soft);color:var(--accent-2);border:1px solid transparent}.proj-chip.done{background:var(--fill);color:var(--muted);border-color:var(--line)}.set-shell{display:grid;grid-template-columns:224px 1fr;gap:22px;padding:18px 24px 64px;align-items:start}.set-nav{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px}.set-nav .grp{font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--muted-2);text-transform:uppercase;padding:12px 10px 4px}.set-nav-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--ink-2);text-align:left}.set-nav-item:hover{background:var(--fill)}.set-nav-item.active{background:var(--accent-soft);color:var(--accent-2)}.set-nav-item.active svg{stroke:var(--accent)}.set-main{min-width:0;max-width:760px}.set-sec-head{margin-bottom:4px}.set-sec-head h2{font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em}.set-sec-head p{font-size:12.5px;color:var(--muted);margin:3px 0 0}.set-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-top:16px;overflow:hidden}.set-card-head{padding:13px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.set-card-head .t{font-size:13px;font-weight:600}.set-card-head .badge-soft{margin-left:auto;font-size:11px;color:var(--muted)}.set-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line-2)}.set-row:last-child{border-bottom:none}.set-row .rl{font-size:12.5px;font-weight:500;color:var(--ink)}.set-row .rd{font-size:11.5px;color:var(--muted);margin-top:2px;max-width:460px}.set-row .rc{justify-self:end;display:flex;align-items:center;gap:8px}.set-row.stacked{grid-template-columns:1fr}.set-grid{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.set-grid .field.full{grid-column:1 / -1}.switch{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;border-radius:999px;background:var(--fill-strong);transition:background .15s}.switch .track:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:var(--panel);border-radius:50%;transition:transform .15s;box-shadow:0 1px 2px #00000040}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:before{transform:translate(16px)}.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+.track{opacity:.45;cursor:not-allowed}.set-savebar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 16px;background:#0b1220;color:#fff;border-radius:10px;box-shadow:0 12px 32px #0f172a38;animation:ovFade .14s ease-out}.set-savebar .msg{flex:1;font-size:12.5px}.swatch{width:22px;height:22px;border-radius:6px;border:2px solid transparent;cursor:pointer}.swatch.on{border-color:var(--ink);box-shadow:0 0 0 2px #fff inset}.chip-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border-radius:6px;background:var(--fill);border:1px solid var(--line);font-size:12px}.chip-tag button{border:none;background:transparent;color:var(--muted);display:inline-flex;padding:2px;border-radius:4px}.chip-tag button:hover{background:var(--fill-2);color:var(--bad)}.prof-shell{display:grid;grid-template-columns:280px 1fr;gap:24px;padding:18px 24px 64px;align-items:start}.prof-shell.single{grid-template-columns:1fr;max-width:820px}.prof-rail{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px}.prof-summary{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.prof-summary .cover{height:56px;background:linear-gradient(120deg,var(--accent),var(--accent-2))}.prof-summary .body{padding:0 16px 16px;margin-top:-30px;text-align:center}.prof-summary .av-wrap{display:inline-block;position:relative}.prof-summary .av-wrap .cam{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px #0000001f}.prof-summary .nm{font-size:16px;font-weight:600;letter-spacing:-.01em;margin-top:10px}.prof-summary .tt{font-size:12px;color:var(--muted);margin-top:1px}.prof-summary .stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.prof-summary .stats>div{padding:12px 8px;text-align:center}.prof-summary .stats>div+div{border-left:1px solid var(--line)}.prof-summary .stats .v{font-size:16px;font-weight:600;letter-spacing:-.01em}.prof-summary .stats .l{font-size:10.5px;color:var(--muted);margin-top:1px;text-transform:uppercase;letter-spacing:.04em}.prof-nav{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:2px}.prof-nav button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border-radius:8px;background:transparent;border:none;cursor:pointer;text-align:left;font-size:12.75px;font-weight:500;color:var(--ink-2);transition:background .1s,color .1s}.prof-nav button:hover{background:var(--line-2)}.prof-nav button.active{background:var(--accent-soft);color:var(--accent)}.prof-nav button.active svg{stroke:var(--accent)}.prof-content{min-width:0;max-width:760px}.prof-content .set-sec-head:first-child{margin-top:0}.prof-content>[id^=prof-]:not(:first-child){margin-top:var(--prof-gap, 36px);padding-top:var(--prof-gap, 36px);border-top:1px solid var(--line)}.prof-shell[data-theme=calm] .prof-summary .cover{display:none}.prof-shell[data-theme=calm] .prof-summary .body{margin-top:0;padding-top:22px}.prof-shell[data-theme=calm] .prof-summary .av-wrap .avatar{background:var(--fill-2)!important;color:var(--ink-2)!important;border-color:var(--line)!important;box-shadow:0 0 0 4px var(--bg)}.prof-shell[data-theme=calm] .perm-banner{background:transparent}.prof-shell[data-theme=calm] .perm-row .pico{background:var(--line-2)}.prof-shell[data-theme=calm] .perm-row .pico svg{stroke:var(--ink-2)}.perm-banner{display:flex;align-items:center;gap:11px;padding:12px 16px;border-bottom:1px solid var(--line-2)}.perm-banner .ico{width:32px;height:32px;border-radius:8px;background:var(--ok-soft);display:flex;align-items:center;justify-content:center;flex:none}.perm-banner .tx{font-size:12.5px;font-weight:500;color:var(--ink)}.perm-banner .sb{font-size:11.5px;color:var(--muted);margin-top:1px}.perm-row{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 16px}.perm-row+.perm-row{border-top:1px solid var(--line-2)}.perm-row .pico{width:34px;height:34px;border-radius:8px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center}.act-tl{padding:6px 16px 10px}.act-tl .ai{position:relative;display:grid;grid-template-columns:30px 1fr auto;gap:12px;padding:12px 0}.act-tl .ai:not(:last-child):before{content:"";position:absolute;left:14px;top:40px;bottom:-12px;width:2px;background:var(--line)}.act-tl .ai .ico{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;z-index:1}.act-tl .ai .tx{font-size:12.5px;align-self:center;color:var(--ink-2)}.act-tl .ai .wn{font-size:11.5px;color:var(--muted-2);white-space:nowrap;align-self:center}@media (max-width: 880px){.prof-shell{grid-template-columns:1fr}.prof-rail{position:static}}.att-row{display:grid;grid-template-columns:32px 1fr 90px 200px;align-items:center;gap:12px;padding:0 14px;height:44px;border-bottom:1px solid var(--line-2)}.att-row:hover{background:var(--panel-2)}.att-row.kbfocus{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.att-row .name{font-size:13px;font-weight:500}.att-row .meta{font-size:11.5px;color:var(--muted)}.att-toggle{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.att-toggle button{border:none;background:var(--panel);padding:4px 10px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.att-toggle button+button{border-left:1px solid var(--line)}.att-toggle button.present{color:#047857}.att-toggle button.present.on{background:var(--ok-soft);color:#047857;font-weight:600}.att-toggle button.absent{color:var(--bad)}.att-toggle button.absent.on{background:var(--bad-soft);color:var(--bad);font-weight:600}.att-toggle button.late.on{background:var(--warn-soft);color:var(--warn);font-weight:600}.state-box{display:grid;place-items:center;padding:48px 24px;text-align:center;color:var(--muted);gap:10px}.spinner{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:var(--sidebar);padding:24px}.auth-card{width:min(400px,100%);background:var(--panel);border-radius:14px;border:1px solid var(--line);box-shadow:0 24px 60px #0000004d;padding:28px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.auth-title{font-size:18px;font-weight:600;margin:0 0 4px}.auth-sub{font-size:12.5px;color:var(--muted);margin:0 0 20px}.ts-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.ts-stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 13px;display:flex;align-items:center;gap:11px}.ts-stat .ic{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.ts-stat .v{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.1;font-variant-numeric:tabular-nums}.ts-stat .l{font-size:10.5px;color:var(--muted);margin-top:1px;text-transform:uppercase;letter-spacing:.03em}.ts-bulkbar{display:flex;align-items:center;gap:10px;padding:8px 14px;margin-bottom:10px;background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 28%,transparent);border-radius:9px;font-size:12.5px}.ts-bulkbar .cnt{font-weight:600;color:var(--accent)}.ts-lock{display:flex;align-items:center;gap:10px;padding:9px 14px;margin-bottom:10px;background:var(--fill);border:1px solid var(--line);border-radius:9px;font-size:12.5px;color:var(--ink-2)}.ts-lock .ttl{font-weight:600}.ts-search{position:relative;display:inline-flex;align-items:center}.ts-search svg{position:absolute;left:9px;pointer-events:none}.ts-search input{height:30px;padding:0 10px 0 30px;border-radius:6px;border:1px solid var(--line);background:var(--panel);font-size:12.5px;width:190px;color:var(--ink)}.ts-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent);outline:none}.ts-grid td.daycell{transition:background .08s}.ts-grid tbody tr:hover td.daycell:not(.editing){background:color-mix(in oklab,var(--accent) 5%,var(--panel))!important}.ts-grid tbody tr.rowsel td{background:var(--accent-soft)!important}.ts-rowcheck{opacity:0;transition:opacity .1s}.ts-grid tbody tr:hover .ts-rowcheck,.ts-rowcheck.on{opacity:1}.ts-pop{position:fixed;z-index:200;width:232px;background:var(--panel);border:1px solid var(--line);border-radius:11px;box-shadow:0 14px 40px #0f172a2e;padding:9px}.ts-pop .ph{font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:1px 4px 7px}.ts-quick{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ts-quick button{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:7px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:12px;font-weight:500;color:var(--ink-2);text-align:left;transition:background .1s,border-color .1s}.ts-quick button:hover{background:var(--panel-2);border-color:var(--muted-2)}.ts-quick button .sw{width:9px;height:9px;border-radius:3px;flex-shrink:0}.ts-quick button.full{grid-column:1 / -1}.ts-pop .free{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line-2)}.ts-pop .free input{flex:1;height:30px;border:1px solid var(--line);border-radius:6px;padding:0 9px;font-size:12.5px;font-family:IBM Plex Mono,monospace;text-align:center;color:var(--ink)}.ts-pop .free input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent);outline:none}.ts-pop .free-hint{font-size:10px;color:var(--muted-2);margin-top:5px;text-align:center}.pay-flow{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.pay-step{display:flex;align-items:center;gap:9px;padding:7px 13px 7px 9px;border-radius:9px;border:1px solid transparent;background:transparent;cursor:pointer;transition:background .12s,border-color .12s}.pay-step:hover{background:var(--fill)}.pay-step.active{background:var(--accent-soft);border-color:color-mix(in oklab,var(--accent) 28%,transparent)}.pay-step .num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11.5px;font-weight:700;background:var(--fill-2);color:var(--muted)}.pay-step.active .num{background:var(--accent);color:#fff}.pay-step.done .num{background:color-mix(in oklab,var(--accent) 16%,#fff);color:var(--accent)}.pay-step .lbl{font-size:13px;font-weight:500;color:var(--muted);line-height:1.15;text-align:left}.pay-step.active .lbl{color:var(--ink);font-weight:600}.pay-step .lbl small{display:block;font-size:10px;font-weight:400;color:var(--muted-2);margin-top:1px}.pay-arrow{color:var(--muted-2);flex-shrink:0}.pay-tabs{display:flex;align-items:flex-end;gap:2px}.pay-tab{border:none;background:transparent;padding:11px 14px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;display:flex;align-items:center;gap:6px}.pay-tab .t{font-size:13px;font-weight:500;color:var(--muted)}.pay-tab.active{border-bottom-color:var(--accent)}.pay-tab.active .t{color:var(--ink);font-weight:600}.info-tip{position:relative;display:inline-flex;align-items:center}.info-tip>.ic{display:inline-flex;color:var(--muted-2);cursor:help}.info-tip>.ic:hover{color:var(--muted)}.info-tip .pop{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:#0f172a;color:#e2e8f0;padding:6px 9px;border-radius:7px;font-size:11px;line-height:1.4;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .12s;z-index:60;box-shadow:0 6px 20px #00000040}.info-tip .pop .mono{color:#93c5fd;font-size:10.5px}.info-tip .pop:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#0f172a}.info-tip:hover .pop{opacity:1;visibility:visible}.pay-monthctx{display:flex;align-items:center;gap:8px}.pay-prog{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted)}.pay-prog .bar{width:56px;height:5px;border-radius:3px;background:var(--fill-2);overflow:hidden}.pay-prog .bar>i{display:block;height:100%;border-radius:3px;background:#16a34a}.pay-prog b{color:var(--ink-2);font-weight:600;font-variant-numeric:tabular-nums}.btn:focus-visible,.cb:focus-visible,.input:focus-visible,.select:focus-visible,.segmented button:focus-visible,.menu-item:focus-visible,.set-nav-item:focus-visible,.prof-nav button:focus-visible,.att-toggle button:focus-visible,.pay-step:focus-visible,.pay-tab:focus-visible,.ts-quick button:focus-visible,a:focus-visible,[role=button]:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.skip-link{position:fixed;top:8px;left:8px;z-index:5000;background:var(--accent);color:#fff;padding:8px 14px;border-radius:8px;font-size:12.5px;font-weight:600;transform:translateY(-160%);transition:transform .15s;box-shadow:var(--shadow-2)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.empty-state{padding:56px 24px;text-align:center;display:flex;flex-direction:column;align-items:center}.empty-state .es-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:14px}.empty-state.ok .es-ico{background:var(--ok-soft);color:var(--ok)}.empty-state .es-title{font-size:14.5px;font-weight:600;color:var(--ink)}.empty-state .es-desc{font-size:12.5px;color:var(--muted);margin-top:4px;max-width:340px;line-height:1.5}.empty-state .es-actions{margin-top:16px;display:flex;gap:8px}@keyframes skShimmer{0%{background-position:-320px 0}to{background-position:320px 0}}.sk{display:block;border-radius:6px;background:linear-gradient(90deg,var(--fill) 0%,var(--panel-2) 40%,var(--fill) 80%);background-size:320px 100%;animation:skShimmer 1.15s linear infinite}.sk-row{display:flex;align-items:center;gap:12px;padding:0 12px;height:var(--row-h);border-bottom:1px solid var(--line-2)}.sk-circle{border-radius:50%}[data-sidebar=compact] .sb-label,[data-sidebar=compact] .sb-grouplabel,[data-sidebar=compact] .sb-brandtext,[data-sidebar=compact] .sb-companytext,[data-sidebar=compact] .sb-usertext,[data-sidebar=compact] .sb-chev{display:none!important}[data-sidebar=compact] .sb-navitem{justify-content:center;padding-left:0;padding-right:0}[data-sidebar=compact] .sb-company{justify-content:center}[data-sidebar=compact] .sb-badge{position:absolute;top:6px;right:9px;min-width:9px!important;width:9px;height:9px;padding:0!important;box-sizing:border-box;font-size:0!important;line-height:0!important;color:transparent!important;overflow:hidden;border-radius:999px;border:2px solid var(--sidebar)}[data-sidebar=compact] .sb-navitem{position:relative}[data-sidebar=compact] .sb-userrow{justify-content:center}[data-sidebar=compact] aside nav{overflow-x:hidden!important}.sb-tip{position:fixed;z-index:2000;transform:translateY(-50%);background:#0c1322;color:#e8edf4;border:1px solid rgba(255,255,255,.08);padding:5px 9px;border-radius:7px;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:0 8px 24px #0006;animation:ovFade .12s ease-out}.company-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:1200;background:color-mix(in oklab,var(--accent) 12%,#0c1322);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px;box-shadow:0 12px 32px #00000080;animation:ovFade .12s ease-out}[data-sidebar=compact] .company-menu{left:calc(100% + 8px);right:auto;top:0;width:236px}[data-sidebar=compact] .user-menu{left:calc(100% + 8px);right:auto;bottom:0;width:220px}@media (max-width: 1180px){.set-shell,.prof-shell:not(.single){grid-template-columns:1fr}.set-nav,.prof-rail{position:static}.ts-summary{grid-template-columns:repeat(3,1fr)}}@media (max-width: 920px){.dash-grid{grid-template-columns:1fr!important}.dash-kpis{grid-template-columns:repeat(2,1fr)!important}.ts-summary{grid-template-columns:repeat(2,1fr)}.reports-shell{grid-template-columns:1fr!important}.reports-nav{position:static!important;flex-direction:row!important;flex-wrap:wrap}.reports-nav .card{flex:1 1 160px}}@media (max-width: 640px){.dash-kpis{grid-template-columns:1fr!important}.header-search{display:none!important}}@media print{aside,header,.no-print,.set-savebar,.toast-rail{display:none!important}.layout{display:block!important}.card{max-height:none!important;overflow:visible!important}body{font-size:11px}}.first\:border-l-0:first-child{border-left-width:0px}.hover\:bg-accent-2:hover{background-color:var(--accent-2)}.hover\:bg-bg:hover{background-color:var(--bg)}.hover\:text-ink:hover{color:var(--ink)}.hover\:underline:hover{text-decoration-line:underline}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-accent:focus{--tw-ring-color: var(--accent)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}
