:root{--p:#3c2a59;--l:#9d8dc3;--bg:#f6f4f9;--txt:#2d2340;--line:#ddd6e7;--danger:#a12b35;--ok:#2d6b43}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--txt)}
a{color:var(--p);text-decoration:none}a:hover{text-decoration:underline}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:30px;position:sticky;top:0;z-index:5}
.brand img{width:190px;display:block}.topbar nav{display:flex;gap:19px;flex:1}.topbar nav a{font-weight:650;font-size:14px}.userbox{display:flex;align-items:center;gap:12px;font-size:13px}.link-button{border:0;background:none;color:var(--p);cursor:pointer;padding:0}
.container{max-width:1280px;margin:32px auto;padding:0 24px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-head h1{margin:0 0 5px;font-size:28px}.page-head p{margin:0;color:#6c6576}.actions{display:flex;gap:8px}
.btn{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--txt);padding:10px 15px;border-radius:8px;font-weight:700;cursor:pointer}.btn.primary{background:var(--p);color:#fff;border-color:var(--p)}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 3px 14px rgba(60,42,89,.04)}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.stat b{display:block;font-size:25px;color:var(--p)}.stat span{font-size:13px;color:#6c6576}.stat.danger b{color:var(--danger)}.stat.wide{grid-column:span 1}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #eee}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#716a7a}td{font-size:14px}.badge{padding:5px 9px;border-radius:999px;background:#eee;font-size:11px;text-transform:capitalize}.badge.definitief,.badge.factuur_ontvangen{background:#e9f3ec;color:var(--ok)}.badge.afwijking{background:#f9e6e8;color:var(--danger)}.badge.concept{background:#f1edf7;color:var(--p)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.span2{grid-column:span 2}label{display:flex;flex-direction:column;gap:7px;font-weight:650;font-size:13px}input,select,textarea{width:100%;border:1px solid #cfc7da;border-radius:8px;padding:11px 12px;font:inherit;background:#fff;color:var(--txt)}textarea{min-height:90px;resize:vertical}input[readonly]{background:#f5f3f7}.check{flex-direction:row;align-items:center}.check input{width:auto}.check.pad{padding-top:28px}.calcbox{background:#f4f1f8;border-radius:9px;padding:15px;display:flex;justify-content:space-between}.calcbox strong{font-size:18px;color:var(--p)}
.filters{display:flex;gap:10px;margin-bottom:14px}.filters input{max-width:420px}.filters select{max-width:210px}.two-col {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 24px;
    align-items: start;
}.detail dl {
    display: grid;
    grid-template-columns: 220px 1fr;
    margin: 0;

}.detail dt,.detail dd{padding:9px 0;border-bottom:1px solid #eee;margin:0}.detail dt{font-weight:700}.stack{display:flex;flex-direction:column;gap:14px}.flash{border-radius:9px;padding:13px 16px;margin-bottom:18px}.flash.success{background:#e8f3ec;color:#245d39}.flash.error{background:#f8e6e8;color:#862733}.flash ul{margin-bottom:0}
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f8f7fa,#ede8f4)}.login-card{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 16px 45px rgba(60,42,89,.12)}.login-card img{display: block;
    width: 260px;
    max-width: 100%;
    margin: 0 auto 25px auto;}.login-card h1{margin-bottom:5px}.login-card form{display:flex;flex-direction:column;gap:16px;margin-top:22px}
@media(max-width:900px){.topbar{height:auto;padding:14px 18px;align-items:flex-start;flex-wrap:wrap}.topbar nav{order:3;width:100%;overflow:auto;padding-bottom:5px}.stats{grid-template-columns:1fr 1fr}.form-grid,.two-col{grid-template-columns:1fr}.span2{grid-column:auto}.container{padding:0 14px}.card{overflow:auto}}
