:root{--bg: #14171c;--panel: #1c2027;--panel-2: #232932;--line: #2f3742;--text: #e8ebef;--muted: #98a2b0;--accent: #ffb020;--accent-ink: #1a1300;--bad: #ff5d5d;--ok: #4cc38a;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}h1{font-size:1.5rem;margin:0 0 .25rem}a{color:var(--accent);text-decoration:none}code{background:var(--panel-2);padding:1px 5px;border-radius:4px}.muted{color:var(--muted)}.small{font-size:.82rem}.grow{flex:1}.pad{padding:12px}.shell{min-height:100%;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-weight:700;color:var(--accent);letter-spacing:.02em;display:inline-flex;align-items:center;gap:8px}.brand img{border-radius:6px;display:block}main{flex:1}.page{max-width:1100px;margin:0 auto;padding:18px 16px 60px}.center{min-height:100%;display:grid;place-items:center;padding:16px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crumbs{margin-bottom:6px;font-size:.85rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}.card.narrow{width:min(380px,100%);display:flex;flex-direction:column;gap:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid .span2{grid-column:1 / -1}label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)}input,select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit;min-height:40px;width:100%}select option,select optgroup{background-color:var(--bg);color:var(--text)}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}button{font:inherit;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:9px 14px;min-height:40px;cursor:pointer}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.ghost{background:transparent}button.danger{color:var(--bad)}button.link{background:none;border:0;color:var(--accent)}.notice{background:#3a2226;border:1px solid #6b3038;color:#ffb3b3;padding:9px 12px;border-radius:8px}.notice.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);border-color:var(--ok);color:var(--text)}.notice.ok a{color:var(--ok)}.addrow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.addrow label{min-width:140px;flex:1}.addrow .grow2{flex:2;min-width:220px}.addrow .small-field{flex:0 0 90px;min-width:90px}.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.project{display:flex;flex-direction:column;gap:3px;color:var(--text);margin:0}.project:hover{border-color:var(--accent)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:14px 0}.tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--muted);padding:10px 16px}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}table{border-collapse:collapse;width:100%;min-width:720px}th,td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--panel-2);position:sticky;top:0}tfoot td{font-weight:600;border-bottom:0;background:var(--panel-2)}.num{text-align:right;font-variant-numeric:tabular-nums}th.num{text-align:right}td select,.cell{min-height:34px;padding:5px 8px}input.cell{width:76px;text-align:right}td .cell{background-color:var(--bg)}tr.clash td{background:#3a1f24}.subrow td{background:var(--panel-2);white-space:normal}.actions{display:flex;gap:6px;justify-content:flex-end}.inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.inline label{width:110px}.badge{padding:3px 9px;border-radius:999px;font-size:.78rem;border:1px solid}.badge.bad{color:var(--bad);border-color:var(--bad)}.badge.ok{color:var(--ok);border-color:var(--ok)}.filters{margin:12px 0}.filters .search{flex:1;min-width:180px}.filters select{width:auto}.universes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 16px}.uni{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;font-size:.85rem}.bar{height:8px;background:var(--bg);border-radius:99px;overflow:hidden}.bar>div{height:100%;background:var(--accent)}.phasecell{display:inline-flex;align-items:center;gap:6px}.dot{width:11px;height:11px;border-radius:50%;display:inline-block;background:var(--muted);border:1px solid var(--line)}.dot-l1{background:#783f04;border-color:#783f04}.dot-l2{background:#0b0b0b;border-color:#8a8f98}.dot-l3{background:#8a8f98;border-color:#8a8f98}.phasebars{display:grid;gap:8px;margin-top:10px}.pb{display:grid;grid-template-columns:48px 1fr 74px;align-items:center;gap:10px}.bar.wide{height:10px;position:relative;overflow:visible}.bar.wide>div{border-radius:99px}.bar>div.over{background:var(--bad)}.limit{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text);opacity:.7}.bad-text{color:var(--bad)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.cards .card,.supply{margin:0}.supply.over{border-color:var(--bad)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:12px 0}.tile{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}.tile-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.tile.bad{border-color:var(--bad)}.tile.bad .tile-value{color:var(--bad)}.tile.ok .tile-value{color:var(--ok)}.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;align-items:start}h2{font-size:1.05rem;margin:18px 0 8px}.headrow{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 20px;flex-wrap:wrap}.headactions{display:flex;gap:8px;flex-wrap:wrap}.minilist{display:grid;gap:8px}.mini{margin:0;padding:10px 12px;display:block;color:inherit;text-decoration:none}.mini .row{gap:12px;flex-wrap:wrap}.mini:hover{border-color:var(--accent)}.members{display:grid;gap:10px}.chip button{background:none;border:0;color:var(--muted, inherit);cursor:pointer;padding:0 0 0 6px;font-size:.9rem;min-height:0}.bulkbar{display:block;position:sticky;top:58px;z-index:4;border-color:var(--accent)}.bulkbar label{min-width:130px}.bulkrow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.bulkinfo{display:flex;gap:10px;align-items:baseline;margin-top:10px}@media (min-width: 1100px){.bulkrow{flex-wrap:nowrap}.bulkrow label{flex:1 1 0;min-width:0}.bulkrow .small-field{flex:0 0 90px}}.bulksep{width:1px;align-self:stretch;background:var(--line)}.check{width:18px;height:18px;min-height:0;padding:0}tr.picked td{background:#262c36}.wide-cell{min-width:190px}.namecell{min-width:180px}.chips{display:flex;flex-wrap:wrap;gap:6px;white-space:normal}.chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.82rem}@media (max-width: 640px){.hide-narrow{display:none}.grid{grid-template-columns:1fr}.page{padding:14px 10px 60px}}.reportpage{max-width:860px}.toolbar{display:flex;align-items:center;gap:12px;margin:8px 0 12px}.report{background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:12px;padding:28px 36px;border-radius:4px}.report h1{font-size:20px;margin:0 0 8px;color:#000}.report h2{font-size:18px;margin:18px 0 6px;color:#000;break-after:avoid}.report .lines{margin:0 0 6px;line-height:1.25}.report table{min-width:0;width:100%;border-collapse:collapse;margin:4px 0 20px}.report th{position:static;background:#a4c2f4;color:#000;text-transform:none;letter-spacing:0;font-size:12px;font-weight:700;border:1px solid #000;padding:3px 5px;text-align:center;white-space:normal}.report.patch th{background:#c9daf8;padding:8px 6px}.report td{border:1px solid #000;color:#000;padding:3px 5px;white-space:normal;vertical-align:top;text-align:left;background:#fff}.report.patch td{padding:6px}.report.patch tbody tr:nth-child(2n) td{background:#edf3fd}.report{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report td.c{text-align:center}.report thead{display:table-header-group}.report tr{break-inside:avoid}.report .lines b,.report td b{font-weight:700}@page{size:A4;margin:14mm}@media print{html,body{background:#fff!important}.noprint,.top{display:none!important}.page{padding:0;max-width:none}.report{padding:0;border-radius:0}}.info{background:#16302a;border:1px solid #245c4a;color:#a8e6cf;padding:9px 12px;border-radius:8px}.linkbadge{margin-left:8px;background:transparent;min-height:0;padding:1px 8px;cursor:pointer;font-size:.75rem}.inline .grow2{flex:1;min-width:200px}.inline label{width:auto;min-width:110px}.ctr th,.ctr td{text-align:center}.ctr th:first-child,.ctr td:first-child{text-align:left}.ctr .actions{text-align:right}.ctr input.cell:not(.namecell){text-align:center}.numctr td.num,.numctr th.num{text-align:center}.pickcell{display:flex;align-items:center;gap:6px}.pickorder{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:.72rem;font-weight:700;min-width:22px;text-align:center;padding:1px 6px}.bulkbar .small-field{min-width:90px;width:90px}.memberlist{max-height:300px;overflow-y:auto;border:1px solid #55606f;border-radius:10px;background:var(--bg)}.memberlist label{display:flex;flex-direction:row;text-align:left;font-size:.9rem;color:var(--text);gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid #46505e}.memberlist label:last-child{border-bottom:0}.memberlist label:nth-child(2n){background:var(--panel-2)}.memberlist label:nth-child(odd){background:var(--bg)}.memberlist label:first-child{background:#2e3642;border-bottom:2px solid #66727f;position:sticky;top:0;z-index:1}.memberlist label:not(:first-child):hover{background:#2b3440}tr.activeb td{box-shadow:inset 0 2px #fff;background:var(--panel-2)}tr.activeb td:first-child{box-shadow:inset 0 2px #fff,inset 2px 0 #fff}tr.activeb td:last-child{box-shadow:inset 0 2px #fff,inset -2px 0 #fff}tr.activesub td{box-shadow:inset 2px 0 #fff,inset -2px 0 #fff,inset 0 -2px #fff}.rackpanel{padding:18px 20px}.rackpanel .racktitle{font-size:1.25rem}.rackpanel .row{gap:18px;flex-wrap:wrap}.rackpanel .phasebars{gap:14px;margin-top:16px}.rackpanel .pb{grid-template-columns:64px 1fr 96px;font-size:1.05rem}.rackpanel .bar.wide{height:16px}.loginbg{background:linear-gradient(#0e1116b8,#0e1116db),url(/backdrop.jpg) center / cover no-repeat;min-height:100vh}.loginbg .card{background:#1c2027eb;text-align:center}.loginbg .card label{text-align:left}.loginlogo{display:block;margin:0 auto 6px}.rackpanel{position:sticky;top:58px;z-index:4;box-shadow:0 6px 14px #00000073}@media (max-width: 640px),(max-height: 640px){.rackpanel{padding:10px 12px}.rackpanel .phasebars{gap:8px;margin-top:8px}.rackpanel .bar.wide{height:10px}.rackpanel .pb{font-size:.9rem}}tr.swapsrc td{background:color-mix(in srgb,var(--accent) 22%,var(--bg));box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}tr.swapsrc td:first-child{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent),inset 2px 0 0 var(--accent)}tr.swapsrc td:last-child{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent),inset -2px 0 0 var(--accent)}tr.swapoff td{opacity:.35}.swapbanner{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;border:1px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent) 22%,var(--bg))}.swapbanner span{flex:1}.bar.wide .preview{position:absolute;top:0;height:100%;background:repeating-linear-gradient(135deg,#4aa3ff 0,#4aa3ff 6px,#2f7fd6 6px,#2f7fd6 12px);border-radius:0 99px 99px 0}.bar.wide .preview.previewover{background:repeating-linear-gradient(135deg,var(--bad) 0 6px,#b53a3a 6px 12px)}.previewtext{color:#4aa3ff}.rackpanel .pb{grid-template-columns:64px 1fr 150px}.bar.wide>div.hasextra{border-radius:99px 0 0 99px}.rackpage{margin-bottom:18px;break-after:page;font-size:11px}.rackpage:last-child{break-after:auto}.rackhead{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.rackhead .rk{font-weight:400}.rktype{color:#444}.report table.rackgrid{table-layout:fixed;margin:0 0 14px}.report table.rackgrid td{text-align:center;vertical-align:middle;padding:4px 2px;word-break:break-word}.report table.rackgrid td.lbl{border:0;text-align:left;background:transparent;padding-left:0}.report table.rackgrid td.ph,.report table.racksum td.ph{color:#fff;font-weight:700}.report table.rackgrid td.units{font-weight:700}.report table.racksum{width:46%;margin-top:10px}.report table.racksum th{background:transparent;border:0}.report table.racksum th.blank{width:34%}.report table.racksum td{text-align:center}.report table.racksum td.ph{text-align:left}@media print{.rackpage{margin-bottom:0}}.locationfield{min-height:34px;padding:5px 10px;width:min(280px,100%)}.topnav{display:flex;gap:4px;margin-left:12px}.topnav a{color:var(--muted);padding:6px 12px;border-radius:8px}.topnav a:hover{color:var(--text)}.topnav a.active{color:var(--text);background:var(--panel-2)}.page.wide{max-width:1300px}.libgrid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:18px;align-items:start;margin-top:12px}.liblist{display:grid;gap:10px;position:sticky;top:70px}.libscroll{max-height:calc(100vh - 190px);overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.libmaker{position:sticky;top:0;background:var(--panel-2);padding:8px 12px;font-weight:700;border-bottom:1px solid #46505e;z-index:1}.libitem{display:grid;gap:2px;padding:9px 12px;color:var(--text);border-bottom:1px solid #39424f}.libitem:nth-child(odd){background:var(--bg)}.libitem:hover{background:#2b3440}.libitem.active{background:color-mix(in srgb,var(--accent) 22%,var(--bg));box-shadow:inset 3px 0 0 var(--accent)}.checks{display:flex;flex-wrap:wrap;gap:8px 22px}.checkrow{flex-direction:row;align-items:center;gap:8px;font-size:.9rem;color:var(--text)}.libgrid .card{margin-bottom:14px}@media (max-width: 800px){.libgrid{grid-template-columns:1fr}.liblist{position:static}.libscroll{max-height:50vh}.topnav{margin-left:4px}.topnav a{padding:6px 8px}}.envbadge{background:#f5a623;color:#1a1200;font-weight:700;font-size:11px;letter-spacing:.08em;padding:2px 8px;border-radius:999px}.seqtotal{padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2)}.ss{position:relative}.ss input{width:100%}.sslist{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:300px;overflow-y:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000073}.ssitem{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line);color:var(--text)}.ssitem:last-child{border-bottom:0}.ssitem.active{background:var(--panel-2)}.ssitem.chosen{font-weight:600}.ssempty{padding:8px 12px;color:var(--muted, #8a93a1);font-size:13px}.num.hc,th.num.hc{text-align:center}.phasing{display:inline-flex;gap:6px;align-items:center}.ph-three{color:#e5534b}.ph-single{color:#58a6ff}.outputs{display:grid;gap:6px}.outrow{gap:8px;align-items:center}.outrow input[type=number]{width:80px}.outrow{flex-wrap:nowrap}.outrow input[type=number],.outrow select,.outrow input.sizein{width:84px;min-width:0;flex:0 0 auto}.outrow select{width:96px}.checkrow{display:flex;align-items:center;gap:8px;font-weight:600}.checkrow input.check{width:auto;min-height:0}.outrow select.phin{width:130px}:root{--warn: #f0b429}.bar>div.warn{background:var(--warn)}.limit80{position:absolute;top:-3px;bottom:-3px;width:0;border-left:2px dashed var(--warn);opacity:.9}.warn-text{color:var(--warn);font-weight:600}.badge.warnb{color:var(--warn);border-color:var(--warn)}.badge.overload{background:var(--bad);color:#1a0505;border-color:var(--bad);font-weight:800;letter-spacing:.03em;animation:overpulse 1.4s ease-in-out infinite}@keyframes overpulse{50%{opacity:.6}}@media (prefers-reduced-motion: reduce){.badge.overload{animation:none}}.supply.warncard{border-color:var(--warn)}.supply.over{border-width:2px;box-shadow:0 0 0 2px #ff5d5d40}.alert{padding:10px 14px;border-radius:10px;margin:8px 0;font-weight:600}.alert-warn{background:#f0b42924;border:1px solid var(--warn);color:var(--warn)}.alert-over{background:var(--bad);color:#1a0505;border:1px solid var(--bad);font-size:1.02rem}.editsupply{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.offlinebar{background:color-mix(in srgb,var(--accent) 22%,var(--bg));color:#ffd98a;border-bottom:1px solid var(--warn);padding:8px 16px;font-weight:600;text-align:center}@media print{.offlinebar{display:none}}.is-offline button.primary,.is-offline button.danger,.is-offline .addrow button,.is-offline td select,.is-offline td input:not([type=checkbox]),.is-offline form.card input,.is-offline form.card select{opacity:.55;pointer-events:none}.saveoverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c10e0;z-index:50;display:grid;place-items:center}.saveoverlay .card{min-width:280px;text-align:center}.saveoffline{display:inline-flex;align-items:center;gap:6px}@media print{.saveoffline,.saveoverlay{display:none}}.calnav{display:flex;align-items:center;gap:10px;margin:10px 0}.calmonth{min-width:170px;text-align:center;font-size:1.1rem}.calgrid{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.calhead{display:grid;grid-template-columns:repeat(7,1fr);background:var(--panel-2);color:var(--muted);font-size:.8rem;text-align:center}.calhead div{padding:6px 0}.calweek{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);position:relative;min-height:74px}.calday{border-left:1px solid var(--line);padding:3px 6px;font-size:.78rem;color:var(--muted);min-height:74px}.calday:first-child{border-left:0}.calday.other{background:#0000002e;opacity:.6}.calday.today span{background:var(--accent);color:#14171c;border-radius:99px;padding:1px 7px;font-weight:700}.calbar{z-index:1;margin:0 3px 2px;padding:0 8px;border-radius:6px;color:#fff;font-size:.82rem;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.calbar:hover{filter:brightness(1.2);text-decoration:none}.calbar.contl{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.calbar.contr{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.calitem{display:grid;gap:2px;color:var(--text);text-decoration:none}.calitem:hover{background:var(--panel-2)}@media (max-width: 600px){.calbar{font-size:.7rem;padding:0 4px}.calday{padding:2px 3px;font-size:.7rem;min-height:60px}.calweek{min-height:60px}}@media print{.calnav button{display:none}}.libgroup{margin:0;padding:8px 12px;font-size:.9rem;background:var(--panel-2);border-bottom:1px solid #39424f;position:sticky;top:0;z-index:1}.areaswitch{gap:8px;margin:6px 0 10px;align-items:center}.areaswitch select{max-width:320px}.areahead{margin:18px 0 6px}@media print{.areahead{color:#000;break-before:page;margin-top:0}.areasection:first-child .areahead{break-before:auto}}.areacard{gap:6px}.areahead2{display:flex;gap:8px;align-items:center;justify-content:space-between}.areahead2 .areaname{min-width:0;overflow-wrap:anywhere}.areatags:empty{display:none}.areatags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.areamove{display:flex;gap:6px;flex:none}.areacard a{color:var(--text);text-decoration:none}.areacard a:hover{text-decoration:underline}.iconbtn{padding:2px 9px;line-height:1.2}.libsearch{gap:6px;margin-bottom:8px}.libsearch input{flex:1;min-width:0}.unibtn{background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 4px;color:inherit;cursor:pointer;text-align:left}.unibtn:hover{border-color:var(--accent)}.unibtn.open{border-color:var(--accent);background:#ffffff0a}.unibreak{margin-top:10px}.unimapwrap{overflow-x:auto;margin:10px 0 6px}.unimap{min-width:680px;display:flex;flex-direction:column;gap:2px}.unirow{display:grid;grid-template-columns:34px repeat(32,minmax(20px,1fr));gap:2px}.unirowlbl{font-size:.7rem;color:var(--muted);align-self:center;text-align:right;padding-right:4px}.unicell{height:24px;display:flex;align-items:center;justify-content:flex-start;font-size:.68rem;padding-left:2px;border-radius:3px;background:var(--bg);color:var(--muted);overflow:hidden;white-space:nowrap}.unicell.used{color:#fff;font-weight:700}.unicell.clash{background:repeating-linear-gradient(45deg,var(--bad),var(--bad) 4px,#5a1111 4px,#5a1111 8px);color:#fff;font-weight:800}.unilegend{margin:4px 0 10px}.swatch{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px}.swatch.clash{background:repeating-linear-gradient(45deg,var(--bad),var(--bad) 3px,#5a1111 3px,#5a1111 6px)}.unicell.used,.unicell.clash{cursor:pointer}.unicell.used:hover,.unicell.clash:hover{outline:2px solid #fff;outline-offset:-2px}tr.pickable{cursor:pointer}tr.pickable:hover td{background:var(--panel-2)}tr.foundrow td{animation:foundpulse 4.5s ease-out;box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}@keyframes foundpulse{0%,55%{background:#ffd60a61}to{background:transparent}}@media (prefers-reduced-motion: reduce){tr.foundrow td{animation:none;background:#ffd60a40}}.seg{display:inline-flex;align-items:center;gap:0}.seg>.muted{margin-right:8px}.segbtn{background:transparent;border:1px solid var(--line);color:var(--text);padding:4px 11px;font-size:.82rem;cursor:pointer}.segbtn:first-of-type{border-radius:6px 0 0 6px}.segbtn:last-of-type{border-radius:0 6px 6px 0;border-left:0}.segbtn.on{background:var(--accent);border-color:var(--accent);color:#0b0b0b;font-weight:700}.linklike{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.rigwrap{position:relative;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;background:#0f1319;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:8px}.rigsvg{-webkit-user-select:none;display:block;width:100%;height:min(70vh,640px);touch-action:none;cursor:grab;user-select:none}.rigsvg:active{cursor:grabbing}.rigtruss{stroke:#5b6573;fill:#5b6573;opacity:.75}.rigfix{cursor:pointer}.rigtxt{fill:#0b0b0b;text-anchor:middle;dominant-baseline:central;font-weight:700;pointer-events:none}.rigbar{margin:10px 0 4px}.rigdetail{margin-top:8px}.warnline{color:var(--warn)}.rigtag{fill:#e5e7eb;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#000000bf;stroke-width:.25em;pointer-events:none}.rigbreakers{display:grid;gap:4px;margin:8px 0;max-height:320px;overflow:auto}.rigbrk{display:grid;grid-template-columns:64px 44px 90px 90px 1fr;gap:8px;align-items:center;text-align:left;padding:6px 10px;border:1px solid var(--line, #2a3038);background:transparent;color:inherit;border-radius:8px;cursor:pointer;font:inherit}.rigbrk.on{border-color:#f5b73b;background:#f5b73b1f}.rigbrk.has{box-shadow:inset 3px 0 #38bdf8}.rigbrk-bar{height:8px}.rigbrk-units{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 700px){.rigbrk{grid-template-columns:56px 40px 1fr 80px}.rigbrk-units{grid-column:1 / -1;white-space:normal}}.rigviewseg{position:absolute;top:10px;left:10px;z-index:2;background:#0f1319d9;border-radius:8px}.rigsep{width:1px;align-self:stretch;min-height:22px;background:var(--line);margin:0 4px}.rigbar{margin-bottom:4px}.righint{margin:6px 0 14px}.rigstruct{fill:#7dd3fc;text-anchor:middle;font-weight:700;paint-order:stroke;stroke:#000c;stroke-width:.3em;pointer-events:none}.unibtn.clashing{border-color:var(--bad)}.unibtn.clashing>span:first-child{color:var(--bad);font-weight:700}.rigbang{fill:#fff;text-anchor:middle;dominant-baseline:central;font-weight:800;pointer-events:none}fieldset.plain{display:contents;border:0;padding:0;margin:0;min-width:0}.areacard.acc-view{opacity:.92}.badge{white-space:nowrap}.badges{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 3px}.project{position:relative}.accessbadge{position:absolute;right:12px;bottom:10px}input.nameinput{width:170px;flex:0 1 170px;min-width:0}input.emailinput{width:240px;flex:0 1 240px;min-width:0}@media (max-width: 560px){input.nameinput,input.emailinput{width:100%;flex:1 1 100%}}select.roleinput{width:110px;flex:0 0 110px}.accessadd{flex-wrap:nowrap}@media (max-width: 700px){.accessadd{flex-wrap:wrap}select.roleinput{flex:1 1 110px}}select.personinput{width:200px;flex:0 1 200px;min-width:0}@media (max-width: 560px){select.personinput{width:100%;flex:1 1 100%}}.accesslines{margin-top:6px;display:flex;flex-direction:column;gap:4px}.accessline{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.accesslabel{font-size:.75rem;color:var(--muted);min-width:48px;text-transform:uppercase;letter-spacing:.04em}.accessline .badge{text-decoration:none;color:var(--text)}th.ckcol,td.ckcol{width:1%;white-space:nowrap;text-align:center;vertical-align:top;padding-left:14px;padding-right:14px}td.ckcol input.check{margin:10px 0 0}.histlist{display:flex;flex-direction:column}.histgroup{border-top:1px solid var(--line);padding:6px 0}.histgroup summary{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;cursor:pointer}.histwhen{color:var(--muted);font-size:.82rem;min-width:150px}.histgroup ul{margin:6px 0 4px 6px;padding-left:18px}.histgroup li{padding:2px 0}.histaction{color:var(--muted)}a.tilelink{display:block;color:inherit;text-decoration:none;cursor:pointer}a.tilelink:hover{background:var(--panel2, var(--panel));filter:brightness(1.15)}a.badge.bad{text-decoration:none;cursor:pointer}a.badge.bad:hover{filter:brightness(1.2)}.presence{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0}.presencechip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:2px 10px 2px 3px;font-size:.85rem}.tabhere{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 4px;border-radius:8px;background:var(--ok);color:#04210f;font-size:.7rem;font-weight:700}tr.othersediting{--ec: var(--warn)}tr.othersediting td{background:color-mix(in srgb,var(--ec) 24%,transparent)!important;box-shadow:inset 0 1px 0 var(--ec),inset 0 -1px 0 var(--ec)}tr.othersediting td:first-child{box-shadow:inset 3px 0 0 var(--ec),inset 0 1px 0 var(--ec),inset 0 -1px 0 var(--ec)}.card.othersediting,label.othersediting,.chip.othersediting{--ec: var(--warn);background:color-mix(in srgb,var(--ec) 24%,transparent);box-shadow:inset 3px 0 0 var(--ec),0 0 0 1px var(--ec)}.badge.editbadge{background:color-mix(in srgb,var(--ec) 30%,transparent);border:1px solid var(--ec);color:inherit}a.badge.warnb{text-decoration:none;cursor:pointer}a.badge.warnb:hover{filter:brightness(1.2)}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;font-weight:700;line-height:1;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 2px var(--panel)}.avatars{display:flex;align-items:center;margin-top:4px;min-height:26px}.avatars .avatar{margin-left:-6px}.avatars .avatar:first-child{margin-left:0}.avatars .more{margin-left:6px;font-size:.8rem}.presencechip{padding-left:3px}.swatches{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.swatch-btn{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer}.swatch-btn.on{border-color:var(--text, #fff);outline:2px solid var(--panel)}.card.project{position:relative}.card.project .pbody{display:flex;gap:12px;align-items:stretch;flex:1}.card.project .pleft{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.card.project .pname{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.card.project .pmeta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card.project .pdates{white-space:nowrap}.card.project .pright{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:6px;flex:none}.card.project .avatars{margin:0;min-height:0}.card.project .avatars{min-height:26px}.card.project .pslot{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:26px}.finder{display:flex;flex-direction:column;gap:14px}.finderblock{display:flex;flex-direction:column;gap:6px}.findertitle{font-size:.82rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.finderrow{display:flex;flex-wrap:wrap;gap:10px 14px}.finderrow .small-field{min-width:120px;flex:0 1 150px}.finderrow .small-field.grow2{flex:2 1 220px}.fchips{display:flex;flex-wrap:wrap;gap:6px}.fchip{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:5px 12px;font-size:.85rem;cursor:pointer}.fchip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.finder select,.finder input{min-height:36px;padding-top:6px;padding-bottom:6px}.finder .finderrow .small-field{flex:1 1 130px;max-width:200px}.finder .finderrow .small-field.grow2{max-width:none;flex:2 1 240px}.finder .finderrow .small-field.grow2{max-width:none}.findertable{font-size:.92rem}.findertable td,.findertable th{padding-top:7px;padding-bottom:7px}.findertable td.num,.findertable th.num{white-space:nowrap}.findertable .finderModes{min-width:90px;max-width:170px}.findertable .finderModes .fit{color:var(--ok);font-weight:600}.findertable .finderFlags{min-width:110px;max-width:200px}.findertable .finderFlags div{display:flex;flex-wrap:wrap;gap:3px 4px}.findertable .finderAct{text-align:right;white-space:nowrap}.findertable .finderAct button{min-height:32px;padding:3px 12px}.ftag{border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:.74rem;color:var(--muted);white-space:nowrap}.findertable .finderModes .dim{color:var(--muted);font-weight:400;opacity:.7}.findertable .ctrcol{text-align:center;white-space:nowrap}.findertable .finderCheck{width:34px;text-align:center}.findertable tr.picked td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.comparetable th,.comparetable td{text-align:left;vertical-align:top}.comparetable tbody th{color:var(--muted);font-weight:600;white-space:nowrap}.shortlist{margin:8px 0;display:flex;flex-direction:column;gap:8px}.linkbtn{background:none;border:0;padding:0;min-height:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.filters .unitrange{flex:0 1 230px;min-width:150px}.filters .unitrange[aria-invalid=true]{border-color:#d9534f}.orgswitch{width:auto;max-width:200px;min-height:32px;padding:4px 8px}.menubtn,.navsignout{display:none}@media (max-width: 1100px){.top{gap:8px;padding:8px 12px}.menubtn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:40px;font-size:1.3rem;padding:0 10px}.topsignout,.hide-mid{display:none}.topnav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:2px;margin:0;padding:8px 12px 12px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 12px 24px #00000073;max-height:calc(100vh - 60px);overflow-y:auto}.topnav.open{display:flex}.topnav a{padding:13px 12px;font-size:1.05rem}.navsignout{display:block;margin-top:8px;text-align:left;padding:13px 12px}}@media (max-width: 560px){.brandtext{display:none}.orgswitch{max-width:140px}}.crewlist{display:flex;flex-direction:column;gap:8px;margin-top:8px}.crewcard{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel)}.crewcard.declined .crewline{opacity:.6}.crewline{display:grid;gap:8px 10px;align-items:end}.crewline.ln1{grid-template-columns:170px minmax(130px,.8fr) minmax(170px,1.4fr) auto 136px;margin-bottom:8px}.crewline.ln2{grid-template-columns:150px minmax(180px,1.3fr) 100px minmax(160px,1.6fr) auto}.cf{display:flex;flex-direction:column;gap:3px;min-width:0}.cl{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.crewcard input.cell,.crewcard select.cell,.crewcard select{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box;text-align:left}.crewcard .daybtn{width:100%;max-width:none!important;min-width:0!important}.crewline.ln1 .cf.status{grid-column:5}.cf.access{align-items:center}.accbox{display:flex;align-items:center;justify-content:center;min-height:40px;text-align:center}.crewcard .accbox select{width:130px!important}.crewtotal{margin:8px 0 0}@media (max-width: 900px){.crewline.ln1{grid-template-columns:1fr 1fr}.crewline.ln1 .cf.status{grid-column:auto}.crewline.ln2 .cf.rm,.crewline.ln1 .cf.days{grid-column:1 / -1}.crewline.ln2{grid-template-columns:1fr 1fr}.crewline.ln2 .cf.notes,.crewline.ln2 .cf.email{grid-column:1 / -1}}.cf.email a,.cf.email input{overflow-wrap:anywhere;word-break:break-all;min-width:0;max-width:100%}@media (max-width: 640px){.tabs{flex-wrap:wrap;gap:0}.tab{padding:10px 12px}}.platformbar{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:10px 16px;background:#3b2a6b;color:#f1ecff;border-bottom:1px solid #5b44a6}.platformbar span{font-size:.85rem;opacity:.85}.platformtabs{padding:0 16px}.topnav a.platformlink{color:#b9a5ff}.topnav a.platformlink.active{color:#fff}a.btnlink{display:inline-block;padding:6px 12px;border-radius:8px;border:1px solid var(--line);text-decoration:none;margin-right:6px}a.btnlink.primary{background:var(--accent);color:var(--accent-ink, #000);border-color:transparent}.menuwrap{position:relative;display:inline-block}.menulist{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:220px;display:flex;flex-direction:column;background:var(--panel-2, var(--panel));border:1px solid var(--line);border-radius:10px;padding:4px;box-shadow:0 8px 24px #0006}.menulist button{text-align:left;border:0}.menulist button:hover{background:var(--panel)}.daybtn{cursor:pointer;line-height:1.3;justify-content:flex-start;text-align:left}.daypop{background:var(--panel-2, var(--panel));border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 10px 30px #00000080;box-sizing:border-box}.daygrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:6px}.dayhead{text-align:center;font-size:.7rem;color:var(--muted);padding:2px 0}.daycell{padding:7px 0;border-radius:8px;border:1px solid transparent;background:transparent;text-align:center;min-width:0}.daycell.inproj{background:color-mix(in srgb,var(--accent) 12%,transparent)}.daycell.on{background:var(--accent);color:var(--accent-ink, #000);font-weight:700}
