.line-editor-intro { display:flex; align-items:center; gap:12px; padding:14px 16px; margin:4px 0 22px; background:var(--brand-soft); border:1px solid #c7d7fe; border-radius:10px; }
.line-editor-intro p { margin:2px 0 0; }
.line-editor-icon { display:grid; place-items:center; width:34px; height:34px; flex:0 0 auto; border-radius:9px; background:var(--brand); color:#fff; font-weight:800; }
.line-total-preview { display:flex; justify-content:space-between; align-items:baseline; margin-top:24px; padding:16px 0 0; border-top:1px solid var(--line); color:var(--muted); }
.line-total-preview strong { color:var(--brand-dark); font-size:24px; }
.line-editor-note { margin-top:24px; padding:14px; border-radius:9px; background:var(--subtle); }
.line-editor-note p { margin:4px 0 0; }
/* Twee-koloms werkpagina (offerte bewerken/detail) met sticky zijpaneel */
    .page-split { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; align-items:start; }
.page-split-main { min-width:0; }
.page-split-main form { margin:0; }
.page-split-main .card { margin-top:0; }
.page-split-side { position:sticky; top:24px; min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.page-split-side .card { margin:0; }
.fixed-data { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin:0; }
.fixed-data > div { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--subtle); min-width:0; }
.fixed-data dt { color:var(--muted); font-size:12px; }
.fixed-data dd { margin:0; font-weight:700; overflow-wrap:anywhere; }
.fixed-data dd ul { margin:6px 0 0; padding-left:18px; font-weight:400; }
.totals-list { display:grid; margin:0; }
.totals-list > div { display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid var(--line); }
.totals-list > div:last-child { border-bottom:0; }
.totals-list dt { color:var(--muted); font-size:13px; }
.totals-list dd { margin:0; font-weight:700; white-space:nowrap; }
.totals-list .total { border-top:1px solid var(--line); }
.totals-list .total dd { color:var(--brand-dark); font-size:18px; }
.savebar { position:sticky; bottom:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; padding:12px 20px; border:1px solid var(--line); border-top:2px solid #c7d7fe; border-radius:12px; background:rgba(255,255,255,.97); box-shadow:0 -8px 24px rgb(16 24 40 / 10%); }
.savebar-totals { display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; color:var(--muted); font-size:13px; }
.savebar-totals span { display:inline-flex; align-items:baseline; gap:6px; }
.savebar-totals strong { color:var(--ink); font-size:14px; }
.savebar-totals .total strong { color:var(--brand-dark); font-size:18px; }
.savebar-actions { display:flex; gap:8px; }
@media (max-width:760px) { .savebar { display:block; padding:10px 14px; } .savebar-totals { justify-content:space-between; gap:8px 16px; } .savebar-actions { margin-top:10px; } .savebar-actions > * { flex:1 1 auto; } }
.side-cta { display:flex; width:100%; margin-top:16px; justify-content:center; }
@media (min-width:761px) {
  .quote-lines-table { min-width:940px; }
}
.line-index { width:42px; color:#98a2b3; font-size:12px; text-align:center !important; }
.line-description { min-width:220px; }
.line-description strong { display:block; font-size:14px; line-height:1.35; }
.line-description .status { margin:7px 0 0 8px; }
.line-description p { margin:0; }
.line-description p + p { margin-top:4px; }
.line-description .muted.small { margin-left:6px; }
.line-number { white-space:nowrap; color:#475467; }
.line-subtotal { color:var(--ink); font-weight:750; }
.line-add-form { margin-top:14px; }
.line-add-desc { margin-bottom:18px; }
.line-add-price { display:flex; align-items:flex-end; gap:20px; margin-bottom:16px; }
.line-add-price-main { flex:1 1 auto; min-width:0; }
.line-add-price-main label { margin-top:0; }
.line-add-price-main .helptext { display:none; }
.price-field { position:relative; }
.price-field::before { content:"€"; position:absolute; left:13px; top:38px; color:var(--muted); font-size:20px; font-weight:600; pointer-events:none; }
.price-field label { margin-top:0; }
.price-field input { height:52px; padding-left:34px; font-size:20px; font-weight:700; }
.line-add-total { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:2px; padding-bottom:6px; }
.line-add-total span { color:var(--muted); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.line-add-total strong { color:var(--brand-dark); font-size:26px; line-height:1; letter-spacing:-.02em; transition:transform .12s ease; }
.line-add-total strong.is-pulsing { animation:line-add-pulse .3s ease; }
@keyframes line-add-pulse { 0%{transform:scale(1)} 50%{transform:scale(1.12)} 100%{transform:scale(1)} }
.line-add-details { display:grid; grid-template-columns:minmax(0,90px) minmax(0,1fr) minmax(0,110px); gap:12px; align-items:start; }
.line-add-details .field { min-width:0; }
.line-add-details label { margin-top:0; }
.line-add-details .helptext { display:none; }
.modal--line-add { width:min(560px,calc(100% - 32px)); }
@media (max-width:600px) {
  .line-add-price { flex-direction:column; align-items:stretch; gap:12px; }
  .line-add-total { align-items:flex-start; padding-bottom:0; }
  .line-add-details { grid-template-columns:1fr 1fr; }
  .line-add-details .field:first-child { grid-column:1 / -1; }
}
.line-add-options { display:grid; grid-template-columns:1fr; gap:10px; margin-top:14px; padding-top:16px; border-top:1px solid var(--line); }
.line-add-options .switch-field { margin:0; }
