.dash{--rail-w:254px;--bar-h:60px;--pad:clamp(14px,3vw,28px);--surface:rgba(237,241,255,0.05);--surface-2:rgba(12,18,38,0.55);--hair:rgba(237,241,255,0.1);min-height:100dvh}body:has(.dash) .orb{opacity:.45}.rail{display:none;position:fixed;inset-block:0;inset-inline-start:0;width:var(--rail-w);z-index:30;gap:6px;padding:22px 14px 16px;background:rgba(9,14,30,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-border-end:1px solid var(--hair);border-inline-end:1px solid var(--hair)}.rail,.rail-brand{flex-direction:column}.rail-brand{display:flex;align-items:flex-start;gap:2px;padding:0 8px 18px}.rail-brand h1{margin:0;font-family:var(--font-display),sans-serif;font-size:27px;font-weight:700;line-height:1;color:var(--flare);letter-spacing:.02em}.rail-nav{display:flex;flex-direction:column;gap:2px}.rail-nav button{position:relative;display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;color:var(--faint);font:inherit;font-size:15px;font-weight:600;text-align:start;padding:11px 12px;border-radius:11px;cursor:pointer;transition:color .18s var(--e-quart),background .18s var(--e-quart)}.rail-nav button .i{width:21px;height:21px;flex:0 0 auto;opacity:.8}.rail-nav button .lbl{flex:1 1;min-width:0}.rail-nav button .n{flex:0 0 auto;min-width:22px;text-align:center;font-size:12px;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(237,241,255,.09);color:var(--dim)}.rail-nav button:hover{color:var(--cream);background:rgba(237,241,255,.05)}.rail-nav button.on{color:var(--cream);background:rgba(227,193,105,.11)}.rail-nav button.on .i{color:var(--flare);opacity:1}.rail-nav button.on .n{background:var(--flare);color:var(--on-flare)}.rail-nav button.on:before{content:"";position:absolute;inset-inline-end:-14px;inset-block:8px;width:3px;border-radius:3px;background:var(--flare)}.rail-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair)}.rail-foot,.rail-refresh{display:flex;align-items:center;gap:8px}.rail-refresh{flex:1 1;justify-content:center;border:1px solid var(--hair);background:var(--surface);color:var(--dim);border-radius:10px;padding:10px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color .18s var(--e-quart),color .18s var(--e-quart)}.rail-refresh:hover:not(:disabled){border-color:var(--flare);color:var(--cream)}.rail-refresh:disabled{cursor:progress}.rail-refresh .i{width:17px;height:17px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:35;display:flex;align-items:center;gap:10px;padding:10px var(--pad);background:rgba(9,14,30,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}.topbar img{height:28px;width:auto}.topbar h1{flex:1 1;min-width:0;margin:0;font-family:var(--font-display),sans-serif;font-size:26px;font-weight:700;line-height:1;color:var(--cream);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border:1px solid var(--hair);background:var(--surface);color:var(--dim);border-radius:11px;cursor:pointer;transition:color .18s var(--e-quart),border-color .18s var(--e-quart)}.icon-btn:hover{color:var(--cream);border-color:var(--flare)}.icon-btn .i{width:19px;height:19px}.icon-btn:disabled{cursor:progress;opacity:.7}.i.spin{animation:dash-spin .9s linear infinite}@keyframes dash-spin{to{transform:rotate(-1turn)}}@media (prefers-reduced-motion:reduce){.i.spin{animation:none}}.acct{position:relative;flex:0 0 auto}.acct-menu{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:40;min-width:186px;display:flex;flex-direction:column;padding:6px;border:1px solid var(--hair);border-radius:14px;background:#131c38;box-shadow:0 20px 44px rgba(0,0,0,.45);animation:menu-in .16s var(--e-expo)}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}.acct-menu button{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--dim);font:inherit;font-size:14.5px;font-weight:600;text-align:start;padding:11px 12px;border-radius:9px;cursor:pointer}.acct-menu button .i{width:18px;height:18px;opacity:.75}.acct-menu button:hover{background:rgba(237,241,255,.06);color:var(--cream)}.acct-menu button.danger:hover{color:#ffb3a5}.rail-foot .acct-menu{top:auto;bottom:calc(100% + 8px)}.tabbar{position:fixed;inset-inline:0;bottom:0;z-index:30;display:flex;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:rgba(9,14,30,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--hair)}.tabbar button{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;color:var(--faint);font:inherit;font-size:11px;font-weight:600;padding:6px 2px;min-height:48px;border-radius:12px;cursor:pointer;transition:color .18s var(--e-quart)}.tabbar button .ic{position:relative;display:inline-flex;padding:4px 14px;border-radius:999px;transition:background .2s var(--e-quart)}.tabbar button .i{width:21px;height:21px}.tabbar button .lbl{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar button .n{position:absolute;top:-2px;inset-inline-start:6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--hot);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.tabbar button.on{color:var(--flare)}.tabbar button.on .ic{background:rgba(227,193,105,.14)}.dash-main{padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom) + 24px)}.dash-main .dash-filters,.dash-main .dash-list,.dash-main .links-hub,.dash-main .seg,.dash-main .toolbar{max-width:1080px;margin-inline:auto;padding-inline:var(--pad)}.dash-main .dash-list{padding-block:4px 40px}.seg{display:flex;flex-wrap:wrap;gap:4px;margin:16px auto 0}.seg>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;border:1px solid transparent;background:none;color:var(--faint);font:inherit;font-size:14.5px;font-weight:600;padding:10px 12px;min-height:44px;border-radius:11px;cursor:pointer;white-space:nowrap;transition:color .18s var(--e-quart),background .18s var(--e-quart)}.seg>button .lbl-short{display:none}.seg>button .n{font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;background:rgba(237,241,255,.09);color:var(--dim)}.seg>button:hover{color:var(--cream)}.seg>button.on{color:var(--on-flare);background:var(--flare)}.seg>button.on .n{background:rgba(26,20,8,.16);color:var(--on-flare)}.toolbar{margin-top:12px;display:flex;flex-direction:column;gap:10px}.fbar{border:1px solid var(--hair);border-radius:14px;background:var(--surface-2);padding:8px}.fbar-row,.fbar-search{display:flex;align-items:center;gap:8px}.fbar-search{flex:1 1;min-width:0;-webkit-padding-start:12px;padding-inline-start:12px;border:1.5px solid transparent;border-radius:10px;background:rgba(9,14,30,.6);transition:border-color .18s var(--e-quart)}.fbar-search:focus-within{border-color:var(--flare)}.fbar-search .i{width:17px;height:17px;flex:0 0 auto;color:var(--faint)}.fbar-search input{flex:1 1;min-width:0;border:0;background:none;color:var(--cream);font:inherit;font-size:16px;padding:11px 0}.fbar-search input:focus{outline:none}.fbar-search input::placeholder{color:var(--faint)}.fbar-search input::-webkit-search-cancel-button{filter:invert(1);opacity:.4}.fbar-clear,.fbar-toggle{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:44px;border:1px solid var(--hair);background:var(--surface);color:var(--dim);border-radius:10px;padding:0 13px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:color .18s var(--e-quart),border-color .18s var(--e-quart)}.fbar-clear .i,.fbar-toggle .i{width:16px;height:16px}.fbar-clear:hover,.fbar-toggle:hover{color:var(--cream);border-color:var(--flare)}.fbar-toggle.has,.fbar.open .fbar-toggle{color:var(--flare);border-color:rgba(227,193,105,.45);background:rgba(227,193,105,.08)}.fbar-badge{min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--flare);color:var(--on-flare);font-size:11px;line-height:17px;text-align:center}.fbar-clear{color:var(--faint)}.fbar-adv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));grid-gap:8px;gap:8px;margin-top:8px;padding-top:10px;border-top:1px dashed var(--hair)}.fbar-field{display:flex;flex-direction:column;gap:5px;min-width:0}.fbar-field>span{font-size:12px;font-weight:600;color:var(--faint);-webkit-padding-start:2px;padding-inline-start:2px}.fbar-field input,.fbar-field select{width:100%;border:1.5px solid var(--hair);background:rgba(9,14,30,.6);color:var(--cream);border-radius:10px;padding:10px 11px;font:inherit;font-size:15px;min-height:44px;color-scheme:dark}.fbar-field input:focus,.fbar-field select:focus{outline:none;border-color:var(--flare)}.chips{gap:6px}.chips,.dash-main .dash-filters{display:flex;flex-wrap:wrap;padding-block:0}.dash-main .dash-filters{gap:7px;margin-top:16px}.chips button,.dash-main .dash-filters button:not(.new-contract):not(.camp-refresh){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:40px;border:1px solid var(--hair);background:var(--surface);border-radius:999px;padding:0 12px;font:inherit;font-size:13.5px;font-weight:600;color:var(--faint);cursor:pointer;white-space:nowrap;transition:color .18s var(--e-quart),border-color .18s var(--e-quart),background .18s var(--e-quart)}.dash-main .dash-filters button{flex:0 0 auto}.chips button:hover,.dash-main .dash-filters button:not(.new-contract):not(.camp-refresh):hover{color:var(--cream);border-color:rgba(237,241,255,.24)}.chips button.on,.dash-main .dash-filters button.on{color:var(--flare);border-color:rgba(227,193,105,.55);background:rgba(227,193,105,.1)}.chips button .sdot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.chips button .n{font-size:12px;font-weight:700;color:var(--dim);opacity:.75}.chips button.on .n{color:var(--flare);opacity:1}.dash-main .dash-filters.camp-bar,.dash-main .dash-filters.contracts-bar{flex-wrap:wrap;overflow:visible;align-items:center;padding-top:12px}.dash-main .camp-bar .camp-refresh,.dash-main .contracts-bar .new-contract{-webkit-margin-start:auto;margin-inline-start:auto;min-height:40px}@media (max-width:640px){.dash-main .contracts-bar .new-contract{flex:1 0 100%;-webkit-margin-start:0;margin-inline-start:0;min-height:46px}}.dash-main .sub-card{border-radius:16px;margin-bottom:8px;background:var(--surface);border-color:var(--hair);transition:border-color .18s var(--e-quart),background .18s var(--e-quart)}.dash-main .sub-card:hover{border-color:rgba(237,241,255,.22)}.dash-main .sub-card.open{background:rgba(237,241,255,.07)}.dash-main .sub-row{gap:12px;padding:14px 16px;min-height:56px}.dash-main .sub-row .biz{min-width:0}.dash-main .sub-row .when{-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}@media (max-width:640px){.dash-main .sub-row{display:grid;grid-template-columns:11px 1fr auto;grid-template-areas:"dot biz cat" ".   who when";align-items:center;grid-gap:6px 10px;gap:6px 10px;text-align:start}.dash-main .sub-row .dot{grid-area:dot;align-self:center}.dash-main .sub-row .biz{grid-area:biz;font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-main .sub-row .cat{grid-area:cat;justify-self:end}.dash-main .sub-row .who{grid-area:who;flex:none;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-main .sub-row .when{grid-area:when;justify-self:end;margin:0;font-size:11.5px;opacity:.8}.dash-main .sub-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.dash-main .sub-actions>label{grid-column:1/-1;display:flex;align-items:center;gap:8px}.dash-main .sub-actions>label select{flex:1 1;min-height:44px}.dash-main .sub-actions a,.dash-main .sub-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:10px}.dash-main .sub-actions .danger{grid-column:1/-1}.seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.seg>button{gap:5px;padding:10px 6px;font-size:13px}.seg>button .lbl-full{display:none}.seg>button .lbl-short{display:inline}.seg>button .n{padding:1px 6px}.chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));grid-gap:5px;gap:5px}.chips button{gap:5px;padding:0 8px;font-size:12.5px}.chips button .sdot{width:7px;height:7px}.chips button .n{font-size:11.5px}.fbar-clear span{display:none}.fbar-clear{width:44px;justify-content:center;padding:0}}.dash a,.dash button,.dash input,.dash select{-webkit-tap-highlight-color:transparent}.dash :focus-visible{outline:2px solid var(--flare);outline-offset:2px}.dash button:active:not(:disabled){transform:scale(.98)}@media (prefers-reduced-motion:reduce){.dash button:active:not(:disabled){transform:none}}.dash-main .empty{display:block;margin:8px 0 0;padding:34px 20px;border:1px dashed var(--hair);border-radius:16px;text-align:center;color:var(--faint);font-size:14.5px;line-height:1.7}.skeleton{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.skeleton li{height:56px;border-radius:16px;border:1px solid var(--hair);background:linear-gradient(90deg,var(--surface) 25%,rgba(237,241,255,.09) 50%,var(--surface) 75%);background-size:300% 100%;animation:shimmer 1.4s var(--e-quart) infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton li{animation:none}}@media (min-width:1000px){.rail{display:flex}.tabbar,.topbar{display:none}.dash-main{-webkit-margin-start:var(--rail-w);margin-inline-start:var(--rail-w);padding-top:26px;padding-bottom:40px}.dash-main .dash-filters,.dash-main .dash-list,.dash-main .links-hub,.dash-main .seg,.dash-main .toolbar{padding-inline:30px}.seg{margin-top:0}}.dash-main .bulk-enable{-webkit-margin-start:auto;margin-inline-start:auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--hair);background:var(--surface);color:var(--dim);font:inherit;font-size:13.5px;cursor:pointer;transition:border-color .16s var(--e-quart),color .16s var(--e-quart)}.dash-main .bulk-enable:hover{border-color:var(--flare);color:var(--flare)}.dash-main .bulk-bar{position:-webkit-sticky;position:sticky;top:6px;z-index:12;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 12px;padding:10px 14px;border-radius:14px;border:1px solid rgba(227,193,105,.35);background:linear-gradient(180deg,rgba(227,193,105,.12),rgba(12,18,38,.6));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dash-main .bulk-all{display:inline-flex;align-items:center;gap:7px;color:var(--dim);font-size:13.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dash-main .bulk-count{color:var(--faint);font-size:13px}.dash-main .bulk-actions{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-main .bulk-actions button{min-height:38px;padding:0 16px;border-radius:10px;border:1px solid var(--hair);background:var(--surface);color:var(--dim);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:filter .16s var(--e-quart),border-color .16s var(--e-quart)}.dash-main .bulk-actions button:disabled{opacity:.5;cursor:default}.dash-main .bulk-actions .bulk-delete{border-color:rgba(255,179,165,.5);background:rgba(255,90,70,.16);color:#ffb3a5}.dash-main .bulk-actions .bulk-delete:not(:disabled):hover{filter:brightness(1.12)}.dash-main .bulk-actions .bulk-archive{border-color:rgba(53,214,245,.4);background:rgba(53,214,245,.12);color:#7fe3f5}.dash-main .bulk-actions .bulk-cancel:hover{border-color:var(--flare);color:var(--flare)}.dash-main .sub-card.picking{position:relative;-webkit-padding-start:40px;padding-inline-start:40px}.dash-main .sub-card>.sub-card-pick{position:absolute;inset-inline-start:0;top:0;bottom:0;display:flex;align-items:center;padding-inline:11px}.dash-main .row-check{display:inline-flex;align-items:center;cursor:pointer}.camp-table .row-check input[type=checkbox],.dash-main .bulk-all input[type=checkbox],.dash-main .row-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--flare);cursor:pointer}.dash-main .sub-card.picking.sel{border-color:var(--flare);background:rgba(227,193,105,.08)}.camp-table td.camp-pick,.camp-table th.camp-pick{width:34px;text-align:center;padding-inline:6px}@media (max-width:640px){.dash-main .bulk-bar{gap:10px;padding:10px}.dash-main .bulk-actions{flex:1 0 100%;-webkit-margin-start:0;margin-inline-start:0}.dash-main .bulk-actions button{flex:1 1}}.spec-editor{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--ink-deep,#0c1226)}.spec-editor-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:var(--ink,#121a33);border-bottom:1px solid rgba(227,193,105,.22)}.spec-editor-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.spec-editor-meta strong{color:var(--cream,#edf1ff);font-size:15px}.spec-editor-meta span{color:var(--dim,#bac5e0);font-size:12.5px}.spec-editor-actions{display:flex;align-items:center;gap:8px;flex:none}.spec-editor-actions button{min-height:38px;padding:0 16px;border-radius:9px;border:1px solid rgba(227,193,105,.35);background:transparent;color:var(--cream,#edf1ff);font:inherit;font-size:13.5px;cursor:pointer}.spec-editor-actions button:hover:not(:disabled){border-color:var(--flare,#e3c169);color:var(--flare,#e3c169)}.spec-editor-actions button.primary{background:var(--flare,#e3c169);border-color:var(--flare,#e3c169);color:#1a1408;font-weight:600}.spec-editor-actions button:disabled{opacity:.45;cursor:default}.spec-editor-dirty{color:var(--flare,#e3c169);font-size:12.5px}.spec-editor-ok{color:#7ddca4;font-size:12.5px}.spec-editor-err{color:#ff8fa3;font-size:12.5px}.spec-editor-loading{margin:auto;color:var(--dim,#bac5e0)}.spec-editor-frame{flex:1 1;width:100%;border:0;background:#fff}@media (max-width:640px){.spec-editor-bar{flex-wrap:wrap;gap:10px;padding:10px 12px}.spec-editor-actions{width:100%}.spec-editor-actions button{flex:1 1;padding:0 10px}}