:root{--brand: #15803d;--brand-bright: #16a34a;--brand-soft: #e9f8ef;--energy: #f5b50a;--navy: #0d1a24;--heading: #0c1727;--bg: #f4f7f9;--panel: #ffffff;--panel-2: #f6f9fb;--text: #334155;--muted: #64748b;--line: #dde5ec;--accent: var(--brand);--on-accent: #ffffff;--hover: #f1f8f4;--chip: #eef2f6;--side: var(--navy);--side-text: rgba(255, 255, 255, .72);--side-hover: rgba(255, 255, 255, .06);--side-line: rgba(255, 255, 255, .12);--ok-bg: #e9f8ef;--ok-fg: #15803d;--info-bg: #e6eff5;--info-fg: #2f5d75;--bad-bg: #fde8e8;--bad-fg: #a3161c;--danger: #c4161c;--scrim: rgba(13, 26, 36, .5);--demo-bg: #fdf3d3;--demo-fg: #6b4c00;--radius: 14px;--radius-s: 10px;--font: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-head: "Space Grotesk", "Geist", system-ui, sans-serif}@media (prefers-color-scheme: dark){:root[data-theme=auto]{--bg: #0a141c;--panel: #102029;--panel-2: #132631;--text: #d7e0e8;--muted: #8fa2b2;--line: #1f3442;--heading: #f1f5f8;--accent: #4ade80;--on-accent: #052e16;--hover: #15302a;--chip: #1a2d39;--brand-soft: #123524;--side: #07111a;--side-text: rgba(255, 255, 255, .7);--side-hover: rgba(255, 255, 255, .06);--side-line: rgba(255, 255, 255, .1);--ok-bg: #123524;--ok-fg: #86efac;--info-bg: #152c3a;--info-fg: #9cc6dd;--bad-bg: #3d1717;--bad-fg: #fca5a5;--danger: #f87171;--scrim: rgba(0, 0, 0, .6);--demo-bg: #3a2c08;--demo-fg: #f5d27a;color-scheme:dark}}:root[data-theme=dark]{--bg: #0a141c;--panel: #102029;--panel-2: #132631;--text: #d7e0e8;--muted: #8fa2b2;--line: #1f3442;--heading: #f1f5f8;--accent: #4ade80;--on-accent: #052e16;--hover: #15302a;--chip: #1a2d39;--brand-soft: #123524;--side: #07111a;--side-text: rgba(255, 255, 255, .7);--side-hover: rgba(255, 255, 255, .06);--side-line: rgba(255, 255, 255, .1);--ok-bg: #123524;--ok-fg: #86efac;--info-bg: #152c3a;--info-fg: #9cc6dd;--bad-bg: #3d1717;--bad-fg: #fca5a5;--danger: #f87171;--scrim: rgba(0, 0, 0, .6);--demo-bg: #3a2c08;--demo-fg: #f5d27a;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font:14px/1.45 var(--font);background:var(--bg);color:var(--text)}h1{font-size:20px;margin:0;text-wrap:balance}h3{margin:0}a{color:var(--accent)}button{font:inherit;background:var(--accent);color:var(--on-accent);border:0;border-radius:6px;padding:7px 14px;cursor:pointer}button:hover{filter:brightness(1.08)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.ghost{background:transparent;color:var(--accent);border:1px solid var(--line)}button.danger{color:var(--danger)}input,select,textarea{font:inherit;width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text)}textarea{resize:vertical}.muted{color:var(--muted)}.error{color:var(--danger);margin:8px 0}.spacer{flex:1}.right{text-align:right}.print-only{display:none}.demo-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between;background:var(--demo-bg);color:var(--demo-fg);padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));font-size:13px}.demo-bar button{color:var(--demo-fg);border-color:currentColor;padding:4px 10px}.shell{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:100vh}.side{background:var(--side);color:var(--side-text);padding:16px 10px;display:flex;flex-direction:column;gap:2px}.side .brand{color:var(--side-text);font-weight:700;padding:4px 10px 14px;letter-spacing:.02em}.side a{color:var(--side-text);text-decoration:none;padding:8px 10px;border-radius:6px}.side a:hover{background:var(--side-hover)}.side a.active{background:var(--accent);color:var(--on-accent)}.side .out{margin-top:auto;color:var(--side-text);border-color:var(--side-line)}main{padding:24px;min-width:0}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.search{max-width:240px;margin-left:auto}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;font-variant-numeric:tabular-nums}th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--panel-2)}table.list tbody tr{cursor:pointer}.empty{text-align:center;color:var(--muted);padding:24px}.num{text-align:right;width:110px}.badge{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--chip);font-size:12px;text-transform:capitalize}.badge.goedgekeurd,.badge.betaald{background:var(--ok-bg);color:var(--ok-fg)}.badge.verzonden{background:var(--info-bg);color:var(--info-fg)}.badge.afgewezen,.badge.vervallen{background:var(--bad-bg);color:var(--bad-fg)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.form-grid .wide,label.wide{grid-column:1 / -1}label{display:block}label>span{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:grid;place-items:center;padding:16px;z-index:10}.modal{background:var(--panel);border-radius:10px;padding:20px;width:min(560px,100%);max-height:92vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-foot{display:flex;gap:8px;justify-content:flex-end;align-items:center}.login{max-width:340px;margin:12vh auto;display:flex;flex-direction:column;gap:10px;padding:0 16px}.planner{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow-x:auto}.pl-row{display:grid;grid-template-columns:130px repeat(7,minmax(118px,1fr));border-bottom:1px solid var(--line);min-width:956px}.pl-row:last-child{border-bottom:0}.pl-head>div{padding:8px;font-size:12px;color:var(--muted);font-weight:600;text-align:center;background:var(--panel-2)}.pl-emp{padding:10px;font-weight:600;display:flex;align-items:flex-start;gap:6px}.pl-cell{padding:6px;border-left:1px solid var(--line);min-height:76px;display:flex;flex-direction:column;gap:4px}.pl-item{border-left:3px solid var(--accent);background:var(--hover);padding:4px 6px;border-radius:4px;font-size:12px;cursor:pointer}.pl-item .t{font-weight:600;font-variant-numeric:tabular-nums}.pl-cell .add{margin-top:auto;padding:0;height:22px;opacity:.5}.pl-cell:hover .add{opacity:1}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-top:3px;flex:none}:root{--paper: #ffffff;--ink: #1a1f27;--ink-muted: #5d6673;--rule: #d9dee5;--warn-bg: #fff1e0;--warn-fg: #8a4b00}.small{font-size:12px}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.bad{color:var(--danger)}.strong{font-weight:600}.grow{flex:1}.tag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:4px;background:var(--chip);color:var(--muted);margin-right:6px;text-transform:uppercase;letter-spacing:.04em}.note{background:var(--warn-bg);color:var(--warn-fg);padding:8px 12px;border-radius:6px;margin:0 0 14px}.btn{display:inline-flex;align-items:center;text-decoration:none;border-radius:6px;padding:7px 14px}.btn.ghost{border:1px solid var(--line);color:var(--accent)}button:disabled{opacity:.55;cursor:default;filter:none}button.small{padding:3px 8px;font-size:12px}button.icon{background:transparent;color:var(--muted);border:0;padding:2px 6px;font-size:13px;line-height:1}button.icon:hover{color:var(--text);background:var(--chip)}button.icon.on{color:var(--accent)}button.icon.danger:hover{color:var(--danger)}.nav-group{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--side-text);opacity:.55;padding:4px 10px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.kpis:empty{display:none}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.kpi-label{font-size:12px;color:var(--muted)}.kpi-value{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:2px}.kpi-sub{font-size:12px;color:var(--muted)}.kpi.bad .kpi-value{color:var(--danger)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 14px;overflow-x:auto}.tabs>button,.tabs>a{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 12px;white-space:nowrap;text-decoration:none}.tabs>button span{font-size:11px;background:var(--chip);border-radius:99px;padding:1px 6px;margin-left:4px;color:var(--muted)}.tabs>.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tabs>.warn span{background:var(--bad-bg);color:var(--bad-fg)}.badge{margin-right:4px}.badge.s-nieuw,.badge.s-draft{background:var(--chip)}.badge.s-open,.badge.s-proforma{background:var(--warn-bg);color:var(--warn-fg)}.badge.s-verzonden,.badge.s-facturatie{background:var(--info-bg);color:var(--info-fg)}.badge.s-gewonnen,.badge.s-betaald{background:var(--ok-bg);color:var(--ok-fg)}.badge.s-verloren,.badge.s-vervallen{background:var(--bad-bg);color:var(--bad-fg)}.back{text-decoration:none}.doc-head{display:flex;gap:12px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.doc-title{min-width:0}.doc-title h1{font-size:22px}.doc-title .t{font-weight:450;color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.doc-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.flash{font-size:13px;color:var(--muted)}.flash.ok{color:var(--ok-fg)}.flash.bad{color:var(--danger)}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px;min-width:250px;display:flex;flex-direction:column;box-shadow:0 8px 24px #0000001f}.menu button{background:transparent;color:var(--text);text-align:left;padding:7px 10px;border-radius:5px}.menu button:hover{background:var(--hover);filter:none}.menu button.danger{color:var(--danger)}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}.menu-row{display:flex;align-items:center;gap:4px}.menu-row button{flex:1}.menu-row input{width:64px;padding:4px 6px}.stepper{list-style:none;display:flex;padding:0;margin:0 0 14px;flex-wrap:wrap;gap:0}.stepper li{display:flex}.stepper button{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-left-width:0;border-radius:0;padding:6px 14px;font-size:13px}.stepper li:first-child button{border-left-width:1px;border-radius:6px 0 0 6px}.stepper li:last-child button{border-radius:0 6px 6px 0}.stepper button.done{color:var(--text);background:var(--panel-2)}.stepper button.cur{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.stepper button.cur.s-verloren{background:var(--danger);border-color:var(--danger)}.stepper button.cur.s-gewonnen,.stepper button.cur.s-betaald{background:var(--ok-fg);border-color:var(--ok-fg);color:var(--panel)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:14px;min-width:0}.doc-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.doc-grid .panel{margin-bottom:0}.doc-grid+.tabs{margin-top:18px}.inline{display:flex;gap:6px;align-items:center}.inline select{flex:1;min-width:0}.inline-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.inline-label input{width:72px;padding:3px 6px;text-align:right}.form-grid.one{grid-template-columns:1fr}aside.totals h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}aside.totals dl{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:0;font-variant-numeric:tabular-nums}aside.totals dd{margin:0;text-align:right}aside.totals dt{color:var(--muted)}aside.totals dt.strong{color:var(--text)}aside.totals dl.sub{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}aside.totals .grand{display:flex;justify-content:space-between;font-weight:700;font-size:18px;border-top:2px solid var(--text);margin-top:8px;padding-top:8px;font-variant-numeric:tabular-nums}.legal{font-size:12px;color:var(--muted);border-left:3px solid var(--line);padding-left:8px;margin:10px 0 0}.lines-panel{padding:12px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.group{border:1px solid var(--line);border-radius:8px;margin-bottom:12px;overflow:hidden}.group-head{display:flex;align-items:center;gap:10px;background:var(--panel-2);padding:6px 10px;border-bottom:1px solid var(--line)}.group-name{font-weight:600;border-color:transparent;background:transparent;flex:1;min-width:0}.group-name:hover,.group-name:focus{border-color:var(--line);background:var(--panel)}.row-tools{display:inline-flex;gap:1px;white-space:nowrap}.group table.lines{border:0;border-radius:0}table.lines th{padding:6px}table.lines td{padding:3px 4px;vertical-align:top}table.lines input,table.lines select,table.lines textarea{border-color:transparent;background:transparent;padding:5px}table.lines input:hover,table.lines select:hover,table.lines textarea:hover{border-color:var(--line)}table.lines input:focus,table.lines select:focus,table.lines textarea:focus{background:var(--panel);border-color:var(--accent)}table.lines input:disabled,table.lines select:disabled,table.lines textarea:disabled{color:var(--text);opacity:1}table.lines textarea{resize:vertical;min-height:32px;line-height:1.35}table.lines input[type=number]{text-align:right}table.lines td.num{padding-top:8px}table.lines td.num:has(input),table.lines td.num:has(select){padding-top:3px}.c-code{width:90px;padding-top:10px!important}.c-qty{width:84px}.c-unit{width:90px}.c-price{width:104px}.c-pct{width:72px}.c-total{width:112px}.c-tools{width:128px}tr.optional td{background:var(--panel-2)}tr.optional td.num{color:var(--muted)}tr.text textarea{font-style:italic;color:var(--muted)}.strike{text-decoration:line-through;color:var(--muted);font-size:12px}.group-add{display:flex;gap:8px;padding:8px 10px;border-top:1px dashed var(--line);flex-wrap:wrap}.group-add .picker{flex:1 1 280px}.empty-lines{padding:20px;text-align:center;color:var(--muted);display:grid;gap:10px;justify-items:center}.empty-lines .picker{width:min(480px,100%)}.picker{position:relative}.picker-list{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:6;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:4px;display:flex;flex-direction:column;text-align:left}.picker-list button{display:flex;gap:10px;align-items:baseline;background:transparent;color:var(--text);padding:7px 8px;border-radius:5px;text-align:left}.picker-list button:hover{background:var(--hover);filter:none}.picker-list .num{width:auto;color:var(--muted);white-space:nowrap}table.calc tr.calc-group td{background:var(--panel-2);font-weight:600}table.calc td{padding:6px}table.calc tfoot td{font-weight:700;border-top:2px solid var(--text)}.pay-progress{height:8px;background:var(--chip);border-radius:99px;overflow:hidden}.pay-progress div{height:100%;background:var(--ok-fg)}.pay-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:14px}.pay-form label{flex:0 1 150px}.pay-form label.grow{flex:1 1 180px}table.list.plain tbody tr{cursor:default}.print-shell{display:grid;gap:12px;justify-items:center}.print-bar{display:flex;gap:12px;align-items:center;width:min(210mm,100%);flex-wrap:wrap}.sheet{background:var(--paper);color:var(--ink);width:min(210mm,100%);min-height:297mm;padding:16mm 15mm;box-shadow:0 2px 16px #0000001f;font-size:12.5px;line-height:1.45;display:flex;flex-direction:column;gap:14px}.sheet .muted{color:var(--ink-muted)}.sheet-head{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.sender{display:grid;gap:6px;color:var(--ink-muted)}.wordmark{font-size:20px;font-weight:750;letter-spacing:-.01em;color:var(--ink)}.logo{max-height:56px;max-width:220px}.recipient{min-width:200px;padding:10px 14px;border:1px solid var(--rule);border-radius:4px;align-self:flex-end}.sheet-title{font-size:22px;margin-top:8px}table.meta{border:0;background:transparent;width:100%}table.meta th,table.meta td{border:0;padding:2px 8px 2px 0;background:transparent;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink)}table.meta th{color:var(--ink-muted);font-weight:500;width:16%}.intro,.outro,.reminder{white-space:pre-line;margin:0}.reminder{border-left:3px solid var(--danger);padding-left:10px}table.sheet-lines{border:0;border-radius:0;background:transparent;width:100%}table.sheet-lines th{background:transparent;color:var(--ink-muted);border-bottom:1.5px solid var(--ink);padding:6px 6px 6px 0}table.sheet-lines td{border-bottom:1px solid var(--rule);padding:6px 6px 6px 0;color:var(--ink)}table.sheet-lines td.desc{white-space:pre-line}table.sheet-lines .num{width:auto;white-space:nowrap}table.sheet-lines tr.g td{font-weight:700;border-bottom:1px solid var(--ink);padding-top:12px}table.sheet-lines tr.txt td{font-style:italic;color:var(--ink-muted);white-space:pre-line}.disc{color:var(--ink-muted);font-size:11px}.sheet-foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;break-inside:avoid}.pay-info{display:grid;gap:2px;align-content:start}.pay-info .lbl{color:var(--ink-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.pay-info .big{font-size:20px;font-weight:700}table.sheet-totals{border:0;background:transparent;width:auto;min-width:280px;margin-left:auto}table.sheet-totals th,table.sheet-totals td{border:0;background:transparent;padding:3px 0 3px 16px;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--ink);text-align:right;font-weight:400}table.sheet-totals th{color:var(--ink-muted)}table.sheet-totals tr.sep th,table.sheet-totals tr.sep td{border-top:1px solid var(--rule);font-weight:600;color:var(--ink)}table.sheet-totals tr.grand th,table.sheet-totals tr.grand td{border-top:1.5px solid var(--ink);font-weight:700;font-size:15px;color:var(--ink);padding-top:6px}.opts h2{font-size:13px;margin:0 0 4px}.sheet .legal{color:var(--ink-muted);border-left-color:var(--rule)}.sign{display:grid;gap:6px;width:260px;margin-left:auto;color:var(--ink-muted);break-inside:avoid}.sign-box{height:70px;border:1px solid var(--rule);border-radius:4px}.sheet-footer{margin-top:auto;border-top:1px solid var(--rule);padding-top:8px;color:var(--ink-muted);display:grid;gap:4px}@media print{@page{size:A4;margin:0}body{background:#fff}.no-print,.side,.demo-bar,.print-bar{display:none!important}.shell{display:block}main{padding:0!important}.sheet{box-shadow:none;width:210mm;min-height:297mm}}@media (max-width: 1000px){.doc-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 800px){.shell{grid-template-columns:minmax(0,1fr)}.side{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:4px 10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.side .brand{width:100%;padding-bottom:6px}.nav-group{flex-direction:row;flex-wrap:wrap;margin:0;align-items:center}.nav-label{display:none}.side .out{margin:0 0 0 auto}main{padding-block:14px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.form-grid{grid-template-columns:1fr}.search{max-width:none;margin-left:0}main>div>table.list{display:block;overflow-x:auto;white-space:nowrap}.sheet{padding:20px 16px;min-height:0}.doc-actions{width:100%}}.modal:has(.modal-wide){width:min(860px,100%)}.h3{font-size:14px;margin-bottom:10px}button.link{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.tab-select{width:auto;align-self:center;padding:4px 8px}.comp{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;display:grid;gap:10px}.comp h4{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.comp table.lines td{padding:6px;vertical-align:middle}.comp-sum{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;background:var(--panel-2);border-radius:8px;padding:10px 12px}.comp-sum dl{display:grid;grid-template-columns:auto auto;gap:2px 12px;margin:0;font-variant-numeric:tabular-nums}.comp-sum dt{color:var(--muted)}.comp-sum dd{margin:0;text-align:right}.comp-sum .fixed{display:grid;gap:4px}.comp-sum .fixed>span{display:flex;gap:6px;align-items:center;color:var(--text);font-size:13px}.comp-sum .fixed input[type=number]{width:120px}.comp-price{margin-left:auto;display:grid;justify-items:end}.comp-price strong{font-size:20px;font-variant-numeric:tabular-nums}.comp-price>span:first-child{font-size:12px;color:var(--muted)}input[type=checkbox]{width:auto}.comps{margin-top:2px;padding-left:6px}.comps ul{margin:4px 0 2px;padding-left:16px;font-size:12px;color:var(--muted);display:grid;gap:1px}.comps .num{display:inline-block;min-width:54px;color:var(--text);width:auto;text-align:left}.success{border-color:var(--ok-fg);background:var(--ok-bg);color:var(--ok-fg)}.import-src .toolbar{margin:4px 0 0}label.check{display:inline-flex;gap:6px;align-items:center;font-size:13px}.inline-label.grow{flex:1 1 320px}.inline-label.grow select{flex:1;min-width:0}.inline-label .wide-input{width:220px;text-align:left}.import-sum{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 10px;font-variant-numeric:tabular-nums}tr.off td{opacity:.45}.stale{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px;padding:3px 8px;border-radius:5px;background:var(--warn-bg);color:var(--warn-fg)}.stale button{color:var(--warn-fg);border-color:currentColor}button.warn-btn{color:var(--warn-fg);border-color:var(--warn-fg);background:var(--warn-bg)}.comps button.link+button.link{margin-left:10px}.tag-warn{background:var(--warn-bg);color:var(--warn-fg)}.c-act{width:52px;text-align:center}tr.inactive td{color:var(--muted);background:var(--panel-2)}tr.inactive td:nth-child(2) div:first-child{text-decoration:line-through;text-decoration-color:var(--line)}.comps li.off{opacity:.55}.comps li label{display:inline-flex;gap:6px;align-items:baseline;cursor:pointer}.proj-sub{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.proj-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kpi.warn .kpi-value{color:var(--warn-fg)}.kpi-bar{height:4px;background:var(--chip);border-radius:99px;overflow:hidden;margin:6px 0 2px}.kpi-bar div{height:100%;background:var(--accent)}.kpi.bad .kpi-bar div{background:var(--danger)}.proj-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.proj-side{display:grid;gap:14px}.proj-side .panel{margin:0}dl.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}.pre{white-space:pre-line}ul.mini{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}ul.mini .dot{margin-top:0;vertical-align:-1px}.timeline{list-style:none;margin:0;padding:0}.timeline .ev{display:grid;grid-template-columns:84px 14px minmax(0,1fr);gap:10px}.ev-date{font-size:12px;color:var(--muted);padding-top:9px;text-align:right;font-variant-numeric:tabular-nums}.ev-dot{position:relative}.ev-dot:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--line)}.ev-dot:after{content:"";position:absolute;left:2px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--panel);border:2px solid var(--muted)}.ev-offerte .ev-dot:after{border-color:var(--accent)}.ev-factuur .ev-dot:after,.ev-creditnota .ev-dot:after{border-color:var(--info-fg)}.ev-betaling .ev-dot:after{border-color:var(--ok-fg);background:var(--ok-fg)}.ev-werkbon .ev-dot:after,.ev-planning .ev-dot:after,.ev-uren .ev-dot:after{border-color:var(--warn-fg)}.ev-todo .ev-dot:after{border-color:var(--danger)}.ev-body{padding:6px 8px;border-radius:6px;min-width:0}.ev-body[role=link]{cursor:pointer}.ev-body[role=link]:hover{background:var(--hover)}.ev-title{display:flex;justify-content:space-between;gap:10px;font-weight:550}.ev-title .num{width:auto;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.ev-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tr.past td{color:var(--muted)}.badge.p-in_uitvoering{background:var(--info-bg);color:var(--info-fg)}.badge.p-te_bestellen{background:var(--warn-bg);color:var(--warn-fg)}.badge.p-uitgevoerd,.badge.p-opgeleverd{background:var(--ok-bg);color:var(--ok-fg)}.badge.p-afgewezen,.badge.p-on_hold{background:var(--bad-bg);color:var(--bad-fg)}.badge.w-voltooid{background:var(--ok-bg);color:var(--ok-fg)}.badge.w-gefactureerd{background:var(--info-bg);color:var(--info-fg)}.stepper button.cur.s-afgewerkt,.stepper button.cur.s-uitgevoerd{background:var(--ok-fg);border-color:var(--ok-fg);color:var(--panel)}.stepper button.cur.s-afgewezen,.stepper button.cur.s-on_hold{background:var(--danger);border-color:var(--danger)}.note-form{display:grid;grid-template-columns:140px minmax(0,1fr) auto auto;gap:8px;align-items:start;margin-bottom:14px}.note-form input[type=date]{width:150px}ul.notes{list-style:none;margin:0;padding:0;display:grid;gap:10px}ul.notes li{border:1px solid var(--line);border-radius:8px;padding:10px 12px}ul.notes li.done .pre{text-decoration:line-through;color:var(--muted)}.note-head{display:flex;gap:10px;align-items:center;margin-bottom:4px;flex-wrap:wrap}.tag.k-todo{background:var(--bad-bg);color:var(--bad-fg)}.tag.k-telefoon,.tag.k-email{background:var(--info-bg);color:var(--info-fg)}.tag.k-afspraak{background:var(--warn-bg);color:var(--warn-fg)}.folder h4{margin:12px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}ul.files{list-style:none;margin:0;padding:0;display:grid;gap:2px}ul.files li{display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:6px}ul.files li:hover{background:var(--hover)}.data-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.data-cards .panel{margin:0;display:grid;gap:8px;align-content:start}.data-cards .panel button{justify-self:start}.data-cards>p{grid-column:1 / -1}@media (max-width: 1000px){.proj-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 800px){.note-form{grid-template-columns:1fr}.timeline .ev{grid-template-columns:64px 14px minmax(0,1fr);gap:6px}}.proj-link{margin-left:auto}.blox-data{grid-column:1 / -1}table.calc-mini{border:0;background:transparent;font-size:13px}table.calc-mini th,table.calc-mini td{border:0;padding:3px 0;background:transparent;text-transform:none;letter-spacing:0;color:var(--text);font-size:13px}table.calc-mini th{font-weight:400;color:var(--muted)}table.calc-mini td{text-align:right;font-variant-numeric:tabular-nums}table.calc-mini tr.sum th,table.calc-mini tr.sum td{border-top:1px solid var(--line);font-weight:650;color:var(--text);padding-top:6px}.kpi.link{text-decoration:none;color:inherit}.kpi.link:hover{border-color:var(--accent)}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dash-card.wide{grid-column:1 / -1}.dash-card .count{font-weight:500;color:var(--muted);font-size:12px;margin-left:4px}.dash-list{display:flex;flex-direction:column}.dash-row{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--text)}.dash-row:first-child{border-top:0}.dash-row:hover{color:var(--accent)}.dash-row .grow{flex:1;min-width:0}.dash-row small{display:block;color:var(--muted);font-size:12px}.dash-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.bulk-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:10px 14px;margin-bottom:10px;border:1px solid var(--accent);border-radius:8px;background:var(--panel)}.bulk-bar label{display:flex;gap:6px;align-items:center}th.pick,td.pick{width:32px}tr.picked td{background:color-mix(in srgb,var(--accent) 8%,transparent)}@media (max-width: 800px){.dash-grid{grid-template-columns:1fr}}body{font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3,.h3,.kpi-value,.brand-word strong{font-family:var(--font-head);color:var(--heading);letter-spacing:-.02em}.sheet h1,.sheet h2,.sheet-title{font-family:var(--font-head);color:#0c1727;letter-spacing:-.02em}.sheet .wordmark{display:flex;align-items:center;gap:10px;font-family:var(--font-head);color:#15803d;text-transform:uppercase;letter-spacing:.06em;font-size:18px}.sheet .wordmark img{height:34px}.sheet .logo{max-height:64px;max-width:240px}h1{font-size:26px;font-weight:700}.h3,h3{font-weight:600;letter-spacing:-.01em}button,.btn{border-radius:var(--radius-s);font-weight:500}button.ghost,.btn.ghost{border-color:var(--line);background:var(--panel)}input,select,textarea{border-radius:var(--radius-s)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:0;border-color:var(--accent)}.panel,.kpi,table,.planner,.group,.modal{border-radius:var(--radius)}.panel{padding:18px 20px}th{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500}table.list tbody tr:hover{background:var(--hover)}.tag{text-transform:none;letter-spacing:0;font-size:11.5px}.eyebrow,aside.totals h3{text-transform:none;letter-spacing:0;font-size:12.5px}.shell{grid-template-columns:224px minmax(0,1fr)}.side{padding:18px 12px;gap:1px}.side .brand{padding:2px 8px 20px;margin-bottom:6px;border-bottom:1px solid var(--side-line)}.brand-word{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-word img{height:30px;width:auto;flex:none}.brand-word span{display:flex;flex-direction:column;line-height:1.15}.brand-word strong{color:var(--brand-bright);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.brand-word small{color:var(--side-text);font-size:11.5px;margin-top:2px}.brand-plate{display:block;background:#fff;border-radius:var(--radius-s);padding:8px 10px}.brand-plate img{display:block;max-width:100%;max-height:52px;margin:0 auto}.nav-label{text-transform:none;letter-spacing:0;font-size:12px;opacity:.5;padding:10px 10px 4px}.side a{border-radius:var(--radius-s);padding:8px 10px 8px 12px;position:relative;color:var(--side-text)}.side a:hover{color:#fff}.side a.active{background:#16a34a29;color:#fff;font-weight:500}.side a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:linear-gradient(var(--brand-bright),#4e7a90)}main{padding:28px 32px}.kpis{gap:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpis>.kpi{border:0;border-radius:0;border-left:1px solid var(--line);margin-left:-1px;padding:14px 18px;background:transparent}.kpi-value{font-size:24px;font-weight:600}.kpi.warn .kpi-value{color:#a16207}.kpi.link:hover{background:var(--hover)}.proj-kpis{gap:0}.tabs>.on{color:var(--heading)}.stepper button{padding:7px 14px}.stepper li:first-child button{border-radius:var(--radius-s) 0 0 var(--radius-s)}.stepper li:last-child button{border-radius:0 var(--radius-s) var(--radius-s) 0}.badge{font-weight:500}.login{max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-top:14vh}.login .brand-word{margin-bottom:6px}.login .brand-word small{color:var(--muted)}.brand-edit{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start;margin:4px 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.logo-drop{height:110px;border:1px dashed var(--line);border-radius:var(--radius-s);display:grid;place-items:center;background:var(--panel-2);padding:10px}.logo-drop img{max-width:100%;max-height:90px}.brand-fields{display:grid;gap:12px}.brand-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.brand-row input[type=color]{width:64px;height:36px;padding:3px}@media (max-width: 800px){.shell{grid-template-columns:minmax(0,1fr)}.side{padding:12px 16px;gap:2px 4px}.nav-label{display:none}.side a{padding:6px 10px}main{padding:18px 16px}.side .brand{width:100%;border-bottom:0;padding:0 0 8px;margin:0}.brand-edit{grid-template-columns:1fr}.kpis>.kpi{border-top:1px solid var(--line);margin-top:-1px}}.print-layout{display:grid;grid-template-columns:minmax(0,210mm) 280px;gap:16px;align-items:start;justify-content:center;width:100%}.print-bar{width:min(calc(210mm + 296px),100%)}.print-opts{position:sticky;top:16px;display:grid;gap:12px;margin:0}.preset-list{display:grid;gap:6px}.preset{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-s);cursor:pointer}.preset.on{border-color:var(--accent);background:var(--brand-soft)}.preset.off{opacity:.45;cursor:default}.preset input,.opt-list input{width:auto;margin-top:3px;accent-color:var(--accent)}.preset span{display:flex;flex-direction:column}.preset small{color:var(--muted);font-size:12px}.opt-list{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line)}.opt-list label.check{font-size:13.5px}.opt-list label.off{color:var(--muted)}.sheet .comp-list{margin:3px 0 0;padding-left:14px;color:var(--ink-muted);font-size:11.5px}.sheet .g-sum td{text-align:right;font-weight:600}@media (max-width: 1100px){.print-layout{grid-template-columns:minmax(0,1fr)}.print-opts{position:static;order:-1}}@media print{.print-layout{display:block}}.modal:has(.mail-form){width:min(680px,100%)}.mail-form{display:grid;gap:10px;margin-bottom:14px}.mail-form textarea{font:inherit;line-height:1.5}.mail-att{display:grid;gap:6px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s)}.mail-att input,label.check input{width:auto;accent-color:var(--accent)}.mail-att label.off{color:var(--muted)}.mail-log{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.mail-log li{border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 12px}.ml-head{display:flex;gap:10px;align-items:baseline}.badge.yuki{background:var(--brand-soft);color:var(--ok-fg)}.ev-mail .ev-dot{border-color:var(--brand-bright)}code{font-size:12px;background:var(--chip);padding:1px 4px;border-radius:4px}.todo-add{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(200px,2fr) 150px 140px auto;gap:8px;align-items:center}.todo-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:4px 0 14px}.todo-filters .tabs{margin:0;border-bottom:0}.todo-filters select{width:auto}.todo-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));gap:14px;align-items:start}.todo-group{margin:0;display:grid;gap:8px}.todo-group header{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.todo-proj{text-decoration:none;color:var(--heading)}.todo-proj:hover strong{color:var(--accent)}.todo-list{list-style:none;margin:0;padding:0;display:grid}.todo-list li{display:flex;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}.todo-list li:first-child{border-top:0}.todo-list li>input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--accent)}.todo-list li.late .grow{color:var(--danger)}.todo-list .mini{width:auto;padding:3px 6px;font-size:12.5px;border-color:transparent;background:transparent;color:var(--muted)}.todo-list .mini:hover,.todo-list .mini:focus{border-color:var(--line);background:var(--panel)}.todo-list li.late input[type=date].mini{color:var(--danger)}.todo-list li.signal{color:var(--muted);font-size:13.5px}.sig-mark{width:18px;height:18px;flex:none;border-radius:50%;border:2px dashed var(--line)}.signal.warn .sig-mark{border-color:var(--energy);border-style:solid}.signal.bad .sig-mark{border-color:var(--danger);border-style:solid}.signal.bad .grow{color:var(--text)}.todo-inline input{border-style:dashed;background:transparent}@media (max-width: 900px){.todo-add{grid-template-columns:1fr 1fr}.todo-add input#todo-body{grid-column:1 / -1}.todo-groups{grid-template-columns:1fr}}.dash-card h3 .more{float:right;font-family:var(--font);font-weight:500;letter-spacing:0}.todo-list li.done .grow{text-decoration:line-through;color:var(--muted)}.todo-list li.done .mini{visibility:hidden}.checks{border:1px solid var(--line);border-left:3px solid var(--energy);border-radius:var(--radius-s);padding:8px 12px;margin:0 0 14px;background:var(--panel);font-size:13.5px}.checks.bad{border-left-color:var(--danger)}.checks summary{cursor:pointer;font-weight:500}.checks ul{margin:6px 0 0;padding-left:18px}.checks li.bad{color:var(--danger)}.legal-structured{display:grid;gap:4px}.legal-structured p{margin:0}.legal-structured ol{margin:0;padding-left:18px;display:grid;gap:2px}.sheet .legal-structured strong{color:var(--ink)}.prices-src{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.prices-src label:first-child{width:220px}.prices-src .wide{flex-basis:100%;margin:0}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.ok-panel{border-left:3px solid var(--brand-bright)}.ok-panel p{margin:6px 0 0}table.list.plain td.ok,.num.ok{color:var(--ok-fg)}tr.big-change td{background:color-mix(in srgb,var(--energy) 8%,transparent)}.link-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.link-list label.check{align-items:flex-start}table.bank select{min-width:220px;padding:4px 6px;font-size:13px}table.bank tr.nomatch td{color:var(--muted)}.warn-text{color:#a16207}.badge.how-mededeling,.badge.how-factuurnummer{background:var(--ok-bg);color:var(--ok-fg)}.badge.how-bedrag-en-naam{background:var(--info-bg);color:var(--info-fg)}.badge.how-bedrag{background:var(--warn-bg);color:var(--warn-fg)}:root[data-theme=zacht]{--bg: #e6eaed;--panel: #f3f5f6;--panel-2: #eceff1;--line: #d3dae0;--chip: #e0e5e9;--text: #2f3c4a;--muted: #5f6d7b;--hover: #e9efec;--brand-soft: #e1ece5;--ok-bg: #dbeadf;--info-bg: #dde6ec;--bad-bg: #f1dfdf;--warn-bg: #f1e7d3;--demo-bg: #e9e2cf;--demo-fg: #5a4710}:root[data-theme=zacht] .sheet{box-shadow:0 1px 8px #00000014}.picker-panel{position:fixed;z-index:40;max-height:480px;display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-rows:minmax(0,1fr);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-s);box-shadow:0 12px 32px #0d1a242e;overflow:hidden}.picker-panel:not(:has(.pp-nav)){grid-template-columns:minmax(0,1fr)}.pp-nav{border-right:1px solid var(--line);background:var(--panel-2);overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:1px}.pp-kind{display:flex;gap:4px;margin-bottom:8px}.pp-kind button{flex:1;padding:5px 8px;font-size:12.5px;background:transparent;color:var(--muted);border:1px solid var(--line)}.pp-kind button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.pp-nav button.pp-t,.pp-nav button.pp-g{background:transparent;color:var(--text);text-align:left;padding:5px 8px;border-radius:6px;display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-size:13px;width:100%}.pp-nav button.pp-t{font-weight:600;margin-top:6px;color:var(--heading)}.pp-nav button.pp-g{padding-left:16px}.pp-nav button span{color:var(--muted);font-size:11.5px}.pp-nav button:hover{background:var(--hover);filter:none}.pp-nav button.on{background:var(--brand-soft);color:var(--ok-fg);font-weight:600}.pp-list{overflow-y:auto;padding:4px 8px 8px}.pp-list h4{position:sticky;top:0;margin:0;padding:8px 6px 4px;font-size:12px;font-weight:600;color:var(--muted);background:var(--panel)}.pp-list button{width:100%;display:flex;gap:10px;align-items:baseline;background:transparent;color:var(--text);padding:7px 8px;border-radius:6px;text-align:left}.pp-list button small{display:block;color:var(--muted);font-size:12px;margin-top:1px}.pp-list button.hi{background:var(--hover);filter:none}.pp-list .num{width:auto;color:var(--muted);white-space:nowrap}.pp-list .tag{flex:none}.pp-empty{padding:12px 6px}@media (max-width: 700px){.picker-panel{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);max-height:70vh}.picker-panel.multi{grid-template-rows:auto minmax(0,1fr) auto}.pp-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);max-height:140px}.pp-top{display:contents}.pp-nav button.pp-g{padding-left:8px}}.modal:has(.regroup){width:min(760px,100%)}.regroup{display:grid;gap:4px;max-height:60vh;overflow-y:auto;margin:10px 0 14px}.regroup label{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:10px;align-items:center;padding:5px 8px;border-radius:6px}.regroup label.changed{background:var(--brand-soft)}.regroup label small{display:block;color:var(--muted);font-size:11.5px}.regroup select{padding:4px 6px;font-size:13px}@media (max-width: 700px){.regroup label{grid-template-columns:1fr}}.comps ul{list-style:none;padding-left:4px;gap:3px}.comps li{display:flex;gap:6px;align-items:center;padding:1px 4px;border-radius:5px}.comps li.changed{background:color-mix(in srgb,var(--energy) 12%,transparent)}.comps li input[type=checkbox]{width:auto;accent-color:var(--accent)}.comps .comp-qty{width:64px;padding:2px 5px;font-size:12px;text-align:right}.comps .comp-unit{min-width:34px;color:var(--muted)}.comps li .grow{color:var(--text)}.tag.custom{background:color-mix(in srgb,var(--energy) 18%,transparent);color:#7a5300;margin-left:8px}.comps .comp-open{color:var(--text);text-align:left;padding:0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}.comps .comp-open:hover{color:var(--accent);text-decoration-color:currentColor}.code-open{font:inherit;padding:0;background:transparent;color:inherit;text-align:left}.code-open:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px;filter:none}.line-links{margin-top:2px;padding-left:6px}.ptodos{display:grid;gap:8px}.ptodos .todo-list li{padding:5px 0}.ptodos .todo-text{background:transparent;color:var(--text);padding:2px 4px;border-radius:4px;text-align:left;font:inherit;cursor:text}.ptodos .todo-text:hover{background:var(--hover);filter:none}.ptodos li.late .todo-text{color:var(--danger)}.ptodos li.done .todo-text{text-decoration:line-through;color:var(--muted)}.ptodos .todo-edit{padding:3px 6px}.ptodos .icon.danger{opacity:0}.ptodos li:hover .icon.danger,.ptodos li:focus-within .icon.danger{opacity:1}.todo-add-inline{display:grid;grid-template-columns:minmax(0,1fr) 140px 130px auto;gap:6px}.todo-add-inline input:first-child{border-style:dashed}.empty-todo{padding:4px 0}.todo-chip{font-size:12px;padding:2px 9px;border-radius:99px;background:var(--chip);color:var(--text);white-space:nowrap}.todo-chip.none{background:transparent;color:var(--muted);border:1px dashed var(--line)}.todo-chip.late{background:var(--bad-bg);color:var(--bad-fg)}.todo-chip:hover{filter:none;outline:1px solid var(--accent)}tr.todo-row td{background:var(--panel-2);padding:10px 16px 14px;cursor:default}tr.todo-row:hover td{background:var(--panel-2)!important}tr.todo-open td{border-bottom-color:transparent}.proj-side .ptodos .todo-add-inline{grid-template-columns:1fr 1fr}.proj-side .ptodos .todo-add-inline input:first-child,.proj-side .ptodos .todo-add-inline button{grid-column:1 / -1}@media (max-width: 800px){.todo-add-inline{grid-template-columns:1fr 1fr}.todo-add-inline input:first-child{grid-column:1 / -1}}.proj-side .ptodos .todo-list li{flex-wrap:wrap;row-gap:2px}.proj-side .ptodos .todo-list li .grow{flex:1 1 calc(100% - 40px);min-width:0}.proj-side .ptodos .todo-list li .mini{margin-left:26px;flex:0 1 auto;max-width:45%}.proj-side .ptodos .todo-list li .mini+.mini{margin-left:0}.proj-side .ptodos .todo-add-inline{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.proj-side .ptodos .todo-add-inline>*{min-width:0}.seg{display:flex;gap:4px;margin-bottom:14px}.seg button{flex:1;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.hit-list{display:grid;border:1px solid var(--line);border-radius:var(--radius-s);margin-top:4px;overflow:hidden}.hit-list button{background:var(--panel);color:var(--text);text-align:left;border-radius:0;border-bottom:1px solid var(--line)}.hit-list button:hover{background:var(--hover);filter:none}.wo-meta a{color:inherit}.wo-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.wo-main .panel,.wo-side .panel{margin-bottom:14px}.wo-lines{display:grid;gap:0;margin-top:10px}.wo-line{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.wo-line:first-child{border-top:0}.wo-line.used .wo-desc strong{color:var(--heading)}.wo-desc{flex:1;min-width:0}.wo-desc input{padding:5px 8px}.wo-qty{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.wo-qty input{width:70px;text-align:center;padding:7px 4px;font-size:15px}.wo-qty .step{width:36px;height:36px;padding:0;font-size:18px;background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.wo-qty .unit{min-width:34px;color:var(--muted);font-size:13px}.legacy{border-top:1px dashed var(--line);padding-top:8px}.wo-time{list-style:none;margin:0 0 10px;padding:0;display:grid}.wo-time li{display:flex;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}.wo-time li:first-child{border-top:0}.wo-hours-form{display:grid;grid-template-columns:1fr 1fr;gap:6px}.wo-hours-form>*{min-width:0}.wo-hours-btns{grid-column:1 / -1;display:flex;gap:6px}.wo-hours-btns button{flex:1}.wo-photos{display:grid;gap:4px;margin-bottom:8px}.wo-photo{background:var(--panel-2);color:var(--text);text-align:left;font-size:13px;border:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-btn{cursor:pointer;justify-content:center;width:100%}.wo-sig{width:100%;max-height:120px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s)}.sig-pad{width:100%;height:200px;background:#fff;border:1px dashed var(--line);border-radius:var(--radius-s);touch-action:none;margin:10px 0}.wo-sum{display:grid;gap:8px}.wo-sum div{display:flex;justify-content:space-between;align-items:baseline}.wo-sum button{width:100%;padding:11px;font-size:15px}.badge.wo-open{background:var(--warn-bg);color:var(--warn-fg)}.badge.wo-voltooid{background:var(--info-bg);color:var(--info-fg)}.badge.wo-gefactureerd{background:var(--ok-bg);color:var(--ok-fg)}.fq-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0}.fq-list{display:grid;max-height:55vh;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:12px}.fq-line{display:flex;gap:10px;align-items:center;padding:8px 10px;border-top:1px solid var(--line);cursor:pointer}.fq-line:first-child{border-top:0}.fq-line.on{background:var(--brand-soft)}.fq-line input[type=checkbox]{width:auto;accent-color:var(--accent)}.fq-line small{display:block;color:var(--muted);font-size:12px}.fq-qty{width:80px;text-align:right;padding:4px 6px}.modal:has(.fq-list){width:min(720px,100%)}.offscreen{position:fixed;left:-10000px;top:0;width:210mm}@media (max-width: 900px){.wo-grid{grid-template-columns:1fr}.wo-line{flex-wrap:wrap}.wo-qty{width:100%;justify-content:flex-start}}.field-label{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.side-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--side-line);display:grid;gap:1px}.side-foot-btn{background:transparent;color:var(--side-text);border:0;text-align:left;padding:8px 10px 8px 12px;border-radius:var(--radius-s);display:flex;gap:8px;align-items:center;opacity:.8}.side-foot-btn:hover{background:var(--side-hover);opacity:1;filter:none}.side-foot-btn span{width:16px;text-align:center}.section-tabs{display:inline-flex;gap:2px;padding:3px;margin:0 0 14px;background:var(--chip);border-radius:var(--radius-s);flex-wrap:wrap}.section-tabs a{padding:5px 12px;border-radius:calc(var(--radius-s) - 2px);color:var(--muted);text-decoration:none;font-size:13.5px}.section-tabs a:hover{color:var(--text)}.section-tabs a.on{background:var(--panel);color:var(--heading);font-weight:600;box-shadow:0 1px 2px #00000014}.menu.left{left:0;right:auto}.menu{min-width:210px}.menu-wrap>button.more{font-size:17px;letter-spacing:1px;padding:2px 8px;line-height:1}.page-head>.menu-wrap>button.ghost[aria-label="Meer acties"]{font-size:17px;padding:5px 10px;line-height:1}@media (hover: hover){.lines tbody tr .c-tools .menu-wrap>button.more,.group-head .menu-wrap>button.more{opacity:0;transition:opacity .12s}.lines tbody tr:hover .c-tools .menu-wrap>button.more,.lines tbody tr:focus-within .c-tools .menu-wrap>button.more,.group:hover .group-head .menu-wrap>button.more,.group-head:focus-within .menu-wrap>button.more,.menu-wrap>button.more[aria-expanded=true]{opacity:1}}.lines .c-tools{width:36px;text-align:right}.phase-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 16px;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.phase-bar ol{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex:1;flex-wrap:wrap}.phase-bar li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;padding-right:22px;position:relative}.phase-bar li:not(:last-child):after{content:"";width:28px;height:1px;background:var(--line);margin-left:6px}.phase-dot{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;border:1px solid var(--line);background:var(--panel)}.phase-bar li.done{color:var(--text)}.phase-bar li.done .phase-dot{background:var(--chip);color:var(--accent);border-color:transparent}.phase-bar li.cur{color:var(--heading);font-weight:600}.phase-bar li.cur .phase-dot{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.phase-bar.side li{opacity:.55}.phase-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.phase-status select{min-width:170px}.phase-bar.side .phase-status select{border-color:var(--danger);color:var(--danger)}.more-fields{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.more-fields>summary{cursor:pointer;display:flex;gap:10px;align-items:baseline;list-style:none;font-size:14px;color:var(--accent)}.more-fields>summary::-webkit-details-marker{display:none}.more-fields>summary:before{content:"▸";color:var(--muted)}.more-fields[open]>summary:before{content:"▾"}.more-fields>.form-grid{margin-top:10px}.legal-fold{margin-top:12px;font-size:12.5px}.legal-fold>summary{cursor:pointer;color:var(--muted);list-style:none}.legal-fold>summary::-webkit-details-marker{display:none}.legal-fold .ok-mark{color:var(--ok-fg);font-weight:700;margin-right:2px}.saved-note{font-size:13px;color:var(--muted);padding:0 4px}.stale-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:0 0 12px;border-radius:var(--radius-s);background:var(--warn-bg);color:var(--warn-fg);font-size:13.5px}.stale-bar .grow{flex:1}.stale-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--energy);padding:0;border:0;margin-right:6px;vertical-align:middle;flex:none}button.stale-dot{cursor:pointer}button.stale-dot:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--energy) 35%,transparent);filter:none}.page-head.sub{margin-bottom:10px}.page-head.sub .h3{margin:0}@media (max-width: 800px){.side-foot{margin:0;padding:0;border:0;display:flex;gap:2px 4px;flex-wrap:wrap}.side-foot-btn{padding:6px 10px}.phase-bar li{padding-right:4px}.phase-bar li:not(:last-child):after{width:12px}}.dash-grid>.dash-card:not(.wide):nth-child(odd):nth-last-child(2){grid-column:1 / -1}.lines td.c-code{white-space:nowrap}.todo-groups>*,.proj-side>*,.mywork>*{min-width:0}@media (max-width: 600px){.todo-list li{flex-wrap:wrap;row-gap:2px}.todo-list li>.grow,.todo-list li>.todo-text{flex:1 1 calc(100% - 40px);min-width:0}.todo-list li>.mini,.todo-list li>select{margin-left:28px}.todo-list li>.mini~.mini,.todo-list li>.mini~select{margin-left:0}.todo-add-inline{grid-template-columns:1fr 1fr}.todo-add-inline>:first-child{grid-column:1 / -1}}.wo-time li.wo-time-edit{display:block;padding:10px;margin:4px 0;border:1px solid var(--accent);border-radius:var(--radius-s);background:var(--panel)}.wo-time-edit .wo-hours-form .wide{grid-column:1 / -1}.wo-time-edit .wo-hours-btns{grid-column:1 / -1;display:flex;gap:6px;align-items:center}.wo-time-edit .wo-hours-btns .spacer{flex:1}.nowrap{white-space:nowrap}tr.row-edit td{background:var(--panel-2);vertical-align:middle}tr.row-edit input,tr.row-edit select{min-width:0;width:100%}tr.row-edit #pt-hours{width:70px}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--chip);border-radius:var(--radius-s);margin:0 0 14px}.seg button{white-space:nowrap;background:transparent;color:var(--muted);padding:6px 16px;border-radius:calc(var(--radius-s) - 2px);font-weight:500}.seg button:hover{color:var(--text);filter:none}.seg button.on{background:var(--panel);color:var(--heading);font-weight:600;box-shadow:0 1px 2px #00000014}.vat-field small{display:block;margin-top:4px;font-size:12.5px}.vat-field small.ok{color:var(--ok-fg)}.vat-field small.bad{color:var(--danger)}.vat-field small.muted{color:var(--muted)}.vat-field .inline input{flex:1;font-variant-numeric:tabular-nums}.form-gap{display:none}.kind-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}.kind-dot.co{background:var(--accent)}.kind-dot.pe{background:transparent;border:1.5px solid var(--muted)}.badge.kind-co{background:var(--ok-bg);color:var(--ok-fg)}.badge.kind-pe{background:var(--chip);color:var(--muted)}.ci-table{max-height:55vh;overflow:auto}.ci-table select{padding:3px 6px;width:auto}p.ok,span.ok{color:var(--ok-fg)}.modal.wide{width:min(980px,100%)}.ci-table td.mono{white-space:nowrap}button.ai-btn{color:var(--heading)}button.ai-btn:hover{border-color:var(--accent)}.ai-safe{background:var(--info-bg, var(--chip));color:var(--text);padding:8px 12px;border-radius:var(--radius-s);margin:0 0 12px}.ai-input textarea{width:100%}.ai-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.ai-tools .spacer{flex:1}.ai-tools .tag{display:inline-flex;align-items:center;gap:4px}.ai-photo{cursor:pointer}button.rec{color:var(--danger);border-color:var(--danger)}.ai-progress{margin-top:12px;padding:10px 12px;border:1px dashed var(--line);border-radius:var(--radius-s)}.ai-progress ul{margin:6px 0 0;padding-left:20px}.ai-spinner{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:ai-spin .8s linear infinite;vertical-align:-1px}@keyframes ai-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ai-spinner{animation:none}}.ai-review .form-grid{margin-bottom:12px}.ai-review small.bad{display:block;color:var(--danger);margin-top:4px}.ai-lines{max-height:46vh;overflow:auto}.ai-lines td{vertical-align:middle}.ai-lines td:nth-child(3){display:table-cell}.mini-in{padding:4px 6px;font-size:13.5px;width:100%;min-width:0}.mini-in.num{width:72px;text-align:right}.ai-lines td:nth-child(2) .mini-in{width:130px}.ai-lines td:nth-child(3){min-width:260px}.ai-lines td:nth-child(3) .mini-in{width:calc(100% - 26px)}.ai-match{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;margin-right:6px;vertical-align:1px}.ai-match.ok{background:var(--ok-bg);color:var(--ok-fg)}.ai-match.warn{background:var(--warn-bg);color:var(--warn-fg)}.ai-questions{background:var(--warn-bg);color:var(--warn-fg);border-radius:var(--radius-s);padding:8px 12px;margin:10px 0}.ai-questions ul{margin:4px 0 0;padding-left:18px}.modal-foot .spacer{flex:1}.oci-start{display:grid;gap:4px;align-content:start}.oci-start>span{font-size:13px;color:var(--muted)}.oci-start button{justify-self:start}.swatches{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px #0000001f;position:relative}.swatch.on{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--panel)}.swatch-other{background:conic-gradient(#dc2626,#ca8a04,#16a34a,#0d9488,#2563eb,#7c3aed,#db2777,#dc2626);overflow:hidden;display:inline-block}.swatch-other input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}.sheet.pdf-capture{width:210mm!important;max-width:none!important}@media screen and (max-width: 600px){.sheet:not(.pdf-capture){padding:18px 12px;font-size:11px;min-height:0;overflow-x:auto}.sheet:not(.pdf-capture) table.sheet-lines th,.sheet:not(.pdf-capture) table.sheet-lines td{padding:4px 4px 4px 0}.sheet:not(.pdf-capture) table.meta th,.sheet:not(.pdf-capture) table.meta td{padding:2px 4px 2px 0;font-size:11px}.sheet:not(.pdf-capture) table.meta th{width:auto}}.list-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.team-list{display:grid;gap:8px;margin-top:10px}.team-card{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;text-align:left;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;cursor:pointer;font-weight:400}.team-card:hover{background:var(--hover)}.team-name{display:inline-flex;align-items:center;gap:8px;font-weight:600;min-width:160px}.team-members{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:5px;background:var(--chip);border-radius:999px;padding:2px 9px;font-size:12.5px}.member-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 14px;padding:6px 0}.field-label{display:block;font-size:12.5px;color:var(--ink-muted);margin-bottom:4px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;margin-bottom:12px}.seg button{white-space:nowrap;background:transparent;color:var(--ink);border:0;border-radius:999px;padding:5px 14px;font-weight:500}.seg button.on{background:var(--brand);color:var(--on-accent, #fff)}.pl-team .pl-emp{font-weight:600}.pl-team{background:color-mix(in srgb,var(--brand) 5%,transparent)}.pl-team-tag{display:inline-block;margin-left:6px;color:#fff;border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:600;vertical-align:1px}.pl-team-head{display:flex;flex-direction:column;align-items:stretch;gap:4px}.pl-team-title{display:flex;align-items:center;gap:6px}.pl-team-title .grow{flex:1;min-width:0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.pl-team-edit{flex-shrink:0}.pl-team-edit{padding:0 6px;min-height:0;height:24px;font-size:13px;line-height:1}.pl-team-members{display:flex;flex-direction:column;gap:1px;font-weight:400}.pl-member{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-muted)}.pl-member .dot{width:7px;height:7px}th.sortable{padding:0}th.sortable>button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:4px;width:100%;padding:9px 12px;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;white-space:nowrap}th.sortable.num>button{justify-content:flex-end}th.sortable>button:hover{color:var(--ink)}th.sortable>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}th.sortable .sort-ico{font-size:9px;opacity:.35}th.sortable.sorted .sort-ico{opacity:1;color:var(--accent)}.picker-panel.multi{grid-template-rows:minmax(0,1fr) auto}.picker-panel .pp-nav,.picker-panel .pp-list{min-height:0}.pp-foot{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--line);background:var(--panel-2)}.pp-chosen{flex:1;min-width:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-check{flex:none;width:18px;height:18px;border:1.5px solid var(--line);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--on-accent);align-self:center}.pp-list button.chosen .pp-check{background:var(--accent);border-color:var(--accent)}.pp-list button.chosen{background:var(--brand-soft)}.toolbar-pick{flex:1 1 320px;max-width:520px}@media (max-width: 700px){.picker-panel.multi{grid-template-rows:auto minmax(0,1fr) auto}.pp-foot{flex-wrap:wrap}}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field .field-label{margin-bottom:0}.cpick{position:relative}.cpick-current,.cpick-search{width:100%;box-sizing:border-box;min-height:38px}.cpick-current{display:flex;align-items:center;gap:8px;text-align:left;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-s);padding:7px 10px;font-weight:400;cursor:pointer}.cpick-current:hover:not(:disabled){border-color:var(--accent)}.cpick-current .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpick-current:disabled{opacity:.7;cursor:default}.cpick-panel{position:absolute;z-index:45;left:0;top:calc(100% + 4px);width:max(100%,min(560px,calc(100vw - 32px)));background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-s);box-shadow:0 12px 32px #0d1a242e;display:flex;flex-direction:column;max-height:min(420px,60vh)}.cpick-tabs{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.cpick-tabs button[role=tab]{background:transparent;color:var(--ink);border:0;border-radius:999px;padding:4px 10px;font-weight:500;font-size:13px}.cpick-tabs button[role=tab].on{background:var(--brand-soft);color:var(--ok-fg)}.cpick-tabs button[role=tab] span{color:var(--muted);font-size:11.5px;margin-left:2px}.cpick-list{overflow-y:auto;padding:4px;min-height:0}.cpick-list button{width:100%;display:flex;align-items:baseline;gap:8px;background:transparent;color:var(--ink);text-align:left;padding:7px 8px;border-radius:6px;font-weight:400}.cpick-list button .grow{flex:1;min-width:0}.cpick-list button small{margin-left:8px;color:var(--muted);font-size:11.5px}.cpick-list button.hi{background:var(--hover)}.cpick-list button.cur{font-weight:600}.cpick-empty{padding:10px 8px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two-inline{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.crew-pick select{margin-bottom:6px;max-width:320px}@media (max-width: 600px){.form-grid.three{grid-template-columns:1fr 1fr}.form-grid.three>:first-child{grid-column:1 / -1}}.pl-wo-tag{display:inline-block;margin-right:5px;padding:0 4px;border-radius:4px;font-size:10px;font-weight:700;background:var(--chip);color:var(--ink-muted);vertical-align:1px}.period-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}.period-bar .sep{width:1px;height:22px;background:var(--line);margin:0 4px}.chip-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer;background:var(--panel)}.chip-toggle input{margin:0}.chip-toggle.on{border-color:var(--accent);background:var(--brand-soft);color:var(--ok-fg);font-weight:600}.seg.small{margin-bottom:0}.seg.small button{padding:4px 12px;font-size:13px}.q-table td.on,.q-table th.on{background:var(--brand-soft)}.q-table tr.sum td{border-top:1.5px solid var(--ink);font-weight:600}table.lines th.c-drag,table.lines td.c-drag{width:22px;padding-left:4px;padding-right:0}.drag-handle{cursor:grab;color:var(--muted);font-size:15px;line-height:1;-webkit-user-select:none;user-select:none;display:inline-block;padding:4px 2px;border-radius:4px}.drag-handle:hover{color:var(--ink);background:var(--hover)}.drag-handle:active{cursor:grabbing}table.lines tr.dragging{opacity:.45}table.lines tr.drop-before td{box-shadow:inset 0 2px 0 var(--accent)}table.lines tr.drop-after td{box-shadow:inset 0 -2px 0 var(--accent)}.group-head.drop-into{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:8px}.dash-fig{margin:0 0 16px;padding:14px 16px}.dash-fig .period-bar{margin-bottom:10px}.dash-fig .kpis{margin:0 0 12px}.dash-fig-table .h3{margin:0 0 8px}#dash-cijfers.on{background:var(--panel-2, rgba(127,127,127,.12))}.year-bar{margin:2px 0 10px}.year-bar .check{display:inline-flex;align-items:center;gap:6px;margin-left:6px}.stock-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}.stock-list{display:flex;flex-direction:column;gap:6px}.stock-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer}.stock-row:hover{border-color:var(--accent)}.stock-row.picked{border-color:var(--accent);background:var(--hover)}.stock-row.bad{border-left:4px solid var(--danger)}.stock-row.warn{border-left:4px solid #d97706}.stock-row .grow{min-width:0}.stock-name{font-weight:550;overflow:hidden;text-overflow:ellipsis}.stock-qty{text-align:right;min-width:70px;font-variant-numeric:tabular-nums}.stock-qty strong{font-size:18px}.stock-row.bad .stock-qty strong{color:var(--danger)}.stock-row.warn .stock-qty strong{color:#b45309}.stock-quick{display:flex;gap:4px}.stock-quick .step,.stock-amount .step{width:34px;height:34px;padding:0;font-size:18px}.stock-thumb{width:44px;height:44px;flex:none;border-radius:6px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.stock-thumb img{width:100%;height:100%;object-fit:contain}.stock-thumb.big{width:76px;height:76px}.stock-thumb span{font-size:20px;opacity:.6}.stock-item-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}.stock-big{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.stock-big strong{font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.stock-big.bad strong{color:var(--danger)}.stock-big.warn strong{color:#b45309}.stock-big small{color:var(--muted)}.stock-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--hover)}.stock-amount{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.stock-amount input{width:80px;text-align:center;font-size:16px}.stock-amount .inline{display:flex;gap:4px;align-items:center}.stock-actions>input.grow{flex:1 1 200px;min-width:0}.stock-btns{display:flex;gap:8px;flex-wrap:wrap}.stock-btns button{min-height:40px}.stock-cfg{margin:14px 0}.stock-cfg summary{cursor:pointer;font-weight:550;margin-bottom:8px}.stock-moves{list-style:none;margin:0;padding:0}.stock-moves li{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}.stock-moves li.click{cursor:pointer}.stock-moves li.click:hover{background:var(--hover)}.stock-moves.panel{padding:4px 14px}.good{color:var(--ok-fg, #15803d)}.stock-undo{display:flex;gap:10px;align-items:center;padding:8px 12px;margin:0 0 10px;border-radius:8px;background:var(--hover);border:1px solid var(--line);font-size:14px}.stock-order section{margin-bottom:14px}.stock-order header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.stock-labels .row-actions,.stock-cfg .row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 10px}.stock-pick-chosen{padding:8px 10px;border:1px solid var(--line);border-radius:6px}.kpi.click{cursor:pointer}.kpi.click:hover{background:var(--hover)}.scanner{display:flex;flex-direction:column;gap:10px}.scan-video{width:100%;max-height:60vh;background:#000;border-radius:8px;object-fit:cover;aspect-ratio:4 / 3}.scanner form{display:flex;gap:8px}.scanner form input{flex:1;min-width:0}.wo-stock{font-size:12px;padding:2px 8px;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}.wo-stock.on{background:var(--hover);color:inherit;border-color:var(--accent)}@media (max-width: 640px){.stock-row{padding:8px;gap:8px}.stock-thumb,.stock-quick .step{width:38px;height:38px}.stock-item-head{flex-wrap:wrap}.stock-big{margin-left:auto}.stock-btns{width:100%}.stock-btns button{flex:1}}.stock-cat{margin:10px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.stock-cat:first-child{margin-top:0}
