/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--font-weight-semibold:600;--shadow-xs:0 1px 2px 0 #0000000d}}@layer kit{:root{--primary:#3b4bc8;--primary-hover:#3040b2;--primary-active:#283799;--primary-soft:#eceefc;--primary-soft-2:#dfe3fa;--primary-text:#2f3db0;--on-primary:#fff;--bg:#f5f6f8;--surface:#fff;--surface-2:#f1f3f6;--surface-3:#e8ebf0;--surface-sunken:#eef0f4;--border:#e2e5ea;--border-strong:#cdd2da;--text:#151922;--text-2:#464e5f;--text-3:#5c6577;--text-disabled:#9aa1ae;--overlay:#0f131f73;--hover:#1519220a;--selected:#eef1fd;--focus:#3b4bc8;--focus-ring:0 0 0 2px #fff,0 0 0 4px #3b4bc8;--focus-topbar:#8f9af5;--topbar-bg:#131a33;--topbar-text:#e7eaf5;--topbar-text-2:#a7aecb;--topbar-hover:#ffffff14;--topbar-field:#ffffff17;--topbar-field-border:#ffffff24;--rail-bg:#fff;--rail-text:#3a4252;--rail-group:#646d80;--neutral-fg:#4a5263;--neutral-bg:#eff1f4;--neutral-bd:#d9dde4;--neutral-solid:#7b8394;--amber-fg:#8a5100;--amber-bg:#fff3dc;--amber-bd:#f2d49c;--amber-solid:#e59a1a;--blue-fg:#1b5bb3;--blue-bg:#e7f0fd;--blue-bd:#b9d3f4;--blue-solid:#2a6fcf;--green-fg:#156b3c;--green-bg:#e4f4ea;--green-bd:#b0dcc1;--green-solid:#2a9d5c;--red-fg:#b01f1f;--red-bg:#fdeaea;--red-bd:#f2bcbc;--red-solid:#d93a3a;--purple-fg:#683bb5;--purple-bg:#f1ebfd;--purple-bd:#d6c6f4;--purple-solid:#8a5cd6;--slate-fg:#45526a;--slate-bg:#ebeef3;--slate-bd:#d1d7e1;--slate-solid:#66758f;--orange-fg:#a1400c;--orange-bg:#ffeadd;--orange-bd:#f6c4a5;--orange-solid:#e8692a;--plate-rear:#f7c800;--plate-front:#f7f7f2;--plate-text:#111;--plate-band:#1f45a3;--plate-band-text:#ffd800;--chart-1:#3b4bc8;--chart-2:#2a9d5c;--chart-3:#e59a1a;--chart-4:#8a5cd6;--chart-5:#d93a3a;--chart-grid:#e6e9ee;--weekend:#f3f4f7;--today-col:#eef1fd;--hatch:#464e5f1f;--scan-paper:#fbfaf6;--scan-ink:#1d2230;--scan-highlight:#e59a1a38;--scan-highlight-low:#d93a3a2e;--font:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Roboto,Arial,sans-serif;--font-display:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Roboto,Arial,sans-serif;--font-mono:"Cascadia Mono",ui-monospace,"SF Mono",Consolas,"Liberation Mono",monospace;--font-sign:"Segoe Script","Bradley Hand","Apple Chancery","Lucida Handwriting","Brush Script MT",cursive;--font-plate:"Arial Narrow","Roboto Condensed","Segoe UI",Arial,sans-serif;--fs-xs:11px;--fs-sm:12px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--fs-doc-xs:9px;--fs-doc-sm:10.5px;--fs-doc-md:13px;--fs-doc-lg:15px;--fs-plate:13px;--lh-tight:1.25;--lh:1.45;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--s-0:2px;--s-hair:1px;--s-1:4px;--s-1h:6px;--s-2:8px;--s-2h:10px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--r-xs:3px;--r-sm:4px;--r:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--shadow-xs:0 1px 2px #1016260f;--shadow-pop:0 8px 24px #10162624,0 1px 3px #10162614;--shadow-modal:0 24px 64px #1016263d,0 2px 6px #1016261a;--topbar-h:48px;--rail-w:232px;--rail-w-collapsed:60px;--summary-w:320px;--content-max:1600px;--w-1:72px;--w-2:88px;--w-3:112px;--w-4:152px;--w-5:200px;--w-6:240px;--w-7:300px;--w-8:320px;--w-9:380px;--row-h:44px;--control-h:32px;--control-h-sm:26px;--cell-px:10px;--ease:cubic-bezier(.2,0,0,1);--dur:.14s;color-scheme:light}:root[data-density=compact]{--row-h:36px;--control-h:28px;--cell-px:8px}:root[data-density=roomy]{--row-h:60px;--control-h:36px;--cell-px:12px}:root[data-theme=dark]{--primary:#7c89f2;--primary-hover:#8f9af5;--primary-active:#a2abf7;--primary-soft:#232a4d;--primary-soft-2:#2c3460;--primary-text:#a5aef8;--on-primary:#0d1020;--bg:#0d1016;--surface:#151921;--surface-2:#1b2029;--surface-3:#232935;--surface-sunken:#11141b;--border:#272d39;--border-strong:#363e4d;--text:#e6e9ef;--text-2:#b0b7c4;--text-3:#8d96a6;--text-disabled:#5d6574;--overlay:#0009;--hover:#ffffff0b;--selected:#1f2541;--focus:#8f9af5;--focus-ring:0 0 0 2px #0d1016,0 0 0 4px #8f9af5;--topbar-bg:#0a0e1d;--rail-bg:#12161d;--rail-text:#c3c9d4;--rail-group:#7f8899;--neutral-fg:#c0c6d1;--neutral-bg:#232833;--neutral-bd:#343b48;--neutral-solid:#8d96a6;--amber-fg:#f4c56d;--amber-bg:#33270f;--amber-bd:#5c4316;--amber-solid:#e5a33a;--blue-fg:#8fbaf6;--blue-bg:#12253f;--blue-bd:#22426e;--blue-solid:#4a90ea;--green-fg:#7fd3a1;--green-bg:#10291c;--green-bd:#1e4a33;--green-solid:#3bb373;--red-fg:#f59a9a;--red-bg:#361616;--red-bd:#5e2525;--red-solid:#e5544f;--purple-fg:#c3a6f5;--purple-bg:#261b3d;--purple-bd:#42316b;--purple-solid:#9b72e0;--slate-fg:#b3bfd3;--slate-bg:#1d2330;--slate-bd:#313a4c;--slate-solid:#7d8ca6;--orange-fg:#f7b087;--orange-bg:#36200f;--orange-bd:#5f3618;--orange-solid:#ec7a3f;--chart-1:#7c89f2;--chart-2:#3bb373;--chart-3:#e5a33a;--chart-4:#9b72e0;--chart-5:#e5544f;--chart-grid:#262c37;--weekend:#12161d;--today-col:#1a2038;--hatch:#b0b7c41f;--scan-paper:#e9e7df;--scan-ink:#1d2230;--shadow-xs:0 1px 2px #0006;--shadow-pop:0 8px 24px #00000080,0 1px 3px #0006;--shadow-modal:0 24px 64px #0009,0 2px 6px #0006;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--lh-tight);font-weight:var(--fw-semibold);margin:0}h1{font-size:var(--fs-2xl);letter-spacing:-.01em}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}p{margin:0 0 var(--s-2)}a{color:var(--primary-text);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%;display:block}svg.i{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex:none;width:16px;height:16px;display:inline-block}svg.i.sm{vertical-align:-2px;width:14px;height:14px}svg.i.xs{vertical-align:-1px;width:12px;height:12px}svg.i.lg{width:20px;height:20px}svg.i.xl{width:28px;height:28px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}table{border-collapse:collapse;border-spacing:0}hr{border:0;border-top:1px solid var(--border);margin:var(--s-4) 0}.mono,code,kbd{font-family:var(--font-mono);font-size:inherit}kbd{min-width:18px;padding:0 var(--s-1h);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font-size:var(--fs-xs);text-align:center;border:solid var(--border-strong);border-width:1px 1px 2px;line-height:16px;display:inline-block}::selection{background:var(--primary-soft-2)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.seg button:focus-visible,.tab:focus-visible,.view:focus-visible,th.sortable:focus-visible{outline-offset:-2px}.skip-link{z-index:100;top:var(--s-2);left:var(--s-2);height:var(--control-h);padding:0 var(--s-3);border-radius:var(--r);background:var(--surface);color:var(--text);font-weight:var(--fw-semibold);box-shadow:var(--shadow-pop);align-items:center;display:inline-flex;position:absolute;transform:translateY(-300%)}.skip-link:focus{transform:none}main:focus{outline:none}@media (forced-colors:active){:focus-visible{outline:2px solid highlight}}.money,.num{font-variant-numeric:tabular-nums}.money{text-align:right;white-space:nowrap}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.small{font-size:var(--fs-sm)}.xsmall{font-size:var(--fs-xs)}.strong{font-weight:var(--fw-semibold)}.nowrap,.truncate{white-space:nowrap}.truncate{text-overflow:ellipsis;overflow:hidden}.upper{text-transform:uppercase;letter-spacing:.06em;font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.sr-only{width:1px;height:1px;margin:calc(var(--s-hair) * -1);clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.row{align-items:center;gap:var(--s-2);display:flex}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.col{gap:var(--s-2);flex-direction:column;display:flex}.grow{min-width:0}.grow,.spacer{flex:auto}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-6{gap:var(--s-6)}.mt-0{margin-top:0}.mt-2{margin-top:var(--s-2)}.mt-3{margin-top:var(--s-3)}.mt-4{margin-top:var(--s-4)}.mt-6{margin-top:var(--s-6)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--s-2)}.mb-3{margin-bottom:var(--s-3)}.mb-4{margin-bottom:var(--s-4)}.right{text-align:right}.center{text-align:center}.tone-red{color:var(--red-fg)}.tone-amber{color:var(--amber-fg)}.tone-green{color:var(--green-fg)}.tone-blue{color:var(--blue-fg)}.tone-purple{color:var(--purple-fg)}.tone-muted{color:var(--text-3)}.pointer{cursor:pointer}.sans{font-family:var(--font)}.scroll-box{max-height:120px;overflow:auto}[hidden]{display:none!important}.btn{justify-content:center;align-items:center;gap:var(--s-1h);height:var(--control-h);padding:0 var(--s-3);border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);line-height:1;display:inline-flex}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--surface-2)}.btn:active{background:var(--surface-3)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.primary:active{background:var(--primary-active)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.danger{color:var(--red-fg);border-color:var(--red-bd)}.btn.danger:hover{background:var(--red-bg)}.btn.danger.solid{background:var(--red-solid);border-color:var(--red-solid);color:var(--on-primary)}.btn.soft{background:var(--primary-soft);color:var(--primary-text);border-color:#0000}.btn.soft:hover{background:var(--primary-soft-2)}.btn.sm{height:var(--control-h-sm);padding:0 var(--s-2);font-size:var(--fs-sm);gap:var(--s-1);border-radius:var(--r-sm)}.btn.lg{height:40px;padding:0 var(--s-4)}.btn.icon{width:var(--control-h);padding:0}.btn.icon.sm{width:var(--control-h-sm)}.btn.is-disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn.is-locked{position:relative}.btn-group{display:inline-flex}.btn-group>.btn{margin-left:calc(var(--s-hair) * -1);border-radius:0}.btn-group>.btn:first-child{border-radius:var(--r) 0 0 var(--r);margin-left:0}.btn-group>.btn:last-child{border-radius:0 var(--r) var(--r) 0}.btn .kbd-hint{margin-left:var(--s-1);opacity:.7;font-size:var(--fs-xs)}.link-btn{color:var(--primary-text);font-weight:var(--fw-medium);cursor:pointer;min-height:var(--control-h-sm);background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.link-btn:hover{text-decoration:underline}.seg{padding:var(--s-0);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border)}.seg,.seg button{display:inline-flex}.seg button{height:calc(var(--control-h) - 6px);padding:0 var(--s-3);border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);align-items:center;gap:var(--s-1);background:0 0;border:0}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.chip{align-items:center;gap:var(--s-1);height:22px;padding:0 var(--s-2) 0 var(--s-1h);border-radius:var(--r-pill);border:1px solid var(--neutral-bd);background:var(--neutral-bg);color:var(--neutral-fg);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;vertical-align:middle;line-height:1;display:inline-flex}.chip svg.i{stroke-width:2px;vertical-align:0;width:13px;height:13px}.chip.lg{height:26px;padding:0 var(--s-2h) 0 var(--s-2);font-size:var(--fs-md)}.chip.lg svg.i{width:15px;height:15px}.chip.square{border-radius:var(--r-sm)}.chip.neutral{color:var(--neutral-fg);background:var(--neutral-bg);border-color:var(--neutral-bd)}.chip.amber{color:var(--amber-fg);background:var(--amber-bg);border-color:var(--amber-bd)}.chip.blue{color:var(--blue-fg);background:var(--blue-bg);border-color:var(--blue-bd)}.chip.green{color:var(--green-fg);background:var(--green-bg);border-color:var(--green-bd)}.chip.red{color:var(--red-fg);background:var(--red-bg);border-color:var(--red-bd)}.chip.purple{color:var(--purple-fg);background:var(--purple-bg);border-color:var(--purple-bd)}.chip.slate{color:var(--slate-fg);background:var(--slate-bg);border-color:var(--slate-bd)}.chip.orange{color:var(--orange-fg);background:var(--orange-bg);border-color:var(--orange-bd)}.chip.outline{background:0 0}.chip.dashed{border-style:dashed}.chip .x{margin-left:var(--s-0);margin-right:calc(var(--s-1) * -1);color:inherit;opacity:.7;background:0 0;border:0;padding:0;display:inline-flex}.chip .x:hover{opacity:1}.flag{align-items:center;gap:var(--s-1);height:20px;padding:0 var(--s-1h);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;border:1px solid;display:inline-flex}.flag svg.i{stroke-width:2.1px;vertical-align:0;width:12px;height:12px}.flag.amber{color:var(--amber-fg);background:var(--amber-bg);border-color:var(--amber-bd)}.flag.red{color:var(--red-fg);background:var(--red-bg);border-color:var(--red-bd)}.flag.purple{color:var(--purple-fg);background:var(--purple-bg);border-color:var(--purple-bd)}.flag.slate{color:var(--slate-fg);background:var(--slate-bg);border-color:var(--slate-bd)}.flag.blue{color:var(--blue-fg);background:var(--blue-bg);border-color:var(--blue-bd)}.flag.neutral{color:var(--neutral-fg);background:var(--neutral-bg);border-color:var(--neutral-bd)}.badge{min-width:18px;height:18px;padding:0 var(--s-1h);border-radius:var(--r-pill);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;line-height:1;display:inline-flex}a.badge,button.badge{position:relative}a.badge:after,button.badge:after{content:"";inset:calc(var(--s-1) * -1);position:absolute}.badge.primary{background:var(--primary);color:var(--on-primary)}.badge.red{background:var(--red-solid);color:var(--on-primary)}.badge.amber{background:var(--amber-bg);color:var(--amber-fg)}.badge.soft-red{background:var(--red-bg);color:var(--red-fg)}.badge.purple{background:var(--purple-bg);color:var(--purple-fg)}.tag{gap:var(--s-1);height:20px;padding:0 var(--s-1h);border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:var(--fs-xs)}.dl,.tag{align-items:center;display:inline-flex}.dl{gap:var(--s-1h);height:22px;padding:0 var(--s-2) 0 var(--s-1h);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:help;border:1px solid}.dl svg.i{stroke-width:2.1px;vertical-align:0;width:13px;height:13px}.dl.overdue{color:var(--on-primary);background:var(--red-solid);border-color:var(--red-solid)}.dl.today{color:var(--red-fg);background:var(--red-bg);border-color:var(--red-bd)}.dl.soon{color:var(--orange-fg);background:var(--orange-bg);border-color:var(--orange-bd)}.dl.week{color:var(--amber-fg);background:var(--amber-bg);border-color:var(--amber-bd)}.dl.later{color:var(--text-2);background:var(--surface-2)}.dl.done,.dl.later{border-color:var(--border)}.dl.done{color:var(--text-3);font-weight:var(--fw-medium);background:0 0;text-decoration:line-through}.dl.wait{color:var(--slate-fg);background:var(--slate-bg);border-color:var(--slate-bd)}.dl-date{color:var(--text-3);font-size:var(--fs-xs);margin-left:var(--s-1h);font-variant-numeric:tabular-nums}.conf{align-items:center;gap:var(--s-1h);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-2);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.conf .bar{border-radius:var(--r-pill);background:var(--surface-3);width:28px;height:6px;position:relative;overflow:hidden}.conf .bar>i{border-radius:inherit;position:absolute;inset:0 auto 0 0}.conf.high{color:var(--green-fg)}.conf.high .bar>i{background:var(--green-solid)}.conf.med{color:var(--amber-fg)}.conf.med .bar>i{background:var(--amber-solid)}.conf.low{color:var(--red-fg)}.conf.low .bar>i{background:var(--red-solid)}.plate{border-radius:var(--r-xs);background:var(--plate-rear);height:22px;color:var(--plate-text);box-shadow:inset 0 0 0 1px var(--plate-text);vertical-align:middle;font-family:var(--font-plate);font-weight:var(--fw-bold);font-size:var(--fs-plate);letter-spacing:.06em;white-space:nowrap;flex:none;align-items:stretch;line-height:22px;display:inline-flex;overflow:hidden}.plate .band{background:var(--plate-band);flex:none;width:9px}.plate .txt{padding:0 var(--s-1h) 0 var(--s-1h)}.plate.front{background:var(--plate-front)}.plate.lg{height:32px;line-height:32px;font-size:var(--fs-xl);border-radius:var(--r-sm)}.plate.lg .band{width:13px}.plate.lg .txt{padding:0 var(--s-2h) 0 var(--s-2)}.plate.sm{height:18px;line-height:18px;font-size:var(--fs-xs)}.plate.sm .band{width:6px}.plate.sm .txt{padding:0 var(--s-1)}.avatar{background:var(--primary-soft-2);width:24px;height:24px;color:var(--primary-text);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar.lg{width:36px;height:36px;font-size:var(--fs-md)}.avatar.empty{border:1px dashed var(--border-strong);color:var(--text-3);background:0 0}.field{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.field>label,.label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2)}.field .req{color:var(--red-fg);margin-left:var(--s-0)}.field .help{font-size:var(--fs-sm);color:var(--text-3)}.field .err{font-size:var(--fs-sm);color:var(--red-fg);gap:var(--s-1);align-items:center;display:flex}.input,.select,.textarea{height:var(--control-h);padding:0 var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--text);font-size:var(--fs-md);width:100%;min-width:0;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.textarea{height:auto;min-height:80px;padding:var(--s-2) var(--s-3);resize:vertical;line-height:var(--lh)}.select{appearance:none;padding-right:var(--s-8);background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px}.input::placeholder,.textarea::placeholder{color:var(--text-disabled)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft-2);outline:none}.input.is-error,.select.is-error{border-color:var(--red-solid)}.input.is-error:focus{box-shadow:0 0 0 3px var(--red-bg);outline:2px solid var(--focus);outline-offset:1px}.input[disabled],.select[disabled]{background:var(--surface-2);color:var(--text-disabled);cursor:not-allowed}.input[readonly]{background:var(--surface-2)}.input.sm,.select.sm{height:var(--control-h-sm);font-size:var(--fs-sm);padding:0 var(--s-2)}.input-group{align-items:center;display:flex;position:relative}.input-group>svg.i{color:var(--text-3);pointer-events:none;position:absolute;left:10px}.input-group>.input{padding-left:var(--s-8)}.input-group .suffix{color:var(--text-3);font-size:var(--fs-sm);position:absolute;right:10px}.input-affix{display:flex}.input-affix .affix{padding:0 var(--s-2h);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-3);font-size:var(--fs-sm);align-items:center;display:inline-flex}.input-affix .affix:first-child{border-radius:var(--r) 0 0 var(--r);border-right:0}.input-affix .input{border-radius:0 var(--r) var(--r) 0}.check,.radio{align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);min-width:var(--control-h-sm);cursor:pointer;font-size:var(--fs-md);color:var(--text);display:inline-flex}.check input,.radio input{appearance:none;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;flex:none;place-content:center;width:16px;height:16px;margin:0;display:inline-grid}.check input{border-radius:var(--r-xs)}.radio input{border-radius:50%}.check input:checked,.check input:indeterminate{background:var(--primary);border-color:var(--primary)}.check input:checked:after{content:"";border:2px solid var(--on-primary);border-top:0;border-right:0;width:9px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.check input:indeterminate:after{content:"";background:var(--on-primary);width:8px;height:2px}.radio input:checked{border-color:var(--primary);border-width:5px}.check input:focus-visible,.radio input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.switch{align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);cursor:pointer;display:inline-flex}.switch input{appearance:none;border-radius:var(--r-pill);background:var(--border-strong);width:32px;height:18px;transition:background var(--dur) var(--ease);cursor:pointer;flex:none;margin:0;position:relative}.switch input:after{content:"";background:var(--surface);width:14px;height:14px;box-shadow:var(--shadow-xs);transition:transform var(--dur) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--primary)}.switch input:checked:after{transform:translate(14px)}.form-grid{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}.form-grid .span-all{grid-column:1/-1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0}.card-h{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);min-height:48px;display:flex}.card-h h3,.card-h h4{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.card-h .sub{color:var(--text-3);font-size:var(--fs-sm)}.card-b{padding:var(--s-4)}.card-b.flush{padding:0;overflow-x:auto}.card-f{padding:var(--s-3) var(--s-4);border-top:1px solid var(--border);gap:var(--s-2);align-items:center;display:flex}.card.sunken{background:var(--surface-2)}.section-title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin:0 0 var(--s-2)}.kv{column-gap:var(--s-4);row-gap:var(--s-2);font-size:var(--fs-md);grid-template-columns:minmax(110px,max-content) 1fr;margin:0;display:grid}.kv dt{color:var(--text-3);font-size:var(--fs-sm);padding-top:var(--s-hair)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.kv.cols-2{grid-template-columns:minmax(110px,max-content) 1fr minmax(110px,max-content) 1fr}.kpi{gap:var(--s-1);padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text);flex-direction:column;min-width:0;display:flex}.kpi,a.kpi:hover{text-decoration:none}a.kpi:hover{border-color:var(--primary)}.kpi .k-label{font-size:var(--fs-sm);color:var(--text-3);gap:var(--s-1h);align-items:center;display:flex}.kpi .k-value{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.15}.kpi .k-foot{font-size:var(--fs-sm);color:var(--text-3)}.kpi.alert .k-value{color:var(--red-fg)}.kpi.warn .k-value{color:var(--amber-fg)}.tabs{gap:var(--s-1);border-bottom:1px solid var(--border);scrollbar-width:thin;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{align-items:center;gap:var(--s-1h);height:40px;padding:0 var(--s-3);margin-bottom:calc(var(--s-hair) * -1);color:var(--text-2);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;display:inline-flex}.tab,.tab:hover{text-decoration:none}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--primary-text);border-bottom-color:var(--primary)}.tab[aria-disabled=true]{color:var(--text-disabled);cursor:not-allowed}.tab .badge{min-width:17px;height:17px}.tab[aria-selected=true] .badge{background:var(--primary-soft-2);color:var(--primary-text)}.tabs.sm .tab{height:34px;font-size:var(--fs-sm);padding:0 var(--s-2)}.tabs.dense{padding:0 var(--s-2);gap:0}.tabs.dense .tab{padding:0 var(--s-2h);font-size:var(--fs-md)}.views{gap:var(--s-0);scrollbar-width:thin;padding-bottom:var(--s-0);display:flex;overflow-x:auto}.view,.views{align-items:center}.view{gap:var(--s-1h);height:30px;padding:0 var(--s-2h);border-radius:var(--r);color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;background:0 0;border:1px solid #0000;display:inline-flex}.view:hover{background:var(--hover);color:var(--text)}.view[aria-selected=true]{background:var(--surface);border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-xs)}.view .badge{height:17px}.view.is-alert .badge{background:var(--red-bg);color:var(--red-fg)}.view.save{color:var(--primary-text)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);position:relative;overflow:auto}.table-wrap.fit{max-height:calc(100vh - 290px)}.table{width:100%;font-size:var(--fs-md)}.table td,.table th{height:var(--row-h);padding:0 var(--cell-px);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;vertical-align:middle}.table thead th{z-index:2;background:var(--surface-2);height:36px;color:var(--text-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-bottom:1px solid var(--border-strong);-webkit-user-select:none;user-select:none;position:sticky;top:0}.table thead th.sortable{cursor:pointer}.table thead th.sortable:hover{color:var(--text)}.table thead th .sort-ind{vertical-align:-2px;opacity:.4;margin-left:var(--s-0);display:inline-flex}.table thead th[aria-sort] .sort-ind{opacity:1;color:var(--primary-text)}.table tbody tr:hover td{background:var(--hover)}.table tbody tr.is-selected td{background:var(--selected)}.table tbody tr.is-urgent td:first-child{box-shadow:inset 3px 0 0 var(--red-solid)}.table tbody tr.is-warn td:first-child{box-shadow:inset 3px 0 0 var(--amber-solid)}.table tbody tr:last-child td{border-bottom:0}.table tfoot td{background:var(--surface-2);font-weight:var(--fw-semibold);border-top:1px solid var(--border-strong);border-bottom:0;height:40px;position:sticky;bottom:0}.table td.cell-empty{height:auto}.table td.chk,.table th.chk{box-sizing:border-box;width:40px;min-width:40px;max-width:40px;padding:0 0 0 var(--s-3)}.table td.money,.table td.num,.table th.money,.table th.num{text-align:right}.table td.actions{text-align:right;width:1%}.table td.actions .row{justify-content:flex-end;gap:var(--s-0)}.table td.actions .btn{opacity:.85}.table tbody tr:hover td.actions .btn{opacity:1}.table a.id{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.two-line{flex-direction:column;min-width:0;line-height:1.25;display:flex}.two-line .l2{font-size:var(--fs-sm);color:var(--text-3)}.table.plain{font-size:var(--fs-md)}.table.plain td,.table.plain th{height:40px}.table.plain thead th{background:0 0;position:static}:root[data-density=compact] .table .two-line .l2{display:none}.table td.wrap{white-space:normal}.table.sticky-cols td.chk,.table.sticky-cols th.chk{z-index:1;background:var(--surface);position:sticky;left:0}.table.sticky-cols td.key,.table.sticky-cols th.key{z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--border);position:sticky;left:40px}.table.sticky-cols td.actions,.table.sticky-cols th.actions{z-index:1;background:var(--surface);box-shadow:inset 1px 0 0 var(--border);position:sticky;right:0}.table.sticky-cols tfoot td.actions,.table.sticky-cols tfoot td.chk,.table.sticky-cols tfoot td.key,.table.sticky-cols thead th.actions,.table.sticky-cols thead th.chk,.table.sticky-cols thead th.key{z-index:3;background:var(--surface-2)}.table.sticky-cols tbody tr:hover td{background:var(--surface-2)}.table.sticky-cols tbody tr.is-selected td{background:var(--selected)}.table td.ico,.table th.ico{text-align:center;padding-left:var(--s-1);padding-right:var(--s-1)}.yn{align-items:center;gap:var(--s-1);font-size:var(--fs-sm);font-weight:var(--fw-medium);display:inline-flex}.yn.ok{color:var(--green-fg)}.yn.no{color:var(--red-fg)}.yn.warn{color:var(--amber-fg)}.yn.na{color:var(--text-3)}.filterbar{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.filterbar .search{width:340px;max-width:100%}.fchip{align-items:center;gap:var(--s-1);height:28px;padding:0 var(--s-1h) 0 var(--s-2h);border-radius:var(--r-pill);border:1px solid var(--primary-soft-2);background:var(--primary-soft);color:var(--primary-text);font-size:var(--fs-sm);white-space:nowrap;display:inline-flex}.fchip b{font-weight:var(--fw-semibold)}.fchip button{color:inherit;padding:var(--s-0);background:0 0;border:0;border-radius:50%;display:inline-flex}.chip .x,.conf,.fchip button{position:relative}.chip .x:after,.conf:after,.fchip button:after{content:"";inset:calc(var(--s-1h) * -1);position:absolute}.fchip button:hover{background:var(--primary-soft-2)}.bulkbar{align-items:center;gap:var(--s-2);padding:0 var(--s-2) 0 var(--s-4);border-radius:var(--r-lg);background:var(--topbar-bg);height:48px;color:var(--topbar-text);box-shadow:var(--shadow-pop);display:flex}.bulkbar .count{font-weight:var(--fw-semibold);margin-right:var(--s-2)}.bulkbar .btn{border-color:var(--topbar-field-border);color:var(--topbar-text);background:0 0}.bulkbar .btn:hover{background:var(--topbar-hover)}.bulkbar .btn.ghost{color:var(--topbar-text-2);border-color:#0000}.bulkbar .sep{background:var(--topbar-field-border);width:1px;height:20px}.bulkbar-float{left:50%;bottom:var(--s-6);z-index:40;position:fixed;transform:translate(-50%)}.pager{align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--text-3);padding:var(--s-2) 0;display:flex}.pager .pages{gap:var(--s-0);display:flex}.pager .pages .btn{min-width:28px}.pager .pages .btn[aria-current=page]{background:var(--primary-soft);color:var(--primary-text);border-color:var(--primary-soft-2)}.pop{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:220px;box-shadow:var(--shadow-pop);padding:var(--s-1);position:absolute}.pop.lg{width:360px}.pop.pad{padding:var(--s-3)}.pop-h{padding:var(--s-1) var(--s-1) var(--s-2);font-weight:var(--fw-semibold);font-size:var(--fs-sm);justify-content:space-between;align-items:center;display:flex}.pop.static{z-index:auto;position:relative}.menu{flex-direction:column;display:flex}.menu-item{align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-md);text-align:left;white-space:nowrap;background:0 0;border:0;width:100%;text-decoration:none;display:flex}.menu-item.rich{height:auto;padding:var(--s-2);align-items:flex-start}.menu-item.rich .col{white-space:normal;gap:0}.menu-gap{width:var(--s-4)}.menu-item:hover{background:var(--hover);text-decoration:none}.menu-item svg.i{color:var(--text-3)}.menu-item .kbd-r{margin-left:auto}.menu-item.danger,.menu-item.danger svg.i{color:var(--red-fg)}.menu-item[aria-disabled=true]{color:var(--text-disabled);cursor:not-allowed}.menu-item[aria-disabled=true] svg.i{color:var(--text-disabled)}.menu-sep{background:var(--border);height:1px;margin:var(--s-1) 0}.menu-label{padding:var(--s-2) var(--s-2) var(--s-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.tip{z-index:90;max-width:280px;padding:var(--s-1h) var(--s-2h);border-radius:var(--r);background:var(--topbar-bg);color:var(--topbar-text);font-size:var(--fs-sm);pointer-events:none;box-shadow:var(--shadow-pop);line-height:1.35;position:fixed}.tip b{color:var(--on-primary);font-weight:var(--fw-semibold)}:root[data-theme=dark] .tip{background:var(--surface-3);color:var(--text)}:root[data-theme=dark] .tip b{color:var(--text)}.colchooser{width:260px;max-height:420px;overflow:auto}.colchooser .col-item{align-items:center;gap:var(--s-2);height:30px;padding:0 var(--s-2);border-radius:var(--r-sm);display:flex}.colchooser .col-item:hover{background:var(--hover)}.colchooser .col-item .grip{color:var(--text-disabled);cursor:grab}.backdrop{z-index:70;background:var(--overlay);padding:var(--s-12) var(--s-4) var(--s-4);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface);border-radius:var(--r-xl);width:min(640px,100%);box-shadow:var(--shadow-modal);flex-direction:column;max-height:88vh;display:flex}.modal.lg{width:min(920px,100%)}.modal.xl{width:min(1100px,100%)}.modal.sm{width:min(440px,100%)}.modal-h{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border);display:flex}.modal-h h2{font-size:var(--fs-lg)}.ico-box{border-radius:var(--r);background:var(--primary-soft);width:32px;height:32px;color:var(--primary-text);flex:none;justify-content:center;align-items:center;display:inline-flex}.ico-box.blue{background:var(--blue-bg);color:var(--blue-fg)}.modal-sub{padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--border)}.modal-h .sub{color:var(--text-3);font-size:var(--fs-sm)}.modal-b{padding:var(--s-5);flex:auto;overflow:auto}.modal-f{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl);display:flex}.modal.static{box-shadow:var(--shadow-pop);max-height:none}.drawer-backdrop{z-index:70;background:var(--overlay);position:fixed;inset:0}.drawer.wide{width:min(640px,100%)}.drawer{z-index:71;background:var(--surface);width:min(480px,100%);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.stepper{counter-reset:step}.stepper,.stepper .step{align-items:center;gap:var(--s-2);display:flex}.stepper .step{min-height:var(--control-h-sm);font-weight:var(--fw-medium);white-space:nowrap;background:0 0;border:0;padding:0}.stepper .step,.stepper .step .n{color:var(--text-3);font-size:var(--fs-sm)}.stepper .step .n{border:1.5px solid var(--border-strong);width:24px;height:24px;font-weight:var(--fw-semibold);background:var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.stepper .step.done{color:var(--text-2)}.stepper .step.done .n{background:var(--green-solid);border-color:var(--green-solid);color:var(--on-primary)}.stepper .step.current{color:var(--text);font-weight:var(--fw-semibold)}.stepper .step.current .n{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.stepper .step.blocked .n{border-color:var(--red-solid);color:var(--red-fg)}.stepper .line{background:var(--border-strong);flex:16px;min-width:16px;height:1.5px}.stepper .line.done{background:var(--green-solid)}.stepper.vertical{flex-direction:column;align-items:stretch;gap:0}.stepper.vertical .step{padding:var(--s-2) 0}.stepper.vertical .line{flex:none;width:1.5px;height:12px;min-height:12px;margin-left:11px}.alert{align-items:flex-start;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r);font-size:var(--fs-md);border:1px solid;line-height:1.4;display:flex}.alert>svg.i{margin-top:var(--s-0);flex:none}.alert .a-body{flex:auto;min-width:0}.alert .a-title{font-weight:var(--fw-semibold)}.alert .a-act{gap:var(--s-1);flex:none;align-self:center;margin-left:auto;display:flex}.alert.red{color:var(--red-fg);background:var(--red-bg);border-color:var(--red-bd)}.alert.amber{color:var(--amber-fg);background:var(--amber-bg);border-color:var(--amber-bd)}.alert.blue{color:var(--blue-fg);background:var(--blue-bg);border-color:var(--blue-bd)}.alert.green{color:var(--green-fg);background:var(--green-bg);border-color:var(--green-bd)}.alert.purple{color:var(--purple-fg);background:var(--purple-bg);border-color:var(--purple-bd)}.alert.slate{color:var(--slate-fg);background:var(--slate-bg);border-color:var(--slate-bd)}.alert .a-body .muted{color:inherit;opacity:.8}.alert .btn.sm{background:var(--surface)}.alerts,.state{gap:var(--s-2);flex-direction:column;display:flex}.state{text-align:center;align-items:center;padding:var(--s-10) var(--s-6);color:var(--text-2)}.state.sm{padding:var(--s-4)}.state .s-ico{border-radius:var(--r-xl);background:var(--surface-2);width:48px;height:48px;color:var(--text-3);margin-bottom:var(--s-1);justify-content:center;align-items:center;display:inline-flex}.state .s-ico svg.i{width:24px;height:24px}.state h3{color:var(--text);font-size:var(--fs-lg)}.state p{max-width:420px;color:var(--text-3);margin:0}.state .s-act{gap:var(--s-2);margin-top:var(--s-2);display:flex}.state.error .s-ico{background:var(--red-bg);color:var(--red-fg)}.skel{border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-2) 0,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;height:12px;animation:skel 1.4s ease-in-out infinite;display:block}@keyframes skel{0%{background-position:100% 0}to{background-position:-100% 0}}.spin{animation:spin .9s linear infinite}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline li{gap:var(--s-3);padding-bottom:var(--s-4);grid-template-columns:28px 1fr;display:grid;position:relative}.timeline li:before{content:"";background:var(--border);width:1.5px;position:absolute;top:26px;bottom:0;left:13px}.timeline li:last-child:before{display:none}.timeline .t-dot{background:var(--surface-2);width:28px;height:28px;color:var(--text-3);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;display:flex}.timeline .t-dot svg.i{width:14px;height:14px}.timeline .t-dot.green{background:var(--green-bg);color:var(--green-fg);border-color:var(--green-bd)}.timeline .t-dot.blue{background:var(--blue-bg);color:var(--blue-fg);border-color:var(--blue-bd)}.timeline .t-dot.amber{background:var(--amber-bg);color:var(--amber-fg);border-color:var(--amber-bd)}.timeline .t-dot.red{background:var(--red-bg);color:var(--red-fg);border-color:var(--red-bd)}.timeline .t-dot.purple{background:var(--purple-bg);color:var(--purple-fg);border-color:var(--purple-bd)}.timeline .t-head{gap:var(--s-2);padding-top:var(--s-1);flex-wrap:wrap;align-items:baseline;display:flex}.timeline .t-title{font-weight:var(--fw-semibold)}.timeline .t-meta{color:var(--text-3);font-size:var(--fs-sm)}.timeline .t-body{color:var(--text-2);font-size:var(--fs-md);margin-top:var(--s-0)}.timeline .t-diff{margin-top:var(--s-1);font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2);border-radius:var(--r);padding:var(--s-1h) var(--s-2);display:inline-block}.timeline .t-diff del{color:var(--red-fg)}.timeline .t-diff ins{color:var(--green-fg);text-decoration:none}.checklist{margin:0;padding:0;list-style:none}.checklist li{align-items:flex-start;gap:var(--s-2);padding:var(--s-1h) 0;border-bottom:1px solid var(--border);font-size:var(--fs-md);display:flex}.checklist li:last-child{border-bottom:0}.checklist .ck{border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:0;display:inline-flex}.checklist .ck svg.i{stroke-width:2.6px;width:12px;height:12px}.checklist .ck.ok{background:var(--green-bg);color:var(--green-fg)}.checklist .ck.no{background:var(--red-solid);color:var(--on-primary)}.checklist .ck.opt{background:var(--surface-2);color:var(--text-3)}.checklist .ck-label{flex:auto;min-width:0}.checklist .ck-sub{font-size:var(--fs-sm);color:var(--text-3);display:block}.checklist li.is-missing .ck-label{color:var(--red-fg);font-weight:var(--fw-medium)}.checklist li.indent{padding-left:var(--s-6)}.progress{border-radius:var(--r-pill);background:var(--surface-3);height:6px;overflow:hidden}.progress>i{border-radius:inherit;background:var(--primary);height:100%;display:block}.progress.green>i{background:var(--green-solid)}.progress.amber>i{background:var(--amber-solid)}.progress.red>i{background:var(--red-solid)}.summary .s-line{justify-content:space-between;gap:var(--s-3);padding:var(--s-1) 0;font-size:var(--fs-md);display:flex}.summary .s-line .l{color:var(--text-2);min-width:0}.summary .s-line .l .sub{font-size:var(--fs-xs);color:var(--text-3);display:block}.summary .s-line .v{font-variant-numeric:tabular-nums;white-space:nowrap}.summary .s-total{border-top:1px solid var(--border);padding-top:var(--s-2)}.summary .s-due,.summary .s-total{margin-top:var(--s-2);font-weight:var(--fw-semibold)}.summary .s-due{padding:var(--s-2) var(--s-3);border-radius:var(--r);background:var(--red-bg);color:var(--red-fg);justify-content:space-between;align-items:center;display:flex}.summary .s-due.ok{background:var(--green-bg);color:var(--green-fg)}.summary .s-dep{margin-top:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r);background:var(--purple-bg);color:var(--purple-fg);font-weight:var(--fw-medium);justify-content:space-between;align-items:center;display:flex}.summary .s-sec{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.summary .s-sec:last-child{border-bottom:0}.toasts{right:var(--s-6);bottom:var(--s-6);z-index:95;flex-direction:column;position:fixed}.toast,.toasts{gap:var(--s-2);display:flex}.toast{align-items:center;min-width:280px;max-width:420px;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--topbar-bg);color:var(--topbar-text);box-shadow:var(--shadow-pop);font-size:var(--fs-md)}.toast svg.i{color:var(--green-solid)}.palette{background:var(--surface);border-radius:var(--r-xl);width:min(640px,100%);box-shadow:var(--shadow-modal);overflow:hidden}.palette .p-search{align-items:center;gap:var(--s-2);padding:0 var(--s-4);border-bottom:1px solid var(--border);display:flex}.palette .p-search input{height:52px;font-size:var(--fs-lg);background:0 0;border:0;outline:none;flex:1}.palette .p-list{max-height:380px;padding:var(--s-1);overflow:auto}.palette .p-item[aria-selected=true]{background:var(--selected)}.palette .p-foot{gap:var(--s-4);padding:var(--s-2) var(--s-4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-3);background:var(--surface-2);display:flex}.scan-viewer{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;min-height:0;display:flex;overflow:hidden}.scan-toolbar{align-items:center;gap:var(--s-1);padding:var(--s-1) var(--s-2);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.scan-stage{padding:var(--s-4);flex:auto;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.scan-page{aspect-ratio:1/1.414;background:var(--scan-paper);width:100%;max-width:520px;color:var(--scan-ink);box-shadow:var(--shadow-pop);padding:var(--s-6);font-family:Georgia,Times New Roman,serif;font-size:var(--fs-doc-sm);transform-origin:top;line-height:1.45;position:relative}.scan-page .sp-head{margin-bottom:var(--s-3);justify-content:space-between;align-items:flex-start;display:flex}.scan-page .sp-crest{font-family:var(--font);font-weight:var(--fw-bold);font-size:var(--fs-doc-md);letter-spacing:.02em}.scan-page .sp-crest small{font-weight:var(--fw-regular);font-size:var(--fs-doc-xs);letter-spacing:0;display:block}.scan-page h5{font-family:var(--font);font-size:var(--fs-doc-lg);font-weight:var(--fw-bold);margin:var(--s-1h) 0 var(--s-2h);letter-spacing:.01em}.scan-page .sp-grid{border:1px solid var(--scan-ink);margin:var(--s-2) 0 var(--s-3);grid-template-columns:42% 58%;display:grid}.scan-page .sp-grid>div{padding:var(--s-1) var(--s-1h);border-bottom:1px solid var(--scan-ink)}.scan-page .sp-grid>div:nth-child(odd){border-right:1px solid var(--scan-ink);font-weight:var(--fw-bold);font-family:var(--font);font-size:var(--fs-doc-xs)}.scan-page .sp-grid>div:nth-last-child(-n+2){border-bottom:0}.scan-page p{margin:0 0 var(--s-1h)}.scan-page .sp-date{text-align:right;font-size:var(--fs-doc-xs)}.scan-page .sp-addr{font-size:var(--fs-doc-xs);margin-bottom:var(--s-2h)}.scan-page h5 .sp-sub{font-size:var(--fs-xs);font-weight:var(--fw-regular)}.scan-page.no-hl .hl{background:0 0}.scan-page .hl{background:var(--scan-highlight);outline:1px solid var(--amber-solid);border-radius:var(--r-xs)}.scan-page .hl.low{background:var(--scan-highlight-low);outline-color:var(--red-solid)}.scan-page .sp-foot{margin-top:var(--s-3);border-top:1px dashed var(--scan-ink);padding-top:var(--s-1h);font-size:var(--fs-doc-xs);justify-content:space-between;display:flex}.scan-pages{gap:var(--s-2);padding:var(--s-2);border-top:1px solid var(--border);background:var(--surface);display:flex}.scan-thumb{aspect-ratio:1/1.414;border:1px solid var(--border-strong);background:var(--scan-paper);border-radius:var(--r-xs);cursor:pointer;width:44px;padding:0;position:relative}.scan-thumb[aria-current=true]{outline:2px solid var(--primary);outline-offset:1px}.scan-thumb span{font-size:var(--fs-doc-xs);color:var(--scan-ink);font-family:var(--font);position:absolute;bottom:-1px;right:2px}.xfield{gap:var(--s-0) var(--s-2);padding:var(--s-1h) var(--s-3);border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;display:grid}.xfield:last-child{border-bottom:0}.xfield .xf-label{font-size:var(--fs-xs);color:var(--text-3)}.xfield .xf-label,.xfield .xf-value{font-weight:var(--fw-medium);grid-column:1}.xfield .xf-value{font-size:var(--fs-md);gap:var(--s-1h);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.xfield .xf-side{align-items:center;gap:var(--s-1);grid-area:1/2/span 2;display:flex}.xfield.is-low{background:var(--red-bg)}.xfield.is-low .xf-label{color:var(--red-fg)}.xfield.is-edited .xf-label:after{content:" · edited";color:var(--blue-fg)}.xfield .edit-btn{opacity:0}.xfield.is-low .edit-btn,.xfield:hover .edit-btn{opacity:1}.divider-v{background:var(--border);align-self:stretch;width:1px}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.green{background:var(--green-solid)}.dot.amber{background:var(--amber-solid)}.dot.red{background:var(--red-solid)}.dot.blue{background:var(--blue-solid)}.dot.neutral{background:var(--neutral-solid)}.dot.purple{background:var(--purple-solid)}.swatch{border-radius:var(--r);border:1px solid var(--border);background:var(--sw,transparent);height:44px}.swatch.tone{background:var(--sw-bg);border-color:var(--sw-bd);color:var(--sw-fg);padding:0 var(--s-2h);gap:var(--s-1h);font-weight:var(--fw-semibold)}.swatch.tone .dot{background:var(--sw-solid)}.legend{gap:var(--s-3);font-size:var(--fs-sm);color:var(--text-2);flex-wrap:wrap;display:flex}.legend .lg-item{align-items:center;gap:var(--s-1h);display:inline-flex}.photo{aspect-ratio:4/3;border-radius:var(--r);background:var(--surface-3);border:1px solid var(--border);color:var(--text-3);font-size:var(--fs-xs);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.photo .ph-label{background:var(--topbar-bg);color:var(--topbar-text);padding:var(--s-hair) var(--s-1h);border-radius:var(--r-xs);font-size:var(--fs-xs);position:absolute;bottom:4px;left:4px}.photo-grid{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.sig-pad .sig-hint{left:var(--s-6);bottom:var(--s-3);position:absolute}.sig-pad{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);height:140px;color:var(--text-3);justify-content:center;align-items:center;display:flex;position:relative}.sig-pad .sig-line{border-top:1px solid var(--border-strong);position:absolute;bottom:32px;left:24px;right:24px}.sig-pad svg.sig{width:200px;height:70px;stroke:var(--text);fill:none;stroke-width:2px;position:absolute;bottom:30px;left:40px}.sig-pad.signed{background:var(--surface);border-style:solid}.sig-pad .sig-text{left:var(--s-10);bottom:var(--s-8);font-family:var(--font-sign);font-size:var(--fs-3xl);color:var(--text);white-space:nowrap;line-height:1.1;position:absolute}.sig-pad .sig-as{left:var(--s-4);top:var(--s-3);font-size:var(--fs-sm);color:var(--text-3);position:absolute}.sig-pad .sig-clear{right:var(--s-3);top:var(--s-2);position:absolute}.pop.picker{width:420px;max-width:calc(100vw - 16px);padding:0}.picker-list{max-height:320px;padding:var(--s-1);flex-direction:column;display:flex;overflow:auto}.picker-opt{align-items:center;gap:var(--s-2h);width:100%;padding:var(--s-2) var(--s-2h);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-md);text-align:left;background:0 0;border:0;display:flex}.picker-opt:hover,.picker-opt[aria-selected=true]{background:var(--hover)}.picker-opt[aria-selected=true]{box-shadow:inset 2px 0 0 var(--primary)}.picker-opt>.two-line{flex:auto;min-width:0}.picker-opt .p-right{color:var(--text-3);font-size:var(--fs-sm);flex:none;margin-left:auto}.picker-empty{padding:var(--s-4) var(--s-3);text-align:center;color:var(--text-3);font-size:var(--fs-md)}.picker-hint{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-3);display:flex}.win-bar{height:28px;margin:var(--s-1) 0;position:relative}.win-track{border-radius:var(--r-pill);background:var(--blue-bg);border:1px solid var(--blue-bd);height:8px;position:absolute;top:10px;left:0;right:0}.win-mark{flex-direction:column;align-items:center;display:flex;position:absolute;top:0;transform:translate(-50%)}.win-mark span{background:var(--red-solid);width:2px;height:28px}.damage-map{width:100%;max-width:var(--dm-w,420px);height:auto;color:var(--text-3)}.app{grid-template-columns:var(--rail-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);height:100vh;display:grid}:root[data-rail=collapsed] .app{grid-template-columns:var(--rail-w-collapsed) minmax(0,1fr)}.topbar{padding:0 var(--s-3) 0 0;background:var(--topbar-bg);z-index:30;grid-column:1/-1}.topbar,.topbar .brand{align-items:center;gap:var(--s-2);color:var(--topbar-text);display:flex}.topbar .brand{width:var(--rail-w);padding:0 var(--s-4);height:100%;flex:none;text-decoration:none}:root[data-rail=collapsed] .topbar .brand{width:var(--rail-w-collapsed)}:root[data-rail=collapsed] .topbar .brand .b-name{display:none}.topbar .brand:hover{text-decoration:none}.topbar :focus-visible{outline-color:var(--focus-topbar)}.topbar .b-mark{border-radius:var(--r-lg);background:var(--primary);width:26px;height:26px;font-weight:var(--fw-bold);font-size:var(--fs-md);letter-spacing:-.02em;flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar .b-mark,:root[data-theme=dark] .topbar .b-mark{color:var(--on-primary)}.topbar .b-name{font-weight:var(--fw-semibold);font-size:var(--fs-md);line-height:1.1}.topbar .b-name small{font-weight:var(--fw-regular);font-size:var(--fs-xs);color:var(--topbar-text-2);display:block}.topbar .tb-search{align-items:center;gap:var(--s-2);width:min(440px,36vw);height:32px;padding:0 var(--s-2) 0 var(--s-3);border-radius:var(--r);background:var(--topbar-field);border:1px solid var(--topbar-field-border);color:var(--topbar-text-2);font-size:var(--fs-md);cursor:text;display:flex}.topbar .tb-search:hover{background:var(--topbar-hover)}.topbar .tb-search kbd{color:var(--topbar-text-2);border-color:var(--topbar-field-border);background:0 0;margin-left:auto}.topbar .tb-btn{align-items:center;gap:var(--s-1h);height:32px;padding:0 var(--s-2);border-radius:var(--r);color:var(--topbar-text);font-size:var(--fs-md);white-space:nowrap;background:0 0;border:0;display:inline-flex;position:relative}.topbar .tb-btn:hover{background:var(--topbar-hover)}.topbar .tb-btn.icon{justify-content:center;width:32px;padding:0}.topbar .tb-btn .badge{min-width:15px;height:15px;font-size:var(--fs-xs);padding:0 var(--s-1);position:absolute;top:2px;right:0}.topbar .tb-scope{border:1px solid var(--topbar-field-border)}.topbar .tb-scope small{color:var(--topbar-text-2);font-size:var(--fs-xs)}.topbar .tb-new{background:var(--primary);color:var(--on-primary)}.topbar .tb-new:hover{background:var(--primary-hover)}.topbar .tb-sep{background:var(--topbar-field-border);width:1px;height:20px;margin:0 var(--s-1)}.topbar .avatar{background:var(--primary-soft-2)}.rail{background:var(--rail-bg);border-right:1px solid var(--border);padding:var(--s-2) var(--s-2) var(--s-2);scrollbar-width:thin;flex-direction:column;display:flex;overflow:hidden auto}.rail-group{margin-bottom:var(--s-2)}.rail-group .rg-label{padding:var(--s-2) var(--s-2) var(--s-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.07em;color:var(--rail-group);white-space:nowrap}.rail a{align-items:center;gap:var(--s-2h);height:32px;padding:0 var(--s-2);border-radius:var(--r);color:var(--rail-text);font-size:var(--fs-md);white-space:nowrap;text-decoration:none;display:flex;position:relative}.rail a svg.i{color:var(--text-3)}.rail a:hover{background:var(--hover);text-decoration:none}.rail a[aria-current=page]{background:var(--primary);color:var(--on-primary);font-weight:var(--fw-medium)}.rail a[aria-current=page] svg.i{color:var(--on-primary)}.rail a .badge{margin-left:auto}.rail a[aria-current=page] .badge{background:var(--on-primary);color:var(--primary-text)}.rail a .badge.red{background:var(--red-bg);color:var(--red-fg)}.rail a .soon{font-size:var(--fs-xs);color:var(--text-3);margin-left:auto}.rail .rail-foot{border-top:1px solid var(--border);padding-top:var(--s-2);margin-top:auto}.rail .rail-collapse{align-items:center;gap:var(--s-2h);height:32px;padding:0 var(--s-2);color:var(--text-3);border-radius:var(--r);width:100%;font-size:var(--fs-sm);background:0 0;border:0;display:flex}.rail .rail-collapse:hover{background:var(--hover)}:root[data-rail=collapsed] .rail .rail-collapse span,:root[data-rail=collapsed] .rail .rg-label,:root[data-rail=collapsed] .rail a .badge,:root[data-rail=collapsed] .rail a .soon,:root[data-rail=collapsed] .rail a span{display:none}:root[data-rail=collapsed] .rail a{justify-content:center}:root[data-rail=collapsed] .rail-group{border-top:1px solid var(--border);padding-top:var(--s-1)}.main{min-width:0;position:relative;overflow:auto}.page{padding:var(--s-5) var(--s-6) var(--s-8);max-width:var(--content-max)}.page.full{max-width:none}.page.flush{padding:0}.crumbs{align-items:center;gap:var(--s-1);font-size:var(--fs-sm);margin-bottom:var(--s-2);display:flex}.crumbs,.crumbs a{color:var(--text-3)}.crumbs a:hover{color:var(--text)}.crumbs svg.i{width:12px;height:12px}.page-h{align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-4);display:flex}.page-h .ph-title{align-items:center;gap:var(--s-3);flex-wrap:wrap;min-width:0;display:flex}.page-h .ph-title h1{white-space:nowrap}.page-h .ph-ico{border-radius:var(--r-lg);background:var(--primary-soft);width:36px;height:36px;color:var(--primary-text);flex:none;justify-content:center;align-items:center;display:inline-flex}.page-h .ph-ico svg.i{width:20px;height:20px}.page-h .ph-dot{color:var(--text-3);font-size:var(--fs-xl)}.page-h .ph-link{font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.page-h .ph-count{color:var(--text-3);font-size:var(--fs-md);font-weight:var(--fw-regular)}.page-h .ph-actions{gap:var(--s-2);flex:none;align-items:center;margin-left:auto;display:flex}.page-h .ph-sub{color:var(--text-3);font-size:var(--fs-md);margin-top:var(--s-1)}.facts{gap:var(--s-1) var(--s-6);margin-top:var(--s-2);font-size:var(--fs-md);color:var(--text-2);flex-wrap:wrap;display:flex}.facts .f{align-items:center;gap:var(--s-1h);white-space:nowrap;display:inline-flex}.facts .f svg.i{color:var(--text-3)}.facts .f b{color:var(--text);font-weight:var(--fw-semibold)}.list-tools{margin:var(--s-3) 0;flex-wrap:wrap}.list-tools,.list-tools .right-tools{align-items:center;gap:var(--s-2);display:flex}.list-tools .right-tools{margin-left:auto}.list-foot{align-items:center;gap:var(--s-3);margin-top:var(--s-2);display:flex}.detail{grid-template-columns:minmax(0,1fr) var(--summary-w);gap:var(--s-5);align-items:start;display:grid}.detail .d-side{top:var(--s-4);gap:var(--s-3);position:sticky}.detail .d-main,.detail .d-side{flex-direction:column;display:flex}.detail .d-main{gap:var(--s-4);min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{gap:var(--s-4);display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-kpi{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.zones{gap:var(--s-4);grid-template-columns:minmax(340px,1.05fr) minmax(300px,.85fr) minmax(380px,1.1fr);align-items:start;display:grid}.zones .z-scan{top:var(--s-4);height:calc(100vh - var(--topbar-h) - 32px);min-height:520px;position:sticky}.zones .z-scan .scan-viewer{height:100%}.zone-tabs{display:none}.cal{--day-w:30px;--label-w:210px;--cal-row-h:38px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-height:calc(100vh - var(--topbar-h) - 236px);overflow:auto}.cal,.cal-inner{position:relative}.cal-inner{width:max-content;min-width:100%}.c-head{z-index:6;display:flex;position:sticky;top:0}.c-row{display:flex;position:relative}.c-label,.ch-corner{z-index:4;width:var(--label-w);background:var(--surface);border-right:1px solid var(--border);flex:none;position:sticky;left:0}.ch-corner{z-index:7;padding:0 var(--s-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.ch-corner,.ch-day{background:var(--surface-2);border-bottom:1px solid var(--border-strong);height:48px;color:var(--text-3);align-items:center;display:flex}.ch-day{width:var(--day-w);border-right:1px solid var(--border);font-size:var(--fs-xs);flex-direction:column;flex:none;justify-content:center;line-height:1.2;overflow:hidden}.ch-day b{font-size:var(--fs-sm);color:var(--text);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.ch-day.we{background:var(--surface-3)}.ch-day.today{background:var(--primary)}.ch-day.today,.ch-day.today b{color:var(--on-primary)}.ch-day.special{box-shadow:inset 0 -3px 0 var(--purple-solid)}.ch-day.month-start{border-left:2px solid var(--border-strong)}.c-label{height:var(--cal-row-h);border-bottom:1px solid var(--border);align-items:center;gap:var(--s-2);padding:0 var(--s-3);font-size:var(--fs-sm);min-width:0;display:flex}.c-label .cl-model{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);overflow:hidden}.c-row.overdue .c-label{background:var(--orange-bg);box-shadow:inset 3px 0 0 var(--orange-solid)}.c-track{cursor:crosshair;flex:none;display:flex;position:relative}.c-cell{width:var(--day-w);height:var(--cal-row-h);border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex:none}.c-cell.we{background:repeating-linear-gradient(135deg,var(--hatch) 0 2px,transparent 2px 7px),var(--weekend)}.c-cell.today{background:var(--today-col)}.c-cell.special{background:var(--purple-bg)}.c-row.overdue .c-cell{background-color:var(--orange-bg)}.c-group{z-index:5;align-items:center;gap:var(--s-2);height:30px;padding:0 var(--s-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-2);width:var(--label-w);position:sticky;left:0}.c-group,.c-group-row{background:var(--surface-2);border-bottom:1px solid var(--border);display:flex}.c-group button{color:var(--text-3);background:0 0;border:0;padding:0;display:inline-flex;position:relative}.c-group button:after{content:"";inset:calc(var(--s-1h) * -1);position:absolute}.bar{border-radius:var(--r-sm);align-items:center;gap:var(--s-1);height:26px;padding:0 var(--s-1h);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);z-index:2;border:1px solid;display:flex;position:absolute;top:6px;overflow:hidden}.bar svg.i{stroke-width:2.2px;flex:none;width:12px;height:12px}.bar .b-txt{text-overflow:ellipsis;overflow:hidden}.bar .b-txt span{font-weight:var(--fw-regular)}.bar.amber{background:var(--amber-bg);color:var(--amber-fg);border-color:var(--amber-bd)}.bar.blue{background:var(--blue-solid);color:var(--on-primary);border-color:var(--blue-solid)}.bar.green{background:var(--green-bg);color:var(--green-fg);border-color:var(--green-bd)}.bar.neutral{background:var(--surface);color:var(--text-2);border-color:var(--border-strong);border-style:dashed}.bar.red{background:var(--red-solid);color:var(--on-primary);border-color:var(--red-solid)}.bar.purple{background:var(--purple-bg);color:var(--purple-fg);border-color:var(--purple-bd)}.bar.slate{background:var(--slate-bg);color:var(--slate-fg);border-color:var(--slate-bd)}.bar.block{background:repeating-linear-gradient(135deg,var(--hatch) 0 6px,transparent 6px 12px),var(--surface-2);color:var(--text-2);border-color:var(--border-strong);cursor:default}.bar.clash{background:repeating-linear-gradient(135deg,var(--red-bd) 0 5px,var(--red-bg) 5px 10px);color:var(--red-fg);border-color:var(--red-solid);z-index:3}.bar.is-dragging{box-shadow:var(--shadow-pop);z-index:10;cursor:grabbing}.bar.is-active{outline:2px solid var(--primary);outline-offset:1px}.cal-select{border-radius:var(--r-sm);border:1.5px dashed var(--primary);background:var(--primary-soft);height:26px;color:var(--primary-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:0 var(--s-1h);white-space:nowrap;align-items:center;display:flex;top:6px;overflow:hidden}.cal-now,.cal-select{pointer-events:none;z-index:3;position:absolute}.cal-now{background:var(--primary);width:2px;top:0;bottom:0}.cal-foot{align-items:center;gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.cal-foot .ct{align-items:center;gap:var(--s-1h);height:30px;padding:0 var(--s-2h);border-radius:var(--r);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-sm);text-decoration:none;display:inline-flex}.cal-foot .ct:hover{border-color:var(--primary);text-decoration:none}.cal.zoom-out .bar .b-txt{display:none}.quick-card{width:340px;position:fixed}.cal-period{font-size:var(--fs-lg);min-width:180px}.lg-item .bar{width:22px;height:16px;padding:0 var(--s-1);box-shadow:none;position:static}.quick-card .kv{row-gap:var(--s-1h);grid-template-columns:72px 1fr}.avail-bar{gap:var(--s-0);display:flex}.avail-bar i{border-radius:var(--r-xs);background:var(--green-solid);width:10px;height:14px}.avail-bar i.low{background:var(--amber-solid)}.avail-bar i.none{background:var(--red-solid)}.board{gap:var(--s-3);padding-bottom:var(--s-2);grid-auto-columns:272px;grid-auto-flow:column;display:grid;overflow-x:auto}.lane{background:var(--surface-2);border-radius:var(--r-lg);padding:var(--s-2);flex-direction:column}.lane,.lane-h{gap:var(--s-2);display:flex}.lane-h{align-items:center;padding:var(--s-1) var(--s-1) var(--s-1);font-weight:var(--fw-semibold)}.bcard,.lane-h{font-size:var(--fs-sm)}.bcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--s-2) var(--s-3);gap:var(--s-1h);flex-direction:column;display:flex}.sheet-sec{margin-bottom:var(--s-8)}.sheet-sec>h2{font-size:var(--fs-lg);margin-bottom:var(--s-1)}.sheet-sec>.ss-sub{color:var(--text-3);margin-bottom:var(--s-3);font-size:var(--fs-md)}.specimen{gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;display:flex}.specimen.col{flex-flow:column;align-items:stretch}.specimen-label{font-size:var(--fs-xs);color:var(--text-3);font-family:var(--font-mono)}.demo-card{width:var(--w-2);border-radius:var(--rad,var(--r));height:56px;box-shadow:var(--sh,none)}.sp-bar{height:10px;width:var(--sp);background:var(--primary);border-radius:var(--r-xs)}.lbl-col{width:var(--w-5);padding-top:var(--s-0);flex:none}.demo-lane{height:34px;position:relative}.demo-lane .bar{width:var(--w-6);left:0;top:var(--s-1)}.demo-lane .bar-note{left:calc(var(--w-6) + var(--s-4));top:var(--s-2);position:absolute}.demo-cal{max-height:none}.demo-cal .bar,.demo-cal .cal-select{left:calc(var(--x) * var(--day-w));width:calc(var(--n) * var(--day-w))}.demo-cal .cal-now{left:calc(var(--x) * var(--day-w))}.specimen .bulkbar-float,.specimen .quick-card{position:static;bottom:auto;left:auto;transform:none}.demo-open{align-items:center;gap:var(--s-3);display:flex}.sw-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.sw-grid .sw{gap:var(--s-1);font-size:var(--fs-xs);flex-direction:column;display:flex}.sw-grid .sw code{color:var(--text-3)}.sheet-split{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sheet-nav{z-index:10;gap:var(--s-1);padding:var(--s-2) 0;margin-bottom:var(--s-4);background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex;position:sticky;top:0}.sheet-nav a{font-size:var(--fs-sm);padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);color:var(--text-2)}.sheet-nav a:hover{background:var(--hover);text-decoration:none}@media (max-width:1360px){.zones{grid-template-columns:minmax(320px,1fr) minmax(0,1.15fr)}.zones .z-scan{grid-row:span 2}}@media (max-width:1180px){:root{--rail-w:var(--rail-w-collapsed);--summary-w:290px}.rail .rail-collapse span,.rail .rg-label,.rail a .badge,.rail a .soon,.rail a span,.topbar .brand .b-name{display:none}.rail a{justify-content:center}.rail-group{border-top:1px solid var(--border);padding-top:var(--s-1)}.page{padding:var(--s-4)}.topbar .tb-label{display:none}.zones{grid-template-columns:1fr}.zones .z-scan{grid-row:auto;height:560px;position:static}.zone-tabs{margin-bottom:var(--s-3);display:flex}.zones[data-zone=case]>:not(.z-case),.zones[data-zone=fields]>:not(.z-fields),.zones[data-zone=scan]>:not(.z-scan){display:none}}@media (max-width:960px){.detail{grid-template-columns:1fr}.detail .d-side{position:static}.grid-3{grid-template-columns:1fr 1fr}}.shots-index{padding:var(--s-6);max-width:var(--content-max);margin:0 auto}.shots-sec{margin:var(--s-8) 0}.shots-grid{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.shots-grid figure{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);margin:0;overflow:hidden}.shots-grid img{width:100%;height:auto;display:block}.shots-grid figcaption{padding:var(--s-1h) var(--s-2h);font-size:var(--fs-sm);color:var(--text-3)}.w-1{width:var(--w-1)}.w-2{width:var(--w-2)}.w-3{width:var(--w-3)}.w-4{width:var(--w-4)}.w-5{width:var(--w-5)}.w-6{width:var(--w-6)}.w-7{width:var(--w-7)}.w-8{width:var(--w-8)}.w-9{width:var(--w-9)}}@layer app{.auth-wrap{min-height:100vh;padding:var(--s-6) var(--s-4);place-items:center;display:grid}.auth-card{width:min(420px,100%)}.auth-brand{gap:var(--s-2);margin-bottom:var(--s-4);display:flex}.auth-brand,.auth-brand .b-mark{align-items:center;justify-content:center}.auth-brand .b-mark{border-radius:var(--r-lg);background:var(--primary);width:32px;height:32px;color:var(--on-primary);font-weight:var(--fw-bold);display:inline-flex}.auth-card .card-b{gap:var(--s-4);flex-direction:column;display:flex}.auth-card h1{font-size:var(--fs-xl)}.rail .rail-soon{align-items:center;gap:var(--s-2h);height:32px;padding:0 var(--s-2);font-size:var(--fs-md);white-space:nowrap;cursor:default;display:flex}.rail .rail-soon,.rail .rail-soon svg.i{color:var(--text-disabled)}.rail .rail-soon .soon{font-size:var(--fs-xs);margin-left:auto}.menu-item[data-highlighted]{background:var(--hover);outline:none}.pop.radix{position:static}.backdrop.radix{align-items:center}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}.field-error{color:var(--red-fg);font-size:var(--fs-sm)}.dev-banner{background:var(--amber-bg);color:var(--amber-fg);border-bottom:1px solid var(--amber-bd);padding:var(--s-1h) var(--s-4);font-size:var(--fs-sm)}@media (min-width:768px){.page>.table-wrap:has(>table.table){max-height:calc(100dvh - 290px)}}.grid-kpi{gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.grid-kpi .kpi{padding:var(--s-2) var(--s-3);gap:0}.grid-kpi .kpi .k-value{font-size:var(--fs-xl)}.grid-kpi .kpi .k-label{font-size:var(--fs-sm)}.card .table-wrap,.card-b .table-wrap{background:0 0;border:0;border-radius:0}.table td .chip-row{gap:var(--s-1);flex-wrap:nowrap;align-items:center;display:inline-flex}.table thead th .sort-link{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.modal.app-dialog{z-index:71;max-width:calc(100vw - 2rem);max-height:84vh;position:fixed;top:8vh;left:50%;overflow:auto;transform:translate(-50%)}.modal-h h2{flex:auto;min-width:0}.toast{right:var(--s-4);bottom:var(--s-4);z-index:60;max-width:min(440px,100vw - 2rem);position:fixed}.filter-wrap{display:inline-block;position:relative}.filter-pop{max-width:calc(100vw - 2rem);top:calc(100% + 4px);left:auto;right:0}.filter-fields{gap:var(--s-3)}.filter-actions{align-items:center;gap:var(--s-2);margin-top:var(--s-3);display:flex}.filter-chips{margin-top:var(--s-2)}.fchip a{color:inherit;padding:var(--s-0);border-radius:50%;display:inline-flex;position:relative}.fchip a:after{content:"";inset:calc(var(--s-1h) * -1);position:absolute}.fchip a:hover{background:var(--primary-soft-2)}.card-b.flush,.overflow-auto,.overflow-x-auto,.overflow-y-auto{position:relative}.table td .dl{height:21px}@media (max-width:1400px){:root:not([data-density]){--cell-px:7px}}.list-note{color:var(--text-3);font-size:var(--fs-sm);margin:0}.list-note a{text-decoration:underline}@media (max-width:1180px){.rail .rail-soon{justify-content:center;padding:0}.rail .rail-soon span{display:none}}.page .col,.page .detail>*,.page .grid-2>*,.page .grid-3>*{min-width:0}@media (max-width:767px){.page-h{gap:var(--s-2);flex-wrap:wrap}.page-h .ph-title{flex:auto}.page-h .ph-actions{flex-wrap:wrap;flex:100%;justify-content:flex-start}.stepper,.tabs{max-width:100%;overflow-x:auto}.page>*{min-width:0}.list-tools{flex-wrap:wrap}.list-tools .right-tools{margin-left:0}.list-tools .right-tools,.list-tools .right-tools form{flex-wrap:wrap;max-width:100%}.filterbar .input-group.search{flex:100%;width:100%;min-width:0}.filterbar .input-group.search .input{width:100%;min-width:0}.page-h .ph-actions .btn{max-width:100%}}@media (min-width:768px) and (max-width:1023px){.page-h{gap:var(--s-2) var(--s-4)}.page-h,.page-h .ph-actions{flex-wrap:wrap}}@media (max-width:640px){.grid-2{grid-template-columns:minmax(0,1fr)}}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-\[8vh\]{top:8vh}.top-\[calc\(var\(--s-8\)\+var\(--s-1\)\)\]{top:calc(var(--s-8) + var(--s-1))}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.z-\[60\]{z-index:60}.z-\[71\]{z-index:71}.m-0{margin:0}.m-3{margin:calc(var(--spacing) * 3)}.mt-0{margin-top:0}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.max-h-\[84vh\]{max-height:84vh}.min-h-12{min-height:calc(var(--spacing) * 12)}.w-\(--w-6\){width:var(--w-6)}.w-\(--w-7\){width:var(--w-7)}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-44{width:calc(var(--spacing) * 44)}.w-full{width:100%}.max-w-\(--w-7\){max-width:var(--w-7)}.max-w-\(--w-8\){max-width:var(--w-8)}.max-w-0{max-width:0}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[42ch\]{max-width:42ch}.max-w-\[min\(440px\,calc\(100vw-2rem\)\)\]{max-width:min(440px,100vw - 2rem)}.max-w-full{max-width:100%}.min-w-\(--s-8\){min-width:var(--s-8)}.min-w-\(--s-10\){min-width:var(--s-10)}.min-w-\(--w-3\){min-width:var(--w-3)}.min-w-0{min-width:0}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-50{min-width:calc(var(--spacing) * 50)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[220px\]{min-width:220px}.min-w-\[230px\]{min-width:230px}.min-w-\[240px\]{min-width:240px}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,2fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-0{row-gap:0}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-0{padding:0}.p-4{padding:calc(var(--spacing) * 4)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-2{padding-block:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.text-\[length\:var\(--fs-md\)\]{font-size:var(--fs-md)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.\[overflow-wrap\:normal\]{overflow-wrap:normal}.\[word-break\:normal\]{word-break:normal}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.no-underline{text-decoration-line:none}.opacity-60{opacity:.6}.shadow-\[inset_3px_0_0_var\(--amber-solid\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--amber-solid));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.select-all{-webkit-user-select:all;user-select:all}.\[border-top\:1px_solid_var\(--border\)\]{border-top:1px solid var(--border)}.\[list-style\:none\]{list-style:none}@media (hover:hover){.hover\:no-underline:hover{text-decoration-line:none}}@media not all and (min-width:480px){.max-\[480px\]\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media not all and (min-width:64rem){.max-lg\:order-0{order:0}.max-lg\:order-1{order:1}.max-lg\:order-2{order:2}.max-lg\:order-3{order:3}.max-lg\:block{display:block}.max-lg\:flex{display:flex}.max-lg\:hidden{display:none}.max-lg\:h-auto{height:auto}.max-lg\:w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.max-lg\:w-auto{width:auto}.max-lg\:max-w-none{max-width:none}.max-lg\:min-w-0{min-width:0}.max-lg\:flex-1{flex:1}.max-lg\:grow{flex-grow:1}.max-lg\:basis-\[calc\(100\%-10rem\)\]{flex-basis:calc(100% - 10rem)}.max-lg\:flex-nowrap{flex-wrap:nowrap}.max-lg\:flex-wrap{flex-wrap:wrap}.max-lg\:items-center{align-items:center}.max-lg\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.max-lg\:gap-y-1{row-gap:var(--spacing)}.max-lg\:overflow-x-auto{overflow-x:auto}.max-lg\:border-0{border-style:var(--tw-border-style);border-width:0}.max-lg\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.max-lg\:border-\[color\:var\(--border\)\]{border-color:var(--border)}.max-lg\:p-0{padding:0}.max-lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.max-lg\:py-2{padding-block:calc(var(--spacing) * 2)}.max-lg\:whitespace-normal{white-space:normal}}@media not all and (min-width:48rem){.max-md\:mt-1{margin-top:var(--spacing)}.max-md\:hidden{display:none}.max-md\:size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.max-md\:h-auto{height:auto}.max-md\:max-h-\[70vh\]{max-height:70vh}.max-md\:w-36{width:calc(var(--spacing) * 36)}.max-md\:w-\[calc\(100vw-1rem\)\]{width:calc(100vw - 1rem)}.max-md\:w-full{width:100%}.max-md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-md\:flex-wrap{flex-wrap:wrap}.max-md\:py-2{padding-block:calc(var(--spacing) * 2)}.max-md\:whitespace-normal{white-space:normal}}@media not all and (min-width:40rem){.max-sm\:hidden{display:none}.max-sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width:48rem){.md\:order-last{order:9999}.md\:hidden{display:none}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:items-center{align-items:center}}@media (min-width:64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:basis-full{flex-basis:100%}}@media print{.print\:block{display:block}.print\:hidden{display:none}}@media not all and (min-width:48rem){.max-md\:\[\&_\.search\]\:w-auto .search{width:auto}.max-md\:\[\&_\.search\]\:min-w-0 .search{min-width:0}.max-md\:\[\&_\.search\]\:flex-1 .search{flex:1}.max-md\:\[\&_form\]\:w-full form{width:100%}.max-md\:\[\&_td\.key\]\:w-36 td.key{width:calc(var(--spacing) * 36)}.max-md\:\[\&_td\.key\]\:whitespace-normal td.key{white-space:normal}.max-md\:\[\&_tr\[data-screen\]_\.l2\]\:hidden tr[data-screen] .l2{display:none}}}.w-1{width:var(--w-1)}.w-2{width:var(--w-2)}.w-3{width:var(--w-3)}.w-4{width:var(--w-4)}.w-5{width:var(--w-5)}.w-6{width:var(--w-6)}.w-7{width:var(--w-7)}.w-8{width:var(--w-8)}.w-9{width:var(--w-9)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}