:root{--bg:#f4f6f8;--panel:#ffffff;--text:#16202a;--muted:#667085;--line:#e5e7eb;--primary:#111827;--danger:#b42318;--success:#047857;--shadow:0 12px 30px rgba(15,23,42,.08);--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:280px;background:#0f172a;color:#fff;padding:22px;display:flex;flex-direction:column;gap:18px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{display:flex;align-items:center;gap:12px}.brand.centered{justify-content:center;margin-bottom:22px}.brand-mark{width:42px;height:42px;border-radius:14px;background:#fff;color:#0f172a;display:grid;place-items:center;font-weight:800}.brand span{display:block;font-size:13px;color:#cbd5e1;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a,.logout{padding:10px 13px;border-radius:12px;text-decoration:none;color:#dbeafe;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.logout{margin-top:auto;color:#fecaca}.content{margin-left:280px;padding:28px;width:calc(100% - 280px)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:16px}.topbar h1{margin:0;font-size:30px;letter-spacing:-.03em}.topbar p{margin:6px 0 0;color:var(--muted)}.badge,.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:#fff;color:var(--muted);font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;overflow:auto}.card h2{margin:0 0 16px;font-size:18px}.card.stat span{display:block;color:var(--muted);font-size:13px}.card.stat strong{display:block;margin-top:8px;font-size:24px;letter-spacing:-.03em}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:minmax(380px,.9fr) minmax(500px,1.2fr)}.narrow{max-width:980px}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.right{text-align:right}.actions{white-space:nowrap;display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:18px 0}form label{display:flex;flex-direction:column;gap:7px;font-size:14px;color:#344054}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;color:var(--text)}textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid hr,.full-row{grid-column:1/-1}.button{border:0;border-radius:12px;padding:11px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:inherit;background:#eef2f7;color:#111827;font-weight:650}.button.primary{background:var(--primary);color:#fff}.button.ghost{background:#fff;border:1px solid var(--line)}.button.small{padding:7px 10px;font-size:12px}.button.full{width:100%}.export-buttons{display:flex;gap:12px;flex-wrap:wrap}.alert{padding:13px 15px;border-radius:14px;margin:0 0 16px;background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.alert.danger{background:#fef3f2;color:var(--danger);border-color:#fecdca}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,#0f172a 0%,#1e293b 45%,#f4f6f8 45%)}.login-card{width:min(440px,100%);background:#fff;border-radius:24px;padding:28px;box-shadow:0 20px 50px rgba(2,6,23,.25)}.setup-card{width:min(760px,100%)}.login-card form{display:grid;gap:14px}.line-editor{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fafafa}.line-header,.line-row{display:grid;grid-template-columns:2fr .6fr .8fr .6fr 44px;gap:8px;align-items:center;margin-bottom:8px}.line-header{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.toolbar{margin-bottom:16px;display:flex;gap:10px}.paper{background:#fff;border:1px solid var(--line);border-radius:8px;padding:36px;max-width:950px;margin:auto;box-shadow:var(--shadow)}.paper-head{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #111827;padding-bottom:22px;margin-bottom:22px}.paper h2{font-size:36px;margin:0;letter-spacing:-.04em}.doc-number{font-size:18px;color:var(--muted);margin:6px 0 0}.company{text-align:right;line-height:1.6}.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px}.doc-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px}.doc-table tfoot td{border-bottom:0}.payment-note{background:#f8fafc;border-radius:12px;padding:14px}.paper-footer{border-top:1px solid var(--line);margin-top:24px;padding-top:14px;color:var(--muted);font-size:13px}@media(max-width:1150px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two{grid-template-columns:1fr}}@media(max-width:850px){.sidebar{position:static;width:auto}.app-shell{display:block}.content{margin-left:0;width:auto;padding:18px}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.line-header{display:none}.line-row{grid-template-columns:1fr 1fr}.line-row input:first-child{grid-column:1/-1}.paper-head,.doc-grid{grid-template-columns:1fr;display:grid}.company{text-align:left}}@media print{body{background:#fff}.sidebar,.topbar,.no-print,.alert{display:none!important}.content{margin:0;padding:0;width:100%}.paper{box-shadow:none;border:0;border-radius:0;max-width:none}.app-shell{display:block}a{text-decoration:none}}

.settings-heading{margin:18px 0 4px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:1rem}

.grid.preview-grid{grid-template-columns:minmax(420px,1.1fr) minmax(420px,.9fr);align-items:start}.invoice-preview{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#f8fafc}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff}.invoice-preview iframe{width:100%;height:72vh;min-height:560px;border:0;background:#fff}.invoice-preview img{display:block;max-width:100%;height:auto;margin:auto}.raw-text{margin-top:14px}.raw-text pre{white-space:pre-wrap;max-height:260px;overflow:auto;background:#0f172a;color:#e5e7eb;border-radius:12px;padding:12px;font-size:12px}.alert.info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}@media(max-width:1150px){.grid.preview-grid{grid-template-columns:1fr}.invoice-preview iframe{height:60vh;min-height:420px}}

.danger-text{color:#b91c1c;font-weight:600;}


.product-search-box{border:1px solid var(--line);border-radius:16px;padding:14px;background:#f8fafc;margin-bottom:14px}.product-search-box h3{margin:0 0 6px}.product-search-controls{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.product-search-results{display:grid;gap:10px;margin-top:12px;max-height:460px;overflow:auto}.product-result{display:grid;grid-template-columns:72px 1fr 140px;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px}.product-result-main small,.product-result-price small{display:block;color:var(--muted);margin-top:4px}.product-result-price{text-align:right;display:grid;gap:5px;justify-items:end}.product-result-img,.product-thumb{width:64px;height:64px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff}.product-result-img.placeholder,.product-thumb.placeholder{display:grid;place-items:center;text-align:center;color:var(--muted);font-size:11px;background:#f1f5f9}.product-cell{display:flex;gap:12px;align-items:flex-start}.small-link{font-size:12px;color:#1d4ed8;text-decoration:none}.small-link:hover{text-decoration:underline}@media(max-width:850px){.product-search-controls{grid-template-columns:1fr}.product-result{grid-template-columns:56px 1fr}.product-result-price{grid-column:1/-1;text-align:left;justify-items:start}.product-result-img,.product-thumb{width:52px;height:52px}}

.brand-logo-wrap{display:flex;align-items:center;justify-content:center;background:transparent;border-radius:14px;padding:0;min-width:54px;min-height:54px}.brand-logo{display:block;max-height:62px;width:auto;object-fit:contain}.sidebar-logo{max-height:62px}.login-logo{max-height:96px}.doc-logo{display:block;max-height:105px;width:auto;margin:0 0 16px}.logo-settings{border:1px solid var(--line);border-radius:16px;padding:14px;background:#f8fafc}.logo-settings h3{margin:0 0 10px}.logo-preview-box{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:12px}.logo-preview{display:block;max-height:110px;width:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.checkbox-label input{width:auto}.paper-head .doc-logo+h2{margin-top:0}
.button.danger{background:#fef3f2;border:1px solid #fecdca;color:#b42318}.button.danger:hover{background:#fee4e2}.toolbar{flex-wrap:wrap}.checkbox-label{flex-direction:row;align-items:center}.checkbox-label input{width:auto}

.unit-price-box{background:#fff7ed;border-color:#fed7aa}.unit-price-icon{width:64px;height:64px;border-radius:14px;background:#0f172a;color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px}.unit-price-result .product-result-price{gap:6px}.inline-form select{min-width:180px}@media(max-width:850px){.unit-price-icon{width:52px;height:52px}}

.quick-list-panel{border-color:#bfdbfe;background:#eff6ff}.quick-list-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.quick-list-preview{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;max-height:260px;overflow:auto}.quick-list-preview ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.quick-list-preview li{border-bottom:1px solid var(--line);padding-bottom:8px}.quick-list-preview li:last-child{border-bottom:0;padding-bottom:0}.quick-list-preview small{display:block;color:var(--muted);margin-top:3px}.quick-list-import{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#eff6ff}.quick-list-toast{position:fixed;right:24px;bottom:24px;background:#111827;color:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 16px 40px rgba(15,23,42,.25);opacity:0;transform:translateY(12px);transition:.2s ease;z-index:9999;pointer-events:none}.quick-list-toast.show{opacity:1;transform:translateY(0)}@media(max-width:850px){.quick-list-import,.quick-list-actions{display:grid;grid-template-columns:1fr}.quick-list-toast{left:18px;right:18px;bottom:18px}}
.code-box{background:#f6f7fb;border:1px solid #dfe3ee;border-radius:12px;padding:14px;margin:12px 0;word-break:break-all}.code-box code{font-size:16px;letter-spacing:1px}

/* v4.7 mobiel + app-layout */
.button.danger{background:#b42318;color:#fff}.button.danger.ghost{background:#fff;color:#b42318;border:1px solid #fecdca}.subtle-card{box-shadow:none;background:#f8fafc;margin:14px 0}.mobile-menu-button,.mobile-nav-close,.mobile-nav-overlay{display:none}.topbar-title{min-width:0}.trust-device-check{margin-top:-4px;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:#344054}.trust-device-check input{width:auto}.mobile-nav-close{margin-left:auto;width:38px;height:38px;border:0;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:28px;line-height:1;cursor:pointer}.mobile-menu-button{width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;justify-content:center;flex-direction:column;gap:5px;box-shadow:0 8px 18px rgba(15,23,42,.06);flex:0 0 auto}.mobile-menu-button span{display:block;width:20px;height:2px;background:#111827;border-radius:999px}.mobile-nav-overlay{position:fixed;inset:0;background:rgba(2,6,23,.48);z-index:45;opacity:0;pointer-events:none;transition:opacity .18s ease}.product-result{border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;margin:10px 0;background:#fff}.product-result-img{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.product-result-img.placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;text-align:center}.product-result-main strong,.product-result-main small{display:block}.product-result-main small{color:var(--muted);margin-top:4px}.product-result-price{display:flex;align-items:flex-end;gap:8px;flex-direction:column}.unit-price-icon{width:56px;height:56px;border-radius:16px;background:#eef2f7;display:grid;place-items:center;font-weight:800;color:#111827}.quick-list-toast{position:fixed;right:18px;bottom:18px;background:#111827;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 16px 36px rgba(2,6,23,.22);z-index:80;opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s}.quick-list-toast.show{opacity:1;transform:translateY(0)}

@media(max-width:850px){
  body.nav-open{overflow:hidden}.app-shell{display:block;min-height:100dvh}.mobile-menu-button{display:inline-flex}.mobile-nav-close{display:inline-grid;place-items:center}.mobile-nav-overlay{display:block}.nav-open .mobile-nav-overlay{opacity:1;pointer-events:auto}.sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,330px);height:100dvh;z-index:60;transform:translateX(-104%);transition:transform .2s ease;box-shadow:18px 0 45px rgba(2,6,23,.28);border-radius:0;padding:18px}.nav-open .sidebar{transform:translateX(0)}.sidebar nav a,.logout{font-size:16px;padding:13px 14px}.brand{align-items:center}.brand-logo{max-width:150px;height:auto}.content{margin-left:0;width:100%;padding:14px}.topbar{position:sticky;top:0;z-index:35;background:rgba(244,246,248,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin:-14px -14px 16px;padding:12px 14px;align-items:center}.topbar h1{font-size:21px;line-height:1.1}.topbar p{display:none}.badge{font-size:11px;padding:4px 8px}.card{border-radius:16px;padding:14px;margin-bottom:14px;box-shadow:0 8px 22px rgba(15,23,42,.06)}.card h2{font-size:17px}.cards{grid-template-columns:1fr;gap:12px}.grid.two,.grid{grid-template-columns:1fr!important;gap:14px}.form-grid{grid-template-columns:1fr!important;gap:12px}.toolbar,.export-buttons,.actions{gap:8px}.actions{white-space:normal}.actions .button{flex:1 1 auto}.button{min-height:42px}.button.small{min-height:36px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:680px}th,td{padding:10px 8px}.line-editor{padding:10px}.line-row{grid-template-columns:1fr 1fr!important;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.line-row:last-child{border-bottom:0}.line-row input:first-child{grid-column:1/-1}.line-row button{width:100%}.product-result{grid-template-columns:64px 1fr;align-items:start}.product-result-img{width:60px;height:60px}.product-result-price{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.product-result-price .button{flex:1 1 120px}.paper{padding:18px;border-radius:14px}.paper h2{font-size:26px}.paper-head,.doc-grid{display:grid;grid-template-columns:1fr}.company{text-align:left}.login-body{padding:16px}.login-card{padding:20px;border-radius:20px}.login-logo{max-height:76px}.brand.centered{flex-direction:column;text-align:center}.quick-list-toast{left:12px;right:12px;bottom:12px;text-align:center}
}

/* v4.8 compacte mobiele weergave - alleen actief op telefoon/tablet */
@media(max-width:850px){
  :root{--radius:14px}
  .content{padding:10px}.topbar{margin:-10px -10px 10px;padding:9px 10px;gap:9px}.topbar h1{font-size:18px}.mobile-menu-button{width:40px;height:40px;border-radius:12px}.badge{display:none}.card{padding:10px;border-radius:13px;margin-bottom:10px}.card h2{font-size:15px;margin-bottom:10px}.card p{margin-top:6px;margin-bottom:8px}.muted{font-size:12px;line-height:1.35}

  /* Dashboard/BTW-cijfers als compacte tegels in plaats van enorme blokken */
  .cards{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:8px;margin-bottom:10px}.card.stat{padding:9px 10px;min-height:70px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.card.stat span{font-size:11px;line-height:1.15;white-space:normal}.card.stat strong{font-size:17px;line-height:1.1;margin-top:5px;letter-spacing:-.02em;word-break:break-word}

  /* Formulieren compacter: korte velden naast elkaar, lange velden volledige breedte */
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.form-grid .full-row,.form-grid hr,.form-grid label.full-row,.form-grid label:has(textarea),.form-grid label:has(input[type=file]){grid-column:1/-1}form label{gap:4px;font-size:12px}input,select,textarea{padding:8px 9px;border-radius:10px;font-size:14px}textarea{min-height:72px}.button{min-height:36px;padding:8px 10px;border-radius:10px;font-size:13px}.button.small{min-height:30px;padding:6px 8px}.toolbar,.export-buttons{gap:6px;margin-bottom:10px}.actions{gap:6px}.actions .button{flex:0 1 auto}

  /* Offerte-/factuurregels compacter */
  .line-editor{padding:8px;border-radius:12px}.line-row{grid-template-columns:1.4fr .55fr .75fr .65fr 32px!important;gap:5px;align-items:end;padding:7px 0}.line-row input:first-child{grid-column:auto}.line-row input,.line-row select{font-size:13px;padding:7px 8px}.line-row .button,.line-row button{min-height:32px;padding:6px 8px}.line-header{display:none}

  /* Zoekresultaten/producten minder hoog */
  .product-search-box{padding:10px;border-radius:13px;margin-bottom:10px}.product-search-box h3{font-size:15px;margin-bottom:4px}.product-search-controls{gap:6px}.product-search-results{gap:6px;margin-top:8px;max-height:58vh}.product-result{grid-template-columns:46px 1fr auto!important;gap:8px;padding:8px;border-radius:12px;margin:6px 0}.product-result-img,.product-thumb{width:44px;height:44px;border-radius:9px}.product-result-main strong{font-size:13px;line-height:1.25}.product-result-main small{font-size:11px;line-height:1.25;margin-top:2px}.product-result-price{grid-column:auto!important;align-items:flex-end;justify-content:center;gap:4px;min-width:88px}.product-result-price strong{font-size:13px}.product-result-price small{font-size:10px}.product-result-price .button{min-height:30px;padding:6px 8px;font-size:12px;flex:0 0 auto}.unit-price-icon{width:44px;height:44px;border-radius:12px;font-size:14px}

  /* Tabellen en lijsten iets rustiger op mobiel */
  th,td{padding:8px 6px;font-size:13px}th{font-size:10px}.table-wrap{border:1px solid var(--line);border-radius:12px;background:#fff}table{min-width:580px}.quick-list-import{padding:9px;border-radius:12px;margin-bottom:8px}.quick-list-preview{padding:9px;max-height:180px}.alert{padding:9px 10px;border-radius:12px;font-size:13px;margin-bottom:10px}.grid.two,.grid{gap:10px!important}
}

@media(max-width:420px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card.stat strong{font-size:15px}.form-grid{grid-template-columns:1fr 1fr!important}.line-row{grid-template-columns:1fr 62px 76px 62px 30px!important}.line-row input,.line-row select{font-size:12px;padding:6px}.product-result{grid-template-columns:40px 1fr!important}.product-result-price{grid-column:1/-1!important;display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;min-width:0}.product-result-img,.product-thumb{width:38px;height:38px}.product-result-price .button{justify-self:end}
}

/* v5.2 gebruikers + werkbonnen */
.workorder-list{display:grid;gap:.75rem}
.workorder-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:1rem;background:rgba(15,23,42,.42)}
.workorder-card h3{margin:.1rem 0 .25rem;font-size:1rem}
.workorder-card p{margin:.2rem 0}
.workorder-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}
.workorder-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.workorder-detail-grid>div{border:1px solid rgba(148,163,184,.16);border-radius:14px;padding:.75rem;background:rgba(15,23,42,.35);min-height:70px}
.preline{white-space:pre-line}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin-top:.75rem}
.photo-grid a{display:block;border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:.65rem;background:rgba(15,23,42,.35);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill.success{background:rgba(34,197,94,.14);color:#bbf7d0;border-color:rgba(34,197,94,.35)}
.pill.danger{background:rgba(239,68,68,.14);color:#fecaca;border-color:rgba(239,68,68,.35)}
.checkbox-label{display:flex!important;gap:.55rem;align-items:center;justify-content:flex-start;min-height:44px}
.checkbox-label input[type=checkbox]{width:auto;min-width:18px;height:18px}
@media (max-width: 900px){
  .workorder-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .workorder-detail-grid>div{padding:.6rem;min-height:auto}
  .workorder-card{grid-template-columns:1fr;padding:.75rem;border-radius:14px;gap:.6rem}
  .workorder-actions{justify-content:flex-start}
  .workorder-card h3{font-size:.95rem}
  .photo-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .workorder-detail-grid{grid-template-columns:1fr 1fr}
  .workorder-detail-grid strong{display:block;font-size:.78rem;color:#94a3b8;margin-bottom:.15rem}
  .workorder-card .button.small{padding:.45rem .55rem;font-size:.78rem}
  .photo-grid{grid-template-columns:1fr}
}

/* v5.3 klantportaal */
.customer-portal-stats .stat strong { font-size: clamp(1.4rem, 5vw, 2.1rem); }
.customer-portal-stats { margin-bottom: 1rem; }
@media (max-width: 720px) {
  .customer-portal-stats.cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .customer-portal-stats .card.stat { padding: .75rem; min-height: auto; }
  .customer-portal-stats .stat span { font-size: .78rem; }
  .customer-portal-stats .stat strong { font-size: 1.25rem; }
}

/* v5.4 planning + routes */
.planning-filter{align-items:end;margin-bottom:.8rem}.planning-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem}.planning-map{border:1px solid rgba(148,163,184,.2);border-radius:18px;overflow:hidden;background:rgba(15,23,42,.35);height:260px;margin:.85rem 0}.planning-map iframe{width:100%;height:100%;border:0;filter:saturate(.92)}.route-list{display:grid;gap:.65rem;margin:1rem 0}.route-stop{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:.75rem;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:.8rem;background:rgba(15,23,42,.42)}.route-stop-number{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:rgba(59,130,246,.18);color:#dbeafe;font-weight:800}.route-stop h3{margin:.05rem 0 .2rem;font-size:1rem}.route-stop p{margin:.15rem 0}.route-stop-actions{display:flex;gap:.4rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.planning-note{border-left:3px solid rgba(56,189,248,.55);padding-left:.55rem;color:#bae6fd;font-size:.92rem}
@media(max-width:720px){.planning-filter.form-grid{grid-template-columns:1fr 1fr!important}.planning-actions .button{flex:1 1 46%;justify-content:center}.planning-map{height:190px;border-radius:14px}.route-stop{grid-template-columns:34px minmax(0,1fr);gap:.55rem;padding:.65rem;border-radius:14px}.route-stop-number{width:28px;height:28px;font-size:.85rem}.route-stop-actions{grid-column:1/-1;justify-content:flex-start}.route-stop h3{font-size:.92rem}.route-stop p,.planning-note{font-size:.82rem}.route-stop-actions .button.small{padding:.42rem .55rem;font-size:.76rem}}
@media(max-width:420px){.planning-filter.form-grid{grid-template-columns:1fr!important}.planning-actions .button{flex:1 1 100%}.planning-map{height:170px}}

/* v5.5 werkbonnen / monteur registratie */
.workorder-timer-card .workorder-quick-actions,
.workorder-quick-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: .65rem;
  align-items: stretch;
}
.workorder-quick-actions form { margin: 0; }
.workorder-quick-actions .button { width: 100%; justify-content: center; min-height: 44px; }
.button.success { background: #16a34a; color: #fff; border-color: #16a34a; }
.workorder-time-log { margin-top: 1rem; }
.workorder-materials-box {
  border: 1px solid var(--border, #d8dde8);
  border-radius: 16px;
  padding: 1rem;
  background: rgba(15, 23, 42, .025);
}
.workorder-material-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5rem;
  margin-bottom: .75rem;
}
.workorder-product-results {
  display: grid;
  gap: .5rem;
  margin-bottom: .75rem;
}
.workorder-product-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5rem;
  align-items: center;
  border: 1px solid var(--border, #d8dde8);
  border-radius: 12px;
  padding: .6rem .7rem;
  background: #fff;
}
.workorder-material-table input {
  width: 100%;
  min-width: 0;
}
.workorder-material-table th,
.workorder-material-table td {
  vertical-align: middle;
}
@media (max-width: 760px) {
  .workorder-timer-card .workorder-quick-actions,
  .workorder-quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
  }
  .workorder-material-search { grid-template-columns: 1fr; }
  .workorder-product-result { grid-template-columns: 1fr; }
  .workorder-product-result .button { width: 100%; }
  .workorder-materials-box { padding: .7rem; border-radius: 12px; }
  .workorder-material-table th:nth-child(4),
  .workorder-material-table td:nth-child(4) { display: none; }
}

/* v5.6 werkboncontrole */
.workorder-review-actions .button { margin-right: .4rem; }
.workorder-detail-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.75rem; }
.preline { white-space:pre-line; }
@media (max-width: 760px){
  .workorder-detail-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  .workorder-detail-grid div{ font-size:.9rem; }
}

/* v5.7 serviceverzoeken / openbaar meldformulier */
.service-request-list{display:grid;gap:1rem}
.service-request-card{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;border:1px solid var(--border);border-radius:18px;padding:1rem;background:rgba(255,255,255,.02)}
.service-request-main h3{margin:.1rem 0 .25rem}
.service-request-actions{display:grid;gap:.75rem;align-content:start}
.service-request-actions form{background:rgba(15,23,42,.035);border:1px solid var(--border);border-radius:14px;padding:.75rem;display:grid;gap:.55rem}
.service-request-actions h4{margin:.1rem 0 .25rem;font-size:.95rem}
.section-title.compact{align-items:flex-start;margin-bottom:.6rem}
.workorder-detail-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:.65rem 0}
.service-attachments{margin-top:.75rem}
.public-service-page{min-height:100vh;background:radial-gradient(circle at top left,#0f365f 0,#020617 38%,#020617 100%);color:#e5e7eb}
.public-service-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}
.public-service-card{width:min(920px,100%);background:rgba(15,23,42,.94);border:1px solid rgba(148,163,184,.22);border-radius:26px;padding:1.25rem;box-shadow:0 24px 80px rgba(0,0,0,.38)}
.public-service-brand{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.public-service-brand h1{margin:0;font-size:clamp(1.45rem,4vw,2.1rem);color:#fff}
.public-service-brand p{margin:.25rem 0 0;color:#cbd5e1}
.public-service-card label{color:#e5e7eb}
.public-service-card input,.public-service-card textarea,.public-service-card select{background:#fff;color:#0f172a;border-color:#334155}
.public-service-card .button.ghost{border-color:rgba(148,163,184,.55);color:#e5e7eb}
.public-service-form{margin-top:.5rem}
@media (max-width: 850px){
  .service-request-card{grid-template-columns:1fr;padding:.8rem}
  .workorder-detail-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-request-actions form{padding:.65rem}
}
@media (max-width: 560px){
  .public-service-shell{padding:.6rem;place-items:start center}
  .public-service-card{border-radius:18px;padding:.9rem}
  .public-service-brand{align-items:flex-start;gap:.75rem}
  .public-service-brand .brand-logo-wrap{max-width:95px}
}

/* v6.0 compact menu met submenu's */
.sidebar{width:250px;padding:14px 12px;gap:10px;scrollbar-width:thin}
.content{margin-left:250px;width:calc(100% - 250px)}
.brand{gap:9px;padding:0 4px 8px;border-bottom:1px solid rgba(148,163,184,.18)}
.brand-logo-wrap{min-width:42px;min-height:42px}.brand-logo,.sidebar-logo{max-height:48px}.brand strong{font-size:14px}.brand span{font-size:11px;margin-top:0}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar nav{gap:4px}.nav-link,.nav-group-toggle,.logout.nav-link{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;border:0;text-align:left;border-radius:10px;background:transparent;color:#dbeafe;text-decoration:none;font:inherit;font-size:13px;line-height:1.15;padding:8px 9px;cursor:pointer}.nav-link:hover,.nav-link.active,.nav-group-toggle:hover{background:rgba(255,255,255,.09);color:#fff}.nav-link.active{box-shadow:inset 3px 0 0 #38bdf8}.nav-ico{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:rgba(255,255,255,.08);font-size:12px;line-height:1}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group-toggle{grid-template-columns:24px minmax(0,1fr) 16px;color:#cbd5e1;font-weight:750;margin-top:2px}.nav-chevron{font-size:12px;opacity:.75;transition:transform .16s ease;text-align:center}.nav-group.open>.nav-group-toggle .nav-chevron{transform:rotate(180deg)}.nav-submenu{display:grid;gap:2px;max-height:0;overflow:hidden;transition:max-height .18s ease, padding .18s ease;padding:0 0 0 0}.nav-group.open>.nav-submenu{max-height:620px;padding:3px 0 5px 14px}.nav-submenu .nav-link{font-size:12.5px;padding:7px 8px;color:#bfdbfe}.nav-submenu .nav-ico{width:20px;height:20px;font-size:11px;background:rgba(15,23,42,.22)}.logout.nav-link{margin-top:auto;color:#fecaca;grid-template-columns:24px minmax(0,1fr)}.logout.nav-link:hover{background:rgba(239,68,68,.12);color:#fff}.mobile-nav-close{flex:0 0 auto}
@media(max-width:850px){
  .content{margin-left:0;width:100%}.sidebar{width:min(82vw,300px);padding:12px;gap:8px}.brand{padding-bottom:8px}.brand-logo,.sidebar-logo{max-height:42px}.brand strong{font-size:13px}.brand span{font-size:10px}.sidebar nav a,.logout{font-size:13px;padding:0}.nav-link,.nav-group-toggle,.logout.nav-link{font-size:13px;padding:8px 9px;min-height:38px;border-radius:10px}.nav-submenu .nav-link{font-size:12.5px;min-height:34px;padding:7px 8px}.nav-group.open>.nav-submenu{padding-left:12px;max-height:620px}.nav-ico{width:21px;height:21px}.sidebar-nav{gap:3px}.topbar{min-height:54px}.mobile-menu-button{box-shadow:none}.logout.nav-link{margin-top:8px;border-top:1px solid rgba(148,163,184,.16);padding-top:10px}
}
@media(max-width:420px){
  .sidebar{width:min(84vw,286px)}.nav-link,.nav-group-toggle,.logout.nav-link{font-size:12.5px;min-height:36px;padding:7px 8px}.nav-submenu .nav-link{font-size:12px;min-height:32px}.brand-logo,.sidebar-logo{max-height:38px}.nav-group.open>.nav-submenu{padding-left:9px}.nav-ico{font-size:11px}
}

/* RMD v6.1 - werkbon workflow */
.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;margin:.8rem 0}.check-item{border:1px solid rgba(148,163,184,.35);border-radius:14px;padding:.75rem;background:#fff}.check-item strong{display:block}.check-item span{font-size:.86rem;color:#64748b}.check-item.ok{border-color:#16a34a;background:#f0fdf4}.check-item.todo{border-color:#f59e0b;background:#fffbeb}.start-work-form{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap}.compact-file{font-size:.85rem;display:flex;flex-direction:column;gap:.25rem}.compact-file input{max-width:260px}.workorder-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.6rem}.workorder-photo-grid img{width:100%;height:92px;object-fit:cover;border-radius:12px;border:1px solid rgba(148,163,184,.35)}.signature-box{border:1px dashed rgba(59,130,246,.35);border-radius:16px;padding:1rem;background:#f8fafc}.signature-pad{width:100%;max-width:720px;height:220px;background:#fff;border:1px solid rgba(15,23,42,.25);border-radius:14px;touch-action:none}.signature-preview{max-width:320px;max-height:120px;background:#fff;border:1px solid rgba(148,163,184,.5);border-radius:10px}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap}.workorder-print .print-header,.signature-print-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border:1px solid #d1d5db;border-radius:12px;padding:.8rem;margin:.8rem 0}.print-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.print-photos{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem}.print-photos img{width:90px;height:70px;object-fit:cover;border:1px solid #d1d5db;border-radius:8px}.signature-print{max-width:260px;max-height:100px;background:#fff;border:1px solid #d1d5db;border-radius:8px}.small-print{font-size:.8rem}@media(max-width:720px){.checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.check-item{padding:.55rem}.workorder-quick-actions{display:grid;grid-template-columns:1fr;gap:.55rem}.start-work-form{display:grid;grid-template-columns:1fr;align-items:stretch}.signature-pad{height:170px}.print-photo-row,.signature-print-row,.workorder-print .print-header{grid-template-columns:1fr}}@media print{.no-print,.topbar,.sidebar,.mobile-nav-overlay,.button{display:none!important}.app-shell{display:block}.main{padding:0}.card{box-shadow:none!important;border:0!important}.workorder-print{font-size:11px}.workorder-print h2{font-size:18px}.workorder-print h3{font-size:13px;margin:.4rem 0}.print-photos img{width:72px;height:54px}.signature-print{max-height:70px}.workorder-print table{font-size:10px}.workorder-print{page-break-inside:auto}}

/* v7.3 AI Offerte Assistent */
.ai-offer-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px;align-items:start}
.ai-offer-start .card{min-width:0}
.ai-drawing{background:#f8fafc;border:1px solid rgba(148,163,184,.45);border-radius:18px;overflow:hidden;padding:8px;margin:12px 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.ai-drawing svg{width:100%;height:auto;display:block;border-radius:14px}
.check-list{margin:8px 0 14px 0;padding-left:18px;display:grid;gap:6px}
.check-list li{line-height:1.35}
.checkbox-line{display:flex!important;gap:10px;align-items:center;min-height:42px;padding:10px 12px;border:1px solid rgba(148,163,184,.25);border-radius:14px;background:rgba(15,23,42,.03)}
.checkbox-line input{width:auto!important;min-width:18px}
@media (max-width:900px){
  .ai-offer-layout{grid-template-columns:1fr}
  .ai-offer-start{grid-template-columns:1fr!important}
  .ai-drawing{padding:4px;border-radius:14px}
}

/* v7.4 Handleiding en vraagteken-uitleg */
.help-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(56,189,248,.55);background:rgba(14,165,233,.12);color:#0369a1;font-weight:900;font-size:15px;line-height:1;cursor:pointer;vertical-align:middle;transition:background .15s ease, transform .15s ease, box-shadow .15s ease;flex:0 0 auto}
.help-icon:hover,.help-icon.active{background:#0ea5e9;color:#fff;transform:translateY(-1px);box-shadow:0 8px 24px rgba(14,165,233,.22)}
.help-icon.small-help{width:22px;height:22px;font-size:12px;margin:0 0 0 .35rem;display:inline-grid;float:right}
.topbar .help-icon{margin-left:auto;margin-right:.55rem;background:rgba(15,23,42,.05)}
.help-bubble{position:fixed;z-index:9999;background:#0f172a;color:#e5e7eb;border:1px solid rgba(125,211,252,.35);border-radius:16px;padding:.85rem .95rem;box-shadow:0 22px 70px rgba(2,6,23,.45);font-size:.92rem;line-height:1.42;animation:helpPop .12s ease-out}
.help-bubble strong{display:block;color:#fff;margin-bottom:.25rem}.help-bubble p{margin:0;color:#dbeafe}.help-bubble:before{content:'';position:absolute;top:-7px;left:calc(50% - 7px);width:14px;height:14px;background:#0f172a;border-left:1px solid rgba(125,211,252,.35);border-top:1px solid rgba(125,211,252,.35);transform:rotate(45deg)}
@keyframes helpPop{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.manual-hero{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(15,23,42,.03))}.manual-hero h2{margin-bottom:.25rem}.manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem}.manual-card h2{font-size:1.05rem;margin-bottom:.6rem}.manual-card ol{margin:.2rem 0 0 1.15rem;padding:0;display:grid;gap:.38rem}.manual-card li{line-height:1.35}.manual-card{break-inside:avoid}.manual-card:nth-child(4),.manual-card:nth-child(8){border-color:rgba(14,165,233,.25)}
@media(max-width:760px){.topbar{gap:.45rem}.topbar .help-icon{width:34px;height:34px;margin-left:.2rem;margin-right:.2rem}.help-icon.small-help{width:24px;height:24px}.help-bubble{left:12px!important;right:12px!important;top:auto!important;bottom:14px!important;max-width:none!important;border-radius:18px;padding:1rem}.help-bubble:before{display:none}.manual-hero{display:grid}.manual-grid{grid-template-columns:1fr;gap:.75rem}.manual-card ol{font-size:.94rem}}
@media print{.help-icon,.help-bubble{display:none!important}.manual-grid{grid-template-columns:1fr 1fr;gap:.5rem}.manual-card{box-shadow:none!important;border:1px solid #d1d5db!important;padding:.6rem}.manual-card h2{font-size:13px}.manual-card li{font-size:10px}.manual-hero{box-shadow:none!important;border:0!important;padding:.5rem}.manual-hero p{font-size:11px}}

/* v7.5 Actiecentrum */
.action-center-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:4px solid #38bdf8;background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(15,23,42,.02));}
.action-stats .action-high strong{color:#ef4444;}
.quick-actions{display:flex;flex-wrap:wrap;gap:.5rem;}
.action-list{display:grid;gap:.75rem;}
.action-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(148,163,184,.25);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 10px 25px rgba(15,23,42,.05);}
.action-item h3{margin:.35rem 0 .2rem;font-size:1rem;}
.action-main{min-width:0;}
.action-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
.priority-hoog{border-left:5px solid #ef4444;}
.priority-normaal{border-left:5px solid #f59e0b;}
.priority-laag{border-left:5px solid #38bdf8;}
.priority-hoog .priority-pill{background:#fee2e2;color:#991b1b;}
.priority-normaal .priority-pill{background:#fef3c7;color:#92400e;}
.priority-laag .priority-pill{background:#e0f2fe;color:#075985;}
.action-side{display:flex;align-items:center;gap:.6rem;white-space:nowrap;}
.empty-state{padding:1.5rem;border:1px dashed rgba(148,163,184,.55);border-radius:18px;text-align:center;background:rgba(248,250,252,.7);}
@media (max-width: 760px){
  .action-center-summary,.action-item{display:block;}
  .action-side{margin-top:.75rem;justify-content:space-between;}
  .quick-actions .button{flex:1 1 calc(50% - .5rem);text-align:center;}
}


/* v7.6 Projectdossier / opleverdossier */
.dossier-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(15,23,42,.02));border-left:4px solid #38bdf8}
.dossier-stats{margin:.9rem 0 1rem}.dossier-stats .stat small{display:block;color:#64748b;margin-top:.2rem}.dossier-list{display:grid;gap:.75rem}.dossier-card{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border:1px solid rgba(148,163,184,.25);border-radius:18px;padding:1rem;background:rgba(255,255,255,.78);box-shadow:0 10px 25px rgba(15,23,42,.05)}.dossier-card h3{margin:.1rem 0 .25rem}.dossier-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.detail-list{display:grid;grid-template-columns:130px minmax(0,1fr);gap:.45rem .8rem;margin:0}.detail-list dt{font-weight:800;color:#334155}.detail-list dd{margin:0;color:#0f172a}.dossier-grid{align-items:start}.dossier-workorders{display:grid;gap:.75rem}.dossier-workorder{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:.9rem;background:#fff}.dossier-workorder h3{margin:.1rem 0 .25rem}.dossier-mini-checks{display:flex;gap:.45rem;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end}.dossier-report{max-width:980px}.compact-report-list{display:grid;gap:.4rem;margin:.4rem 0 .8rem 1rem;padding:0}.dossier-report-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.45rem 0 .8rem}.dossier-report-photos figure{margin:0;border:1px solid #d1d5db;border-radius:10px;overflow:hidden;background:#fff}.dossier-report-photos img{width:100%;height:110px;object-fit:cover;display:block}.dossier-report-photos figcaption{font-size:.75rem;padding:.25rem .35rem;color:#475569}.dossier-report .doc-table{font-size:.92rem}.dossier-report .signature-print-row{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:760px){.dossier-hero,.dossier-card,.dossier-workorder{display:block}.dossier-card-actions,.dossier-mini-checks{justify-content:flex-start;margin-top:.7rem}.detail-list{grid-template-columns:1fr}.detail-list dt{margin-top:.35rem}.dossier-report-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-report-photos img{height:95px}}
@media print{.dossier-hero,.dossier-card,.dossier-workorder{box-shadow:none!important}.dossier-report{font-size:11px;max-width:none}.dossier-report h2{font-size:18px}.dossier-report h3{font-size:13px;margin:.45rem 0 .25rem}.dossier-report .doc-table{font-size:10px}.dossier-report-photos{grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem}.dossier-report-photos img{height:52px}.dossier-report-photos figcaption{font-size:8px}.compact-report-list li{font-size:10px}.dossier-report .signature-print-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.dossier-report .signature-print{max-height:60px}.dossier-report{page-break-inside:auto}}


/* v7.7 Planningbord + voorraad */
.planning-board-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.planning-board-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.planning-backlog{position:sticky;top:16px}.planning-column{min-height:240px}.planning-card-mini{border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:12px;margin:10px 0;background:rgba(15,23,42,.62)}.planning-card-mini h3{font-size:1rem;margin:.1rem 0 .35rem}.planning-card-form{display:grid;gap:8px;margin-top:10px}.planning-card-form input,.planning-card-form select{width:100%;min-height:36px}.planning-inline{display:grid;grid-template-columns:1fr 1fr 80px;gap:6px}.stock-low{background:rgba(239,68,68,.12)}.stock-low td:first-child:before{content:'⚠ ';color:#f87171}.table-scroll{overflow-x:auto}
@media (max-width:900px){.planning-board-layout{grid-template-columns:1fr}.planning-backlog{position:static}.planning-board-columns{grid-template-columns:1fr}.planning-inline{grid-template-columns:1fr 1fr 70px}.planning-card-mini{padding:10px}.planning-card-form{grid-template-columns:1fr}.planning-card-form .button{width:100%}}

/* v7.8 Rapportages + debiteuren */
.report-filter{background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(255,255,255,.92));}
.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.section-title h2{margin-bottom:.25rem}.section-title p{margin:0}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.debtor-list{display:grid;gap:.8rem;}
.debtor-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;border:1px solid rgba(148,163,184,.25);border-radius:18px;padding:1rem;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.05);}
.debtor-card h3{margin:.35rem 0 .2rem;font-size:1rem;}.debtor-card details{margin-top:.65rem}.debtor-card summary{cursor:pointer;font-weight:750;color:#0f172a}.debtor-card textarea{margin-top:.55rem;min-height:145px;font-size:.9rem;background:#f8fafc;}
.debtor-side{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;white-space:nowrap;}.debtor-side strong{font-size:1.05rem;}
@media(max-width:760px){.section-title,.debtor-card{display:block}.debtor-side{justify-content:flex-start;margin-top:.8rem}.report-filter .form-actions{display:grid;grid-template-columns:1fr}.report-filter .form-actions .button{width:100%}}


/* v7.9 objectregister + onderhoudsplanning */
.object-detail-grid, .detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 16px 0;
}
.filter-toolbar input, .filter-toolbar select { max-width: 280px; }
.priority-hoog { border-color: rgba(239, 68, 68, .45); background: rgba(239, 68, 68, .10); }
.priority-normaal { border-color: rgba(245, 158, 11, .45); background: rgba(245, 158, 11, .10); }
.priority-laag { border-color: rgba(34, 197, 94, .35); background: rgba(34, 197, 94, .08); }
.inline-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.inline-form input { min-width: 220px; }


/* v8.0 onderhoudscontracten + periodieke service */
.contract-batch{background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(255,255,255,.94));}
.contract-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;}
.contract-batch .toolbar{gap:.6rem;flex-wrap:wrap;}
.contract-batch form{display:inline-flex;}
.contract-batch .button{white-space:normal;}
@media(max-width:760px){.contract-actions{justify-content:flex-start;margin-top:.75rem}.contract-batch .toolbar,.contract-batch form{display:grid;grid-template-columns:1fr;width:100%}.contract-batch .button{width:100%}}

.pill.ok{background:#ecfdf3;color:#027a48;border-color:#abefc6}.pill.warn{background:#fffaeb;color:#b54708;border-color:#fedf89}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* v8.2 bankimport / betalingsmatch */
.bank-table td{vertical-align:top;}
.bank-table .inline-form{margin:.25rem 0;align-items:flex-start;}
.bank-table .inline-form select{max-width:260px;}
.bank-table small{line-height:1.35;}
.bank-table .actions{min-width:280px;}
@media(max-width:900px){.bank-table{font-size:.9rem}.bank-table .actions{min-width:220px}.bank-table .inline-form{display:grid;grid-template-columns:1fr}.bank-table .inline-form select,.bank-table .inline-form .button{width:100%;max-width:none}}

.bank-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:.5rem 0 1rem}.bank-summary .card{box-shadow:none;background:#f8fafc}.bank-summary .card strong{font-size:1.25rem}@media(max-width:900px){.bank-summary{grid-template-columns:1fr 1fr}}

/* v8.4 systeemcontrole + overzichtelijkere indeling */
.systemcheck-stats .stat strong{font-size:1.55rem}.status-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.35rem 0 .8rem}.systemcheck-stats .action-high strong{color:#ef4444}.systemcheck-stats+.card table td{vertical-align:top}.pill.priority-hoog{background:#fee2e2;color:#991b1b;border-color:#fecaca}.pill.priority-normaal{background:#fef3c7;color:#92400e;border-color:#fde68a}.pill.priority-laag{background:#e0f2fe;color:#075985;border-color:#bae6fd}@media(max-width:760px){.systemcheck-stats{grid-template-columns:1fr 1fr}.status-chips{display:grid;grid-template-columns:1fr}.status-chips .pill{width:100%;}}

/* v8.5 dashboard & menu rust */
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin-bottom:18px;background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(30,41,59,.86));color:#fff;overflow:hidden;position:relative}.dashboard-hero:after{content:'';position:absolute;right:-90px;top:-120px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.08)}.dashboard-hero h2{font-size:1.55rem;margin:.45rem 0 .25rem}.dashboard-hero .muted{color:#cbd5e1}.dashboard-hero .pill{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);color:#e2e8f0}.dashboard-quick-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}.dashboard-quick-actions .button.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.20);color:#fff}.dashboard-kpis .dashboard-tile{text-decoration:none;transition:transform .16s ease,box-shadow .16s ease;border-left:4px solid rgba(15,23,42,.18)}.dashboard-kpis .dashboard-tile:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.12)}.dashboard-kpis .dashboard-tile small{display:block;margin-top:.35rem;color:var(--muted)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.dashboard-panel{min-height:280px}.dashboard-list{display:grid;gap:.65rem}.dashboard-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;border:1px solid rgba(148,163,184,.26);border-radius:16px;padding:.85rem;background:#fff}.dashboard-list-item strong{display:block;margin:.2rem 0}.dashboard-list-item p{margin:.2rem 0 0}.dashboard-list-item .button{flex:0 0 auto}.dashboard-metric-list{display:grid;gap:.65rem}.dashboard-metric-list a{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;text-decoration:none;border:1px solid rgba(148,163,184,.28);border-radius:16px;padding:.85rem;background:#f8fafc}.dashboard-metric-list a:hover{background:#fff}.dashboard-metric-list span{color:var(--muted);font-size:.9rem}.dashboard-metric-list strong{text-align:right}.dashboard-metric-list small{display:block;margin-top:.2rem;color:var(--muted);font-weight:500;text-align:right}.dashboard-metric-list.compact a{padding:.7rem .8rem}.dashboard-shortcuts .button{justify-content:space-between}.sidebar .nav-group{border-radius:14px}.sidebar .nav-group-toggle{width:100%;display:flex;align-items:center;gap:10px;border:0;border-radius:12px;background:transparent;color:#dbeafe;padding:10px 13px;text-align:left;font:inherit;cursor:pointer}.sidebar .nav-group-toggle:hover,.sidebar .nav-group.open>.nav-group-toggle{background:rgba(255,255,255,.08);color:#fff}.sidebar .nav-chevron{margin-left:auto;font-size:.8rem;opacity:.8}.sidebar .nav-submenu{display:none;padding:4px 0 6px 12px;border-left:1px solid rgba(255,255,255,.10);margin-left:20px}.sidebar .nav-group.open .nav-submenu{display:grid;gap:3px}.sidebar .nav-submenu .nav-link{padding:8px 10px;font-size:13px}.sidebar .nav-ico{width:1.35rem;display:inline-grid;place-items:center;flex:0 0 1.35rem}.sidebar .nav-link{display:flex;align-items:center;gap:10px}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{display:block}.dashboard-quick-actions{justify-content:flex-start;margin-top:1rem}.dashboard-bottom{grid-template-columns:1fr!important}}
@media(max-width:760px){.dashboard-quick-actions,.dashboard-shortcuts{display:grid;grid-template-columns:1fr 1fr}.dashboard-quick-actions .button,.dashboard-shortcuts .button{width:100%}.dashboard-list-item,.dashboard-metric-list a{display:block}.dashboard-list-item .button{margin-top:.65rem;width:100%}.dashboard-metric-list strong,.dashboard-metric-list small{text-align:left}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-hero h2{font-size:1.25rem}}
@media(max-width:520px){.dashboard-quick-actions,.dashboard-shortcuts,.dashboard-kpis{grid-template-columns:1fr}}


/* v8.6 compacte layout + inklapbare menubalk */
:root{--radius:14px;--shadow:0 8px 22px rgba(15,23,42,.06)}
body{font-size:14px}.content{padding:20px;margin-left:236px;width:calc(100% - 236px)}.topbar{align-items:center;margin-bottom:14px;gap:10px}.topbar h1{font-size:24px;letter-spacing:-.025em}.topbar p{font-size:13px;margin-top:3px}.badge,.pill{font-size:11px;padding:4px 8px}.sidebar{width:236px;padding:12px 10px;gap:8px}.brand{gap:8px;padding-bottom:6px}.brand-logo-wrap{min-width:36px;min-height:36px}.brand-logo,.sidebar-logo{max-height:40px}.brand strong{font-size:12.5px;line-height:1.15}.brand span{font-size:10px;line-height:1.1}.sidebar-nav{gap:2px}.sidebar .nav-group{border-radius:10px}.nav-link,.nav-group-toggle,.logout.nav-link,.sidebar .nav-link,.sidebar .nav-group-toggle{font-size:12px;line-height:1.12;padding:6px 8px;min-height:32px;border-radius:9px;gap:7px}.sidebar .nav-submenu{margin-left:15px;padding:2px 0 4px 8px}.sidebar .nav-submenu .nav-link,.nav-submenu .nav-link{font-size:11.5px;padding:5px 7px;min-height:28px}.nav-ico,.sidebar .nav-ico{width:19px;height:19px;flex:0 0 19px;font-size:10.5px;border-radius:7px}.nav-chevron{font-size:10px}.logout.nav-link{margin-top:6px}.card{padding:14px;border-radius:14px}.card h2{font-size:16px;margin-bottom:10px}.card.stat span{font-size:12px}.card.stat strong{font-size:20px;margin-top:4px}.cards{gap:12px;margin-bottom:12px}.grid{gap:12px}.grid.two{grid-template-columns:minmax(340px,.85fr) minmax(460px,1.15fr);gap:12px}table{font-size:13px}th,td{padding:8px 7px}th{font-size:11px}.button{padding:8px 10px;border-radius:10px;font-size:13px}.button.small{padding:5px 8px;font-size:11.5px}input,select,textarea{padding:8px 10px;border-radius:10px;font-size:13px}textarea{min-height:72px}form label{gap:5px;font-size:13px}.form-grid{gap:10px}.toolbar,.export-buttons,.actions{gap:7px}.alert{padding:10px 12px;border-radius:12px;margin-bottom:12px}.table-wrap{border-radius:12px}.paper{padding:26px}.paper h2{font-size:30px}.doc-number{font-size:15px}.line-header,.line-row{gap:6px}.product-result{grid-template-columns:58px 1fr auto;gap:9px;padding:9px;border-radius:12px}.product-result-img{width:54px;height:54px}.unit-price-icon{width:46px;height:46px;border-radius:12px}.dashboard-hero{margin-bottom:12px;padding:14px}.dashboard-hero h2{font-size:1.25rem;margin:.25rem 0 .15rem}.dashboard-hero p{font-size:.9rem}.dashboard-quick-actions{gap:.4rem}.dashboard-grid{gap:12px;margin-bottom:12px}.dashboard-panel{min-height:unset}.dashboard-list{gap:.45rem}.dashboard-list-item{padding:.6rem;border-radius:12px}.dashboard-metric-list{gap:.45rem}.dashboard-metric-list a{padding:.6rem .7rem;border-radius:12px}.dashboard-metric-list span{font-size:.82rem}.dashboard-metric-list small{font-size:.75rem}.planning-board-layout{grid-template-columns:280px minmax(0,1fr);gap:12px}.planning-board-columns{gap:10px}.planning-card-mini{padding:9px;border-radius:12px}.planning-card-mini h3{font-size:.9rem}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#111827;cursor:pointer;font:inherit;font-weight:700;padding:7px 10px;box-shadow:0 6px 16px rgba(15,23,42,.05);flex:0 0 auto}.sidebar-toggle:hover{background:#f8fafc}.sidebar-toggle-icon{font-size:16px;line-height:1}.sidebar-toggle-text{font-size:12px}.topbar .help-icon{flex:0 0 auto}
@media (min-width:851px){body.nav-collapsed .sidebar{transform:translateX(-105%);box-shadow:none}body.nav-collapsed .content{margin-left:0;width:100%}body.nav-collapsed .sidebar-toggle{background:#0f172a;color:#fff;border-color:#0f172a}.sidebar{transition:transform .18s ease,box-shadow .18s ease}.content{transition:margin-left .18s ease,width .18s ease}}
@media (max-width:1150px){.grid.two{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:16px}.topbar h1{font-size:22px}.dashboard-grid{grid-template-columns:1fr}}
@media (max-width:850px){.sidebar-toggle{display:none}.content{margin-left:0;width:100%;padding:12px}.topbar{margin:-12px -12px 12px;padding:10px 12px;min-height:50px}.topbar h1{font-size:19px}.card{padding:12px}.cards{grid-template-columns:1fr;gap:10px}.button{padding:9px 10px}.sidebar{width:min(82vw,286px);padding:11px 10px}.nav-link,.nav-group-toggle,.logout.nav-link,.sidebar .nav-link,.sidebar .nav-group-toggle{font-size:12.5px;min-height:34px;padding:7px 8px}.sidebar .nav-submenu .nav-link,.nav-submenu .nav-link{font-size:12px;min-height:30px}.dashboard-quick-actions{justify-content:flex-start}.dashboard-hero{display:block}.product-result{grid-template-columns:48px 1fr}.product-result-price{grid-column:1/-1;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.product-result-img{width:46px;height:46px}}
@media print{.sidebar-toggle{display:none!important}}


/* v8.7 globale zoekfunctie en snelle navigatie */
.topbar .global-search{position:relative;display:grid;grid-template-columns:minmax(220px,360px) auto;gap:6px;align-items:center;flex:0 1 470px;min-width:280px}
.global-search input{height:36px;padding:8px 11px;border-radius:11px;font-size:13px;background:#fff}
.global-search .button{height:36px;white-space:nowrap}
.global-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:60;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.18);max-height:min(70vh,560px);overflow:auto;padding:8px}
.global-search-empty{padding:12px;color:var(--muted);font-size:13px}
.global-search-group{padding:5px 0 8px;border-bottom:1px solid #eef2f7}
.global-search-group:last-child{border-bottom:0}
.global-search-group h4{margin:3px 6px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.global-search-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;text-decoration:none;border-radius:11px;padding:8px 9px;color:var(--text)}
.global-search-item:hover{background:#f8fafc}
.global-search-item strong{font-size:13px;line-height:1.2;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search-item small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search-more{display:block;text-align:center;text-decoration:none;margin:6px 4px 2px;padding:8px;border-radius:11px;background:#f8fafc;color:#1d4ed8;font-size:12.5px;font-weight:700}
.search-page-card{overflow:visible}.search-page-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;margin-top:12px}
.global-search-page-results{display:grid;gap:16px}.search-result-group{display:grid;gap:8px}.search-result-group h3{margin:0;font-size:15px;color:#334155}.search-result-list{display:grid;gap:7px}.search-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;text-decoration:none;background:#fff}.search-result-row:hover{background:#f8fafc}.search-result-main strong{display:block}.search-result-main small{display:block;color:var(--muted);margin-top:3px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.search-tips .card h2{margin-bottom:8px}
@media(max-width:1050px){.topbar{flex-wrap:wrap}.topbar .global-search{order:4;flex-basis:100%;grid-template-columns:minmax(0,1fr) auto}.topbar-title{flex:1 1 320px}}
@media(max-width:760px){.search-page-form{grid-template-columns:1fr}.grid.three{grid-template-columns:1fr}.global-search-results{position:fixed;left:10px;right:10px;top:68px;max-height:75vh}.topbar .global-search{min-width:0}.global-search input{font-size:16px}}

/* v8.8 Communicatie */
.communication-message{white-space:normal;line-height:1.55;max-height:none;overflow:visible}
.communication-message br{display:block;margin-bottom:.25rem;content:""}

/* v9.0.1 afspraakworkflow klantportaal */
.workflow-box{border:1px solid rgba(37,99,235,.18);background:#f8fbff;border-radius:12px;padding:10px 12px;display:grid;gap:5px}
.workflow-box p{margin:0}.checkline{display:flex;align-items:center;gap:8px;font-weight:600;color:#334155}.checkline input{width:auto;min-width:auto}.checkline.compact{font-size:12px;margin:3px 0}.planning-workflow-note{font-size:11.5px;line-height:1.35;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:7px 8px;margin:4px 0 2px}


/* v9.1 klantportaal uitbreidingen */
.portal-hero { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.portal-hero h2 { margin:0 0 4px; }
.portal-hero-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.portal-appointment { border-left:4px solid #0f766e; }
.portal-accept-box { border:1px solid #bbf7d0; background:#f0fdf4; }
.portal-attachments-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin:10px 0 16px; }
.portal-attachment { display:flex; flex-direction:column; gap:6px; border:1px solid #e5e7eb; border-radius:12px; padding:8px; background:#fff; text-decoration:none; color:inherit; min-height:44px; }
.portal-attachment img { width:100%; height:110px; object-fit:cover; border-radius:8px; background:#f8fafc; }
.portal-attachment span { font-size:.85rem; word-break:break-word; }
.portal-message-list { display:grid; gap:10px; }
.portal-message-list article { border:1px solid #e5e7eb; border-radius:12px; padding:10px; background:#fff; }
.portal-message-list p { margin:.25rem 0 0; }
@media (max-width: 800px) {
  .portal-hero { align-items:flex-start; flex-direction:column; }
  .portal-hero-actions { justify-content:flex-start; }
}

/* v9.2 communicatie-overzicht */
.communication-overview .card.stat { text-decoration: none; }
.communication-overview .card.stat:hover { transform: translateY(-1px); }
tr.row-warning td { background: rgba(239, 68, 68, 0.08); }
.communication-message { white-space: normal; }

/* v9.4 - rustiger menu en snelle acties */
.sidebar-nav .nav-group-toggle,
.sidebar-nav .nav-link {
  min-height: 34px;
}
.sidebar-nav .nav-label {
  font-size: 0.86rem;
}
.nav-submenu .nav-link {
  padding-left: 2.45rem;
}
.topbar .quick-create {
  position: relative;
  flex: 0 0 auto;
}
.quick-create summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  border: 1px solid rgba(15,23,42,.14);
  background: #0f172a;
  color: #fff;
  border-radius: 999px;
  min-height: 34px;
  padding: .42rem .78rem;
  font-weight: 700;
  font-size: .86rem;
  box-shadow: 0 8px 18px rgba(15,23,42,.14);
}
.quick-create summary::-webkit-details-marker { display: none; }
.quick-create-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 8px);
  left: 0;
  min-width: 190px;
  padding: .45rem;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15,23,42,.18);
}
.quick-create-menu a {
  display: block;
  padding: .58rem .68rem;
  border-radius: 12px;
  color: #0f172a;
  text-decoration: none;
  font-weight: 650;
  font-size: .9rem;
}
.quick-create-menu a:hover {
  background: #f1f5f9;
}
.automation-flow {
  display: grid;
  gap: .65rem;
}
.automation-flow .flow-row {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .72rem .8rem;
  border: 1px solid rgba(15,23,42,.08);
  background: #f8fafc;
  border-radius: 16px;
}
.automation-flow .flow-step {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  font-weight: 800;
  font-size: .78rem;
}
.automation-flow strong { display:block; margin-bottom:.12rem; }
.dashboard-auto-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .8rem;
}
@media (max-width: 720px) {
  .topbar .quick-create { order: 3; }
  .quick-create-menu { left: auto; right: 0; }
}
.workflow-result {
  border-color: rgba(20, 184, 166, .25);
  background: linear-gradient(180deg, #ffffff 0%, #f8fffd 100%);
}
.workflow-result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.workflow-result-grid h3 {
  margin: 0 0 .45rem 0;
  font-size: .95rem;
}
.workflow-result-grid ul {
  margin: .2rem 0 0 1.1rem;
  padding: 0;
}
.dashboard-list.compact {
  gap: .45rem;
}
@media (max-width: 900px) {
  .workflow-result-grid { grid-template-columns: 1fr; }
}


/* v9.6 Takenlijst */
.task-stats .card.stat{text-decoration:none}.task-list{display:grid;gap:.65rem}.task-item{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#fff;padding:.85rem}.task-item.overdue{border-color:#fecaca;background:#fff7f7}.task-item h3{margin:.35rem 0 .25rem;font-size:1rem}.task-main{min-width:0}.task-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;align-items:center;flex:0 0 auto}.task-actions form{display:inline-flex}.status-afgerond{opacity:.72}.status-afgerond h3{text-decoration:line-through}.task-item .action-meta{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.task-item .action-meta small{color:var(--muted)}.dashboard-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1280px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.task-item{display:block}.task-actions{justify-content:flex-start;margin-top:.75rem}.dashboard-kpis{grid-template-columns:1fr}}

/* v9.7 rollen en rechten */
.role-badge{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
.role-help ul{margin:.55rem 0 0 1.1rem;padding:0;display:grid;gap:.35rem}
.quick-create-menu a[hidden]{display:none!important}

/* v9.8 juridische teksten */
.legal-snippets{display:grid;gap:.75rem;margin-top:1rem}
.legal-snippet{border:1px solid var(--border,#dbe3ef);border-radius:14px;background:#fff;overflow:hidden}
.legal-snippet summary{cursor:pointer;font-weight:700;padding:.85rem 1rem;background:#f8fafc}
.legal-snippet pre{white-space:pre-wrap;margin:0;padding:1rem;font-family:inherit;font-size:.92rem;line-height:1.45;background:#fff;color:#1f2937}
.quick-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.detail-list{display:grid;gap:.45rem;margin:.75rem 0 1rem}
.detail-list div{display:grid;grid-template-columns:130px 1fr;gap:.75rem;border-bottom:1px solid rgba(148,163,184,.25);padding:.35rem 0}
.detail-list dt{font-weight:700;color:#334155}
.detail-list dd{margin:0;color:#0f172a}

/* v10.0 Desktop/PWA installatie */
.pwa-install-button[hidden] { display: none !important; }
.desktop-install-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .8fr);
  gap: 18px;
  align-items: stretch;
  margin: 12px 0 20px;
}
.desktop-install-hero > div {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  border-radius: 18px;
  padding: 18px;
}
.desktop-app-preview {
  display: grid;
  place-items: center;
  text-align: center;
  color: #0f172a;
}
.desktop-window {
  width: 150px;
  height: 96px;
  border-radius: 16px;
  background: linear-gradient(135deg,#0f172a,#334155);
  box-shadow: 0 16px 35px rgba(15,23,42,.22);
  position: relative;
  margin-bottom: 12px;
}
.desktop-window:after {
  content: '';
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: -12px;
  height: 8px;
  border-radius: 999px;
  background: #cbd5e1;
}
.desktop-window span {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  margin: 12px 2px 0;
}
.desktop-app-preview small { color: #64748b; }
html.pwa-standalone .sidebar-toggle { display: inline-flex; }
@media (max-width: 760px) {
  .desktop-install-hero { grid-template-columns: 1fr; }
}

/* v10.1 Desktop-app verfijning */
.desktop-app-preview img {
  width: 92px;
  height: 92px;
  border-radius: 22px;
  box-shadow: 0 16px 34px rgba(15,23,42,.18);
  margin-bottom: 12px;
}
.desktop-status-cards .stat strong { font-size: 1.1rem; }
.pwa-icon-row {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: .9rem;
}
.pwa-icon-tile {
  border: 1px solid rgba(148,163,184,.35);
  border-radius: 16px;
  background: #f8fafc;
  padding: .75rem;
  display: grid;
  gap: .45rem;
  justify-items: center;
  min-width: 108px;
}
.pwa-icon-tile img {
  width: 58px;
  height: 58px;
  border-radius: 15px;
}
.pwa-icon-tile small { color: var(--muted,#64748b); }
.pwa-diagnostics {
  display: grid;
  gap: .55rem;
}
.pwa-status-line {
  display: grid;
  grid-template-columns: auto minmax(120px,.75fr) 1fr;
  gap: .65rem;
  align-items: center;
  border: 1px solid rgba(148,163,184,.28);
  background: #fff;
  border-radius: 14px;
  padding: .65rem .75rem;
}
.pwa-update-banner {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 9999;
  width: min(760px, calc(100vw - 28px));
  display: flex;
  gap: .65rem;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(37,99,235,.22);
  background: #eff6ff;
  color: #0f172a;
  box-shadow: 0 18px 45px rgba(15,23,42,.2);
  border-radius: 18px;
  padding: .8rem .9rem;
}
.pwa-update-banner strong { margin-right: auto; }
@media(max-width:720px){
  .pwa-update-banner{align-items:stretch;flex-direction:column;transform:none;left:14px;right:14px;width:auto;}
  .pwa-status-line{grid-template-columns:1fr;}
}

/* v10.2 - mobiele monteurweergave */
.monteur-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff}
.monteur-hero .muted{color:rgba(255,255,255,.75)}
.monteur-date-actions,.monteur-card-actions,.monteur-inline-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.monteur-day-stats .stat strong{font-size:2rem}
.monteur-route-card .quick-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.monteur-day-list{display:grid;gap:.75rem}
.monteur-work-card{border-left:5px solid #0ea5e9}
.monteur-work-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}
.monteur-work-head h2{margin:.1rem 0;font-size:1.05rem;line-height:1.25}
.monteur-address{font-weight:650;margin:.55rem 0}
.monteur-check-mini{display:flex;gap:.35rem;flex-wrap:wrap;margin:.65rem 0}
.monteur-check-mini span{font-size:.78rem;border-radius:999px;padding:.22rem .5rem;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}
.monteur-check-mini .ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.monteur-check-mini .todo{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.monteur-task-strip article{display:flex;justify-content:space-between;gap:.5rem;padding:.55rem 0;border-top:1px solid #e5e7eb}
.monteur-sticky-panel{position:sticky;top:.5rem;z-index:20;border:1px solid #bae6fd;background:#f0f9ff;box-shadow:0 12px 24px rgba(15,23,42,.08)}
.monteur-sticky-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.monteur-sticky-row strong{display:block}.monteur-sticky-row span{color:#475569;font-size:.85rem}.monteur-sticky-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.monteur-bottom-nav{display:none}
body:has(.monteur-bottom-nav){padding-bottom:70px}
@media (max-width: 760px){
  .monteur-hero{display:block}.monteur-date-actions{margin-top:.75rem}
  .monteur-date-actions .button,.monteur-card-actions .button{flex:1 1 auto;justify-content:center;text-align:center}
  .monteur-day-stats{grid-template-columns:repeat(3,1fr);gap:.45rem}.monteur-day-stats .card{padding:.65rem}.monteur-day-stats .stat strong{font-size:1.45rem}.monteur-day-stats small{font-size:.72rem}
  .monteur-work-card{padding:.85rem}.monteur-work-head{display:block}.monteur-work-head .pill{margin-top:.35rem}
  .monteur-card-actions{display:grid;grid-template-columns:1fr;gap:.45rem}.monteur-inline-actions form,.monteur-inline-actions button{width:100%}
  .monteur-sticky-panel{top:0;margin:-.5rem -.5rem .65rem;border-radius:0}.monteur-sticky-row{display:block}.monteur-sticky-actions{margin-top:.55rem}.monteur-sticky-actions .button{flex:1 1 auto}
  .monteur-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);background:#0f172a;border-top:1px solid rgba(255,255,255,.15);box-shadow:0 -12px 28px rgba(15,23,42,.2)}
  .monteur-bottom-nav a{color:#cbd5e1;text-decoration:none;text-align:center;padding:.75rem .25rem;font-size:.8rem;font-weight:700}
  .monteur-bottom-nav a.active{color:#fff;background:rgba(255,255,255,.12)}
}

/* Personeel & inhuur administratie v10.3.10.130 */
.button-stack{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.button-stack .inline-form{display:flex;flex-wrap:wrap;gap:6px}.mini-table{font-size:.86rem;margin-top:8px}.mini-table th,.mini-table td{padding:6px 8px}.stats-grid.compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.checkbox-label.compact{font-size:.86rem;margin-top:6px}.table-scroll textarea{min-width:180px}


/* v10.3.10.147 - mobiele factuur/offerte preview corrigeren
   Alleen schermweergave op telefoon/tablet. Print/PDF blijft ongewijzigd. */
@media screen and (max-width:850px){
  html,body{max-width:100%;overflow-x:hidden;}
  .content{max-width:100%;overflow-x:hidden;}
  .toolbar.no-print{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
  .toolbar.no-print .button,.toolbar.no-print form{flex:1 1 145px;}
  .toolbar.no-print form .button{width:100%;}

  .paper{
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    padding:14px 12px;
    border-radius:14px;
    overflow:hidden;
  }
  .paper *{max-width:100%;}
  .paper-head{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px;
    padding-bottom:14px;
    margin-bottom:14px;
  }
  .paper h2{font-size:24px;line-height:1.05;margin:0;}
  .doc-number{font-size:13px;margin-top:4px;}
  .doc-logo{max-height:70px;max-width:190px;margin-bottom:10px;}
  .company{text-align:left;font-size:13px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word;}
  .doc-grid{display:grid!important;grid-template-columns:1fr;gap:10px;margin-bottom:12px;}
  .doc-grid p,.paper p,.payment-note,.paper-footer{font-size:13px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word;}
  .doc-grid h3{font-size:11px;margin-bottom:5px;}

  .paper .doc-table{
    width:100%;
    min-width:0!important;
    table-layout:fixed;
    border-collapse:collapse;
  }
  .paper .doc-table thead{display:none;}
  .paper .doc-table tbody,
  .paper .doc-table tfoot,
  .paper .doc-table tr,
  .paper .doc-table td{
    display:block;
    width:100%;
  }
  .paper .doc-table tbody tr{
    border:1px solid var(--line);
    border-radius:12px;
    padding:8px;
    margin:0 0 8px;
    background:#fff;
  }
  .paper .doc-table td{
    border:0;
    padding:4px 0;
    font-size:12px;
    line-height:1.32;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .paper .doc-table tbody td:first-child{
    font-weight:650;
    padding-bottom:7px;
  }
  .paper .doc-table tbody td:not(:first-child){
    display:flex;
    justify-content:space-between;
    gap:10px;
    text-align:right;
    border-top:1px dashed #edf0f3;
  }
  .paper .doc-table tbody td:nth-child(2)::before{content:'Aantal';color:var(--muted);font-weight:500;text-align:left;}
  .paper .doc-table tbody td:nth-child(3)::before{content:'Prijs excl.';color:var(--muted);font-weight:500;text-align:left;}
  .paper .doc-table tbody td:nth-child(4)::before{content:'Btw';color:var(--muted);font-weight:500;text-align:left;}
  .paper .doc-table tbody td:nth-child(5)::before{content:'Totaal';color:var(--muted);font-weight:500;text-align:left;}
  .paper .doc-table small{font-size:11px;color:var(--muted);font-weight:500;}

  .paper .doc-table tfoot{
    margin-top:10px;
    border-top:1px solid var(--line);
    padding-top:8px;
  }
  .paper .doc-table tfoot tr{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:flex-start;
    padding:5px 0;
    border:0;
  }
  .paper .doc-table tfoot td{
    display:block;
    width:auto;
    min-width:0;
    padding:0;
    font-size:13px;
    line-height:1.25;
    border:0;
  }
  .paper .doc-table tfoot td:first-child,
  .paper .doc-table tfoot td[colspan]{
    flex:1 1 auto;
    text-align:left!important;
    color:#344054;
  }
  .paper .doc-table tfoot td:last-child{
    flex:0 0 auto;
    text-align:right!important;
    white-space:nowrap;
  }
  .paper .alert.info,.paper .payment-note{
    padding:10px 12px;
    border-radius:12px;
    font-size:13px;
    line-height:1.35;
  }
  .paper-footer{margin-top:16px;padding-top:10px;}
}

/* v10.3.10.147 - ZZP/inhuur btw-verlegd veld duidelijk maken */
input.is-readonly-muted,
input[readonly].is-readonly-muted {
  background: #f2f5f9;
  color: #52606d;
  border-style: dashed;
}
.zzp-vat-rate-field small,
small[data-vat-help] {
  display: block;
  margin-top: 4px;
}

/* v10.3.10.147 - inbedrijfstelling klant-PDF/preview: netter contactblok rechtsboven */
.rmd-ib-customer-report .rmd-company-contact{font-size:13px;line-height:1.45;color:#111827;min-width:210px;}
.rmd-ib-customer-report .rmd-company-contact strong{display:block;margin-bottom:3px;color:#071a2d;}
@media print{.rmd-ib-customer-report .rmd-company-contact{font-size:12px;line-height:1.35;}}


/* v10.3.10.147 - extra ritten/kilometers op uitverhuur-werkbon */
.extra-km-trips .extra-km-trip-list{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.extra-km-trip-row{display:grid;grid-template-columns:1.1fr 1.25fr 1.25fr .65fr auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;}
.extra-km-trip-row label{margin:0;}
.extra-km-trip-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.extra-km-trip-actions small{flex-basis:100%;}
.extra-km-summary{margin-top:14px;}
@media(max-width:900px){.extra-km-trip-row{grid-template-columns:1fr;}.extra-km-trip-actions{align-items:flex-start}.extra-km-trips.compact{padding:12px}.extra-km-trips.compact .extra-km-trip-row{padding:9px}}


/* v10.3.10.147 - werkbonnen overzicht gescheiden in duidelijke groepen */
.workorder-filter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 10px;}
.workorder-filter-tab{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;border:1px solid var(--line);border-radius:14px;background:#f8fafc;color:var(--text);padding:12px 14px;font-weight:700;}
.workorder-filter-tab:hover{background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.06);}
.workorder-filter-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.workorder-filter-tab strong{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#fff;color:var(--primary);padding:0 8px;}
.workorder-filter-tab.active strong{background:rgba(255,255,255,.18);color:#fff;}
.workorder-filter-help{font-size:.88rem;margin:0 0 14px;}
@media(max-width:900px){.workorder-filter-tabs{grid-template-columns:1fr 1fr}.workorder-filter-tab{padding:10px 11px}.workorder-filter-help{font-size:.82rem}}
@media(max-width:520px){.workorder-filter-tabs{grid-template-columns:1fr}.workorder-filter-help{display:none}}

/* v10.3.10.147 - ritten/navigatie voor uitverhuur monteurs */
.workorder-route-plan{border:1px solid #bfdbfe;background:#f8fbff;}
.route-leg-list{display:grid;gap:10px;margin-top:10px;}
.route-leg-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--line,#dbe3ef);border-radius:16px;background:#fff;padding:12px;}
.route-leg-card.is-done{background:#f0fdf4;border-color:#bbf7d0;}
.route-leg-main{display:flex;gap:10px;align-items:flex-start;min-width:0;}
.route-step{flex:0 0 auto;width:32px;height:32px;border-radius:999px;background:#071A2D;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;}
.route-leg-main p{margin:.25rem 0;overflow-wrap:anywhere;}
.route-leg-main small{color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.route-leg-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;}
.route-leg-finish{flex-basis:100%;min-width:260px;}
.route-leg-finish summary{cursor:pointer;font-weight:800;color:#334155;text-align:right;}
.route-leg-form{display:grid;grid-template-columns:120px minmax(180px,1fr) auto;gap:8px;align-items:end;margin-top:8px;padding:10px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;}
.route-leg-form label{margin:0;}
.route-leg-form input{width:100%;}
@media(max-width:900px){
  .route-leg-card{grid-template-columns:1fr;}
  .route-leg-actions{justify-content:stretch;display:grid;grid-template-columns:1fr;}
  .route-leg-actions .button{width:100%;text-align:center;justify-content:center;}
  .route-leg-finish{min-width:0;}
  .route-leg-finish summary{text-align:left;}
  .route-leg-form{grid-template-columns:1fr;}
}

/* v10.3.10.165 - Balans, activa-register, journaal en AI-controle */
.balance-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;}
.balance-toolbar h2{margin-bottom:6px;}
.balance-date-form{display:flex;align-items:end;gap:10px;flex:0 0 auto;}
.balance-date-form label{margin:0;min-width:180px;}
.balance-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
.balance-stats,.balance-kpis{grid-template-columns:repeat(4,minmax(0,1fr));}
.balance-stats .stat-ok{border-color:#86efac;background:#f0fdf4;}
.balance-stats .stat-warn{border-color:#fbbf24;background:#fffbeb;}
.balance-sheet{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin:16px 0;}
.balance-sheet-side{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.05);}
.balance-sheet-side-title{padding:15px 18px;background:#071a2d;color:#fff;font-size:1.08rem;font-weight:900;letter-spacing:.02em;}
.balance-section{padding:0 16px 10px;}
.balance-section-heading{display:flex;justify-content:space-between;gap:12px;padding:15px 2px 8px;border-bottom:2px solid #cbd5e1;font-size:1.02rem;}
.balance-group{border-bottom:1px solid #e2e8f0;}
.balance-group summary{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;cursor:pointer;font-weight:800;}
.balance-account-list{padding:0 0 8px;}
.balance-account-row{display:flex;justify-content:space-between;gap:12px;padding:6px 4px 6px 18px;font-size:.91rem;}
.balance-account-row a{font-weight:800;text-decoration:none;}
.balance-account-row.negative strong{color:#b91c1c;}
.balance-side-total{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;background:#f1f5f9;border-top:2px solid #071a2d;font-size:1.1rem;}
.balance-check-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);}
.balance-kpis .stat small{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;line-height:1.3;}
.balance-assets-layout{align-items:start;}
.balance-findings{display:grid;gap:10px;}
.balance-finding{border:1px solid var(--line);border-left-width:5px;border-radius:14px;padding:13px 14px;background:#fff;}
.balance-finding>div{display:flex;align-items:center;gap:9px;}
.balance-finding p{margin:8px 0 6px;}
.balance-finding.severity-hoog{border-left-color:#dc2626;background:#fef2f2;}
.balance-finding.severity-middel{border-left-color:#d97706;background:#fffbeb;}
.balance-finding.severity-laag{border-left-color:#16a34a;background:#f0fdf4;}
.inline-account-form{display:flex;gap:8px;align-items:center;min-width:360px;}
.inline-account-form select{min-width:245px;}
.journal-lines{display:grid;gap:8px;}
.journal-line{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(160px,1fr) 115px 115px 38px;gap:8px;align-items:center;}
.journal-line-head{font-size:.76rem;font-weight:900;text-transform:uppercase;color:var(--muted);padding:0 4px;}
.journal-line input,.journal-line select{width:100%;}
.journal-totals{display:flex;justify-content:flex-end;gap:22px;flex-wrap:wrap;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);}
.journal-remove{font-size:1.1rem;padding:7px;}
@media(max-width:1100px){.balance-stats,.balance-kpis{grid-template-columns:1fr 1fr}.balance-sheet{grid-template-columns:1fr}.journal-line{grid-template-columns:1fr 1fr 100px 100px 38px}}
@media(max-width:760px){.balance-toolbar{display:block}.balance-date-form{margin-top:14px;display:grid;grid-template-columns:1fr auto}.balance-date-form label{min-width:0}.balance-tabs .button{flex:1 1 calc(50% - 8px);text-align:center}.balance-stats,.balance-kpis{grid-template-columns:1fr}.balance-account-row{padding-left:4px;font-size:.84rem}.balance-section{padding-left:10px;padding-right:10px}.journal-line{grid-template-columns:1fr 1fr}.journal-line-head{display:none}.journal-line select,.journal-line input:nth-of-type(1){grid-column:span 2}.journal-line .journal-remove{grid-column:2;justify-self:end}.inline-account-form{min-width:0;display:grid;grid-template-columns:1fr auto}.inline-account-form select{min-width:0}.balance-assets-layout{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.balance-tabs,.balance-toolbar form,.button,.actions,.alert{display:none!important}.content{margin:0!important;padding:0!important}.balance-toolbar{display:block}.balance-sheet{grid-template-columns:1fr 1fr;gap:8px}.balance-sheet-side{box-shadow:none}.balance-group:not([open])>*:not(summary){display:block}.card{box-shadow:none;break-inside:avoid}.balance-kpis,.grid.two{display:none}.balance-account-row{font-size:10px;padding:3px 2px 3px 10px}.balance-section-heading,.balance-group summary{padding-top:6px;padding-bottom:6px}}


/* v10.3.10.166 - fiscale vergrendeling, audittrail en documentarchief */
.inline-form{display:inline-flex;align-items:center;margin:0;gap:6px;vertical-align:middle}
.actions .inline-form,.toolbar .inline-form{display:inline-flex;margin:0}
.row-warning{background:#fffbeb!important}
.row-danger{background:#fff1f2!important}
.fiscal-lock{display:inline-flex;align-items:center;gap:6px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800}
.fiscal-archive-status{display:grid;gap:8px;margin-top:10px}
.fiscal-archive-status .balance-check-row{padding:7px 0}
.storno-form{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:8px;align-items:end;margin-top:8px}
.audit-hash{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;word-break:break-all;font-size:.78rem}
.period-locked{border-left:5px solid #b91c1c}
.period-open{border-left:5px solid #15803d}
@media(max-width:720px){.storno-form{grid-template-columns:1fr}.toolbar .inline-form{width:100%}.toolbar .inline-form .button{width:100%}}

/* v10.3.10.170 - complete btw-aangifte, ICP en suppletie */
.vat-period-card{padding:14px 18px}.vat-period-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.vat-period-form label{min-width:140px}.vat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.vat-tabs a{display:inline-flex;padding:10px 14px;border:1px solid var(--border,#d9dee7);border-radius:10px;text-decoration:none;background:var(--card,#fff);color:inherit;font-weight:700}.vat-tabs a.active{background:var(--primary,#1f5fae);border-color:var(--primary,#1f5fae);color:#fff}.vat-rubric-table .vat-section-row th{background:rgba(127,127,127,.10);text-align:left}.vat-copy-value{font-size:1.08rem;font-weight:800}.vat-result{font-size:1.25rem}.vat-details{border:1px solid var(--border,#d9dee7);border-radius:10px;margin:10px 0;overflow:hidden}.vat-details summary{cursor:pointer;padding:12px 14px;background:rgba(127,127,127,.06)}.vat-details>div{padding:10px}.vat-classification-list{display:grid;gap:12px}.vat-classification-row{display:grid;grid-template-columns:minmax(260px,2fr) minmax(220px,2fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(180px,1.4fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--border,#d9dee7);border-radius:12px;background:rgba(127,127,127,.035)}.vat-record-head{display:flex;flex-direction:column;gap:3px}.vat-note{min-width:170px}.vat-q4-list{display:grid;gap:10px;margin:14px 0}.vat-q4-row{display:grid;grid-template-columns:minmax(280px,2fr) minmax(160px,.8fr) minmax(260px,2fr);gap:10px;align-items:center;padding:12px;border:1px solid var(--border,#d9dee7);border-radius:10px}.vat-suppletion{border:1px solid var(--border,#d9dee7);border-radius:10px;padding:14px;margin:10px 0}.vat-suppletion .inline-form{margin-top:10px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.table-scroll{overflow-x:auto}
@media(max-width:1100px){.vat-classification-row{grid-template-columns:1fr 1fr}.vat-record-head,.vat-note{grid-column:1/-1}.vat-q4-row{grid-template-columns:1fr}.vat-q4-row input{width:100%}}
@media(max-width:680px){.vat-classification-row{grid-template-columns:1fr}.vat-classification-row>*{grid-column:1}.vat-period-form>*{width:100%}.vat-tabs{display:grid;grid-template-columns:1fr 1fr}.vat-tabs a{justify-content:center}.vat-rubric-table{min-width:820px}}
.purchase-vat-breakdown{border:1px solid var(--border,#d9dee7);border-radius:12px;padding:14px;margin:6px 0}.purchase-vat-lines{display:grid;gap:8px}.purchase-vat-line{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(220px,1.5fr) minmax(95px,.55fr) minmax(95px,.55fr) auto;gap:8px;align-items:center}.purchase-vat-line .button{min-height:40px}.purchase-vat-breakdown h3{margin:0}
@media(max-width:1100px){.purchase-vat-line{grid-template-columns:1fr 1fr}.purchase-vat-line select{grid-column:1/-1}}
@media(max-width:680px){.purchase-vat-line{grid-template-columns:1fr}.purchase-vat-line>*{grid-column:1}}

/* v10.3.10.183 - bulkimport inkoopfacturen met AI */
.bulk-import-callout{display:flex;align-items:center;justify-content:space-between;gap:22px;border-left:5px solid var(--primary,#1f5fae)}
.bulk-import-callout h2{margin:0 0 6px}.bulk-import-callout p{margin:0;color:var(--muted)}
.bulk-batch-list,.bulk-review-list,.document-page-stack{display:grid;gap:12px}
.bulk-batch-card,.bulk-review-card,.document-page-card{border:1px solid var(--border,#d9dee7);border-radius:14px;padding:14px;background:var(--card,#fff)}
.bulk-batch-card{display:flex;align-items:center;justify-content:space-between;gap:14px}
.bulk-review-card header{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border,#d9dee7)}
.bulk-source-files{margin:10px 0;padding:10px 12px;border-radius:10px;background:rgba(127,127,127,.06);font-size:.87rem;overflow-wrap:anywhere}
.bulk-review-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.bulk-review-summary>div{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--border,#d9dee7);border-radius:10px}
.bulk-review-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.bulk-approve-check{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:10px;background:#ecfdf5;border:1px solid #86efac;font-weight:800;margin:0}
.bulk-approve-check input{width:auto}.hidden-form{display:none!important}
.bulk-process-box{margin-top:14px;padding:14px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}
.bulk-progress{height:14px;margin:10px 0 6px;border-radius:999px;background:#dbeafe;overflow:hidden}.bulk-progress span{display:block;height:100%;background:var(--primary,#1f5fae);border-radius:999px;transition:width .25s ease}
.document-page-card iframe{display:block;width:100%;height:720px;border:1px solid var(--border,#d9dee7);border-radius:10px;background:#f8fafc}
@media(max-width:900px){.bulk-import-callout,.bulk-batch-card{align-items:stretch;flex-direction:column}.bulk-review-summary{grid-template-columns:1fr 1fr}.document-page-card iframe{height:560px}}
@media(max-width:620px){.bulk-review-summary{grid-template-columns:1fr}.bulk-review-actions .button,.bulk-import-callout .button{width:100%;justify-content:center;text-align:center}.document-page-card iframe{height:480px}}

/* v10.3.10.183 - betrouwbare bulk-upload en directe factuurvoorvertoning */
.bulk-file-count{display:block;margin-top:7px;color:var(--primary,#1f5fae)}
.bulk-process-box.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.bulk-inline-preview{margin-top:14px;border:1px solid var(--border,#d9dee7);border-radius:12px;overflow:hidden;background:#f8fafc}
.bulk-inline-preview iframe{display:block;width:100%;height:720px;border:0;background:#fff}
@media(max-width:900px){.bulk-inline-preview iframe{height:580px}}
@media(max-width:620px){.bulk-inline-preview iframe{height:480px}}


/* v10.3.10.183 - automatische paginarotatie en controleerbare AI-uitlezing */
.bulk-top-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.bulk-top-actions .inline-form{margin:0}
.bulk-ai-quality{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 12px}
.bulk-ai-quality details{min-width:min(100%,560px);border:1px solid var(--border,#d9dee7);border-radius:10px;padding:8px 10px;background:rgba(127,127,127,.035)}
.bulk-ai-quality summary{cursor:pointer;font-weight:800}
.bulk-evidence{padding-top:8px;font-size:.9rem;line-height:1.55;overflow-wrap:anywhere}
.original-document-files{margin-top:18px;padding-top:14px;border-top:1px dashed var(--border,#d9dee7)}
.original-document-files ul{margin:8px 0 0;padding-left:20px}
@media(max-width:720px){.bulk-top-actions{align-items:stretch;flex-direction:column}.bulk-top-actions .button,.bulk-top-actions .inline-form,.bulk-top-actions .inline-form .button{width:100%;justify-content:center;text-align:center}}

/* Slim ondernemen / raamovereenkomsten v10.3.10.183 */
.rmd-slim-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.rmd-slim-tabs .button{margin:0}
.rmd-clause-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.rmd-clause-grid .checkline{align-items:flex-start;border:1px solid #dbe4ef;border-radius:12px;padding:10px;background:#fff}
.rmd-slim-workorder-pricing{border-color:#93c5fd;background:#eff6ff}
.row-warning{background:#fff1f2}
.danger-text{color:#b91c1c;font-weight:700}
.workflow-box .form-grid{margin-top:12px}
.actions form{display:inline-flex;margin:0}
@media(max-width:760px){.rmd-slim-tabs{display:grid;grid-template-columns:1fr 1fr}.rmd-slim-tabs .button{width:100%;text-align:center}.rmd-clause-grid{grid-template-columns:1fr}}

/* v10.3.10.183 - financieel cockpit, kostencontrole, investeringen en reserves */
.rmd-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.rmd-checklist>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border,#d9dee7);border-radius:10px;background:rgba(127,127,127,.035)}
.rmd-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rmd-slim-tabs{overflow-x:auto;padding-bottom:2px}
.rmd-slim-tabs .button{white-space:nowrap}
#werkbon-lekken table,#prijs-risicos table,#kosten-lekken table{min-width:680px}
#werkbon-lekken,#prijs-risicos,#kosten-lekken{overflow-x:auto}
.dashboard-metric-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border,#d9dee7)}
.dashboard-metric-list>div:last-child{border-bottom:0}
@media(max-width:760px){.rmd-checklist,.rmd-check-grid{grid-template-columns:1fr}.rmd-slim-tabs{display:flex}.rmd-slim-tabs .button{width:auto;flex:0 0 auto}.grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.grid.four{grid-template-columns:1fr}}

/* v10.3.10.188 - vaste prijs, regie en meerwerk op werkbon */
.rmd-workorder-billing-card .table-scroll{margin-top:16px}
.rmd-workorder-billing-card table tfoot th{background:rgba(18,65,99,.06)}
.rmd-billing-tools{margin-top:16px;align-items:start}
.rmd-billing-tools .workflow-box{height:100%}
.rmd-workorder-billing-card details.workflow-box{margin-top:16px}
.rmd-workorder-billing-card form{margin:0}
@media(max-width:760px){
  .rmd-workorder-billing-card .section-title{align-items:flex-start}
  .rmd-workorder-billing-card .section-title form,.rmd-workorder-billing-card .section-title a{width:100%}
  .rmd-workorder-billing-card .section-title button,.rmd-workorder-billing-card .section-title a{display:block;text-align:center}
}
