:root{
  --orange:#ff6b1a;--orange-dark:#e45108;--orange-soft:#fff0e6;
  --navy:#0d1726;--navy-2:#15243a;--ink:#172235;--muted:#6e7b8d;
  --bg:#f2f5f8;--panel:#fff;--soft:#f7f9fb;--line:#dce3ea;
  --green:#169b62;--green-soft:#e8f8f0;--blue:#2b6be7;--blue-soft:#eaf1ff;
  --red:#d64545;--red-soft:#fff0f0;--shadow:0 14px 36px rgba(20,35,55,.08);
  --radius:18px;--radius-sm:12px
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
button,.btn{border:0;background:linear-gradient(135deg,var(--orange),#ff863f);color:#fff;border-radius:12px;padding:11px 16px;font:750 14px/1.2 inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 7px 18px rgba(255,107,26,.2);transition:.18s transform,.18s box-shadow,.18s background}
button:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 10px 23px rgba(255,107,26,.28)}
button:active,.btn:active{transform:translateY(0)}
button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}
.btn.secondary,button.secondary{background:var(--navy-2);box-shadow:none}.btn.light,button.light{background:#edf1f5;color:var(--ink);box-shadow:none}.btn.ghost,button.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.small,button.small{padding:8px 11px;font-size:12px;border-radius:9px}
.layout{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}
.sidebar{background:radial-gradient(circle at 30% 0,#203655 0,var(--navy) 44%);color:#fff;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 14px;border-right:1px solid rgba(255,255,255,.04)}
.brand{padding:4px 4px 18px}.brand img{display:block;width:100%;max-height:92px;object-fit:contain;background:#fff;border-radius:14px;padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.sidebar-user{margin:0 4px 16px;padding:13px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:13px;color:#aebbd0;font-size:12px}.sidebar-user b{display:block;color:#fff;font-size:14px;margin-bottom:4px}
.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav a{color:#b9c5d7;padding:12px 14px;border-radius:12px;display:flex;align-items:center;gap:11px;font-size:14px;font-weight:650;border:1px solid transparent}.sidebar nav a span{display:grid;place-items:center;width:24px;height:24px}.sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff}.sidebar nav a.active{background:linear-gradient(135deg,rgba(255,107,26,.24),rgba(255,107,26,.1));border-color:rgba(255,129,57,.25);color:#fff}.sidebar .bottom{margin-top:auto;padding:14px 8px 2px}.sidebar .bottom a{color:#aebbd0;font-size:13px}
main{min-width:0}.topbar{height:76px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,227,234,.8);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.topbar h1{font-size:20px;margin:0;letter-spacing:-.3px}.topbar small{display:block;color:var(--muted);margin-top:3px}.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-actions>span{color:var(--muted);font-size:13px}
.content{padding:28px;max-width:1550px;margin:auto}.mobilebar,.mobile-menu,.mobile-overlay{display:none}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h2{margin:0 0 6px;font-size:30px;letter-spacing:-1px}.page-head p{margin:0;color:var(--muted)}
.card{background:var(--panel);border:1px solid rgba(220,227,234,.9);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.muted{color:var(--muted)}.success,.error{padding:13px 15px;border-radius:12px;margin-bottom:14px;font-size:14px}.success{background:var(--green-soft);border:1px solid #bde8d2;color:#176c49}.error{background:var(--red-soft);border:1px solid #efcaca;color:#9a3434}
label{display:block;font-size:12px;font-weight:800;color:#4d5a6c;margin-bottom:5px;letter-spacing:.15px}
input,select,textarea{width:100%;border:1px solid #d4dce5;border-radius:12px;background:#fff;color:var(--ink);padding:11px 13px;margin:0 0 14px;font:500 14px/1.35 inherit;outline:0;transition:.15s border,.15s box-shadow}.input-icon input{padding-left:42px}input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,107,26,.1)}textarea{resize:vertical;min-height:96px}
.form-grid{display:grid;gap:14px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;background:#edf1f5;color:#526174;text-transform:capitalize}.badge.concept{background:var(--orange-soft);color:#a84b13}.badge.verzonden{background:var(--blue-soft);color:#2357af}.badge.goedgekeurd{background:var(--green-soft);color:#147047}.badge.gearchiveerd{background:#eef0f3;color:#677383}

/* Offerteoverzicht */
.dashboard-hero{background:linear-gradient(125deg,var(--navy),#1b3557);border-radius:24px;padding:28px;color:#fff;display:flex;justify-content:space-between;gap:25px;align-items:center;overflow:hidden;position:relative;margin-bottom:20px}.dashboard-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-70px;top:-125px;background:radial-gradient(circle,rgba(255,123,47,.5),rgba(255,123,47,0) 70%)}.dashboard-hero>*{position:relative;z-index:1}.dashboard-hero h2{font-size:30px;letter-spacing:-1px;margin:0 0 8px}.dashboard-hero p{color:#c7d2e2;margin:0;max-width:630px}.dashboard-hero .btn{white-space:nowrap;padding:13px 19px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 18px;display:flex;gap:13px;align-items:center}.stat-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--orange-soft);color:var(--orange);font-size:20px}.stat-card.blue .stat-icon{background:var(--blue-soft);color:var(--blue)}.stat-card.green .stat-icon{background:var(--green-soft);color:var(--green)}.stat-card.dark .stat-icon{background:#e9edf3;color:var(--navy)}.stat-card span{display:block;color:var(--muted);font-size:12px;font-weight:700}.stat-card b{display:block;font-size:22px;margin-top:2px;letter-spacing:-.5px}
.quote-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.search-wrap{position:relative;flex:1;max-width:520px}.search-wrap:before{content:"⌕";position:absolute;left:14px;top:8px;font-size:23px;color:#8190a3}.search-wrap input{padding-left:43px;margin:0;background:#fff}.filter-chips{display:flex;gap:7px;flex-wrap:wrap}.filter-chip{background:#fff!important;color:#536173!important;border:1px solid var(--line)!important;box-shadow:none!important;padding:9px 12px!important}.filter-chip.active{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.quote-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 7px 22px rgba(20,35,55,.05);transition:.18s transform,.18s box-shadow,.18s border}.quote-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#cbd5df}.quote-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.quote-number{font-size:12px;color:var(--orange);font-weight:850}.quote-card h3{font-size:17px;margin:5px 0 3px}.quote-address{font-size:12px;color:var(--muted);min-height:17px}.quote-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;padding:12px 0;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}.quote-meta-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.5px}.quote-meta-grid b{display:block;margin-top:4px;font-size:13px}.quote-amount{font-size:21px!important;color:var(--ink)}.quote-card-actions{display:grid;grid-template-columns:1fr auto auto;gap:7px}.quote-card-actions .btn{padding:9px 11px}.empty-state{grid-column:1/-1;text-align:center;padding:60px 20px;background:#fff;border:1px dashed #cbd5df;border-radius:20px}.empty-state .empty-icon{font-size:42px}.empty-state h3{margin:12px 0 6px}.empty-state p{color:var(--muted);margin:0 0 18px}

/* Premium offertebouwer */
.builder-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.progress-item{display:flex;align-items:center;gap:9px;padding:11px 13px;background:#fff;border:1px solid var(--line);border-radius:13px;color:var(--muted);font-size:12px;font-weight:800}.progress-item span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf1f5;color:#647184}.progress-item.active{border-color:#ffc6a4;background:#fff8f3;color:var(--ink)}.progress-item.active span{background:var(--orange);color:#fff}
.builder-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.builder-main{display:flex;flex-direction:column;gap:16px}.builder-side{position:sticky;top:94px}.step-card{padding:23px}.step-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.step-number{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--orange),#ff934f);color:#fff;font-weight:900;box-shadow:0 7px 16px rgba(255,107,26,.25)}.step-title h3{font-size:20px;margin:1px 0 4px;letter-spacing:-.3px}.step-title p{margin:0;color:var(--muted);font-size:13px}.source-pill{display:inline-flex;background:var(--orange-soft);color:#ac4f18;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850}
.smart-panel{background:linear-gradient(135deg,#111f33,#1c385d);color:#fff;border-radius:16px;padding:17px;margin:4px 0 17px}.smart-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.smart-panel h4{margin:0 0 4px;font-size:15px}.smart-panel p{margin:0;color:#b9c7d9;font-size:12px}.smart-panel textarea{margin:13px 0 10px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#fff}.smart-panel textarea::placeholder{color:#aebbd0}.smart-actions{display:flex;gap:8px;flex-wrap:wrap}.smart-actions button{box-shadow:none}.template-grid{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.template-chip{background:#fff!important;color:#405066!important;border:1px solid var(--line)!important;box-shadow:none!important;padding:8px 10px!important;font-size:12px!important}.template-chip:hover{border-color:var(--orange)!important;color:var(--orange)!important}
.ai-box{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f3f6fb;border:1px solid #dbe3ef;border-radius:15px;padding:14px;margin-top:10px}.ai-box b{display:block;font-size:14px}.ai-box p{margin:4px 0 0;color:var(--muted);font-size:12px}.mini-status{min-height:18px;font-size:12px;margin-top:-6px}
.catalog-shell{margin-top:18px;border-top:1px solid #edf0f3;padding-top:18px}.catalog-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.catalog-title h4{margin:0}.catalog-title span{font-size:11px;color:var(--muted)}.catalog-tools{display:flex;gap:9px;margin-bottom:10px}.catalog-tools .search-wrap{max-width:none}.category-chips{display:flex;gap:6px;overflow:auto;padding-bottom:7px;margin-bottom:6px}.category-chip{flex:0 0 auto;background:#fff!important;color:#566477!important;border:1px solid var(--line)!important;box-shadow:none!important;padding:7px 10px!important;font-size:11px!important}.category-chip.active{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:390px;overflow:auto;padding:2px 3px 5px}.product-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;display:flex;flex-direction:column;min-height:142px}.product-card:hover{border-color:#ffb386;background:#fffaf7}.product-code{font-size:10px;color:var(--orange);font-weight:900;min-height:14px}.product-card h5{font-size:12px;line-height:1.35;margin:5px 0 8px;flex:1}.product-card .product-meta{font-size:10px;color:var(--muted)}.product-card .product-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.product-card .product-price{font-size:13px;font-weight:900}.product-add{width:29px;height:29px;border-radius:9px;padding:0;font-size:18px;box-shadow:none}.catalog-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:25px}
.selected-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 9px}.selected-head h4{margin:0}.selected-head button{box-shadow:none}.selected-items{display:flex;flex-direction:column;gap:8px}.line-item{display:grid;grid-template-columns:minmax(230px,1fr) 128px 105px 125px 108px 34px;gap:8px;align-items:center;background:#f9fafc;border:1px solid #e2e7ed;border-radius:14px;padding:10px}.line-item input{margin:0;background:#fff;padding:9px 10px}.line-item .line-description{font-weight:650}.line-total{font-size:13px;font-weight:900;text-align:right}.qty-stepper{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;border:1px solid #d4dce5;border-radius:11px;background:#fff;overflow:hidden}.qty-stepper button{width:30px;height:36px;border-radius:0;padding:0;background:#edf1f5;color:var(--ink);box-shadow:none}.qty-stepper input{border:0;border-radius:0;text-align:center;padding:7px 2px;box-shadow:none!important}.remove-row{display:grid;place-items:center;width:31px;height:31px;padding:0;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:18px;box-shadow:none}.remove-row:hover{background:#ffe1e1;box-shadow:none}
.approval-note{display:flex;gap:11px;align-items:flex-start;background:var(--green-soft);border:1px solid #c7ead8;padding:13px 14px;border-radius:14px;margin:5px 0 14px}.approval-note b{white-space:nowrap;color:#156e49}.approval-note span{color:#39705a;font-size:13px}.advanced-box{border:1px solid var(--line);border-radius:14px;background:#fafbfd;padding:0 14px 14px}.advanced-box summary{cursor:pointer;font-weight:800;padding:14px 0}.advanced-box[open] summary{margin-bottom:7px}
.summary-card{background:linear-gradient(150deg,var(--navy),#1b3455);color:#fff;border-radius:20px;padding:20px;box-shadow:0 18px 35px rgba(13,23,38,.2)}.summary-card h3{margin:0 0 4px}.summary-card>p{margin:0 0 18px;color:#aebdd0;font-size:12px}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;color:#cad4e1;font-size:13px}.summary-row b{color:#fff}.summary-row.grand{border-top:1px solid rgba(255,255,255,.16);padding-top:14px;margin-top:5px;font-size:18px}.summary-row.grand b{color:#ff8b4c;font-size:24px}.summary-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.summary-actions button,.summary-actions .btn{width:100%;padding:12px}.save-hint{text-align:center;color:#93a3b8;font-size:10px;margin-top:10px}.draft-status{display:flex;align-items:center;gap:6px;color:#93a3b8;font-size:11px;margin-top:12px}.draft-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}

/* Login */
.login-page{min-height:100vh;background:var(--navy);display:grid;place-items:center;padding:28px;overflow:hidden;position:relative}.login-page:before,.login-page:after{content:"";position:absolute;border-radius:50%;filter:blur(4px)}.login-page:before{width:520px;height:520px;background:radial-gradient(circle,rgba(255,107,26,.26),rgba(255,107,26,0) 70%);right:-160px;top:-200px}.login-page:after{width:430px;height:430px;background:radial-gradient(circle,rgba(51,108,194,.28),rgba(51,108,194,0) 70%);left:-170px;bottom:-170px}.login-shell{position:relative;z-index:1;width:min(1040px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 34px 80px rgba(0,0,0,.34)}.login-showcase{background:linear-gradient(145deg,#152a47,#0d1726);padding:46px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:610px}.login-logo{background:#fff;border-radius:16px;padding:9px;width:235px;max-width:100%}.login-showcase h1{font-size:40px;line-height:1.06;letter-spacing:-1.5px;margin:36px 0 14px}.login-showcase h1 span{color:#ff8040}.login-showcase>div>p{color:#b9c6d8;line-height:1.6;max-width:430px}.login-points{display:grid;gap:10px}.login-point{display:flex;align-items:center;gap:11px;color:#d4deeb;font-size:13px}.login-check{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(255,107,26,.17);color:#ff8d50}.login-card{padding:55px 50px;display:flex;flex-direction:column;justify-content:center}.login-card .eyebrow{color:var(--orange);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}.login-card h2{font-size:30px;letter-spacing:-1px;margin:8px 0 8px}.login-card>p{color:var(--muted);margin:0 0 28px}.login-card label{margin-top:4px}.login-card input{padding:13px 14px;margin-bottom:17px}.login-card button{width:100%;padding:14px;font-size:15px;margin-top:5px}.login-foot{font-size:11px;color:#99a4b3;text-align:center;margin-top:20px}

@media(max-width:1200px){.quote-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.line-item{grid-template-columns:minmax(210px,1fr) 120px 95px 112px 95px 32px}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.builder-shell{grid-template-columns:1fr}.builder-side{position:static}.summary-card{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.summary-card h3,.summary-card>p,.summary-actions,.draft-status,.save-hint{grid-column:1/-1}.summary-actions{display:grid;grid-template-columns:1fr 1fr}.line-item{grid-template-columns:1fr 116px 95px}.line-item .line-price,.line-item .line-total-wrap,.line-item .remove-row{grid-row:2}.line-item .line-price{grid-column:1}.line-item .line-total-wrap{grid-column:2}.line-item .remove-row{grid-column:3;justify-self:end}}
@media(max-width:760px){.layout{display:block}.sidebar,.topbar{display:none}.content{padding:16px}.mobilebar{display:flex;position:sticky;top:0;z-index:80;background:var(--navy);padding:10px 13px;align-items:center;justify-content:space-between}.mobilebar img{height:44px;max-width:190px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.mobilebar button{padding:9px 12px;box-shadow:none}.mobile-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.56);z-index:90;opacity:0;visibility:hidden;transition:.2s}.mobile-overlay.open{opacity:1;visibility:visible}.mobile-menu{display:block;position:fixed;top:0;right:0;bottom:0;width:min(88vw,350px);z-index:100;background:var(--navy);padding:14px;transform:translateX(100%);transition:.2s;overflow:auto}.mobile-menu.open{transform:translateX(0)}.mobile-menu-head{display:flex;justify-content:space-between;align-items:center;color:#fff;padding:6px 3px 14px}.mobile-menu nav{display:flex;flex-direction:column;gap:6px}.mobile-menu nav a{padding:12px;color:#c3cfdd;border-radius:11px}.mobile-menu nav a.active{background:rgba(255,107,26,.18);color:#fff}.page-head{align-items:flex-start;flex-direction:column}.page-head h2{font-size:26px}.dashboard-hero{padding:22px;flex-direction:column;align-items:flex-start}.dashboard-hero h2{font-size:26px}.stats-grid{grid-template-columns:1fr 1fr}.quote-controls{align-items:stretch;flex-direction:column}.search-wrap{max-width:none}.quote-grid{grid-template-columns:1fr}.builder-progress{grid-template-columns:1fr}.progress-item:not(.active){display:none}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.step-card{padding:17px}.smart-panel-head,.ai-box,.approval-note{align-items:flex-start;flex-direction:column}.smart-actions button,.ai-box button{width:100%}.product-grid{grid-template-columns:1fr 1fr}.line-item{grid-template-columns:1fr 105px}.line-item .line-description{grid-column:1/-1}.line-item .line-unit{grid-column:1}.line-item .line-price{grid-column:2;grid-row:2}.line-item .line-total-wrap{grid-column:1;grid-row:3;text-align:left}.line-item .remove-row{grid-column:2;grid-row:3;justify-self:end}.summary-card{display:block}.summary-actions{display:flex}.login-page{padding:14px}.login-shell{grid-template-columns:1fr;border-radius:20px}.login-showcase{display:none}.login-card{padding:36px 25px;min-height:560px}}
@media(max-width:460px){.stats-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.quote-card-actions{grid-template-columns:1fr 1fr}.quote-card-actions .primary-action{grid-column:1/-1}.filter-chips{display:grid;grid-template-columns:repeat(2,1fr)}.filter-chip{width:100%}.summary-actions{display:flex;flex-direction:column}}
.password-wrap{position:relative}.password-wrap input{padding-right:84px}.password-toggle{position:absolute;right:7px;top:7px;width:auto!important;padding:7px 9px!important;margin:0!important;background:#edf1f5!important;color:#566477!important;box-shadow:none!important;font-size:11px!important}
.template-chip.active{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important}
