:root{--bg:#f4f6fb;--card:#ffffff;--text:#0f1b33;--muted:#5d6b85;--line:#dde3ee;--brand:#1f5fe0;--brand-dark:#174bb5;--ok:#117a4b;--error:#b3261e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:26px;margin:0 0 16px}.row h1{margin:0}h2{font-size:17px;margin:28px 0 10px}.muted,small{color:var(--muted)}small{font-weight:400}.topbar{display:flex;align-items:center;gap:24px;padding:12px 20px;background:#0f1b33;color:#fff;flex-wrap:wrap}.topbar nav{display:flex;gap:16px;flex:1 1}.topbar a{color:#cfdcff}.topbar form{display:flex;gap:12px;align-items:center}.topbar .muted{color:#9fb0d4}.topbar .link{color:#cfdcff}.page{max-width:980px;margin:0 auto;padding:24px 16px 64px}.auth{max-width:400px;margin:8vh auto;padding:0 16px}.auth h1,.row{margin-bottom:16px}.row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin:0 0 16px}.stack{grid-gap:14px}.grid2,.stack{display:grid;gap:14px}.grid2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px}label{display:grid;grid-gap:5px;gap:5px;font-weight:600}label.check{display:flex;gap:8px;align-items:flex-start;font-weight:400}input,select,textarea{font:inherit;font-weight:400;color:inherit;padding:9px 10px;border:1px solid #c3cddd;border-radius:7px;background:#fff;width:100%}input[type=checkbox]{width:auto;margin-top:4px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.button,button{font:inherit;font-weight:600;padding:9px 14px;border-radius:7px;border:1px solid #c3cddd;background:#fff;color:var(--text);cursor:pointer}.button:hover,button:hover{background:#eef2f9}.primary{background:var(--brand);border-color:var(--brand);color:#fff}.primary:hover{background:var(--brand-dark)}button.link{border:0;background:none;padding:0;color:var(--brand);font-weight:400}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}form.inline{display:flex;gap:8px}form.inline select{width:auto}details>summary{cursor:pointer;font-weight:600}details.pop{position:relative}details.pop>summary{list-style:none;display:inline-block}details.pop>summary::-webkit-details-marker{display:none}details.pop>form{position:absolute;right:0;top:46px;width:min(360px,90vw);z-index:5;box-shadow:0 12px 32px rgba(15,27,51,.18)}details.card[open]>summary{margin-bottom:12px}.notice{padding:10px 14px;border-radius:8px;margin:0 0 16px}.notice.error{background:#fdecea;color:var(--error)}.notice.ok{background:#e6f5ee;color:var(--ok)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tabs a{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);text-transform:capitalize}.tabs a.active{background:#0f1b33;border-color:#0f1b33;color:#fff}.tabs span{opacity:.65;margin-left:4px}.table{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}tr:last-child td{border-bottom:0}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#e8edf7;color:#33415c;margin-left:8px;text-transform:capitalize}td>.badge:first-child{margin-left:0}.badge.draft{background:#fff3d6;color:#7a5200;text-transform:none}.badge.s-nieuw{background:#dfe9ff;color:#174bb5}.badge.s-afspraak{background:#ede3ff;color:#5b2bb5}.badge.s-klant{background:#dff3e8;color:var(--ok)}.badge.s-afgevallen{background:#f1f1f1;color:#666}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.facts dd{margin:2px 0 0;overflow-wrap:anywhere}.thread{display:grid;grid-gap:10px;gap:10px}.bubble{max-width:85%;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:#fff}.bubble.out{justify-self:end;background:#eaf1ff;border-color:#cddcff}.bubble header{font-size:13px;font-weight:600;margin-bottom:4px}.bubble p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}code{font-family:ui-monospace,Consolas,monospace;font-size:13px;background:#eef2f9;padding:1px 5px;border-radius:4px}code.block{display:block;padding:10px 12px;overflow-wrap:anywhere}.status{list-style:none;display:grid;grid-gap:8px;gap:8px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.dot.on{background:var(--ok)}.dot.off{background:#c3cddd}