:root{--brown:#301b08;--brown-dark:#210b00;--header:#ffffff;--ochre:#f25b3a;--ochre-dark:#d9442a;--ochre-light:#fde8e2;--text:#444444;--heading:#333333;--muted:#777777;--footer-bg:#222222;--footer-text:#999999;--line:#e6e3df;--line-strong:#d2cdc6;--bg:#ffffff;--surface:#f7f6f4;--ok:#3f7d3a;--ok-bg:#e9f3e7;--warn:#9a6a00;--warn-bg:#fdf3dc;--err:#b3261e;--err-bg:#fbe9e8;--info-bg:#eef1f4;--yellow-dot:#f5c518;--radius:12px;--radius-sm:8px;--pill:999px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;display:flex;flex-direction:column;min-height:100vh}body,h1,h2,h3{font-family:var(--font-sans),"Open Sans",Arial,sans-serif}h1,h2,h3{font-weight:800;color:var(--heading);line-height:1.2}h1{font-size:1.75rem;margin:0 0 .25rem;letter-spacing:.01em}h1,h2{text-transform:uppercase}h2{font-size:1.05rem;margin:1.75rem 0 .75rem;letter-spacing:.04em}h3{font-size:.98rem;margin:1.25rem 0 .5rem;font-weight:700}a{color:var(--heading)}a:hover{color:var(--ochre)}.mono,code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92em}.topbar{background:var(--brown);color:#e9e2da;font-size:.82rem}.topbar .wrap{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.25rem 1.25rem;min-height:32px}.topbar a,.topbar button.linklike{color:#e9e2da;text-decoration:none;font-weight:600}.topbar a:hover,.topbar button.linklike:hover{color:var(--ochre)}.header{background:var(--header);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.03)}.header .wrap{display:flex;align-items:center;gap:1.5rem;min-height:76px;flex-wrap:wrap}.logo{display:block;flex:0 0 auto}.logo img{display:block;height:40px;width:auto}.nav{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto;padding:4px;background:var(--surface);border:1px solid var(--line)}.nav,.nav a{border-radius:999px}.nav a{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .95rem;text-decoration:none;color:rgba(0,0,0,.62);font-weight:600;font-size:.9rem;transition:background-color .15s,color .15s,box-shadow .15s}.nav a svg{flex:0 0 auto;opacity:.65;transition:opacity .15s}.nav a:hover{color:var(--heading);background:#fff;box-shadow:0 1px 2px rgba(48,27,8,.08)}.nav a:hover svg{opacity:1}.nav a.active{color:#fff;background:var(--ochre);box-shadow:0 2px 8px rgba(242,91,58,.35)}.nav a.active svg{opacity:1}@media (max-width:1100px) and (min-width:901px){.nav a svg{display:none}.nav a{padding:.45rem .8rem}}.btn.nav-toggle{display:none}.footer{background:var(--footer-bg);color:var(--footer-text);font-size:.85rem;margin-top:auto}.footer .wrap{padding:1.25rem 16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.wrap{max-width:1640px;margin:0 auto;padding:0 24px;width:100%}main.wrap{padding-top:1.5rem;padding-bottom:3rem}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-head p{margin:0;color:var(--muted)}.breadcrumb{font-size:.85rem;margin-bottom:.35rem}.breadcrumb,.breadcrumb a{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:.4rem;justify-content:center;background:var(--ochre);color:#fff;border:1px solid var(--ochre);border-radius:var(--pill);padding:.5rem 1.15rem;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.3;box-shadow:0 2px 8px rgba(242,91,58,.28);transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.btn:hover{background:var(--ochre-dark);border-color:var(--ochre-dark);color:#fff;box-shadow:0 3px 10px rgba(242,91,58,.38)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--ochre);color:#fff;border-color:var(--ochre)}.btn.secondary:hover{background:var(--ochre-dark);border-color:var(--ochre-dark);color:#fff}.btn.brown{background:var(--brown);border-color:var(--brown);box-shadow:0 2px 8px rgba(48,27,8,.28)}.btn.brown:hover{background:var(--brown-dark);border-color:var(--brown-dark);box-shadow:0 3px 10px rgba(48,27,8,.38)}.btn.danger{background:#fff;color:var(--err);border-color:#e3b9b6;box-shadow:none}.btn.danger:hover{background:var(--err-bg)}.btn.small{padding:.25rem .75rem;font-size:.85rem}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.actions>form:not([class]){display:contents}.actions>form:not([class])>.alert{order:-1;flex-basis:100%;margin:0}.page-head .btn{white-space:nowrap}@media (min-width:769px){.page-head .actions{justify-content:flex-end;margin-left:auto}}button.linklike{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--brown);text-decoration:underline}label{display:block;font-weight:700;font-size:.85rem;margin-bottom:.25rem}input,select,textarea{font:inherit;color:var(--text);width:100%;padding:.45rem .6rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid var(--ochre-light);border-color:var(--ochre)}input[type=checkbox]{width:auto}textarea{min-height:6rem;resize:vertical}.field{margin-bottom:.9rem}.field .hint{font-size:.8rem;color:var(--muted);margin-top:.2rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:0 1rem;gap:0 1rem}.form-grid .span-2{grid-column:span 2}.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin-bottom:1rem;padding:.8rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.filters .field{margin:0;min-width:140px;flex:1 1 140px}.filters .field.grow{flex:3 1 240px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;background:#fff}.card h2:first-child,.card h3:first-child{margin-top:0}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.import-cards{grid-template-columns:minmax(260px,1fr) minmax(0,2fr);margin-bottom:1rem}@media (max-width:900px){.grid.import-cards{grid-template-columns:1fr}}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.tile{border:1px solid var(--line);border-top:3px solid var(--ochre);border-radius:var(--radius);padding:.85rem 1rem;background:#fff;position:relative;overflow:hidden}.tile .label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.tile .value{font-size:1.55rem;font-weight:800;color:var(--heading);margin-top:.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .sub{font-size:.85rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}dl.props{display:grid;grid-template-columns:minmax(130px,max-content) 1fr;grid-gap:.3rem 1rem;gap:.3rem 1rem;margin:0}dl.props dt{color:var(--muted);font-size:.9rem}dl.props dd{margin:0}.table-wrap{overflow:auto;max-height:calc(100vh - 6rem);border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch}.table-wrap thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 var(--line)}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{padding:.45rem .65rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--surface);font-weight:700;color:var(--heading);white-space:nowrap;font-size:.82rem;text-transform:uppercase;letter-spacing:.02em}tbody tr:hover{background:#fbfaf7}tbody tr:last-child td,tfoot td{border-bottom:0}tfoot td{font-weight:700;background:var(--surface);border-top:2px solid var(--line-strong)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.nowrap,td.num,th.num{white-space:nowrap}tr.muted td{color:var(--muted)}tr.row-warn td{background:var(--warn-bg)}.empty{padding:1.5rem;text-align:center;color:var(--muted)}.badge{display:inline-block;padding:.08rem .5rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;background:var(--info-bg);color:var(--text);border:1px solid transparent}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.err{background:var(--err-bg);color:var(--err)}.badge.accent{background:var(--ochre-light);color:#a8331b}.badge.yellow-dot{background:#fff8d6;color:var(--text);border-color:#ecd77a}.badge.yellow-dot:before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;border:1px solid #c9a200;background:var(--yellow-dot);margin-right:.35em;vertical-align:-.05em}.alert{padding:.7rem .9rem;border-radius:var(--radius);margin-bottom:1rem;border:1px solid}.alert.ok{background:var(--ok-bg);border-color:#c4dfc0;color:#2d5c29}.alert.warn{background:var(--warn-bg);border-color:#efd9a4;color:#6e4c00}.alert.err{background:var(--err-bg);border-color:#efc4c1;color:#7d2420}.alert.info{background:var(--info-bg);border-color:#d5dbe2}.alert ul{margin:.35rem 0 0;padding-left:1.2rem}.warnlist{margin:.25rem 0 0;padding-left:1.1rem;font-size:.85rem;color:var(--warn)}.muted{color:var(--muted)}.small{font-size:.85rem}.right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.section-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.section-actions h2{margin-bottom:.75rem}details.inline summary{cursor:pointer;color:var(--brown);font-size:.88rem}.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;min-width:80px}.bar>span{display:block;height:100%;background:var(--ochre)}.login-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 100% 0,rgba(33,11,0,.92) 10%,rgba(33,25,21,.55) 100%),url(/images/header.jpg) 50% /cover no-repeat,var(--brown)}.login-box{margin:auto;width:min(420px,calc(100% - 32px));background:#fff;border-top:4px solid var(--ochre);border-radius:var(--radius);padding:2rem 1.75rem;box-shadow:0 20px 50px rgba(0,0,0,.35)}.login-title{color:#fff;text-align:center;text-transform:uppercase;font-weight:800;font-size:clamp(1.6rem,4vw,2.6rem);letter-spacing:.02em;margin:0 0 1.25rem;text-shadow:0 2px 12px rgba(0,0,0,.4)}.login-wrap{margin:auto;padding:2rem 0;width:100%;display:flex;flex-direction:column;align-items:center}.login-wrap .login-box{margin:0}.login-box img{display:block;max-width:100%;height:auto;margin-bottom:1.5rem}@media (max-width:900px){.header .wrap{min-height:60px;gap:.75rem}.logo img{height:26px}.btn.nav-toggle{display:inline-flex;margin-left:auto}.nav{display:none;width:100%;flex-direction:column;margin:0 0 .5rem;border-radius:12px;padding:6px}.nav.open{display:flex}.nav a{border-radius:8px;padding:.6rem .8rem}.module-icon{width:24px;height:24px;border-radius:6px}.form-grid .span-2{grid-column:auto}h1{font-size:1.35rem}.tile .value{font-size:1.3rem}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}}@media print{.actions,.btn,.filters,.footer,.header,.topbar{display:none!important}}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:4px;margin-bottom:1.25rem;background:var(--surface);border:1px solid var(--line)}.segmented,.segmented a{border-radius:var(--pill)}.segmented a{padding:.4rem .95rem;text-decoration:none;color:rgba(0,0,0,.65);font-weight:700;font-size:.88rem;transition:background-color .15s,color .15s,box-shadow .15s}.segmented a:hover{background:#fff;color:var(--heading);box-shadow:0 1px 2px rgba(48,27,8,.08)}.segmented a.active{background:var(--ochre);color:#fff;box-shadow:0 2px 8px rgba(242,91,58,.35)}.segmented .seg-count{display:inline-block;margin-left:.4rem;padding:0 .4rem;border-radius:999px;background:var(--line);color:var(--text);font-size:.75rem;font-weight:700}.segmented a.active .seg-count{background:rgba(255,255,255,.25);color:#fff}.settings-tile{display:block;text-decoration:none;color:var(--text);border-top:3px solid var(--ochre);transition:border-color .15s,box-shadow .15s}.settings-tile:hover{color:var(--text);border-color:var(--ochre);box-shadow:0 2px 8px rgba(89,75,50,.12)}.settings-tile h2{margin:0 0 .35rem}.hero{position:relative;color:#fff;border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem;background:radial-gradient(circle at 100% 0,rgba(33,11,0,.9) 10%,rgba(33,25,21,.35) 100%),url(/images/header.jpg) center 40% /cover no-repeat,var(--brown);padding:2.25rem 2rem 1.75rem;min-height:170px;display:flex;flex-direction:column;justify-content:flex-end}.hero h1{color:#fff;font-size:clamp(1.7rem,4vw,2.75rem);margin:0;text-shadow:0 2px 14px rgba(0,0,0,.45)}.hero p{margin:.25rem 0 0;color:rgba(255,255,255,.85);font-weight:600}.hero .segmented{margin:1rem 0 0;align-self:flex-start;background:rgba(255,255,255,.92);border-color:transparent}.tile.photo{padding-left:96px;min-height:92px}.tile.photo:before{content:"";position:absolute;left:0;top:0;bottom:0;width:84px;background:var(--photo) center /cover no-repeat}@media (max-width:900px){.hero{padding:1.5rem 1.1rem 1.1rem;min-height:130px}.tile.photo{padding-left:80px}.tile.photo:before{width:68px}}table.compact{font-size:.86rem}table.compact td,table.compact th{padding:.4rem .45rem;white-space:nowrap}table.compact th{font-size:.74rem}table.compact .badge{font-size:.72rem;padding:.05rem .45rem}table.compact td.mono{letter-spacing:0}@media (max-width:900px){.wrap{padding:0 16px}}table.compact td.clip{max-width:160px;overflow:hidden;text-overflow:ellipsis}table.compact details.inline[open]{white-space:normal}.warn-details{margin-top:.2rem}.warn-details summary{cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;list-style:none;font-size:.8rem;font-weight:700;color:var(--warn);background:var(--warn-bg);padding:.08rem .55rem;border-radius:999px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.warn-details summary::-webkit-details-marker{display:none}.warn-details summary:before{content:"▸";font-size:.75rem;transition:transform .15s}.warn-details[open] summary:before{transform:rotate(90deg)}.warn-details summary:hover{filter:brightness(.97)}.mailbox-status{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.mailbox-status h2{margin-bottom:.35rem}.mailbox-status form{margin:0}.upload-panel{margin-bottom:1.5rem}.dropzone{display:block;border:2px dashed var(--line-strong);border-radius:var(--radius);padding:1.1rem;text-align:center;cursor:pointer;color:var(--muted);background:var(--ochre-light);margin-bottom:1rem}.dropzone:hover{border-color:var(--ochre);color:var(--text)}.dropzone input{display:none}.upload-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);grid-gap:1.25rem;gap:1.25rem;align-items:start}.upload-preview iframe{width:100%;height:78vh;min-height:520px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#f4f4f4}.upload-empty{height:300px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted)}.upload-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.upload-tabs button{border:1px solid var(--line-strong);background:#fff;border-radius:var(--pill);padding:.25rem .75rem;font-size:.8rem;cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-tabs button.active{background:var(--ochre);border-color:var(--ochre);color:#fff}.upload-fields{position:-webkit-sticky;position:sticky;top:1rem}.upload-fields h3{font-size:.95rem;margin:1.1rem 0 .4rem;overflow-wrap:anywhere}.upload-fields .props{margin-bottom:.75rem}.upload-fields .btn{width:100%;margin-top:.75rem}.upload-summary{padding-left:1.1rem;margin:.5rem 0}.warn-list{color:var(--warn,#8a5a00);padding-left:1.1rem;margin:.25rem 0 .5rem}@media (max-width:900px){.upload-layout{grid-template-columns:1fr}.upload-preview iframe{height:60vh;min-height:360px}.upload-fields{position:static}}details.correction{margin:1.25rem 0}details.correction>summary{cursor:pointer;color:var(--heading)}details.correction[open]>summary{margin-bottom:.75rem}.correction-lines input,.correction-lines select{width:100%;min-width:4.5rem;padding:.25rem .35rem;font-size:.85rem}.correction-lines input.num{text-align:right}.correction-lines td{white-space:normal}.correction-history ul.plain{list-style:none;padding:0;margin:0}.correction-history td{vertical-align:top}.module-name{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;color:var(--heading);padding-left:1.1rem;border-left:2px solid var(--line-strong);line-height:1.6}.module-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--ochre-light);color:var(--ochre)}.portal-hero{min-height:150px}.portal-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-bottom:2rem}.portal-tile{display:flex;flex-direction:column;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:box-shadow .15s,transform .15s,border-color .15s}.portal-tile:hover{color:var(--text);border-color:var(--ochre);box-shadow:0 6px 18px rgba(48,27,8,.12);transform:translateY(-2px)}.portal-photo{display:block;height:170px;background:var(--brown) center /cover no-repeat}.portal-body{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.25rem 1.25rem}.portal-title{font-weight:800;text-transform:uppercase;font-size:1.35rem;color:var(--heading);letter-spacing:.01em}.portal-desc{color:var(--muted);font-size:.92rem}.portal-facts{display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin-top:.25rem}.portal-facts span{background:var(--ochre-light);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:700}.portal-open{margin-top:.5rem;color:var(--ochre);font-weight:800}@media (max-width:900px){.module-name{font-size:.75rem;padding-left:.6rem}.portal-photo{height:130px}}label.check{display:flex;align-items:center;gap:.45rem;font-weight:400;margin:.25rem 0;cursor:pointer}label.check input{width:auto;margin:0}.doc-lines{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.doc-line{border:1px solid var(--line);border-radius:var(--radius);padding:.6rem;background:#fff}.doc-line-main{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.doc-line-main select{max-width:330px}.doc-line-main .grow{flex:1 1 260px;min-width:200px}.doc-line-main .w-qty{width:70px}.doc-line-main .w-unit{width:80px}.doc-line-main .w-price{width:100px}.doc-amount,.doc-line-main input.num{text-align:right}.doc-amount{min-width:105px;font-weight:700}.doc-line-details{margin-top:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:.1rem 1rem;gap:.1rem 1rem}.doc-line-details textarea{grid-column:1/-1}.stock-warn{color:var(--err,#b00020);font-weight:700}.doc-totals{margin:1rem 0 1.25rem auto;max-width:340px}.doc-totals div{display:flex;justify-content:space-between;padding:.2rem 0}.doc-totals .grand{border-top:2px solid var(--text);font-weight:800;margin-top:.2rem;padding-top:.35rem}@media (max-width:700px){.doc-line-main select{max-width:100%;width:100%}}.timeline{display:flex;flex-direction:column;gap:.35rem}.timeline-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:.45rem .7rem}.timeline-item.open-item{border-left:3px solid var(--ochre)}.timeline-item>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.timeline-item>summary::-webkit-details-marker{display:none}.timeline-date{font-size:.82rem;color:var(--muted);min-width:5.6rem}.timeline-subject{font-weight:600}.mail-body{white-space:pre-wrap;font-family:inherit;font-size:.85rem;background:#faf8f6;border-radius:var(--radius);padding:.6rem;margin:.5rem 0;max-height:360px;overflow:auto}a.tile{text-decoration:none;color:inherit;display:block}a.tile:hover{border-color:var(--ochre)}a.tile .label,a.tile .value{text-decoration:none}.expand-toggle{background:none;border:1px solid var(--line);border-radius:999px;padding:.05rem .55rem;font:inherit;font-weight:700;color:var(--ochre);cursor:pointer}.expand-toggle:hover,.expand-toggle[aria-expanded=true]{background:var(--ochre-light);border-color:var(--ochre)}tr.row-detail>td,tr.row-open td{background:var(--surface)}tr.row-detail>td{padding:.4rem .75rem .9rem 1.5rem}.contract-invoices{display:flex;flex-direction:column;gap:.75rem}.contract-invoice-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;margin-bottom:.3rem;font-size:.88rem}table.contract-invoice-lines{background:var(--bg,#fff);border:1px solid var(--line);width:auto;min-width:60%}table.contract-invoice-lines th{position:static}td.clip-cell{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-row{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-bottom:1.1rem}.tab-row .segmented{margin-bottom:0}table.oneline td{white-space:nowrap}@supports not selector(::-webkit-scrollbar){.table-wrap{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}}.table-wrap::-webkit-scrollbar{width:12px;height:12px}.table-wrap::-webkit-scrollbar-track{background:transparent;margin:8px}.table-wrap::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:3px solid transparent;background-clip:padding-box}.table-wrap::-webkit-scrollbar-thumb:hover{background-color:#b9b2a9}.table-wrap::-webkit-scrollbar-corner{background:transparent}.confirm-dialog{border:0;padding:0;border-radius:var(--radius);max-width:min(460px,calc(100vw - 32px));box-shadow:0 24px 60px rgba(33,11,0,.35)}.confirm-dialog::-webkit-backdrop{background:rgba(33,20,10,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog::backdrop{background:rgba(33,20,10,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-body{padding:1.5rem 1.5rem 1.25rem;text-align:center}.confirm-icon{width:48px;height:48px;margin:0 auto .75rem;border-radius:999px;background:var(--ochre-light);color:var(--ochre);display:grid;place-items:center;font-weight:800;font-size:1.5rem}.confirm-body h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--heading)}.confirm-body p{margin:0 0 1.25rem;color:var(--text);font-size:.92rem}.confirm-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.confirm-actions .btn.secondary{background:#fff;color:var(--brown);border-color:var(--line-strong);box-shadow:none}.confirm-actions .btn.secondary:hover{border-color:var(--ochre);color:var(--ochre-dark)}.crm-hero{background:radial-gradient(circle at 100% 0,rgba(33,11,0,.88) 10%,rgba(33,25,21,.3) 100%),url(/images/crm-ponton.jpg) center 47% /cover no-repeat,var(--brown)}.icon-tiles .tile{padding-right:3.6rem;transition:box-shadow .15s,transform .15s}.icon-tiles a.tile{color:inherit;text-decoration:none}.icon-tiles a.tile:hover{box-shadow:0 6px 18px rgba(48,27,8,.1);transform:translateY(-1px)}.tile-icon{position:absolute;top:.9rem;right:.9rem;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--ochre-light);color:var(--ochre)}.tile-icon svg{width:20px;height:20px}.panels{align-items:start}.panel-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line);background:var(--surface)}.panel-head,.panel-head h2{display:flex;align-items:center}.panel-head h2{margin:0;gap:.55rem;font-size:.92rem}.panel-icon{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--ochre-light);color:var(--ochre)}.feed{list-style:none;margin:0;padding:0}.feed li{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--line);min-width:0}.feed li:last-child{border-bottom:0}.feed li:hover{background:#fcfbfa}.feed li.late{box-shadow:inset 3px 0 0 var(--err)}.avatar{flex:0 0 auto;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.02em}.feed-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.feed-title{font-weight:700;color:var(--heading);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.45rem}.feed-title:hover{color:var(--ochre-dark)}.feed-sub{font-size:.84rem;overflow:hidden;text-overflow:ellipsis}.feed-sub,.feed-when{color:var(--muted);white-space:nowrap}.feed-when{flex:0 0 auto;font-size:.8rem}.feed li.late .feed-when{color:var(--err);font-weight:700}.feed-end{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.86rem}.mail-dir{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.05rem .4rem;border-radius:999px}.mail-dir.in{background:var(--info-bg);color:var(--text)}.mail-dir.out{background:var(--ok-bg);color:var(--ok)}.activity-bar{height:6px;margin-top:.3rem;background:var(--line);overflow:hidden;max-width:260px}.activity-bar,.activity-bar span{display:block;border-radius:999px}.activity-bar span{height:100%;background:var(--ochre)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.75rem 1rem;text-align:center;color:var(--text)}.empty-icon{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;background:var(--surface);color:var(--muted);margin-bottom:.2rem}.empty-icon svg{width:22px;height:22px}.photo-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.photo-thumb{position:relative;width:92px;height:92px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:999px;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;line-height:1;font-size:15px}.photo-add{width:92px;height:92px;border-radius:var(--radius-sm);border:2px dashed var(--line-strong);background:var(--surface);color:var(--muted);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}.photo-add span{font-size:1.4rem}.photo-add:hover{border-color:var(--ochre);color:var(--ochre-dark)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.6rem;gap:.6rem;margin-bottom:1rem}.photo-tile{display:block;aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line)}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.photo-tile:hover img{transform:scale(1.04)}.photo-count{display:inline-flex;align-items:center;gap:.2rem;font-size:.78rem;font-weight:700;color:var(--ochre-dark);text-decoration:none}.issue-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);grid-gap:1rem;gap:1rem;align-items:start}.issue-side{position:-webkit-sticky;position:sticky;top:1rem}.issue-body{padding:1rem}.step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--ochre);color:#fff;font-size:.8rem;margin-right:.55rem}.scan-input{font-size:1.05rem;padding:.75rem .9rem;border-width:2px}.scan-input:focus{border-color:var(--ochre)}.issue-more{margin:.6rem 0 0}.issue-more>summary{cursor:pointer;font-size:.86rem;color:var(--ochre-dark);font-weight:700}.issue-more textarea,.issue-more[open]>summary{margin-bottom:.5rem}.issue-empty{margin-top:.9rem;padding:1.25rem;text-align:center;color:var(--muted);border:2px dashed var(--line);border-radius:var(--radius)}.issue-list{list-style:none;margin:.9rem 0 0;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.issue-list li{padding:.55rem .75rem;border-bottom:1px solid var(--line)}.issue-list li:last-child{border-bottom:0}.issue-list li.warn{background:var(--warn-bg)}.issue-item{display:flex;align-items:flex-start;gap:.75rem}.issue-no{flex:0 0 auto;min-width:70px;font-family:ui-monospace,Consolas,monospace}.issue-info{flex:1 1 auto;min-width:0;font-size:.9rem}.issue-choices{display:flex;flex-direction:column;gap:.15rem;margin-top:.2rem}.issue-remove{flex:0 0 auto;width:26px;height:26px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--muted);cursor:pointer;line-height:1;font-size:16px}.issue-remove:hover{border-color:var(--err);color:var(--err)}.segmented.choice{margin:0;display:flex;flex-wrap:wrap;border-radius:var(--radius-sm)}.segmented.choice a{border-radius:6px;flex:1 1 auto;text-align:center}.issue-submit{width:100%;padding:.8rem 1rem;font-size:1rem;margin-top:.5rem}@media (max-width:900px){.issue-layout{grid-template-columns:1fr}.issue-side{position:static}}.issue-qty{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-top:.35rem}.issue-qty label{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.8rem}.issue-qty input{width:70px;padding:.2rem .4rem;text-align:right}.dds-card>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.totp-input{font-size:1.4rem;letter-spacing:.25em;text-align:center;font-family:ui-monospace,Consolas,monospace}.totp-qr{display:block;margin:.5rem auto;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px;background:#fff}.totp-steps{padding-left:1.2rem;margin:.4rem 0}.totp-steps li{margin-bottom:.3rem}.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.4rem;gap:.4rem;font-family:ui-monospace,Consolas,monospace;font-size:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem;text-align:center}.users-table td details[open]{white-space:normal;min-width:240px}.users-table td details[open] .field{margin-top:.4rem}.stats-hero{min-height:150px;margin-bottom:1rem;background:linear-gradient(90deg,rgba(11,5,2,.88) 0,rgba(11,5,2,.55) 38%,rgba(11,5,2,.05) 75%),url(/images/statistieken.svg) center 45% /cover no-repeat,var(--brown)}.stats-filters{margin-bottom:.4rem}.stats-filters .actions{margin-left:auto}.stats-period{margin:0 0 1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));grid-gap:.85rem;gap:.85rem;margin-bottom:1rem}.kpi-grid.k4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid.k5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1100px){.kpi-grid.k4,.kpi-grid.k5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.kpi-grid.k4,.kpi-grid.k5{grid-template-columns:minmax(0,1fr)}}.kpi{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem .8rem;min-height:112px;display:flex;flex-direction:column;gap:.15rem;box-shadow:0 1px 2px rgba(48,27,8,.04)}.kpi-head{display:flex;align-items:center;gap:.5rem}.kpi-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--ochre-light);color:var(--ochre);flex:0 0 auto}.kpi-icon svg{width:16px;height:16px}.kpi-label{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}.kpi-value{font-size:1.5rem;font-weight:800;color:var(--heading);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2;margin-top:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-foot{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-size:.8rem}.kpi-sub{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-delta{font-weight:700;padding:.05rem .45rem;border-radius:999px;background:var(--surface);color:var(--text);font-size:.76rem;white-space:nowrap}.kpi-delta.up{background:var(--ok-bg);color:var(--ok)}.kpi-delta.down{background:var(--err-bg);color:var(--err)}.kpi .spark{position:absolute;right:.7rem;top:.8rem;width:84px;height:26px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1rem;align-items:stretch}.stats-grid .span-2{grid-column:span 2}.stats-grid .span-3{grid-column:1/-1}@media (max-width:1050px){.stats-grid{grid-template-columns:minmax(0,1fr)}.stats-grid .span-2{grid-column:auto}}.stats-panel{display:flex;flex-direction:column}.stats-panel .panel-body{padding:.9rem 1rem 1rem;flex:1 1 auto;min-width:0}.stats-table,.stats-tables{margin-bottom:1rem}.stats-table .panel-body,.stats-tables .panel-body{padding:0}.stats-panel .panel-body>.table-wrap{border:0;border-radius:0;margin:0}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid-line{stroke:var(--line);stroke-width:1}.chart .base-line{stroke:var(--line-strong);stroke-width:1.2}.chart .axis{fill:var(--muted);font-size:11px;font-family:inherit}.chart .cbar{transition:opacity .15s}.chart svg:hover .cbar{opacity:.75}.chart svg .cbar:hover{opacity:1}.chart .cdot{transition:r .15s}.chart .cdot:hover{r:6}.chart-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.5rem;font-size:.8rem;color:var(--text)}.chart-legend span{display:inline-flex;align-items:center;gap:.4rem}.chart-legend i,.donut-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:0 0 auto}.chart-empty{display:grid;place-items:center;min-height:150px;height:100%;padding:1rem;text-align:center;color:var(--muted);font-size:.88rem;background:repeating-linear-gradient(135deg,var(--surface) 0 10px,#fff 10px 20px);border-radius:var(--radius-sm)}.donut{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.donut svg{width:150px;height:150px;flex:0 0 auto}.donut svg circle{transition:stroke-width .15s}.donut svg circle:hover{stroke-width:26}.donut-center{font-size:15px;font-weight:800;fill:var(--heading);font-family:inherit}.donut-sub{font-size:10px;fill:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-family:inherit}.donut-legend{list-style:none;margin:0;padding:0;flex:1 1 160px;min-width:0;font-size:.82rem}.donut-legend li{display:flex;align-items:center;gap:.45rem;padding:.22rem 0;border-bottom:1px dashed var(--line)}.donut-legend li:last-child{border-bottom:0}.dl-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.dl-pct{color:var(--muted);width:2.6rem;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.rank li{display:flex;gap:.65rem;align-items:flex-start}.rank-n{width:22px;height:22px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:.72rem;font-weight:700;color:var(--muted);flex:0 0 auto}.rank li:first-child .rank-n{background:var(--ochre);border-color:var(--ochre);color:#fff}.rank-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.2rem}.rank-top{display:flex;justify-content:space-between;gap:.75rem;font-size:.86rem}.rank-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--heading)}.rank-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.rank-bar{height:6px;background:var(--surface);border-radius:999px;overflow:hidden}.rank-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ochre),#f7926f)}.rank-sub{font-size:.76rem;color:var(--muted)}.share-bar{display:inline-block;width:48px;height:6px;background:var(--surface);border-radius:999px;overflow:hidden;margin-right:.45rem;vertical-align:middle}.share-bar i{display:block;height:100%;background:var(--ochre)}td.pos{color:var(--ok)}td.neg{color:var(--err)}.kpi.has-info{overflow:visible}.kpi:has(.kpi-tip.open){z-index:20;border-color:var(--ochre);box-shadow:0 8px 24px rgba(48,27,8,.12)}.kpi-info{margin-left:auto;display:inline-flex}.kpi-i{width:22px;height:22px;padding:0;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;color:var(--muted);font-size:.74rem;font-weight:800;display:grid;place-items:center;font-style:italic;font-family:Georgia,serif;cursor:pointer;flex:0 0 auto}.kpi-i.on,.kpi-i:hover{border-color:var(--ochre);color:#fff;background:var(--ochre)}.kpi.has-info .spark{right:2.6rem}.kpi-tip{position:absolute;left:-1px;right:-1px;top:calc(100% + 8px);z-index:30;background:#241307;color:#f3ebe4;border-radius:var(--radius);padding:.8rem .95rem;font-size:.82rem;line-height:1.5;box-shadow:0 14px 34px rgba(0,0,0,.28);display:flex;flex-direction:column;gap:.35rem;min-width:240px;animation:tip-in .15s ease-out}@keyframes tip-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.kpi-tip:before{content:"";position:absolute;top:-6px;right:1.1rem;width:12px;height:12px;background:#241307;transform:rotate(45deg)}.kpi-tip strong{color:#fff;font-size:.84rem;padding-right:1.5rem}.kpi-tip p{margin:0}.kpi-tip .calc{font-family:ui-monospace,Consolas,monospace;font-size:.76rem;background:rgba(255,255,255,.08);border-radius:6px;padding:.35rem .5rem;color:#ffd2a8}.kpi-tip-foot{color:#b9a99a;font-size:.74rem}.kpi-tip-close{position:absolute;top:.4rem;right:.5rem;background:none;border:0;color:#b9a99a;font-size:1.2rem;line-height:1;cursor:pointer;padding:.2rem}.kpi-tip-close:hover{color:#fff}.month-nav{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;align-self:flex-start;background:rgba(255,255,255,.92);border-radius:999px;padding:.2rem}.month-nav .disabled,.month-nav a{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:1.2rem;font-weight:700;color:var(--heading)}.month-nav a:hover{background:var(--ochre);color:#fff}.month-nav .disabled{color:var(--line-strong)}.month-nav span:not(.disabled){min-width:9rem;text-align:center;font-weight:700;color:var(--heading);text-transform:capitalize;font-size:.9rem}.quote-list{list-style:none;margin:0;padding:0}.quote-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.15rem 1rem;gap:.15rem 1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.quote-list li:last-child{border-bottom:0}.quote-list .q-main{min-width:0}.quote-list .q-main a{font-weight:700;color:var(--heading);text-decoration:none}.quote-list .q-main a:hover{color:var(--ochre)}.quote-list .q-sub{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-list .q-val{text-align:right;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quote-list .q-due{text-align:right;font-size:.76rem}.quote-list .q-right{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.quick-customer{border:1px solid #f3d38a;background:var(--warn-bg);border-radius:var(--radius);padding:.75rem .9rem;margin:.75rem 0;display:flex;flex-direction:column;gap:.6rem}.quick-customer-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.quick-customer .form-grid{margin:0}.quick-customer input{background:#fff}.topbar{padding-top:env(safe-area-inset-top)}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (max-width:640px){.segmented{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.segmented::-webkit-scrollbar{display:none}.segmented a{white-space:nowrap;flex:0 0 auto;scroll-snap-align:start;padding:.45rem .85rem}.segmented.choice{flex-wrap:wrap;overflow:visible;border-radius:var(--radius)}.segmented.choice a{flex:1 1 auto;text-align:center}.topbar .wrap{gap:.25rem .9rem;justify-content:space-between}.header .wrap{min-height:56px;gap:.6rem}h1{font-size:1.4rem}.hero{padding:1.4rem 1.1rem 1.1rem}.hero,.stats-hero{min-height:120px}.filters{padding:.6rem;gap:.5rem}.filters .field{min-width:0;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 0.5rem)}.filters .field.grow{flex-basis:100%}.filters .actions{width:100%}.filters .actions .btn{flex:1 1 auto}input,select,textarea{font-size:16px}.btn{min-height:40px}.table-wrap{background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) 0 /24px 100% no-repeat local,linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) 100% /24px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.12),transparent) 0 /10px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.12),transparent) 100% /10px 100% no-repeat scroll,#fff}.kpi-value{font-size:1.3rem}.kpi{min-height:0}.month-nav span:not(.disabled){min-width:7.5rem}.kpi-tip{min-width:0}}@media (max-width:480px){.header .wrap{flex-wrap:nowrap}.logo img{height:30px;width:auto}.module-name{font-size:.74rem;padding-left:.6rem;gap:.4rem;min-width:0;overflow:hidden}.btn.nav-toggle{flex:0 0 auto}.header .nav.open{position:absolute;left:12px;right:12px;top:100%;z-index:50;box-shadow:0 12px 30px rgba(0,0,0,.18)}.header{position:relative}.topbar .wrap{font-size:.78rem}}.pick-tabs{margin-bottom:.9rem}.range-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:.75rem}.range-pick .field{margin:0;flex:1 1 120px}.range-pick .field.grow{flex:1 1 260px}.range-sep{padding-bottom:.6rem;color:var(--muted);font-weight:700}.range-msg{flex-basis:100%;margin:0}.schotten-toggle{display:flex;gap:.65rem;align-items:flex-start;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;font-weight:400}.schotten-toggle input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--ochre);flex:0 0 auto}.schotten-toggle.on{border-color:var(--ochre);background:var(--ochre-light)}.day-panel{margin-top:1.25rem}.day-form{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.day-form input[type=date]{padding:.3rem .5rem}.day-panel .feed li{justify-content:space-between}.day-panel .day-total{background:var(--surface)}@media (max-width:640px){.day-panel .panel-head{flex-direction:column;align-items:flex-start}}.issue-where{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--line)}.range-pick .field.lot-qty{flex:0 1 130px}.issue-single{max-width:860px}.issue-where .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.issue-where .form-grid .span-2{grid-column:1/-1}.issue-where .segmented.choice{display:flex;flex-wrap:nowrap}.issue-where .segmented.choice a{flex:1 1;text-align:center}@media (max-width:560px){.issue-where .form-grid{grid-template-columns:minmax(0,1fr)}.issue-where .segmented.choice{flex-wrap:wrap}}.issue-mode{max-width:860px;margin-bottom:1.5rem}.issue-single .issue-body{padding:1.4rem 1.5rem 1.6rem}.issue-sub{margin:0 0 .75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.issue-single .pick-tabs{margin-bottom:1.25rem}.issue-single .range-pick{margin-bottom:1.1rem;gap:.9rem}.issue-single .issue-empty,.issue-single .issue-list{margin-top:1.1rem}.issue-single .issue-where{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}.issue-single .issue-where .form-grid{gap:1.2rem 1.25rem}.issue-single .issue-submit{margin-top:1.5rem}@media (max-width:640px){.issue-single .issue-body{padding:1rem}}.segmented.choice.issue-mode{margin:0 0 1.5rem}.group-head{display:flex;align-items:center;gap:.6rem}.group-head .badge{text-transform:none;letter-spacing:0;font-weight:700}.manual-cards{align-items:start;margin-top:1rem}.group-head .btn{margin-left:auto;text-transform:none;letter-spacing:0}tr.mrow-open>td{background:var(--ochre-light)}tr.mrow-edit>td{background:#fff8f5;border-bottom:2px solid var(--ochre);padding:.7rem .8rem}.mrow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem .8rem;white-space:normal}.mrow-code{align-self:center;font-size:.95rem}.mrow .segmented.mrow-kind{margin:0;width:auto;flex:0 0 auto}.mrow .segmented.mrow-kind a{padding:.35rem .8rem;flex:0 0 auto}.mrow-field{display:flex;flex-direction:column;gap:.15rem;font-size:.74rem;font-weight:700;color:var(--muted)}.mrow-field input,.mrow-field select{width:110px;padding:.35rem .5rem;font-size:.9rem}.mrow-field.grow{flex:1 1 160px}.mrow-field.grow input{width:100%}.mrow .badge{align-self:center;white-space:normal}.period-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem}.period-bar .month-nav,.period-bar .segmented{margin:0}.kpi-link{color:inherit;text-decoration:none}.kpi-link span{font-size:.9em}.kpi-link span,.kpi-link:hover{color:var(--ochre)}.kpi-scope{font-size:.7rem;color:var(--muted);margin-top:.15rem;border-top:1px dashed var(--line);padding-top:.3rem}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.45rem;vertical-align:middle}.sort-link{color:inherit;text-decoration:none}.sort-link.on{color:var(--ochre)}tr.row-active>td{background:var(--ochre-light)}.soort-tag{display:inline-flex;align-items:center;margin-right:.6rem;white-space:nowrap}tr.year-total>td{background:var(--surface);font-weight:700}.archive-layout{display:grid;grid-template-columns:270px minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:900px){.archive-layout{grid-template-columns:minmax(0,1fr)}}.archive-tree ul{list-style:none;margin:0;padding:0}.archive-tree>ul{padding:.6rem .8rem;max-height:70vh;overflow:auto;font-size:.86rem}.archive-tree ul ul{padding-left:1rem}.archive-tree a{display:block;padding:.15rem .3rem;border-radius:6px;text-decoration:none;color:var(--heading)}.archive-tree a.on,.archive-tree a:hover{background:var(--ochre-light);color:var(--ochre-dark)}.archive-tree .tree-year{font-weight:800;margin-top:.3rem}.archive-tree .tree-types a{color:var(--text);font-size:.82rem}.archive-main .filters{margin-top:0}.links-cell{white-space:normal;min-width:180px}.doc-chip{display:inline-block;margin:0 .25rem .2rem 0;padding:.02rem .45rem;border:1px solid var(--line);border-radius:999px;font-size:.74rem;text-decoration:none;white-space:nowrap;background:#fff}.doc-chip:hover{border-color:var(--ochre);color:var(--ochre)}.badge.type-contract{background:#e8f0ef;color:#2f5d58}.badge.type-factuur{background:var(--ochre-light);color:var(--ochre-dark)}.badge.type-paklijst{background:#f1ebe3;color:#6b4a22}.archive-upload{margin-top:1rem}.archive-upload summary{cursor:pointer}.inkoop-tabs{margin:.25rem 0 1.25rem}.inkoop-tabs a{display:inline-flex;align-items:center;gap:.45rem}.inkoop-tabs a svg{width:16px;height:16px}.archive-tree .own-folder{color:var(--ochre-dark);font-weight:600}.archive-tree .tree-add{color:var(--muted);font-size:.78rem;font-style:italic}.archive-tree .tree-add:hover{color:var(--ochre)}.folder-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.folder-settings{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:.8rem}.folder-settings summary{cursor:pointer;color:var(--muted);font-size:.86rem;font-weight:700}.folder-settings-body{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end;margin-top:.8rem}@media (max-width:640px){.crm-hero,.hero,.portal-hero,.stats-hero{min-height:0;padding:.9rem 1rem .85rem;margin-bottom:.9rem;border-radius:10px}.hero h1{font-size:1.3rem;line-height:1.15}.hero p{font-size:.8rem;margin-top:.15rem}.hero .segmented,.period-bar{margin-top:.6rem}.period-bar{gap:.4rem}.hero .segmented a{padding:.32rem .7rem;font-size:.8rem}.month-nav{margin-top:0;padding:.1rem}.month-nav .disabled,.month-nav a{width:26px;height:26px;font-size:1rem}.month-nav span:not(.disabled){min-width:6.5rem;font-size:.8rem}.portal-tiles{grid-template-columns:minmax(0,1fr);gap:.7rem;margin-bottom:1.25rem}.portal-tile{display:grid;grid-template-columns:92px minmax(0,1fr)}.portal-photo{height:auto;min-height:100%}.portal-body{padding:.7rem .85rem;gap:.2rem}.portal-title{font-size:1rem}.portal-desc{font-size:.78rem;line-height:1.35}.portal-facts{gap:.25rem .35rem;margin-top:.15rem}.portal-facts span{font-size:.7rem;padding:.08rem .45rem}.portal-open{display:none}.page-head h1,main>h1{font-size:1.25rem}.tiles{gap:.5rem;margin-bottom:1rem}.tile{padding:.55rem .7rem;border-top-width:2px}.tile .label{font-size:.64rem;line-height:1.25}.tile .value{font-size:1.1rem;margin-top:.1rem}.tile .sub{display:none}.tile.photo{padding-left:.7rem;min-height:0}.tile.photo:before{display:none}.dash-tiles>.tile:first-child{grid-column:1/-1}.kpi-grid,.kpi-grid.k4,.kpi-grid.k5{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.9rem}.kpi{padding:.55rem .65rem;min-height:0;gap:0;border-radius:10px}.kpi .spark,.kpi-icon,.kpi-scope,.kpi-sub{display:none}.kpi-head{gap:.3rem}.kpi-label{font-size:.62rem;line-height:1.25;letter-spacing:.03em}.kpi-i{width:18px;height:18px;font-size:.66rem}.kpi-value{font-size:1.05rem;margin-top:.15rem;white-space:normal}.kpi-foot{font-size:.68rem;margin-top:.15rem}.kpi-delta{font-size:.66rem;padding:0 .35rem}}@media (max-width:640px){.kpi-foot:not(:has(.kpi-delta)){display:none}.kpi-tip{left:-1px;right:auto;width:calc(200% + .5rem);max-width:calc(100vw - 2rem)}.kpi-grid>.kpi:nth-child(2n) .kpi-tip{left:auto;right:-1px}.kpi-grid>.kpi:nth-child(2n) .kpi-tip:before{left:auto;right:1.1rem}.filters{column-gap:.75rem}.filters .field{min-width:0}.filters input,.filters select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.filters input[type=date]{padding-left:.5rem;padding-right:.35rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:42px}}.activity-add>summary{list-style:none;cursor:pointer}.activity-add>summary::-webkit-details-marker{display:none}.activity-add>summary h2{margin:0;display:inline-flex;align-items:center;gap:.5rem}.activity-add:not([open])>summary h2:before{content:"＋";color:var(--ochre)}.activity-add[open]>summary{margin-bottom:.8rem}@media (max-width:640px){.page-head{gap:.6rem;margin-bottom:.9rem}.page-head .actions,.page-head>div:last-child{gap:.35rem}.page-head .btn{min-height:34px;padding:.35rem .75rem;font-size:.8rem}.page-head p{font-size:.82rem}}.portal-tiles{grid-auto-rows:1fr}.portal-body{flex:1 1 auto}.portal-open{margin-top:auto;padding-top:.5rem}@media (max-width:640px){.portal-body{justify-content:center}}.jump{position:relative;margin:0 0 .75rem}.jump input{width:100%;padding:.75rem 1rem .75rem 2.6rem;border-radius:var(--pill);border:1px solid var(--line-strong);font-size:1rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23777' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat .95rem 50%;box-shadow:0 1px 2px rgba(0,0,0,.04)}.jump input:focus{outline:none;border-color:var(--ochre);box-shadow:0 0 0 3px var(--ochre-light)}.jump-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px rgba(0,0,0,.12);max-height:22rem;overflow:auto}.jump-list button{display:flex;width:100%;justify-content:space-between;gap:1rem;align-items:baseline;padding:.5rem .75rem;border:0;background:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font:inherit;color:var(--text)}.jump-list button.active{background:var(--ochre-light)}.jump-empty{padding:.5rem .75rem}.recent-chips{display:flex;flex-wrap:wrap;margin:0 0 1rem}.chip,.recent-chips{align-items:center;gap:.4rem}.chip{display:inline-flex;padding:.25rem .7rem;border-radius:var(--pill);border:1px solid var(--line);background:#fff;font-size:.83rem;font-weight:600;text-decoration:none;color:var(--heading);white-space:nowrap;max-width:16rem;overflow:hidden;text-overflow:ellipsis}.chip:hover{border-color:var(--ochre);color:var(--ochre)}.chip.active{background:var(--brown);border-color:var(--brown);color:#fff}.chip.active .muted{color:#d8cfc6}.chip-dot{width:.55rem;height:.55rem;border-radius:50%;flex:none}.cat-badge{background:#f1ece6;color:var(--brown);font-size:.72em;vertical-align:middle}h1 .cat-badge{font-size:.45em}.note-add{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);align-items:center}.note-add input[name=text]{flex:1 1 14rem;min-width:0}.note-add select{flex:0 1 13rem;min-width:0}.note-add .alert{flex-basis:100%;margin:0}.note-list{list-style:none;margin:0;padding:0}.note-list li{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem 1rem;border-bottom:1px solid var(--line)}.note-list li:last-child{border-bottom:0}.note-list form{display:contents}.note-list .alert.ok{display:none}.note-check{flex:none;width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid var(--line-strong);background:#fff;color:transparent;font-weight:800;cursor:pointer;line-height:1;padding:0}.note-check:hover{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.note-list.done .note-check{color:var(--muted)}.note-list.done .note-text{text-decoration:line-through;color:var(--muted)}.note-text{flex:1 1;min-width:0;overflow-wrap:anywhere;padding-top:.15rem}.note-when{flex:none;font-size:.78rem;color:var(--muted);padding-top:.25rem}.done-notes summary{cursor:pointer;padding:.5rem 1rem}.note-panel{margin:1rem 0}.smart-paste{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:.75rem .9rem;margin-bottom:1rem;background:var(--surface)}.smart-paste label{font-weight:700;display:block;margin-bottom:.35rem}.smart-paste textarea{width:100%;font-family:inherit}.smart-paste-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.4rem}.address-cards{display:grid;grid-gap:.5rem;gap:.5rem}.address-card{border-radius:var(--radius);background:#fff;border:1px solid var(--line);border-left:4px solid var(--line-strong)}.address-card.kind-factuur{border-left-color:var(--ochre)}.address-card.kind-aflever{border-left-color:var(--ok)}.address-card.kind-post{border-left-color:var(--brown)}.address-card summary{cursor:pointer;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.1rem;list-style:none}.address-card summary::-webkit-details-marker{display:none}.address-card[open] summary{border-bottom:1px solid var(--line)}.address-card form{padding:.75rem}.address-kind{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.address-lines{font-size:.86rem;overflow-wrap:anywhere}.inline-create{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0 0}.inline-create select{min-width:0;flex:0 1 18rem}.inline-create .alert{flex-basis:100%;margin:0}.doc-address{margin:0}.doc-address select{flex:1 1 22rem}.file-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.file-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.5rem .8rem;border-bottom:1px solid var(--line)}.file-list li:last-child{border-bottom:0}.file-list form{display:contents}.file-list .alert.ok{display:none}.file-name{font-weight:700;overflow-wrap:anywhere;flex:1 1 12rem;min-width:0}.file-remove{margin-left:auto;border:0;background:none;color:var(--muted);font-size:1.1rem;cursor:pointer;padding:0 .3rem}.file-remove:hover{color:var(--err)}.payments-panel .payment-form{margin-top:.5rem}tr.strike td{text-decoration:line-through}tr.strike td .small{text-decoration:none}.ok-text{color:var(--ok)}.year-table .bar-col{width:18%;padding-left:0;padding-right:0}.year-bar{display:block;height:.55rem;border-radius:var(--pill);background:linear-gradient(90deg,var(--ochre),#f7956f);min-width:0}.year-table tr.selected td{background:var(--ochre-light)}.open-cell{color:var(--err);font-weight:700}.letter-body{font-family:var(--font-sans),"Open Sans",Arial,sans-serif;line-height:1.5;min-height:18rem}.steps{padding-left:1.1rem;margin:0 0 .75rem;line-height:1.6}.placeholder-chip{display:inline-block;font-family:ui-monospace,Consolas,monospace;background:#fff;border:1px solid var(--line);border-radius:6px;padding:0 .35rem;margin:0 .15rem}.template-list{display:grid;grid-gap:.6rem;gap:.6rem;max-width:900px}.template-card summary{cursor:pointer}.template-card form{margin-top:.75rem}@media (max-width:640px){.jump input{font-size:16px}.chip{max-width:11rem}.year-table .bar-col{display:none}.doc-address select,.inline-create select,.note-add select{flex-basis:100%}}td.center,th.center{text-align:center}.paid-toggle{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.paid-toggle input{width:1.15rem;height:1.15rem;accent-color:var(--ok);cursor:pointer;margin:0}.err-text{color:var(--err);white-space:normal}.manual-lines input{width:100%;min-width:4.5rem;padding:.3rem .45rem}.manual-lines td:first-child input{min-width:9rem}.manual-lines td:nth-child(2) input{min-width:7rem}.manual-lines td:last-child{white-space:nowrap}@media (max-width:640px){.segmented.inkoop-tabs{overflow:visible;width:100%}.segmented.inkoop-tabs a{flex:1 1;min-width:0;justify-content:center;padding:.45rem .35rem;font-size:.8rem;gap:.3rem}.segmented.inkoop-tabs .seg-count{margin-left:.15rem;padding:0 .3rem;font-size:.68rem}}@media (max-width:400px){.segmented.inkoop-tabs a svg{display:none}}