:root{--bg:#EDEFF3;--surface:#FFFFFF;--surface-2:#F6F7FA;--fg:#141824;--muted:#5B6274;--line:#DADEE7;--side:#121729;--side-fg:#C9CEDC;--side-hi:#FFFFFF;--mark:#FFD23F;--mark-ink:#1A1400;--accent-text:#7A5C00;--mark-bg:#FFF4C7;--good:#17845A;--warn:#B8730A;--crit:#C4352B;--info:#2C57C9;--violet:#6D46C7;--teal:#0B7F80;--good-bg:#E3F4EC;--warn-bg:#FBF0DC;--crit-bg:#FBE6E4;--info-bg:#E5ECFB;--violet-bg:#EEE8FA;--teal-bg:#DFF3F2;--grey-bg:#ECEEF2;--f-display:"Familjen Grotesk","Public Sans",system-ui,sans-serif;--f-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--r:8px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0D111C;--surface:#151A28;--surface-2:#1A2031;--fg:#E7EAF2;--muted:#98A0B4;--line:#283048;--side:#080B14;--side-fg:#A9B0C3;--side-hi:#FFFFFF;--accent-text:#FFD23F;--mark-bg:#3A3110;--good:#3FC28A;--warn:#E9A23B;--crit:#F0675C;--info:#7D9CF5;--violet:#A98BF0;--teal:#3CC1C1;--good-bg:#14301F;--warn-bg:#33270F;--crit-bg:#3A1A18;--info-bg:#18244A;--violet-bg:#261C42;--teal-bg:#0F2F30;--grey-bg:#222839;color-scheme:dark}}:root[data-theme=dark]{--bg:#0D111C;--surface:#151A28;--surface-2:#1A2031;--fg:#E7EAF2;--muted:#98A0B4;--line:#283048;--side:#080B14;--side-fg:#A9B0C3;--side-hi:#FFFFFF;--accent-text:#FFD23F;--mark-bg:#3A3110;--good:#3FC28A;--warn:#E9A23B;--crit:#F0675C;--info:#7D9CF5;--violet:#A98BF0;--teal:#3CC1C1;--good-bg:#14301F;--warn-bg:#33270F;--crit-bg:#3A1A18;--info-bg:#18244A;--violet-bg:#261C42;--teal-bg:#0F2F30;--grey-bg:#222839;color-scheme:dark}*{box-sizing:border-box}body,html{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.45}h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:26px;font-weight:700}h2{font-size:18px}h2,h3{font-weight:600}h3{font-size:15px}.mono,.num{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow,.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--info);outline-offset:2px}.app{display:grid;grid-template-columns:240px 1fr;min-height:100%}.side{background:var(--side);color:var(--side-fg);padding-block:20px;padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:14px;display:flex;flex-direction:column;gap:22px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:10px;color:var(--side-hi)}.brand-mark{width:30px;height:30px;border-radius:7px;background:var(--mark);color:var(--mark-ink);display:grid;place-items:center;font-weight:700;font-size:17px;flex:none}.brand b,.brand-mark{font-family:var(--f-display)}.brand b{font-size:16px;display:block;line-height:1.1}.brand small{font-size:11px;color:var(--side-fg)}.brand-logo{height:34px;width:auto;display:block;flex:none}.brand-app{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--side-fg);border-left:1px solid rgba(255,255,255,.22);padding-left:10px;line-height:1.2}.brand-lg .brand-logo{height:46px}.nav{display:flex;flex-direction:column;gap:2px}.nav a,.nav button{all:unset;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--side-fg);font-weight:500}.nav a:hover,.nav button:hover{background:rgba(255,255,255,.06);color:var(--side-hi)}.nav a[aria-current=page],.nav button[aria-current=page]{background:var(--mark);color:var(--mark-ink);font-weight:600}.nav a:focus-visible,.nav button:focus-visible{outline:2px solid var(--mark)}.nav .count{font-family:var(--f-mono);font-size:11px;padding:1px 6px;border-radius:10px;background:rgba(255,255,255,.12)}.nav button[aria-current=page] .count{background:rgba(0,0,0,.12)}.side-foot{margin-top:auto;flex-direction:column;font-size:12px}.me,.side-foot{display:flex;gap:10px}.me{align-items:center;color:var(--side-hi)}.me small{display:block;color:var(--side-fg)}.side-foot a,.side-foot button{all:unset;cursor:pointer;color:var(--side-fg);text-decoration:underline;text-underline-offset:3px}.side-foot a:hover,.side-foot button:hover{color:var(--side-hi)}.main{min-width:0;padding-block:24px 60px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.main-inner{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.proto{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r);padding:8px 12px}.proto b{color:var(--fg)}.head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between}.head p{margin:4px 0 0;color:var(--muted);max-width:66ch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0}.panel-h{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.panel-b{padding:16px}.grid{display:grid;grid-gap:16px;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));grid-gap:12px;gap:12px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi .v{font-family:var(--f-display);font-size:26px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi .s{font-size:12px;color:var(--muted)}.kpi.alert .v{color:var(--crit)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:7px 12px;font-weight:600;font-size:13px;white-space:nowrap}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.mark{background:var(--mark);color:var(--mark-ink);border-color:var(--mark)}.btn.good{background:var(--good);color:#fff;border-color:var(--good)}.btn.danger{color:var(--crit);border-color:var(--crit)}.btn.sm{padding:4px 9px;font-size:12px}select.btn{max-width:100%}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;background:var(--grey-bg);color:var(--muted)}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.st-route{background:var(--info-bg);color:var(--info)}.st-doing{background:var(--warn-bg);color:var(--warn)}.st-review{background:var(--violet-bg);color:var(--violet)}.st-approve{background:var(--mark-bg);color:var(--accent-text)}.st-client{background:var(--teal-bg);color:var(--teal)}.st-revise{background:var(--crit-bg);color:var(--crit)}.st-done{background:var(--good-bg);color:var(--good)}.due{font-family:var(--f-mono);font-size:12px;white-space:nowrap}.due.late{color:var(--crit);font-weight:600}.due.soon{color:var(--warn);font-weight:600}.held{font-family:var(--f-mono);font-size:12px;white-space:nowrap}.held.slow{color:var(--crit);font-weight:700}.tag{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 6px;white-space:nowrap}.code,.tag{font-weight:600}.code{font-family:var(--f-mono);font-size:11.5px;color:var(--accent-text)}.av{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font-size:10.5px;font-weight:700;color:#fff;flex:none}.av.lg{width:34px;height:34px;font-size:12px}.empty{padding:22px 16px;color:var(--muted);text-align:center;font-size:13px}.rows{display:flex;flex-direction:column}.row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px 14px;gap:8px 14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row:hover{background:var(--surface-2)}.row-main{min-width:0;display:flex;flex-direction:column;gap:3px;cursor:pointer}.row-title{font-weight:600;overflow-wrap:anywhere}.row-meta{gap:6px 10px;font-size:12px;color:var(--muted)}.row-act,.row-meta{display:flex;flex-wrap:wrap;align-items:center}.row-act{gap:6px;justify-content:flex-end}.stage-line{font-size:12.5px;color:var(--fg)}.stage-line b,.timer{font-weight:600}.timer{font-family:var(--f-mono);font-size:12px;background:var(--mark);color:var(--mark-ink);padding:2px 7px;border-radius:4px}.group-label{padding:10px 16px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted);background:var(--surface-2);border-top:1px solid var(--line)}.rows .group-label:first-child{border-top:0}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filters select{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:6px 8px;font-size:13px;max-width:100%}.board-wrap{overflow-x:auto;padding-bottom:8px}.board{display:grid;grid-template-columns:repeat(7,minmax(215px,1fr));grid-gap:10px;gap:10px;min-width:1540px}.col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;min-height:200px}.col,.col-h{display:flex}.col-h{justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.col-b{gap:8px}.card,.col-b{display:flex;flex-direction:column;padding:10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;gap:6px;cursor:pointer;text-align:left}.card:hover{border-color:var(--muted)}.card.late{box-shadow:inset 3px 0 0 var(--crit)}.card-t{font-weight:600;font-size:13px;overflow-wrap:anywhere}.card-f{display:flex;justify-content:space-between;align-items:center;gap:6px}.meter{height:8px;background:var(--grey-bg);overflow:hidden}.meter,.meter i{border-radius:4px}.meter i{display:block;height:100%;background:var(--info)}.meter.over i{background:var(--crit)}.meter.hi i{background:var(--warn)}.meter.ok i{background:var(--good)}.tbl-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;white-space:nowrap}td,th{padding:10px 12px;border-bottom:1px solid var(--line)}td{vertical-align:middle}tr:last-child td{border-bottom:0}td.r,th.r{text-align:right}.person{display:flex;gap:8px;align-items:center;min-width:180px}.person small{display:block;color:var(--muted);font-size:11.5px}.eng{display:flex;flex-direction:column;gap:12px;padding:16px}.eng-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ms{display:flex;flex-direction:column;gap:6px;font-size:13px}.ms label{justify-content:space-between}.ms label,.ms label span{display:flex;gap:8px;align-items:center}.kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.kv div{display:flex;flex-direction:column;gap:2px}.kv b{font-family:var(--f-mono);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kv span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.form{grid-gap:14px}.f2,.form{display:grid;gap:14px}.f2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field .lbl,.field label{font-size:12px;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea,.inp{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:8px 10px;width:100%;min-width:0}.field textarea{min-height:72px;resize:vertical}.lines{display:flex;flex-direction:column;gap:8px}.line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 34px;grid-template-areas:"n n n n x" "r r q q ." "h h l l .";grid-gap:8px;gap:8px;align-items:end}.line [name=ln]{grid-area:n}.line .lf-r{grid-area:r}.line .lf-q{grid-area:q}.line .lf-h{grid-area:h}.line .lf-l{grid-area:l}.line .line-x{grid-area:x;align-self:center}.line-h{display:none!important}.lf{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;color:var(--muted);min-width:0}.lf i{font-style:normal;font-weight:400}.lf input,.lf select{width:100%;font-size:13px;font-weight:400;color:var(--fg)}.lines .line{padding-bottom:10px;border-bottom:1px dashed var(--line)}.line select{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:8px 6px;min-width:0}.line-h{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.line input{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:8px 10px;min-width:0}.hint{font-size:12px;color:var(--muted);margin:0}.chain{display:flex;flex-direction:column}.chain,.step{position:relative}.step{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:start;padding:6px 0}.step:before{content:"";position:absolute;left:10px;top:24px;bottom:-6px;width:2px;background:var(--line)}.step:last-child:before{display:none}.dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);background:var(--surface);display:grid;place-items:center;font-size:11px;font-weight:700;z-index:1}.step.done .dot{background:var(--good);border-color:var(--good);color:#fff}.step.back .dot{background:var(--crit);border-color:var(--crit);color:#fff}.step.now .dot{background:var(--mark);border-color:var(--mark);color:var(--mark-ink)}.step.next .dot{color:var(--muted)}.step-t{font-weight:600;font-size:13px}.step.next .step-t{color:var(--muted);font-weight:500}.step-s{font-size:12px;color:var(--muted)}.step-r{text-align:right;font-size:12px}.flow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fnode{display:inline-flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;padding:5px 9px;background:var(--surface);font-size:12.5px;line-height:1.25}.fnode small{color:var(--muted);font-size:11px}.fnode.k-vet{border-color:var(--violet)}.fnode.k-approve{background:var(--mark-bg);border-color:var(--mark)}.fnode.k-client{border-color:var(--teal)}.fnode.k-route{border-color:var(--info)}.farrow{color:var(--muted);font-family:var(--f-mono)}.org{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px}.org-card{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--surface);gap:8px}.org-card,.org-card ul{display:flex;flex-direction:column}.org-card ul{margin:0;padding-left:18px;font-size:13px;gap:4px}.scrim{position:fixed;inset:0;background:rgba(10,13,22,.45);z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(600px,100%);background:var(--surface);z-index:41;display:flex;flex-direction:column;border-left:1px solid var(--line);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-right:env(safe-area-inset-right,0)}.drawer-h{border-bottom:1px solid var(--line);gap:12px;justify-content:space-between;align-items:flex-start}.drawer-b,.drawer-h{padding:18px 20px;display:flex}.drawer-b{overflow:auto;flex-direction:column;gap:20px}.x{all:unset;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:6px;font-size:20px;color:var(--muted)}.x:hover{background:var(--surface-2)}.meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.log{flex-direction:column;font-size:13px}.log,.log div{display:flex;gap:8px}.log div{align-items:baseline}.log time{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);flex:none;width:84px}.note{background:var(--surface-2);border-radius:6px;padding:8px 10px;font-size:13px}.note b{font-size:12px}.modal{left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));max-height:calc(100% - 48px);overflow:auto;background:var(--surface);border-radius:10px;z-index:41}.callout,.modal{border:1px solid var(--line)}.callout{background:var(--surface-2);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.login{min-height:100%;display:grid;place-items:center;padding-block:40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.login-card{width:min(900px,100%);display:grid;grid-template-columns:1fr 1.25fr;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.login-art{background:var(--side);color:var(--side-fg);padding:32px;display:flex;flex-direction:column;gap:18px}.login-art h1{color:var(--side-hi);font-size:34px;line-height:1.05}.login-art h1 span{background:var(--mark);color:var(--mark-ink);padding:0 6px;border-radius:4px}.login-art p{margin:0;max-width:34ch}.login-art ul{margin:auto 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:12.5px}.login-art li:before{content:"→ ";color:var(--mark)}.login-list{padding:28px;display:flex;flex-direction:column;gap:14px}.acct{all:unset;display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.acct:focus-visible,.acct:hover{border-color:var(--fg)}.acct small{display:block;color:var(--muted);font-size:12px}.accts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.modal{position:fixed}.modal-x{position:absolute;top:10px;right:10px}a.btn{text-decoration:none;color:inherit}.exp,.exp-list{display:flex;flex-direction:column}.exp{gap:10px;padding:14px 16px;border-top:1px solid var(--line)}.exp-list .exp:first-child{border-top:0}.exp-total{font-size:18px;font-weight:700}.eline{display:grid;grid-template-columns:minmax(0,1fr) 100px 60px 100px 92px 34px;grid-gap:8px;gap:8px;align-items:end}.eline input,.eline select{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:8px;min-width:0;width:100%}.eline-h{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}@media (max-width:640px){.eline{grid-template-columns:1fr 1fr}.eline input[name=li],.eline select[name=lk]{grid-column:1/-1}.eline-h{display:none}.eline+.eline{border-top:1px solid var(--line);padding-top:8px}}.modal{width:min(720px,calc(100% - 32px))}.bl{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px}.bl-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid var(--line);font-size:13px}.bl .bl-row:first-child{border-top:0}.modal-doc{width:min(820px,calc(100% - 32px));background:#fff}.doc-bar{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line)}.invdoc{background:#fff;color:#1d1d1f;padding:28px 28px 18px;font-family:Public Sans,system-ui,sans-serif;font-size:12px;line-height:1.45;color-scheme:light;overflow-x:auto}.inv-logo{height:64px;width:auto;display:block}.inv-rule{display:flex;align-items:center;gap:14px;margin:18px -28px 14px}.inv-rule:after,.inv-rule:before{content:"";height:3px;background:#A01C3B;flex:1 1}.inv-rule:after{flex:0 0 28px}.inv-rule span{font-size:22px;letter-spacing:.02em;color:#2f3342}.inv-note{margin:0 0 8px;color:#A01C3B;font-size:11px}.inv-t{width:100%;min-width:560px;border-collapse:collapse}.inv-t td,.inv-t th{border:1px solid #333;padding:6px 8px;vertical-align:top;color:#1d1d1f;text-transform:none;letter-spacing:0;font-size:12px;white-space:normal;background:#fff}.inv-t th{font-weight:700;text-align:left}.inv-t+.inv-t{margin-top:-1px}.inv-t .r{text-align:right}.inv-t .c{text-align:center}.inv-sub{margin-top:18px;text-align:right}.inv-box{border:1px solid #333;border-top:0;padding:6px 8px;min-width:560px}.inv-words{display:flex;justify-content:space-between;gap:10px}.inv-foot{gap:12px;min-height:70px}.inv-foot,.inv-sign{display:flex;justify-content:space-between;align-items:flex-end}.inv-sign{min-height:60px}.inv-footer{display:flex;justify-content:space-around;gap:10px;flex-wrap:wrap;border-top:2px solid #a01c3b;margin:22px -28px 0;padding-top:10px;color:#555;font-size:11px;min-width:560px}.inv-miss{color:#A01C3B}.chat{display:grid;grid-template-columns:300px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);height:calc(100vh - 230px);min-height:460px;overflow:hidden}.chat-list{border-right:1px solid var(--line);padding:12px;overflow:auto;display:flex;flex-direction:column;gap:4px}.chat-list .eyebrow{margin:8px 4px 2px}.ci{all:unset;display:flex;gap:10px;align-items:center;padding:8px;border-radius:6px;cursor:pointer;min-width:0}.ci:hover{background:var(--surface-2)}.ci.on{background:var(--mark-bg)}.ci:focus-visible{outline:2px solid var(--info)}.ci-t{min-width:0;flex:1 1;display:flex;flex-direction:column}.ci-t b{font-size:13px}.ci-t b,.ci-t small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ci-t small{color:var(--muted);font-size:12px}.ci .count{font-family:var(--f-mono);font-size:11px;background:var(--crit);color:#fff;border-radius:10px;padding:1px 7px}.chat-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.cp-h{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.cp-h>div{flex:1 1}.cp-back{display:none}.cp-msgs{flex:1 1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2)}.msg{display:flex;gap:8px;align-items:flex-end;max-width:78%}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.bub{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0;display:flex;flex-direction:column;gap:3px}.msg.mine .bub{background:var(--mark-bg);border-color:transparent}.msg-who{font-size:12px}.msg-t{font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}.bub time{font-size:11px;color:var(--muted);align-self:flex-end}.msg-sys{align-self:center;font-size:11.5px;color:var(--muted);text-align:center}.filelink{display:flex;flex-direction:column;gap:1px;margin:4px 0;padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--info);border-radius:6px;background:var(--surface);text-decoration:none;color:var(--fg)}.filelink span{font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}.cp-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.cp-form textarea{flex:1 1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:var(--surface);resize:none;max-height:120px}@media (max-width:820px){.chat{grid-template-columns:1fr;height:calc(100vh - 260px)}.chat.has-conv .chat-list,.chat:not(.has-conv) .chat-pane{display:none}.cp-back{display:inline-flex}.msg{max-width:92%}}.via{display:flex;flex-wrap:wrap;gap:6px}.via-o{position:relative}.via-o input{position:absolute;opacity:0;inset:0;cursor:pointer}.via-o span{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;background:var(--surface)}.via-o input:checked+span{background:var(--fg);color:var(--bg);border-color:var(--fg)}.via-o input:focus-visible+span{outline:2px solid var(--info);outline-offset:2px}.opt{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;flex-wrap:wrap}.field .opt{flex-direction:row;align-items:center;color:var(--fg);font-weight:400;font-size:13px}.field .opt input[type=radio]{width:auto;flex:none;margin:0}.field .opt>span{flex:1 1;min-width:0}.field .opt select{width:auto}.opt select{border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--surface);max-width:100%}.votes{display:inline-flex;gap:6px;flex-wrap:wrap}.internal{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:8px;font-weight:600;z-index:60;max-width:calc(100% - 32px)}.legend{display:flex;gap:14px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.chart svg{width:100%;height:auto;display:block}.chart text{fill:var(--muted);font-family:var(--f-mono);font-size:11px}.split{justify-content:space-between;align-items:center}.split,.stack{display:flex;gap:10px}.stack{flex-direction:column}.modal.modal-xl{width:min(1080px,calc(100% - 32px))}.ptbl td{vertical-align:middle}.pconf{border-color:var(--warn)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed}.count-pill{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--warn-bg);color:var(--warn);font-size:12px;font-family:var(--f-mono);vertical-align:middle}.ptbl tr.grp td{background:var(--surface-2);padding-top:10px;padding-bottom:8px}.ptbl .pays{width:78px;font-weight:600}.ptbl .pays.yes{color:var(--good)}.bl-cap{display:flex;justify-content:space-between;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--fg);flex-wrap:wrap}.bl-cap .muted{text-transform:none;letter-spacing:0;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sch-ctl{margin:4px 0 12px}.seg{display:inline-flex}.seg .btn{border-radius:0}.seg .btn:first-child{border-radius:6px 0 0 6px}.seg .btn:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.seg .btn.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.sday{margin-bottom:12px}.sday.bad{border-color:var(--crit)}.srow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line)}.srow:first-child{border-top:0}.srow-main{cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0}.srow.s-missed,.srow.s-notready{box-shadow:inset 3px 0 0 var(--crit)}.srow.s-ready{box-shadow:inset 3px 0 0 var(--info)}.srow.s-posted{opacity:.7}.cal{overflow-x:auto}.cal-g,.cal-h{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));grid-gap:4px;gap:4px;min-width:780px}.cal-h span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:4px}.cal-d{background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:104px;padding:4px;display:flex;flex-direction:column;gap:2px}.cal-d.out{opacity:.45}.cal-d.today{border-color:var(--fg);border-width:2px}.cal-n{all:unset;cursor:pointer;font-family:var(--f-mono);font-size:12px;font-weight:700;padding:2px 4px;align-self:flex-start}.cal-i{all:unset;cursor:pointer;font-size:11px;line-height:1.25;padding:2px 4px;border-radius:4px;background:var(--grey-bg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-i.delivered{background:var(--good-bg);color:var(--good)}.cal-i.late,.cal-i.missed,.cal-i.notready{background:var(--crit-bg);color:var(--crit)}.cal-i.ready{background:var(--info-bg);color:var(--info)}.cal-i.posted{background:var(--good-bg);color:var(--good)}.cal-more{all:unset;cursor:pointer;font-size:11px;color:var(--muted);padding:0 4px}.crow{display:grid;grid-template-columns:150px 140px minmax(0,1fr) 34px;grid-gap:8px;gap:8px;margin-bottom:6px}.crow input,.crow select{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:7px 8px;min-width:0}.crow-h{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}@media (max-width:820px){.crow{grid-template-columns:1fr 1fr 34px}.crow [name=cn]{grid-column:1/-1;order:-1}.crow-h{display:none}.srow{grid-template-columns:1fr}}.pricebox{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.pricebox h3{margin:0}.pb-grid{display:grid;grid-template-columns:minmax(0,1fr) 70px 120px;grid-gap:10px;gap:10px}.bl-amt{width:110px;border:1px solid var(--line);background:var(--surface);padding:5px 8px;text-align:right}.bl-amt,.notice{border-radius:6px}.notice{padding:10px 12px;font-size:13px;background:var(--info-bg);color:var(--fg)}.notice.bad{background:var(--crit-bg)}.notice.warn{background:var(--warn-bg)}.addr{align-self:flex-start;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.gbtn{justify-content:center;padding:11px 14px;font-size:14px;width:100%}.gstand{border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--surface-2)}.gsteps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;counter-reset:g}.gsteps li{counter-increment:g;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12.5px;display:flex;flex-direction:column;gap:2px}.gsteps li:before{content:counter(g);font-family:var(--f-mono);font-size:11px;color:var(--muted)}.gsteps small{color:var(--muted);font-size:11.5px}.proto-pick{border-top:1px dashed var(--line);padding-top:12px;font-size:13px}.proto-pick summary{cursor:pointer;color:var(--muted);font-weight:600}.foot-btns{display:flex;gap:14px}.side-foot .foot-btns a[aria-current],.side-foot .foot-btns button[aria-current]{color:var(--side-hi);font-weight:700}.tgl{display:flex;gap:10px;align-items:center;font-size:13.5px;cursor:pointer}.tgl input{width:16px;height:16px;flex:none;margin:0;accent-color:var(--fg)}.tgl.off{opacity:.6;cursor:default}.av-xl .av{width:56px;height:56px;font-size:18px}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.kv-set b{font-family:inherit;font-size:13.5px;font-weight:600}.howin{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;counter-reset:h}.howin li{counter-increment:h;display:flex;flex-direction:column;gap:4px;font-size:13px;border-left:2px solid var(--line);padding-left:10px}.howin li:before{content:"Step " counter(h);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.howin li:last-child:before{content:"Leaving"}.howin.sheet-steps li:last-child:before{content:"Then"}.howin span{color:var(--muted)}.set-save{position:-webkit-sticky;position:sticky;bottom:0;background:var(--bg);padding:10px 0}@media (max-width:980px){.g3,.howin{grid-template-columns:1fr 1fr}}@media (max-width:820px){.app{grid-template-columns:1fr}.side{position:-webkit-sticky;position:sticky;top:0;height:auto;flex-wrap:wrap;align-items:center;gap:10px;padding-block:10px;padding-right:max(14px,env(safe-area-inset-right,0px));z-index:20;padding-top:calc(10px + env(safe-area-inset-top,0px))}.nav,.side{flex-direction:row}.nav{overflow-x:auto;width:100%;order:3;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:28px}.nav a,.nav button{white-space:nowrap}.side-foot{margin:0 0 0 auto;flex-direction:row;align-items:center}.me .who{display:none}.accts,.f2,.g2,.g3,.gsteps,.howin,.kv,.login-card,.meta{grid-template-columns:1fr}.side .brand-logo{height:26px}.line{grid-template-areas:"n n n n x" "r r r r r" "q q h h h" "l l l l l"}.row{grid-template-columns:1fr}.row-act{justify-content:flex-start}}@media (prefers-reduced-motion:no-preference){.drawer{animation:slide .16s ease-out}@keyframes slide{0%{transform:translateX(24px)}}}.foot-btns form{display:contents}.notice.good{background:var(--good-bg)}.inline-form{display:contents}.howin.plain li:before,.howin.plain li:last-child:before{content:none}td.nowrap{white-space:nowrap}.pricebox .split{flex-wrap:wrap;gap:8px}.pricebox .split>.btn{margin-left:auto}