/* Klantenzone (klant-facing) — los van de staff-UI */
:root{ --kz-navy:#011A3D; --kz-green:#14A32F; --kz-green-d:#0e7d23; --kz-ink:#0f2942; --kz-muted:#6b7a8d; --kz-line:#e4e8ee; }
*{box-sizing:border-box;}
body.kz{margin:0;min-height:100vh;font-family:Montserrat,"Segoe UI",system-ui,sans-serif;color:var(--kz-ink);background:#f4f7fa;}
/* Auth-pagina's: gecentreerde kaart op donkere achtergrond */
body.kz-auth{display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#011A3D,#01102a);}
.kz-card{width:100%;max-width:390px;background:#fff;border-radius:18px;padding:30px 28px;box-shadow:0 18px 50px rgba(0,0,0,.35);}
.kz-logo{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:4px;}
.kz-logo img{height:38px;} .kz-logo b{font-size:1.3rem;color:var(--kz-navy);letter-spacing:.5px;}
.kz-card h1{font-size:1.15rem;text-align:center;margin:8px 0 2px;color:var(--kz-navy);}
.kz-sub{text-align:center;color:var(--kz-muted);font-size:.85rem;margin:0 0 18px;}
.kz-card label{display:block;font-size:.82rem;font-weight:600;color:#33445a;margin:10px 0 4px;}
.kz-card input{width:100%;padding:11px 13px;border:1px solid #cdd6e2;border-radius:10px;font-size:1rem;}
.kz-btn{width:100%;margin-top:18px;padding:12px;border:none;border-radius:10px;background:var(--kz-green);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;}
.kz-btn:hover{background:var(--kz-green-d);}
.kz-link{display:block;text-align:center;margin-top:14px;color:var(--kz-green);font-size:.85rem;text-decoration:none;}
.kz-msg{background:#eef7f0;color:#0e7d23;border:1px solid #bce6c7;border-radius:9px;padding:9px 12px;font-size:.85rem;margin-bottom:14px;}
.kz-err{background:#fdecea;color:#b71c1c;border:1px solid #f5c6cb;border-radius:9px;padding:9px 12px;font-size:.85rem;margin-bottom:14px;}
/* Portaal-shell (na login) */
.kz-top{background:var(--kz-navy);color:#fff;padding:13px 20px;display:flex;align-items:center;gap:11px;}
.kz-top img{height:30px;} .kz-top b{font-size:1.1rem;letter-spacing:.5px;}
.kz-top .sp{flex:1;}
.kz-top a{color:#cfe8d5;text-decoration:none;font-size:.84rem;border:1px solid rgba(255,255,255,.25);padding:6px 12px;border-radius:8px;}
.kz-top a:hover{background:rgba(255,255,255,.08);}
.kz-wrap{max-width:920px;margin:0 auto;padding:22px 18px 40px;}
.kz-hi{font-size:1.45rem;color:var(--kz-navy);margin:6px 0 2px;}
.kz-hi-sub{color:var(--kz-muted);margin:0 0 4px;}
.kz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:18px;}
.kz-tile{display:block;background:#fff;border:1px solid var(--kz-line);border-radius:14px;padding:18px;text-decoration:none;color:inherit;box-shadow:0 4px 14px rgba(1,26,61,.05);transition:transform .15s,box-shadow .15s;}
.kz-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(1,26,61,.12);}
.kz-tile .ic{font-size:1.7rem;} .kz-tile h3{margin:8px 0 3px;color:var(--kz-navy);font-size:1.05rem;}
.kz-tile p{margin:0;color:var(--kz-muted);font-size:.85rem;}
.kz-soon{display:inline-block;margin-top:9px;font-size:.72rem;color:#9a5b00;background:#fff4e5;border:1px solid #ffe0b2;border-radius:20px;padding:2px 9px;}
/* Offerte-lijst */
.kz-list{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
.kz-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--kz-line);border-radius:12px;padding:14px 18px;text-decoration:none;color:inherit;box-shadow:0 4px 14px rgba(1,26,61,.05);}
.kz-row:hover{box-shadow:0 8px 20px rgba(1,26,61,.1);}
.kz-row > div:first-child{flex:1;} .kz-row b{display:block;color:var(--kz-navy);} .kz-row span{font-size:.82rem;color:var(--kz-muted);}
.kz-amt{font-weight:700;color:var(--kz-navy);}
.kz-badge{font-size:.74rem;padding:3px 10px;border-radius:20px;background:#eef2f6;color:var(--kz-muted);font-weight:600;}
.kz-badge.on{background:#eef7f0;color:var(--kz-green-d);}
/* Offerte-detail */
.kz-status{font-size:.74rem;padding:3px 11px;border-radius:20px;background:#eef2f6;color:var(--kz-muted);font-weight:600;vertical-align:middle;}
.kz-status.on{background:#eef7f0;color:var(--kz-green-d);}
.kz-panel{background:#fff;border:1px solid var(--kz-line);border-radius:14px;padding:20px;margin-top:16px;box-shadow:0 4px 14px rgba(1,26,61,.05);}
.kz-table{width:100%;border-collapse:collapse;margin-top:6px;}
.kz-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--kz-muted);border-bottom:2px solid var(--kz-line);padding:6px 8px;}
.kz-table td{padding:8px;border-bottom:1px solid #f0f3f7;font-size:.9rem;}
.kz-tot{display:flex;justify-content:space-between;padding:4px 8px;font-size:.92rem;}
.kz-tot.big{font-weight:800;color:var(--kz-navy);font-size:1.05rem;border-top:2px solid var(--kz-line);margin-top:4px;padding-top:8px;}
.kz-sign{background:#f0f8f2;border:1px solid #bce6c7;border-radius:12px;padding:16px 18px;margin-top:16px;}
.kz-sign .chk{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;margin:8px 0;cursor:pointer;}
.kz-sign input[type=text]{width:100%;padding:10px 12px;border:1px solid #cdd6e2;border-radius:9px;margin-top:4px;}
.kz-sign .kz-btn{width:auto;padding:11px 22px;}
.kz-signed{background:#eef7f0;border:1px solid #bce6c7;border-radius:12px;padding:16px 18px;margin-top:16px;color:var(--kz-green-d);line-height:1.7;}
.kz-dl{display:inline-block;margin-top:10px;margin-right:8px;padding:9px 14px;border:1px solid var(--kz-line);border-radius:9px;text-decoration:none;color:var(--kz-navy);font-weight:600;font-size:.85rem;background:#fff;}
.kz-dl:hover{border-color:var(--kz-green);}
