:root{--bg:#f6f7f4;--panel:#ffffff;--border:#dde1d8;--text:#1f2a1f;--muted:#5b6a5b;--accent:#3f6b3f;--accent-contrast:#ffffff;--nieuw:#94a3b8;--in_behandeling:#d97706;--wacht_op_bestuur:#7c3aed;--afgehandeld:#16a34a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body,html{overflow-x:hidden;width:100%}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent)}.shell{width:100%;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:14px 24px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar nav a{margin-right:16px;text-decoration:none;color:var(--text);font-size:14px}.topbar nav a:hover{color:var(--accent)}.topbar .brand{font-weight:700;font-size:15px;color:var(--text)}.shell-with-nav{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:420px;margin:0 auto;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:30px;box-shadow:0 10px 30px rgba(31,42,31,.16);justify-content:space-around;padding:8px 6px;z-index:40}.bottom-nav,.nav-item{display:flex;align-items:center}.nav-item{flex-direction:column;gap:2px;color:var(--muted);font-size:11px;font-weight:600;text-decoration:none;padding:8px 10px 6px;border-radius:16px}.nav-item.active{color:var(--accent)}.nav-icon{font-size:20px;line-height:1}.nav-fab{width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);border:none;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;margin-top:-26px;box-shadow:0 6px 18px rgba(63,107,63,.45);text-decoration:none}.nav-fab:hover{opacity:.92}.nav-fab:active{transform:scale(.94)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px}h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:0 0 12px}.muted{color:var(--muted);font-size:13px}.board{display:flex;gap:14px;margin-top:20px;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none}.board::-webkit-scrollbar{display:none}.column{flex:1 0 260px;min-width:0;scroll-snap-align:start;border:1px solid var(--border);border-radius:8px;padding:12px;min-height:55vh;min-height:55dvh}.board-tabs,.column{background:var(--panel)}.board-tabs{display:flex;gap:4px;border:1px solid var(--border);border-radius:999px;padding:4px;margin-top:20px;overflow-x:auto}.board-tab{flex:1 0 auto;white-space:nowrap;background:none;border:none;color:var(--muted);font-size:12px;font-weight:600;padding:8px 12px;border-radius:999px;cursor:pointer}.board-tab.active{background:var(--accent);color:var(--accent-contrast)}.board{margin-top:10px}.column h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 10px}.card{background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:6px;padding:10px;margin-bottom:10px;font-size:13px}.card[data-status=nieuw]{border-left-color:var(--nieuw)}.card[data-status=in_behandeling]{border-left-color:var(--in_behandeling)}.card[data-status=wacht_op_bestuur]{border-left-color:var(--wacht_op_bestuur)}.card[data-status=afgehandeld]{border-left-color:var(--afgehandeld)}.card .titel{font-weight:600;margin-bottom:4px;overflow-wrap:anywhere}.card .categorie{color:var(--muted);font-size:12px;margin-bottom:6px}.card .context{font-size:12px;margin-bottom:8px;white-space:pre-wrap;overflow-wrap:anywhere}.card .meta{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.card-trigger{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.card-trigger:hover{box-shadow:0 1px 5px rgba(0,0,0,.1)}.card-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ticket-dialog{position:relative;border:none;border-radius:10px;padding:0;width:min(760px,92vw);max-height:88vh;box-shadow:0 14px 34px rgba(0,0,0,.22)}.ticket-dialog::-webkit-backdrop{background:rgba(20,24,20,.45)}.ticket-dialog::backdrop{background:rgba(20,24,20,.45)}.dialog-close{position:absolute;top:10px;right:10px;z-index:2;width:26px;height:26px;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.dialog-close:hover{background:var(--bg);color:var(--text)}.dialog-footer-action{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.ticket-dialog-inner{display:grid;grid-template-columns:1.4fr 1fr;max-height:88vh}.ticket-dialog-form{padding:20px;overflow-y:auto;border-right:1px solid var(--border)}.ticket-dialog-log{padding:20px;overflow-y:auto;background:var(--bg)}.ticket-dialog-log h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 12px}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:10px}.dialog-header h2{font-size:17px;margin:0}.dialog-header-actions{display:flex;align-items:center;gap:8px}.push-toggle{position:relative}.push-toggle-error{position:absolute;right:0;top:100%;margin-top:4px;width:220px;max-width:calc(100vw - 40px);text-align:right;z-index:1}.foto-sectie{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.foto-sectie h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 12px}.foto-grid{display:flex;flex-wrap:wrap;gap:8px}.foto-thumb{position:relative;width:72px;height:72px;border-radius:6px;overflow:hidden;border:1px solid var(--border);flex-shrink:0}.foto-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer;display:block}.foto-thumb form{position:absolute;top:2px;right:2px;margin:0}.foto-thumb-delete{width:20px;height:20px;padding:0;border-radius:50%;background:rgba(20,24,20,.65);color:#fff;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center}.foto-upload{margin-top:12px}.foto-upload input[type=file]{width:100%;font-size:13px}.photo-viewer{border:none;padding:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:rgba(10,12,10,.92)}.photo-viewer[open]{display:flex;align-items:center;justify-content:center}.photo-viewer::-webkit-backdrop{background:rgba(10,12,10,.92)}.photo-viewer::backdrop{background:rgba(10,12,10,.92)}.photo-viewer-img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:4px}.photo-viewer-close,.photo-viewer-nav{position:fixed;border:none;background:rgba(255,255,255,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-viewer-close{top:16px;right:16px;width:36px;height:36px;border-radius:50%;font-size:16px}.photo-viewer-nav{top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;font-size:24px}.photo-viewer-prev{left:16px}.photo-viewer-next{right:16px}.photo-viewer-counter{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:12px;background:rgba(0,0,0,.4);padding:4px 10px;border-radius:999px}.log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.log-list li{border-bottom:1px solid var(--border);padding-bottom:10px}.log-veld{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--accent);margin-bottom:3px}.log-change{font-size:13px;margin-bottom:3px}.log-old{color:var(--muted);text-decoration:line-through}.log-new{font-weight:600}.log-meta{font-size:11px;color:var(--muted)}@media (max-width:720px){.ticket-dialog-inner{grid-template-columns:1fr}.ticket-dialog-form{border-right:none;border-bottom:1px solid var(--border)}}form.inline{display:flex;gap:6px;margin-top:6px}input[type=date],input[type=email],input[type=password],input[type=text],select,textarea{width:100%;padding:7px 8px;border:1px solid var(--border);border-radius:5px;font-size:16px;font-family:inherit}label{display:block;font-size:12px;color:var(--muted);margin-bottom:3px;margin-top:10px}.field-checkbox{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--text)}.field-checkbox input{width:auto}.push-preferences{margin-top:20px}.push-preferences p.muted{margin-top:0}button{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:5px;padding:8px 14px;font-size:13px;cursor:pointer}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}button:hover{opacity:.9}.error{color:#b91c1c;margin-top:8px}.error,table{font-size:13px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border)}.settings-menu{display:flex;flex-direction:column;gap:10px;margin-top:20px;max-width:420px}.settings-row{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;text-decoration:none;color:var(--text);font-weight:600;font-size:14px}.settings-row:hover{border-color:var(--accent)}.settings-row .chev{color:var(--muted);font-size:16px}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:24px}.kpi-stat{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.kpi-stat .value{font-size:26px;font-weight:700}.kpi-stat .label{font-size:12px;color:var(--muted)}.panel{max-width:100%;overflow-x:auto}@media (max-width:640px){.kpi-grid{grid-template-columns:minmax(0,1fr)}.shell{padding:16px}.column{flex-basis:82vw}}