:root{--canvas: #F4F5F2;--surface: #FFFFFF;--sunken: #F8F9F7;--ink: #14211B;--body: #3A4842;--muted: #66746D;--faint: #98A2B3;--line: #E1E5E1;--line-strong: #C8D0DA;--rail: #0F1E2E;--rail-2: #17293B;--rail-ink: #B8C4CF;--rail-ink-strong: #FFFFFF;--accent: #1A5FA6;--accent-hover: #124A84;--accent-ink: #124A84;--accent-soft: #E6EFF8;--focus: #7FB0E0;--s-blue: #2C62C6;--s-blue-soft: #E9EFFB;--s-violet: #6A4FCF;--s-violet-soft: #EFEBFB;--s-green: #0E8754;--s-green-soft: #E5F3EC;--s-amber: #A86200;--s-amber-soft: #FBF1E2;--s-red: #BF3424;--s-red-soft: #FBEAE7;--s-grey: #6E7A74;--s-grey-soft: #EEF0EE;--font: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-cond: "IBM Plex Sans Condensed", "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--row: 40px;--shadow-pop: 0 10px 30px rgba(16, 35, 26, .16), 0 2px 6px rgba(16, 35, 26, .08);color-scheme:light}:root[data-density=compact]{--row: 32px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;color:var(--ink)}h1{font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.01em}h2{font-size:16px;font-weight:600}h3{font-size:14px;font-weight:600}p{margin:0 0 8px}.num,td.num,.money{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12.5px}.nowrap{white-space:nowrap}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);height:100%}.shell.collapsed{grid-template-columns:60px minmax(0,1fr)}.rail{background:var(--rail);color:var(--rail-ink);display:flex;flex-direction:column;min-height:0}.rail-brand{display:flex;align-items:center;gap:10px;padding:14px 16px 12px;color:var(--rail-ink-strong);font-weight:600;letter-spacing:-.01em}.rail-brand .mark{width:28px;height:28px;border-radius:7px;background:var(--accent);display:grid;place-items:center;flex:none}.rail-brand small{display:block;color:var(--rail-ink);font-weight:400;font-size:12px}.rail-nav{flex:1;overflow-y:auto;padding:4px 8px 12px}.rail-group{margin-top:14px}.rail-group>.label{color:#8fa3b8;font-size:12px;padding:0 10px 4px}.rail a.item{display:flex;align-items:center;gap:10px;color:var(--rail-ink);padding:6px 10px;border-radius:7px;font-size:13.5px;text-decoration:none}.rail a.item:hover{background:var(--rail-2);color:var(--rail-ink-strong)}.rail a.item.on{background:var(--rail-2);color:var(--rail-ink-strong);box-shadow:inset 3px 0 0 var(--accent)}.rail a.item .count{margin-left:auto;font-size:11.5px;background:#ffffff1a;color:var(--rail-ink-strong);padding:0 6px;border-radius:999px}.rail a.item svg{flex:none;opacity:.9}.shell.collapsed .rail .txt,.shell.collapsed .rail-group>.label,.shell.collapsed .rail-brand small,.shell.collapsed .rail-brand span,.shell.collapsed .rail .count{display:none}.rail-foot{border-top:1px solid rgba(255,255,255,.08);padding:10px 8px}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:52px;flex:none;display:flex;align-items:center;gap:10px;padding:0 18px 0 12px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar .search{flex:1;max-width:560px;display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);color:var(--muted)}.topbar .search>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar .search:hover{border-color:var(--line-strong)}.topbar .search kbd{margin-left:auto;font-family:var(--font);font-size:11.5px;border:1px solid var(--line-strong);border-radius:4px;padding:0 5px;color:var(--muted);background:var(--surface)}.topbar .spacer{flex:1}.page{flex:1;overflow:auto;min-height:0}.page-inner{padding:20px 24px 64px;max-width:1480px}.page-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px;flex-wrap:wrap}.page-head .titles{flex:1;min-width:220px}.page-head .sub{color:var(--muted);margin-top:3px}.crumbs{color:var(--muted);font-size:12.5px;margin-bottom:6px;display:flex;gap:6px;align-items:center}.crumbs a{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:500;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover{background:var(--sunken);border-color:#b5bdc8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--s-red)}.btn.danger.solid{background:var(--s-red);border-color:var(--s-red);color:#fff}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--s-grey-soft)}.btn.sm{height:28px;padding:0 9px;font-size:13px}.btn.icon{width:34px;padding:0}.btn.sm.icon{width:28px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.split{display:inline-flex}.split .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.split .btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0;width:30px;padding:0}.split .btn.primary:last-child{border-left:1px solid rgba(255,255,255,.25)}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--s-grey-soft);color:var(--s-grey)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.blue{background:var(--s-blue-soft);color:var(--s-blue)}.pill.violet{background:var(--s-violet-soft);color:var(--s-violet)}.pill.green{background:var(--s-green-soft);color:var(--s-green)}.pill.amber{background:var(--s-amber-soft);color:var(--s-amber)}.pill.red{background:var(--s-red-soft);color:var(--s-red)}.pill.plain:before{display:none}.tag{display:inline-block;padding:1px 7px;border-radius:5px;background:var(--s-grey-soft);color:var(--body);font-size:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.card-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);min-height:48px}.card-head h2,.card-head h3{flex:1}.card-body{padding:14px 16px}.card-body.flush{padding:0}.card+.card{margin-top:14px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stack>*+*{margin-top:14px}@media(max-width:1100px){.grid.two,.grid.three{grid-template-columns:minmax(0,1fr)}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;display:block;color:inherit;text-decoration:none}a.kpi:hover{border-color:var(--line-strong);text-decoration:none}.kpi .k{color:var(--muted);font-size:12.5px}.kpi .v{font-family:var(--font-cond);font-size:26px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px}.kpi .d{font-size:12px;color:var(--muted);margin-top:2px}.kpi .d.up{color:var(--s-green)}.kpi .d.down,.kpi.alert .v{color:var(--s-red)}.field{display:grid;gap:4px;margin-bottom:12px;align-content:start}.field>label{font-size:12.5px;font-weight:500;color:var(--body)}.field .hint{font-size:12px;color:var(--muted)}.field .err{font-size:12px;color:var(--s-red)}.input,select.input,textarea.input{width:100%;height:34px;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:0 10px;background:var(--surface)}textarea.input{height:auto;min-height:84px;padding:8px 10px;resize:vertical}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1a5fa629}.input.invalid{border-color:var(--s-red)}.input-group{display:flex;align-items:center}.input-group .pre,.input-group .post{height:34px;display:grid;place-items:center;padding:0 9px;border:1px solid var(--line-strong);background:var(--sunken);color:var(--muted)}.input-group .pre{border-right:0;border-radius:var(--r-md) 0 0 var(--r-md)}.input-group .post{border-left:0;border-radius:0 var(--r-md) var(--r-md) 0}.input-group .pre+.input{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .input:has(+.post){border-top-right-radius:0;border-bottom-right-radius:0}.check:not(td):not(th){display:flex;gap:8px;align-items:flex-start;cursor:pointer}.check input{margin-top:3px;accent-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}.form-grid .span{grid-column:1 / -1}.toggle{position:relative;width:36px;height:20px;flex:none}.toggle input{opacity:0;width:0;height:0}.toggle span{position:absolute;inset:0;background:var(--line-strong);border-radius:999px;transition:background .15s;cursor:pointer}.toggle span:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.toggle input:checked+span{background:var(--accent)}.toggle input:checked+span:after{transform:translate(16px)}.toggle input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.table-wrap{overflow:auto}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}table.data th{position:sticky;top:0;z-index:1;background:var(--sunken);text-align:left;font-weight:500;color:var(--muted);font-size:12.5px;padding:0 12px;height:34px;border-bottom:1px solid var(--line);white-space:nowrap;user-select:none}table.data th.sortable{cursor:pointer}table.data th.sortable:hover{color:var(--ink)}table.data th .arrow{margin-left:4px;color:var(--accent)}table.data td{padding:0 12px;height:var(--row);border-bottom:1px solid var(--line);white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis}table.data tr:last-child td{border-bottom:0}table.data tbody tr{cursor:pointer}table.data tbody tr:hover td{background:#f6f8f6}table.data tbody tr.sel td{background:var(--accent-soft)}table.data td.num,table.data th.num{text-align:right}table.data td.check,table.data th.check{width:36px;padding-right:0}table.data td.check input,table.data th.check input{vertical-align:middle;margin:0;accent-color:var(--accent)}table.data td.primary{font-weight:500;color:var(--ink)}table.data td.wrap{white-space:normal}table.data tfoot td{font-weight:600;background:var(--sunken);border-top:1px solid var(--line)}.table-foot{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}.toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar .qs{width:240px}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);font-size:12.5px}.chip b{font-weight:500}.chip button{border:0;background:none;color:var(--muted);padding:0 2px;display:grid;place-items:center}.views{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 8px;overflow-x:auto}.views button{border:0;background:none;padding:10px 10px 9px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;font-weight:500}.views button:hover{color:var(--ink)}.views button.on{color:var(--ink);border-bottom-color:var(--accent)}.bulkbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-soft);border-bottom:1px solid var(--line)}.record{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media(max-width:1200px){.record{grid-template-columns:minmax(0,1fr)}}.nameplate{position:relative;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:16px 18px 0;margin-bottom:16px}.nameplate:after{content:"";position:absolute;inset:4px;border:1px solid var(--line);border-radius:9px;pointer-events:none}.nameplate .top{display:flex;align-items:flex-start;gap:14px;position:relative;z-index:1}.nameplate .badge{width:44px;height:44px;border-radius:10px;background:var(--rail);color:#fff;display:grid;place-items:center;flex:none}.nameplate .who{flex:1;min-width:0}.nameplate .who .kind{color:var(--muted);font-size:12.5px}.nameplate .who h1{margin-top:1px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.nameplate .who .line{color:var(--body);margin-top:3px}.nameplate .specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:14px -18px 0;border-top:1px solid var(--line);position:relative;z-index:1}.nameplate .specs>div{padding:10px 18px 12px;border-right:1px solid var(--line)}.nameplate .specs>div:last-child{border-right:0}.nameplate .specs .k{color:var(--muted);font-size:12px}.nameplate .specs .v{font-family:var(--font-cond);font-weight:600;font-size:18px;font-variant-numeric:tabular-nums;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nameplate .specs .v.alert{color:var(--s-red)}.nameplate .specs .v.good{color:var(--s-green)}.path{display:flex;margin-bottom:16px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.path button{flex:1;border:0;background:var(--surface);padding:8px 10px 8px 18px;font-size:13px;font-weight:500;color:var(--muted);position:relative;text-align:center;white-space:nowrap}.path button+button{border-left:1px solid var(--line)}.path button.done{color:var(--accent-ink);background:var(--accent-soft)}.path button.now{color:#fff;background:var(--accent)}.path button.lost{color:#fff;background:var(--s-red)}.path button:disabled{cursor:default}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.tabs button{border:0;background:none;padding:9px 12px;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.tabs button .n{margin-left:6px;font-size:11.5px;background:var(--s-grey-soft);border-radius:999px;padding:0 6px;color:var(--muted)}.facts{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:0;font-size:13.5px}.facts>div{padding:7px 0;border-bottom:1px solid var(--line)}.facts>div:nth-last-child(-n+2){border-bottom:0}.facts .k{color:var(--muted);padding-right:10px}.facts .v{color:var(--ink);overflow-wrap:anywhere}.rel{border-bottom:1px solid var(--line)}.rel:last-child{border-bottom:0}.rel-row{display:flex;align-items:center;gap:10px;padding:9px 16px;color:inherit}a.rel-row:hover{background:var(--sunken);text-decoration:none}.rel-row .t{flex:1;min-width:0}.rel-row .t b{font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rel-row .t span{color:var(--muted);font-size:12.5px}.timeline{position:relative}.timeline .ev{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0}.timeline .ev .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--s-grey-soft);color:var(--muted)}.timeline .ev .dot.green{background:var(--s-green-soft);color:var(--s-green)}.timeline .ev .dot.blue{background:var(--s-blue-soft);color:var(--s-blue)}.timeline .ev .dot.amber{background:var(--s-amber-soft);color:var(--s-amber)}.timeline .ev .dot.violet{background:var(--s-violet-soft);color:var(--s-violet)}.timeline .ev .head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.timeline .ev .head b{font-weight:500}.timeline .ev .when{color:var(--muted);font-size:12px;margin-left:auto}.timeline .ev .body{color:var(--body);white-space:pre-wrap;margin-top:2px}.timeline .ev .diff{color:var(--muted);font-size:12.5px;margin-top:2px}.scrim{position:fixed;inset:0;background:#10231a52;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--surface);z-index:41;display:flex;flex-direction:column;box-shadow:var(--shadow-pop);animation:slidein .16s ease-out}.drawer.wide{width:min(860px,100vw)}@keyframes slidein{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}.drawer-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.drawer-head h2{flex:1}.drawer-body{flex:1;overflow:auto;padding:16px 18px}.drawer-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line);background:var(--sunken)}.modal{position:fixed;z-index:41;left:50%;top:14vh;transform:translate(-50%);width:min(520px,calc(100vw - 32px));background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop)}.modal .drawer-body{max-height:60vh}.menu{position:absolute;z-index:30;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:4px}.menu button,.menu a{display:flex;width:100%;align-items:center;gap:8px;border:0;background:none;text-align:left;padding:7px 10px;border-radius:6px;color:var(--ink);font-size:13.5px}.menu button:hover,.menu a:hover{background:var(--sunken);text-decoration:none}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.menu .danger{color:var(--s-red)}.toasts{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:60;display:grid;gap:8px}.toast{background:var(--rail);color:#fff;padding:10px 14px;border-radius:var(--r-md);box-shadow:var(--shadow-pop);display:flex;gap:10px;align-items:center;max-width:560px}.toast.bad{background:var(--s-red)}.toast button{border:0;background:none;color:#cfdfee;font-weight:600}.palette{position:fixed;z-index:61;left:50%;top:12vh;transform:translate(-50%);width:min(640px,calc(100vw - 32px));background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);overflow:hidden}.palette input{width:100%;border:0;border-bottom:1px solid var(--line);height:50px;padding:0 16px;font-size:16px;outline:none}.palette .results{max-height:52vh;overflow:auto;padding:6px}.palette .grp{color:var(--muted);font-size:12px;padding:8px 10px 4px}.palette .res{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:7px;cursor:pointer}.palette .res.on{background:var(--accent-soft)}.palette .res .t{flex:1;min-width:0}.palette .res .t b{font-weight:500}.palette .res .t span{color:var(--muted);font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{text-align:center;padding:44px 20px}.empty .ico{width:44px;height:44px;margin:0 auto 10px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.empty h3{font-size:15px}.empty p{color:var(--muted);max-width:46ch;margin:4px auto 14px}.sk{background:linear-gradient(90deg,#ecefec 25%,#f4f6f4,#ecefec 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:6px;height:12px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.note{border-radius:var(--r-md);padding:10px 12px;background:var(--accent-soft);color:var(--accent-ink)}.note.warn{background:var(--s-amber-soft);color:var(--s-amber)}.note.bad{background:var(--s-red-soft);color:var(--s-red)}.note.info{background:var(--s-blue-soft);color:var(--s-blue)}.setup{display:grid;grid-template-columns:240px 1fr;gap:0}.setup .meter{padding:18px;border-right:1px solid var(--line)}.setup .meter .v{font-family:var(--font-cond);font-size:34px;font-weight:600}.setup .bar{height:6px;background:var(--s-grey-soft);border-radius:999px;overflow:hidden;margin-top:8px}.setup .bar i{display:block;height:100%;background:var(--accent);border-radius:999px}.setup ol{list-style:none;margin:0;padding:6px 0;columns:2;column-gap:0}.setup li a{display:flex;gap:10px;align-items:center;padding:8px 16px;color:var(--ink);break-inside:avoid}.setup li a:hover{background:var(--sunken);text-decoration:none}.setup li .tick{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-items:center;flex:none}.setup li.done .tick{background:var(--accent);border-color:var(--accent);color:#fff}.setup li.done span{color:var(--muted);text-decoration:line-through}@media(max-width:900px){.setup{grid-template-columns:1fr}.setup .meter{border-right:0;border-bottom:1px solid var(--line)}.setup ol{columns:1}}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}.lane{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;min-height:200px}.lane-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.lane-head b{font-weight:600}.lane-head .sum{margin-left:auto;color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}.lane-body{padding:8px;display:grid;gap:8px;align-content:start;flex:1}.lane.over{border-color:var(--accent);background:var(--accent-soft)}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 10px;cursor:grab}.tile:hover{border-color:var(--line-strong)}.tile b{font-weight:500;display:block}.tile .meta{color:var(--muted);font-size:12.5px;display:flex;gap:8px;margin-top:3px;flex-wrap:wrap}.tile.stale{box-shadow:inset 3px 0 0 var(--s-amber)}.dispatch{display:grid;grid-template-columns:180px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.dispatch .hours{display:grid;position:relative;border-bottom:1px solid var(--line);background:var(--sunken);height:30px}.dispatch .hours span{position:absolute;top:7px;font-size:11.5px;color:var(--muted);transform:translate(-50%)}.dispatch .who{padding:0 12px;height:64px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.dispatch .who b{font-weight:500}.dispatch .who span{font-size:12px;color:var(--muted)}.dispatch .lane-row{position:relative;height:64px;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / var(--slots)) 100%}.dispatch .lane-row.over{background-color:var(--accent-soft)}.dispatch .job{position:absolute;top:8px;height:48px;border-radius:7px;padding:5px 8px;font-size:12.5px;overflow:hidden;border:1px solid;cursor:grab}.dispatch .job b{font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch .job span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;opacity:.85}.dispatch .job.scheduled{background:var(--s-blue-soft);border-color:#b8caf0;color:#1e4a9c}.dispatch .job.en_route{background:var(--s-violet-soft);border-color:#cfc3f3;color:#4e37a8}.dispatch .job.on_site{background:var(--s-green-soft);border-color:#b8d3ee;color:#0b6a42}.dispatch .job.done{background:var(--s-grey-soft);border-color:var(--line-strong);color:var(--s-grey)}.dispatch .job.alert{outline:2px solid var(--s-red);outline-offset:-2px}.dispatch .now{position:absolute;top:0;bottom:0;width:2px;background:var(--s-red);z-index:2}.tray{margin-top:14px}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .axis text{fill:var(--muted);font-size:11px;font-family:var(--font)}.chart .axis line,.chart .grid line{stroke:var(--line)}.chart .legend{display:flex;gap:14px;font-size:12.5px;color:var(--muted);margin-bottom:6px}.chart .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.bars-h{display:grid;gap:8px}.bars-h .r{display:grid;grid-template-columns:140px 1fr 90px;gap:10px;align-items:center;font-size:13px}.bars-h .r .bar{height:10px;background:var(--s-grey-soft);border-radius:999px;overflow:hidden}.bars-h .r .bar i{display:block;height:100%;border-radius:999px;background:var(--accent)}.bars-h .r .val{text-align:right;font-variant-numeric:tabular-nums}.auth-wrap{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--surface)}.auth-side{background:var(--rail);color:var(--rail-ink);padding:48px;display:flex;flex-direction:column;justify-content:space-between}.auth-side h2{color:#fff;font-size:26px;font-weight:500;line-height:1.25;max-width:18ch;letter-spacing:-.01em}.auth-side ul{padding:0;list-style:none;margin:24px 0 0;display:grid;gap:10px;max-width:42ch}.auth-side li{display:flex;gap:10px}.auth-form{display:grid;place-items:center;padding:32px}.auth-form form{width:min(380px,100%)}@media(max-width:860px){.auth-wrap{grid-template-columns:1fr}.auth-side{display:none}}.lines td{vertical-align:middle}.lines td .input{height:30px}.lines .del{visibility:hidden}.lines tr:hover .del{visibility:visible}.totals{margin-left:auto;width:320px}.totals>div{display:flex;justify-content:space-between;padding:5px 0;font-variant-numeric:tabular-nums}.totals .grand{border-top:1px solid var(--line-strong);margin-top:4px;padding-top:8px;font-weight:600;font-size:16px}@media print{.rail,.topbar,.no-print{display:none!important}.shell{display:block}.page{overflow:visible}}.card>.card-body.flush .rel:last-child .rel-row{border-radius:0 0 11px 11px}:root{--dial: linear-gradient(90deg, #E5482D 0%, #FF8A3D 22%, #FFB547 38%, #F5F7FA 50%, #8FD3FF 62%, #3D9BFF 78%, #1A6FD1 100%);--warm: #F07B36;--warm-soft: #FFF1E6}.rail{background:linear-gradient(180deg,var(--rail, #16314D) 0%,#0B1724 100%)}.rail-brand{position:relative}.rail-brand:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:2px;background:var(--dial);opacity:.9}.rail-brand .mark.dial,img.mark.dial{background:none;border-radius:7px;display:block;object-fit:cover}.rail a.item.on{box-shadow:inset 3px 0 0 var(--warm)}.auth-side{background:linear-gradient(135deg,var(--rail, #16314D) 0%,#0B1724 100%);position:relative}.auth-side:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--dial)}.auth-side li:before{color:var(--warm)!important}.auth-form form h1{position:relative;padding-bottom:10px}.auth-form form h1:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;border-radius:2px;background:var(--dial)}.home-greet{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.home-greet h1{font-size:24px}.home-greet .home-date{color:var(--muted);margin-top:3px}.home-section{margin-top:16px}.home-kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.home-kpis .kpi .v.home-sk{height:30px;display:flex;align-items:center}.home-charts{display:grid;gap:14px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);margin-top:16px}.home-work{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin-top:16px;align-items:start}.home-work .card+.card{margin-top:0}.home-charts .card+.card{margin-top:0}.home-setup .card-body{padding:0}.home-setup .setup ol li{list-style:none}.home-unread{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}@media(max-width:1100px){.home-charts{grid-template-columns:minmax(0,1fr)}}.msg-split{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:16px;align-items:start}@media(max-width:860px){.msg-split{grid-template-columns:1fr}}.msg-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;max-height:calc(100vh - 210px);overflow-y:auto}.msg-list .tabs{padding:8px 8px 0}.msg-item{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:10px 14px;cursor:pointer;font:inherit;color:var(--ink)}.msg-item:hover{background:var(--sunken)}.msg-item.on{background:var(--accent-soft)}.msg-item.unread b{font-weight:700}.msg-item-top{display:flex;justify-content:space-between;gap:8px}.msg-item-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.msg-item-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.msg-item-pills:empty{display:none}.msg-conv{display:flex;flex-direction:column;gap:12px}.msg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.msg-head h2{font-size:18px}.msg-thread{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;display:flex;flex-direction:column;gap:10px;min-height:240px;max-height:calc(100vh - 360px);overflow-y:auto}.msg-row{display:flex;flex-direction:column;max-width:78%;gap:2px}.msg-row.mine{align-self:flex-end;align-items:flex-end}.msg-row.theirs{align-self:flex-start}.msg-bubble{padding:9px 12px;border-radius:14px;white-space:pre-wrap;word-break:break-word}.msg-row.mine .msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.msg-row.mine .msg-bubble a{color:#fff}.msg-row.theirs .msg-bubble{background:var(--sunken);border:1px solid var(--line);border-bottom-left-radius:4px}.msg-bubble img{display:block;max-width:260px;border-radius:8px;margin-top:6px}.msg-sys{text-align:center;font-size:12px;color:var(--muted)}.msg-compose{display:flex;gap:8px;align-items:flex-end}.msg-compose textarea{flex:1;resize:vertical;min-height:44px}.msg-inline{display:inline-flex;gap:8px;flex-wrap:wrap;margin-left:8px;vertical-align:middle}.msg-picks{display:flex;flex-direction:column;gap:4px;margin:8px 0}.msg-pick{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font:inherit}.msg-pick:hover{border-color:var(--accent)}.msg-user{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.opp-board .lane-head .opp-count{color:var(--muted);font-size:12.5px}.opp-board .lane.opp-closed{background:var(--surface)}.opp-board .tile .opp-val{font-family:var(--font-cond);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.opp-board .tile.opp-dragging{opacity:.45}.opp-board .lane-body .opp-drop{color:var(--faint);font-size:12.5px;text-align:center;padding:18px 6px;border:1px dashed var(--line-strong);border-radius:var(--r-md)}.opp-steps{display:grid;gap:0}.opp-step{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);align-items:start}.opp-step:last-child{border-bottom:0}.opp-step .opp-n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;background:var(--s-grey-soft);color:var(--muted)}.opp-step.done .opp-n{background:var(--accent);color:#fff}.opp-step.now .opp-n{background:var(--s-amber-soft);color:var(--s-amber);box-shadow:inset 0 0 0 1.5px var(--s-amber)}.opp-step .opp-open{margin:4px 0 0;padding-left:16px;color:var(--body);font-size:13px}.opp-step .opp-open li+li{margin-top:2px}.opp-meter{height:6px;border-radius:3px;background:var(--s-grey-soft);overflow:hidden;margin-top:6px}.opp-meter>span{display:block;height:100%;background:var(--accent)}.opp-focus{border-left:3px solid var(--accent);padding:8px 12px;background:var(--accent-soft);border-radius:0 var(--r-md) var(--r-md) 0}.opp-focus b{display:block;color:var(--accent-ink)}.opp-signs{margin:6px 0 0;padding-left:18px}.opp-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:900px){.opp-two{grid-template-columns:1fr}}.opp-list{margin:4px 0 0;padding-left:18px}.opp-list li+li{margin-top:3px}.quote-lines td{height:auto!important;padding-top:8px!important;padding-bottom:8px!important;white-space:normal!important;vertical-align:top}.quote-lines tbody tr{cursor:default!important}.quote-lines tbody tr:hover td{background:transparent!important}.quote-lines .quote-img{width:40px;height:40px;object-fit:contain;border:1px solid var(--line);border-radius:6px;float:left;margin-right:10px;background:#fff}.quote-lines .quote-sub{color:var(--muted);font-size:12.5px}.quote-lines .quote-kind{color:var(--muted);font-size:12px}.quote-lines tr.quote-pending td{background:var(--s-amber-soft)!important}.quote-lines tr.quote-discount td{color:var(--s-red)}.quote-totals-wrap{display:flex;padding:12px 16px 14px;border-top:1px solid var(--line)}.quote-totals-wrap .totals{width:340px;max-width:100%}.quote-editor{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.quote-editor .quote-side{position:sticky;top:12px}@media(max-width:1100px){.quote-editor{grid-template-columns:1fr}.quote-editor .quote-side{position:static}}.quote-ed td{padding:6px 8px!important;height:auto!important;white-space:normal!important;vertical-align:middle}.quote-ed tbody tr{cursor:default!important}.quote-ed tbody tr:hover td{background:transparent!important}.quote-ed .input{height:32px}.quote-ed .quote-narrow{width:90px}.quote-ed .quote-mid{width:120px}.quote-fees{display:flex;flex-wrap:wrap;gap:8px 18px}.quote-option{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--line);color:inherit}.quote-option:last-child{border-bottom:0}.quote-option.quote-this{background:var(--accent-soft)}.quote-option .quote-label{flex:1;min-width:0}.quote-option .quote-amt{font-variant-numeric:tabular-nums;font-weight:500}.quote-link{display:flex;gap:6px;align-items:center}.quote-link .input{font-size:12.5px;color:var(--body)}.quote-sig{max-width:260px;max-height:90px;border-bottom:1px solid var(--line-strong);display:block;margin-top:6px}.quote-scope{white-space:pre-wrap;margin:0}.quote-side .totals{width:auto;margin-left:0}.commissions-controls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.commissions-controls .field{margin-bottom:0}.commissions-controls select.input{width:190px}.commissions-plan{margin-bottom:14px}.commissions-plan-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.commissions-plan-row>div{flex:1;min-width:240px}.commissions-plan-row .k{color:var(--muted);font-size:12.5px}.commissions-plan-row p{margin:2px 0 0;color:var(--ink)}.commissions-target .commissions-bar{height:6px;border-radius:3px;background:var(--sunken);margin:8px 0 6px;overflow:hidden}.commissions-target .commissions-bar span{display:block;height:100%;background:var(--accent);border-radius:3px}.commissions-flag{font-size:11px;color:var(--s-amber);border:1px solid currentColor;border-radius:4px;padding:0 4px;margin-left:4px;white-space:nowrap}.commissions-neg{color:var(--s-red)}.commissions-h{margin:18px 0 6px;font-size:14px}.commissions-tier{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:10px;align-items:end}.commissions-tier .btn{margin-bottom:12px}.commissions-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px}.commissions-credit{list-style:none;margin:0;padding:0;display:grid;gap:6px}.commissions-credit li{display:flex;justify-content:space-between;gap:8px}.grid.kpis+.note{margin-top:12px}.page-inner>.grid.kpis{margin-bottom:14px}.docs-table td{vertical-align:middle}.docs-table .btn.busy{opacity:.6;pointer-events:none}.docs-how{margin:0;padding-left:18px;display:grid;gap:6px}.docs-version{display:flex;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.docs-h{font-size:14px;margin:18px 0 6px}.docs-secs{display:grid;gap:8px}.docs-sec{border:1px solid var(--line);border-radius:var(--r-md);padding:10px;background:var(--surface);display:grid;gap:8px}.docs-sec-head{display:grid;grid-template-columns:150px minmax(0,1fr) auto auto auto;gap:6px;align-items:center}.docs-kind{font-size:12px;color:var(--muted)}.docs-fields{display:grid;gap:6px;padding-left:8px;border-left:2px solid var(--line)}.docs-field{display:grid;grid-template-columns:minmax(0,1.4fr) 130px minmax(0,1.4fr) 34px;gap:6px;align-items:center}.docs-table-in{display:flex;gap:6px}.docs-table td:first-child{white-space:normal;min-width:260px}.service-form>.field,.service-form>div>.field{align-content:start}.jobs-sig{border-bottom:1px solid var(--line-strong);padding-bottom:2px;min-width:200px}.jobs-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.jobs-photos figure{margin:0;overflow:hidden}.jobs-photos img{display:block;width:100%;height:170px;object-fit:cover;background:var(--sunken)}.jobs-photos figcaption{padding:10px 12px}.jobs-photos figcaption b{font-weight:500}.jobs-ph{height:170px;display:grid;place-items:center;background:var(--sunken);color:var(--muted);font-size:12.5px}.dispatch-summary{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;margin-bottom:12px;color:var(--body);font-size:13px}.dispatch-summary b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.dispatch-summary .warn b{color:var(--s-amber)}.dispatch-summary .bad{color:var(--s-red);display:inline-flex;align-items:center;gap:4px}.dispatch-summary .bad b{color:var(--s-red)}.dispatch-legend{margin-left:auto;display:inline-flex;gap:10px;flex-wrap:wrap}.dispatch-key{font-style:normal;font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:5px}.dispatch-key:before{content:"";width:12px;height:12px;border-radius:3px;border:1px solid var(--line-strong)}.dispatch-key.scheduled:before{background:var(--s-blue-soft);border-color:#b8caf0}.dispatch-key.en_route:before{background:var(--s-violet-soft);border-color:#cfc3f3}.dispatch-key.on_site:before{background:var(--s-green-soft);border-color:#b8d3ee}.dispatch-key.done:before{background:var(--s-grey-soft)}.dispatch-key.alert:before{background:var(--surface);border:2px solid var(--s-red)}.dispatch-wrap{overflow-x:auto}.dispatch-wrap .dispatch{min-width:980px}.dispatch-corner{height:30px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--sunken);font-size:11.5px;color:var(--muted);padding:7px 12px}.dispatch .hours{background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / var(--slots)) 100%}.dispatch .hours span{padding-left:4px}.dispatch .who{gap:1px}.dispatch .who .dispatch-over{color:var(--s-red)}.dispatch-who-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dispatch-who-links a{font-size:12px}.dispatch-loc{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.dispatch-loc i{width:7px;height:7px;border-radius:50%;background:var(--faint);display:inline-block}.dispatch-loc.live i{background:var(--s-green);box-shadow:0 0 0 3px var(--s-green-soft)}.dispatch .lane-row{overflow:hidden}.dispatch-offhours{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(20,33,27,.035) 6px 12px);pointer-events:none}.dispatch .job{z-index:1;transition:box-shadow .12s}.dispatch .job:hover,.dispatch .job:focus-visible{box-shadow:var(--shadow-pop);z-index:3}.dispatch .job b{display:flex;align-items:center;gap:4px}.dispatch .job.dispatch-untimed{border-style:dashed}.dispatch .job.done{cursor:pointer}.dispatch-tray.over{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.dispatch-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.dispatch-tiles .tile .small{color:var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-tiles .tile.dispatch-tile-red{border-color:var(--s-red);box-shadow:inset 3px 0 0 var(--s-red)}.dispatch-week td.dispatch-wcell{padding:4px}.dispatch-week th.dispatch-today,.dispatch-week td.dispatch-today{background:var(--accent-soft)}.dispatch-wcell button{width:100%;min-height:54px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:left;padding:6px 8px;display:grid;gap:1px;position:relative;overflow:hidden}.dispatch-wcell button:hover{border-color:var(--line-strong)}.dispatch-wcell button b{font-weight:500;font-size:13px}.dispatch-wcell button span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.dispatch-wcell button i{position:absolute;left:0;bottom:0;height:3px;background:var(--accent)}.dispatch-wcell button.over{border-color:var(--s-red);background:var(--s-red-soft)}.dispatch-wcell button.over span{color:var(--s-red)}.dispatch-wcell button.over i{background:var(--s-red)}.dispatch-wcell button.empty{background:var(--sunken)}.dispatch .lane-row .now{z-index:0;opacity:.85}.dispatch-week{table-layout:fixed;min-width:900px}.dispatch-week th:first-child{width:170px}.dispatch-week th:last-child{width:90px}.agreements-includes{margin:0;padding-left:18px;columns:2;column-gap:28px}.agreements-includes li{break-inside:avoid;margin-bottom:4px}@media(max-width:900px){.agreements-includes{columns:1}}.agreements-sec h2{margin-bottom:2px}.agreements-sec p{margin:0}.agreements-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}@media(max-width:900px){.agreements-checks{grid-template-columns:1fr}}.agreements-mgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr .7fr;column-gap:12px}.agreements-mgrid.four{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:4px}@media(max-width:900px){.agreements-mgrid,.agreements-mgrid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.agreements-kit{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.agreements-kit td{padding:4px 6px}.agreements-kit td .input{height:30px}.agreements-kit td:nth-child(4),.agreements-kit td:nth-child(5){width:100px}.agreements-kit td:last-child{width:36px}.agreements-mtotal{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.agreements-mtotal b{margin-left:auto;color:var(--ink);font-weight:600;font-size:15px}.agreements-totals{margin:4px 0 12px;font-variant-numeric:tabular-nums}.agreements-totals>div{display:flex;justify-content:space-between;padding:4px 0;color:var(--body)}.agreements-totals>div b{font-weight:500;color:var(--ink)}.agreements-totals .grand{border-top:1px solid var(--line-strong);margin-top:4px;padding-top:8px}.agreements-totals .grand b{font-weight:600;font-size:16px}.agreements-chart th.c,.agreements-chart td.c{text-align:center}.agreements-editor .record>aside{position:sticky;top:12px}.settings-main>.ap-card+.ap-card,.settings-main>.settings-savebar+.ap-card{margin-top:14px}.ap-pad{padding:10px 16px;margin:0}.ap-kind{width:240px}.ap-extras{max-height:520px}.ap-off td{color:var(--faint)}.ap-code{font-size:12px;background:var(--sunken);border:1px solid var(--line);border-radius:4px;padding:1px 4px}.ap-warn{color:var(--s-amber)}.drawer.wide:has(.ap-builder){width:min(1240px,100vw)}.ap-builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:20px;align-items:start}@media(max-width:1100px){.ap-builder{grid-template-columns:minmax(0,1fr)}}.ap-out{position:sticky;top:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.ap-out .note{margin:0}.ap-step{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.ap-step:last-child{border-bottom:0}.ap-step h3{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:15px}.ap-n{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:600}.ap-seg{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ap-seg button{height:32px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--body);font-variant-numeric:tabular-nums}.ap-seg button:hover{border-color:var(--accent)}.ap-seg button.on{background:var(--accent);border-color:var(--accent);color:#fff}.ap-seg .ap-hours{width:96px;height:32px}.ap-equip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ap-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 11px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface);text-align:left}.ap-chip:hover:not(:disabled){border-color:var(--accent);border-style:solid;background:var(--accent-soft)}.ap-chip b{font-weight:500;font-size:13px}.ap-chip span{color:var(--muted);font-size:12px}.ap-chip:disabled{opacity:.55;cursor:default}.ap-unit{border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 14px 2px;margin-bottom:12px;background:var(--sunken)}.ap-unit .input{background:var(--surface)}.ap-unit-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.ap-unit .note{margin-bottom:10px}.ap-xtable{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:12px}.ap-xtable td{padding:4px 8px}.ap-xtable td .input{height:30px;width:76px}.ap-xtable td:last-child{width:36px}.ap-wrap{white-space:normal!important}.ap-result{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;transition:opacity .15s}.ap-result.busy{opacity:.6}.ap-result .card+.card{margin-top:0}.ap-result .note{margin:0}.ap-total{padding:14px 16px;border-radius:var(--r-lg);background:var(--rail);color:var(--rail-ink)}.ap-total .k{font-size:13px}.ap-total .v{font-size:30px;font-weight:600;color:var(--rail-ink-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ap-total .d{font-size:13px}.ap-years td,.ap-years th{padding:0 8px;font-size:13px}.ap-years td:first-child,.ap-years th:first-child{padding-left:14px}.ap-lines{display:grid;gap:4px;font-variant-numeric:tabular-nums}.ap-lines>div{display:flex;justify-content:space-between;gap:12px}.ap-lines b{font-weight:500}.ap-unitout{border-bottom:1px solid var(--line)}.ap-unitout:last-child{border-bottom:0}.ap-unitout summary{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:10px 16px;cursor:pointer}.ap-unitout summary b{font-weight:500}.ap-unitout summary::marker{color:var(--muted)}.ap-unitout .table-wrap{padding:0 0 8px}.ap-priced{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:13px;color:var(--muted)}.ap-priced button{border:0;background:none;padding:0;color:var(--accent-ink);font-size:13px}.ap-priced button:hover{text-decoration:underline}.ap-card .input-group .post,.ap-builder .input-group .post,.drawer .input-group .post{white-space:nowrap;flex:none}.ap-card .input-group .input{min-width:0}.kl-table{max-height:620px}.kl-missing{color:var(--s-amber);font-weight:500}.kl-foot{padding:10px 16px;margin:0;border-top:1px solid var(--line)}.kl-code{font-size:12px;background:var(--sunken);border:1px solid var(--line);border-radius:4px;padding:1px 4px;overflow-wrap:anywhere}.kl-kpis{margin-bottom:14px}.drawer-body>.card+.card,.drawer-body>.grid+.card{margin-top:14px}.kl-pick{margin-top:12px;border:1px solid var(--line);border-radius:var(--r-md);max-height:calc(100vh - 290px);overflow:auto}.kl-pick-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);cursor:pointer}.kl-pick-row:last-child{border-bottom:0}.kl-pick-row:hover{background:var(--sunken)}.kl-pick-row.off{cursor:default;opacity:.6}.kl-pick-row input{accent-color:var(--accent);width:16px;height:16px;flex:none}.kl-pick-name{flex:1;min-width:0;display:flex;flex-direction:column}.kl-pick-name b{font-weight:500}.kl-pick-name .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kl-pick-n{flex:none}.kl-fs{border:0;padding:0;margin:0;min-width:0}.kl-mgrid{display:grid;grid-template-columns:1fr 1fr 1fr .7fr;column-gap:12px}.kl-sgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:12px}.kl-sgrid>.field:nth-child(1),.kl-sgrid>.field:nth-child(6){grid-column:span 2}@media(max-width:800px){.kl-mgrid,.kl-sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kl-sec{margin:18px 0 10px}.kl-sec p{margin:2px 0 0}.kl-svc{margin-bottom:14px}.kl-svc .note{margin-bottom:10px}.kl-items{border:1px solid var(--line);border-radius:var(--r-md)}.kl-items td{padding:4px 6px;max-width:none}.kl-items td .input{height:30px}.kl-items td:nth-child(1){width:150px}.kl-items td:nth-child(3){width:70px}.kl-items td:nth-child(4){width:110px}.kl-items td:last-child{width:36px}.kl-items td:nth-child(2){position:relative}.kl-contents{display:block;padding:2px 2px 0}.kl-noprice{border-color:var(--s-amber)}.kl-noprice::placeholder{color:var(--s-amber)}.kl-addrow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}.kl-addrow .field{margin-bottom:0}.kl-picker{flex:1;min-width:260px}.kl-addrow .btn{margin-bottom:1px}.kl-svc-total{margin-left:auto;padding-bottom:8px;font-variant-numeric:tabular-nums}.kl-sgrid .input-group .post,.kl-mgrid .input-group .post{white-space:nowrap;flex:none}.kl-sgrid .input-group .input{min-width:0}.invoices-sec{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.invoices-sec h3{font-size:13.5px}.invoices-lines td{height:auto;padding-top:8px;padding-bottom:8px}.invoices-paylink{font-size:12.5px;color:var(--muted);background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-vendor{margin-bottom:14px}.inventory-qty{font-variant-numeric:tabular-nums;font-weight:500}.time-clock{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.time-clock .big{font-family:var(--font-cond);font-size:34px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.time-clock .dot{width:10px;height:10px;border-radius:50%;background:var(--s-green);box-shadow:0 0 0 4px var(--s-green-soft)}.time-clock .dot.off{background:var(--faint);box-shadow:0 0 0 4px var(--s-grey-soft)}.time-grid td.day{text-align:right;font-variant-numeric:tabular-nums}.time-grid td.day.zero{color:var(--faint)}.time-grid td.today,.time-grid th.today{background:var(--accent-soft)}.time-weekbar{display:flex;align-items:center;gap:8px}.time-weekbar b{min-width:190px;text-align:center;font-weight:500}.time-cellin{width:90px;height:28px}.reports-range{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.reports-range .field{margin-bottom:0}.reports-range select.input{width:170px}.reports-range input.input{width:150px}.reports-range .reports-span{color:var(--muted);font-size:12.5px;align-self:center;white-space:nowrap}.reports-kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-bottom:16px}.reports-grid.wide{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.reports-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:14px;align-items:start}.reports-grid .card+.card,.reports-stack .card+.card{margin-top:0}.reports-stack{display:grid;gap:14px}.reports-neg{color:var(--s-red);font-weight:500}.reports-note{color:var(--muted);font-size:12.5px;margin:10px 0 0}.reports-util{display:inline-flex;align-items:center;gap:8px}.reports-util .bar{width:64px;height:8px;background:var(--s-grey-soft);border-radius:999px;overflow:hidden}.reports-util .bar i{display:block;height:100%;background:var(--accent);border-radius:999px}.reports-util .bar i.low{background:var(--s-amber)}@media(max-width:1100px){.reports-grid,.reports-grid.wide{grid-template-columns:minmax(0,1fr)}}.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}.settings-nav{position:sticky;top:0;display:grid;gap:1px}.settings-nav .settings-group{color:var(--muted);font-size:12px;padding:12px 10px 4px}.settings-nav .settings-group:first-child{padding-top:2px}.settings-nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;color:var(--body);font-size:13.5px}.settings-nav a:hover{background:var(--s-grey-soft);text-decoration:none;color:var(--ink)}.settings-nav a.on{background:var(--surface);color:var(--ink);font-weight:500;box-shadow:inset 3px 0 0 var(--accent),0 0 0 1px var(--line)}.settings-main{min-width:0;max-width:980px}.settings-main>.card+.card{margin-top:14px}.settings-head{margin-bottom:14px}.settings-head h2{font-size:18px}.settings-head p{color:var(--muted);margin:4px 0 0;max-width:72ch}.settings-back{display:none;margin-bottom:8px;font-size:12.5px}.settings-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.settings-cards a{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:inherit}.settings-cards a:hover{border-color:var(--line-strong);text-decoration:none}.settings-cards .ico{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink)}.settings-cards b{display:block;font-weight:500;color:var(--ink)}.settings-cards span{color:var(--muted);font-size:12.5px}.settings-savebar{position:sticky;bottom:0;z-index:5;display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:10px 14px;margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 -6px 18px #10231a0f}.settings-savebar .settings-dirty{margin-right:auto;color:var(--muted);font-size:12.5px}.settings-savebar .settings-dirty.on{color:var(--s-amber)}.settings-rows{display:grid;gap:8px}.settings-row{display:grid;gap:8px;align-items:end}.settings-row .field{margin-bottom:0}.settings-row.rate{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 34px}.settings-row.rate.nocost{grid-template-columns:minmax(0,2fr) minmax(0,1fr) 34px}.settings-row.fee{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) 34px}.settings-logo{display:flex;gap:14px;align-items:center;margin-bottom:14px}.settings-logo .settings-logo-box{width:160px;height:72px;border:1px dashed var(--line-strong);border-radius:var(--r-md);display:grid;place-items:center;background:var(--sunken);overflow:hidden}.settings-logo img{max-width:100%;max-height:100%;object-fit:contain}.settings-color{display:flex;gap:8px;align-items:center}.settings-color input[type=color]{width:44px;height:34px;padding:2px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.settings-matrix th,.settings-matrix td{text-align:center}table.data.settings-matrix th:first-child,table.data.settings-matrix td:first-child{text-align:left;white-space:normal;min-width:220px;max-width:360px}table.data.settings-matrix th:not(:first-child){white-space:normal;line-height:1.2;width:84px;padding:6px 4px;height:44px}table.data.settings-matrix td{padding:10px 6px;height:auto}table.data.settings-matrix td:first-child{padding-left:12px}.settings-matrix td,.settings-matrix tbody tr{cursor:default}.settings-matrix tbody tr:hover td{background:none}.settings-matrix input{width:16px;height:16px;accent-color:var(--accent)}.settings-matrix .settings-perm b{display:block;font-weight:500;color:var(--ink)}.settings-matrix .settings-perm span{color:var(--muted);font-size:12px;white-space:normal}.settings-matrix tfoot td{background:var(--sunken);vertical-align:top;padding-top:8px;padding-bottom:8px;height:auto}.settings-matrix th.dirty{color:var(--s-amber)}.settings-matrix td.dirty{background:var(--s-amber-soft)}.settings-status{display:flex;gap:14px;align-items:flex-start}.settings-status .ico{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--s-grey-soft);color:var(--muted)}.settings-status .ico.green{background:var(--s-green-soft);color:var(--s-green)}.settings-status .ico.amber{background:var(--s-amber-soft);color:var(--s-amber)}.settings-status .ico.red{background:var(--s-red-soft);color:var(--s-red)}.settings-status h3{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.settings-status p{margin:4px 0 0;color:var(--body)}.settings-auto{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}.settings-auto:last-child{border-bottom:0}.settings-auto b{font-weight:500}.settings-auto p{margin:2px 0 0;color:var(--muted);font-size:12.5px;max-width:70ch}.settings-auto .settings-auto-opts{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px}.settings-auto .settings-auto-opts .input{width:140px;height:30px}.settings-steps{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.settings-steps span{padding:5px 10px;border-radius:999px;background:var(--s-grey-soft);color:var(--muted);font-size:12.5px;font-weight:500}.settings-steps span.on{background:var(--accent);color:#fff}.settings-kinds{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.settings-kinds label{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;cursor:pointer;display:block}.settings-kinds label.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.settings-kinds label b{font-weight:500}.settings-kinds label span{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.settings-drop{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);padding:24px;text-align:center;background:var(--sunken)}.settings-drop.over{border-color:var(--accent);background:var(--accent-soft)}.settings-drop p{margin:0 0 6px}.settings-stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}.settings-entry{padding:12px 0;border-bottom:1px solid var(--line)}.settings-entry:last-child{border-bottom:0}.settings-entry .settings-entry-body{white-space:pre-wrap;margin:6px 0;color:var(--body)}.settings-cell-input{height:30px!important}table.data.settings-wo td{vertical-align:middle;white-space:normal;max-width:none;overflow:visible;height:auto;padding-top:6px;padding-bottom:6px}.settings-wo tbody tr{cursor:default}.settings-wo tbody tr:hover td{background:none}.settings-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;padding:10px 12px;border-bottom:1px solid var(--line)}.settings-filters .field{margin-bottom:0;min-width:150px}table.data.settings-audit td{white-space:normal;max-width:none;height:auto;padding-top:8px;padding-bottom:8px}.settings-audit tbody tr{cursor:default}.settings-kbd{display:inline-block;min-width:22px;padding:1px 6px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;background:var(--surface);font-size:12px;text-align:center}.settings-help h3{margin-top:2px}.settings-help ul,.settings-help ol{margin:6px 0 0;padding-left:20px}.settings-help li{margin:4px 0}@media(max-width:900px){.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-nav{display:none}.settings-back{display:inline-block}.settings-row.rate,.settings-row.fee,.settings-row.rate.nocost{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.settings-main .field{align-content:start}.help-steps{margin:0;padding-left:20px;display:grid;gap:10px}.help-steps b{font-weight:500;color:var(--ink)}.help-steps li>div{color:var(--body);margin-top:2px}.help-steps table.data td,.help-steps table.data th{font-size:12.5px}.help-steps table.data td,.help-steps table.data th{white-space:normal}
