*,:after,:before{box-sizing:border-box}:root{--side-w:240px;--lane-min:220px;--content-max:1600px}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--text-body);line-height:var(--leading-normal)}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.sr{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.desk{width:100%;min-width:min-content;min-height:100vh;background:var(--bg)}.desk,.side{display:flex}.side{flex:0 0 var(--side-w);padding:18px;-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);background:var(--card);flex-direction:column;gap:24px}.who{display:flex;align-items:flex-start;gap:11px}.who .plate{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r-control);background:var(--tint-avatar);color:var(--navy);font-size:var(--text-name);font-weight:var(--weight-semibold);line-height:1}.who .nm{min-width:0}.who .cname{display:block;font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--navy);overflow-wrap:anywhere;text-wrap:pretty}.who .badge{display:inline-flex;align-items:center;gap:var(--space-icon-text);margin-top:4px;font-size:var(--text-label);line-height:var(--leading-normal);color:var(--ink)}.who .badge svg{color:var(--teal-dark);flex:0 0 auto}.nav{display:flex;flex-direction:column;gap:2px}.nav a,.nav button{width:100%;min-height:44px;padding:11px 12px;display:flex;align-items:center;gap:var(--space-icon-text);border:0;border-radius:var(--r-chip);background:transparent;font-family:inherit;font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--ink);text-align:start;cursor:pointer;transition:background-color var(--dur) var(--ease)}.nav a svg,.nav button svg{flex:0 0 auto;color:var(--muted)}.nav a[aria-current=page] svg{color:var(--navy)}.nav a:hover{background:var(--tint-row-hover)}.nav a[aria-current=page]{background:var(--tint-avatar);color:var(--navy);font-weight:var(--weight-semibold)}.nav .soon{color:var(--muted);cursor:default}.nav .soon:hover{background:transparent}.nav .soonchip{-webkit-margin-start:auto;margin-inline-start:auto;padding:2px 7px;border-radius:var(--r-pill);background:var(--tint-glyph-plate);color:var(--muted);font-size:var(--text-legal);line-height:var(--leading-normal)}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.topbar{flex:0 0 auto;width:100%;max-width:var(--content-max);margin-inline:0 auto;padding:20px 22px 0;display:flex;align-items:center;gap:14px}h1{margin:0;font-size:var(--text-h1);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--navy)}.banner{flex:1 1 auto;display:flex;align-items:center;gap:11px;margin:0;padding:10px 14px;border:1px solid var(--border-hover);border-radius:var(--r-control);background:var(--card);box-shadow:var(--sh-card)}.banner svg{flex:0 0 auto;color:var(--navy)}.banner .txt{display:flex;align-items:center;gap:10px;min-width:0}.banner .t1{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--navy)}.banner .rule{width:1px;height:13px;background:var(--line);flex:0 0 auto}.banner .t2{font-size:var(--text-body);color:var(--ink)}.banner .go{-webkit-margin-start:auto;margin-inline-start:auto;padding:7px 13px;border-radius:var(--r-control);background:var(--navy);color:var(--card);font-size:var(--text-button);font-weight:var(--weight-semibold);line-height:var(--leading-normal);transition:background-color var(--dur) var(--ease)}.banner .go:hover{background:var(--navy-hover)}.board{flex:1 1 auto;width:100%;max-width:var(--content-max);margin-inline:0 auto;padding:18px 22px 22px;display:grid;grid-template-columns:repeat(4,minmax(var(--lane-min),1fr));grid-gap:14px;gap:14px}.board,.col{min-height:0}.col{flex-direction:column;min-width:0}.col,.colhd{display:flex}.colhd{flex:0 0 auto;align-items:center;gap:var(--space-icon-text);padding:0 2px var(--space-hairline);border-bottom:1px solid var(--line)}.colhd .t{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--navy)}.colhd .n{-webkit-margin-start:auto;margin-inline-start:auto;font-size:var(--text-meta);color:var(--muted);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular)}.colbody{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-stack-sm) 2px 2px;display:flex;flex-direction:column;gap:var(--space-stack-sm);scrollbar-width:none}.colbody::-webkit-scrollbar{display:none}.none{margin:0;padding:14px 4px;font-size:var(--text-meta);line-height:var(--leading-relaxed);color:var(--muted);text-align:center}.order{display:block;width:100%;padding:0;border:var(--border-structural) solid var(--line);border-radius:var(--r-control);background:var(--card);box-shadow:var(--sh-card);text-align:start;cursor:pointer;transition:border-color var(--dur) var(--ease)}.order:hover{border-color:var(--border-hover)}.order.fresh{border-color:var(--navy);box-shadow:0 0 0 3px var(--scrim-hover)}.order .body{display:block;padding:11px 12px;font-size:var(--text-name);line-height:var(--leading-snug)}.chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--r-chip);background:var(--tint-glyph-plate);font-size:var(--text-legal);line-height:var(--leading-normal)}.chip,.pt{font-weight:var(--weight-semibold);color:var(--navy)}.pt{margin:8px 0 0;font-size:var(--text-name-row);line-height:var(--leading-snug);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular);overflow-wrap:break-word}.where{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:var(--text-meta);line-height:var(--leading-normal);color:var(--ink)}.where svg{flex:0 0 auto;color:var(--muted)}.money{margin-top:var(--space-stack-sm);padding-top:var(--space-hairline);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}.money .when{font-size:var(--text-label);line-height:var(--leading-snug);color:var(--muted);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular)}.money .val{flex:0 0 auto;font-size:15px;font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--navy);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular);letter-spacing:var(--tracking-price)}.assigned{display:flex;align-items:center;gap:8px;padding:var(--space-hairline) 12px;border-top:1px solid var(--line)}.mini{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--tint-avatar);color:var(--navy);font-size:var(--text-legal);font-weight:var(--weight-semibold);line-height:1}.assigned .who2{font-size:var(--text-meta);line-height:var(--leading-normal);color:var(--ink)}.released{display:flex;align-items:center;gap:8px;padding:var(--space-hairline) 12px;border-top:1px solid var(--line);color:var(--success)}.released svg{flex:0 0 auto}.released .rtxt{font-size:var(--text-meta)}.released .ramt,.released .rtxt{line-height:var(--leading-normal);color:var(--ink)}.released .ramt{-webkit-margin-start:auto;margin-inline-start:auto;font-size:var(--text-body);font-weight:var(--weight-semibold);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular)}.loginwrap{width:100%;min-height:100vh;display:grid;place-items:center;background:var(--bg)}.card{width:420px;padding:30px;border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--sh-card)}.brand,.card{background:var(--card)}.brand{display:block;--plate-img:56px;--plate-window:36px;--plate-inset-y:8px;width:72px;height:calc(var(--plate-window) + var(--plate-inset-y) * 2 + 2px);margin:0 auto 18px;padding:var(--plate-inset-y) 6px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-control)}.brand img{width:var(--plate-img);height:var(--plate-img);object-fit:contain;display:block;margin-inline:auto;-webkit-clip-path:inset(0 0 calc(var(--plate-img) - var(--plate-window)) 0);clip-path:inset(0 0 calc(var(--plate-img) - var(--plate-window)) 0)}.card h1{text-align:center}.field{margin-top:var(--space-section)}.flabel{display:block;margin-bottom:var(--space-meta-y);font-size:var(--text-label);color:var(--muted)}.input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--card);color:var(--ink);font-size:var(--text-body)}.input::placeholder{color:var(--muted);opacity:1}.input:focus-visible{border-color:var(--teal-dark)}.input.bad{border-color:var(--danger)}.err{display:flex;align-items:center;gap:var(--space-icon-text);margin-top:var(--space-stack-sm);font-size:var(--text-body);color:var(--ink)}.err svg{color:var(--danger);flex:0 0 auto}.cta{width:100%;margin-top:var(--space-section);padding:14px;border:0;border-radius:var(--r-control);background:var(--navy);color:var(--card);font-size:var(--text-cta);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:var(--sh-cta)}.cta:disabled{cursor:progress}.note{margin-top:20px;display:flex;align-items:flex-start;gap:8px;padding:11px 12px;border-radius:var(--r-chip);background:var(--tint-note);font-size:var(--text-meta);line-height:var(--leading-relaxed);color:var(--ink);text-wrap:pretty}.note svg{flex:0 0 auto;margin-top:3px;color:var(--teal-dark)}.detail{width:100%;max-width:var(--content-max);margin-inline:0 auto;padding:18px 22px 22px;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:18px;gap:18px;align-items:start}.panel{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-surface);background:var(--card);box-shadow:var(--sh-card)}.panel h2{margin:0 0 12px;font-size:var(--text-h2);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--navy)}.sub{margin:2px 0 0;font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--ink)}.rows{flex-direction:column}.row,.rows{display:flex}.row{gap:12px;align-items:baseline;padding:var(--space-hairline) 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row dt{flex:0 0 92px;font-size:var(--text-meta);color:var(--muted)}.row dd{margin:0;flex:1 1 auto;font-size:var(--text-body);line-height:var(--leading-normal);color:var(--ink)}.lm,.withheld{display:block;margin-top:3px;font-size:var(--text-label);line-height:var(--leading-relaxed);color:var(--muted)}.price{font-size:var(--text-price);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--navy);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular);letter-spacing:var(--tracking-price)}.stafflist{display:flex;flex-direction:column;gap:var(--space-stack-sm)}.staffrow{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--card);transition:background-color var(--dur) var(--ease)}.staffrow:hover{background:var(--tint-row-hover)}.staffrow.blocked:hover,.staffrow.gated:hover{background:var(--card)}.staffrow.on{border-color:var(--navy);background:var(--tint-selected)}.staffrow input{accent-color:var(--navy)}.staffrow .nm2{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--navy)}.staffrow .meta{display:block;font-size:var(--text-label);color:var(--muted)}.staffrow.blocked{cursor:default}.staffrow.blocked .meta,.staffrow.blocked .nm2{color:var(--muted)}.staffrow.blocked input[type=radio]{cursor:not-allowed}.staffrow.gated{cursor:default}.staffrow.gated .meta,.staffrow.gated .nm2{color:var(--muted)}.staffrow.gated input[type=radio]{cursor:default}.staffrow:not(.gated) input[type=radio]:disabled{cursor:not-allowed}.reason{-webkit-margin-start:auto;margin-inline-start:auto;padding:4px 9px;border-radius:var(--r-pill);background:var(--tint-note);color:var(--ink);font-size:var(--text-legal);line-height:var(--leading-normal);white-space:nowrap}.gatemsg{margin:0 0 12px;font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--muted)}.actions{margin-top:var(--space-block);display:flex;gap:var(--space-stack-sm)}.btn{flex:1 1 auto;padding:13px;border:0;border-radius:var(--r-control);background:var(--navy);color:var(--card);font-size:var(--text-cta);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:var(--sh-cta);transition:background-color var(--dur) var(--ease)}.btn:hover{background:var(--navy-hover)}.btn[disabled]{color:var(--ink);box-shadow:none;cursor:not-allowed}.btn[disabled],.btn[disabled]:hover{background:var(--line)}.btn.ghost{background:var(--card);color:var(--navy);border:1px solid var(--line);box-shadow:none;font-size:var(--text-button)}.btn.ghost:hover{background:var(--tint-press);border-color:var(--border-hover)}.back{flex:0 0 auto;min-height:44px;padding:0 11px;-webkit-margin-start:-11px;margin-inline-start:-11px;display:inline-flex;align-items:center;gap:var(--space-icon-text);border-radius:var(--r-chip);font-size:var(--text-body);color:var(--muted);transition:background-color var(--dur) var(--ease)}.back:hover{background:var(--scrim-hover);color:var(--navy)}.rows.lines{margin-top:var(--space-stack-sm);padding-top:var(--space-hairline);border-top:1px solid var(--line)}.rows.lines .row{padding:var(--space-meta-y) 0;border-bottom:0}.rows.lines dd,.rows.lines dt{font-size:var(--text-meta);line-height:var(--leading-normal);color:var(--muted)}.rows.lines dd{font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular)}.svcpick{padding:0;border:0;background:transparent;font:inherit;color:var(--navy);font-weight:var(--weight-semibold);text-align:start;cursor:pointer;border-radius:var(--r-chip)}.svcpick:hover,.svcpick[aria-expanded=true]{text-decoration:underline}.src{-webkit-margin-start:var(--space-icon-text);margin-inline-start:var(--space-icon-text);padding:2px 7px;border-radius:var(--r-pill);background:var(--tint-glyph-plate);color:var(--muted);font-size:var(--text-legal);line-height:var(--leading-normal);font-weight:var(--weight-regular)}.detail.editing{grid-template-columns:340px minmax(0,1fr)}.detail .band{grid-column:1/-1}.editing .row dt{flex:1 1 auto;min-width:0;font-size:var(--text-body);color:var(--ink);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-meta-y) 0}.rows.form .row{flex-direction:column;align-items:stretch;gap:var(--space-meta-y)}.rows.form .row dt{flex:0 0 auto}.rows.form .row dd{flex:0 0 auto;min-width:0}.supplyedit{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-icon-text)}.newdev .supplyedit,[data-testid=device-list] .supplyedit{flex-wrap:wrap;row-gap:var(--space-meta-y);justify-content:flex-start}.numfield{display:inline-flex;align-items:center;gap:var(--space-icon-text);white-space:nowrap}.pricein{width:72px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--card);color:var(--navy);font-size:var(--text-body);font-weight:var(--weight-semibold);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular);text-align:center}.pricein:hover{border-color:var(--border-hover)}.pricein:disabled{color:var(--muted);cursor:not-allowed}.cur{font-size:var(--text-meta)}.cur,.rm{color:var(--muted)}.rm{min-height:44px;padding:0 11px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--card);font:inherit;font-size:var(--text-meta);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.rm:hover{background:var(--tint-press);color:var(--navy)}.rm:disabled{cursor:not-allowed}.ownnote{margin:0 0 var(--space-block);padding:11px 12px;border-radius:var(--r-chip);background:var(--tint-note);font-size:var(--text-meta);line-height:var(--leading-relaxed);color:var(--ink)}.ownnote strong{font-weight:var(--weight-semibold);color:var(--navy)}.namein{width:100%;min-height:44px;padding:0 11px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--card);color:var(--navy);font:inherit;font-size:var(--text-body)}.namein:hover{border-color:var(--border-hover)}.namein.sub{margin-top:var(--space-stack-sm)}.newdev{border-bottom:0}.setrow{display:flex;align-items:baseline;gap:var(--space-meta-x);flex-wrap:wrap}.setfig{font-size:var(--text-meta);color:var(--ink);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular)}.setfig.strong{font-weight:var(--weight-semibold);color:var(--navy)}.setlbl{-webkit-margin-end:var(--space-meta-x);margin-inline-end:var(--space-meta-x)}.pending,.setlbl{font-size:var(--text-legal);color:var(--muted)}.pending{padding:2px 7px;border-radius:var(--r-pill);background:var(--tint-glyph-plate);font-weight:var(--weight-regular)}.rows.total{margin-top:var(--space-stack-sm);padding-top:var(--space-hairline);border-top:1px solid var(--line)}.rows.total dd,.rows.total dt{font-weight:var(--weight-semibold);color:var(--navy)}.rows.total dd{font-size:var(--text-body);font-feature-settings:var(--numeric-tabular);font-variant-numeric:var(--numeric-tabular)}.setlink{color:var(--navy)}.setlink:hover{text-decoration:underline}.btn.ghost.on{background:var(--tint-avatar);border-color:var(--navy);color:var(--navy)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}