:root{--morphe-primary:#1e2d47;--morphe-primary-light:#2a3f5c;--morphe-accent:#3fb8a0;--morphe-accent-hover:#35a08a;--bg:#f9fafb;--surface:#fff;--surface-muted:#f9fafb;--hover:#f3f4f6;--border:#e5e7eb;--border-soft:#f3f4f6;--input-border:#d1d5db;--text:#111827;--text-soft:#374151;--text-muted:#6b7280;--shadow:0 1px 2px 0 #0000000d;--sidebar-bg:var(--morphe-primary);--topbar-bg:#fff;--main-bg:var(--bg);--ok-bg:#dcfce7;--ok-fg:#15803d;--warn-bg:#fef3c7;--warn-fg:#b45309;--err-bg:#fee2e2;--err-fg:#b91c1c;--info-bg:#dbeafe;--info-fg:#1d4ed8;--neutral-bg:#f3f4f6;--neutral-fg:#4b5563;--rag-r:#c10019;--rag-a:#e67700;--rag-g:#19a133;--rag-y:#d4a014;--rag-grey:#92a3ab;--diff-old:#fee2e2;--diff-new:#dcfce7;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--morphe-primary:#1a2540;--morphe-primary-light:#243352;--morphe-accent:#3fb8a0;--morphe-accent-hover:#4ecdb3;--bg:#0f1729;--surface:#1a2332;--surface-muted:#151d2b;--hover:#1f2a3a;--border:#2a3548;--border-soft:#2a3548;--input-border:#2a3548;--text:#e5e7eb;--text-soft:#cbd2dc;--text-muted:#8891a0;--shadow:0 1px 3px #0006;--topbar-bg:#1a2332;--main-bg:var(--bg);--ok-bg:#12321f;--ok-fg:#6ee7a0;--warn-bg:#3a2a0c;--warn-fg:#fbbf5a;--err-bg:#3b1519;--err-fg:#fca5a5;--info-bg:#172a4a;--info-fg:#93c5fd;--neutral-bg:#1f2a3a;--neutral-fg:#cbd2dc;--diff-old:#3b1519;--diff-new:#12321f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.morphe{--morphe-primary:#0f1525;--morphe-primary-light:#1a2540;--morphe-accent:#2dd4bf;--morphe-accent-hover:#5eead4;--bg:#141b2d;--surface:#1a2338;--surface-muted:#141b2d;--hover:#1f2d45;--border:#243352;--border-soft:#243352;--input-border:#243352;--text:#e2e8f0;--text-soft:#cbd5e1;--text-muted:#7e8ea0;--shadow:0 1px 3px #00000080;--sidebar-bg:linear-gradient(180deg, #0a0f1a 0%, #0f1525 40%, #141b2d 100%);--topbar-bg:#0f1525;--main-bg:linear-gradient(180deg, #141b2d 0%, #0f1525 100%);--ok-bg:#12321f;--ok-fg:#6ee7a0;--warn-bg:#3a2a0c;--warn-fg:#fbbf5a;--err-bg:#3b1519;--err-fg:#fca5a5;--info-bg:#172a4a;--info-fg:#93c5fd;--neutral-bg:#1f2d45;--neutral-fg:#cbd5e1;--diff-old:#3b1519;--diff-new:#12321f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:700}h2{margin:0;font-size:1.125rem;font-weight:600}h3{margin:0 0 8px;font-size:.95rem;font-weight:600}p{margin:0}a{color:var(--morphe-accent)}.shell{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);color:#fff;flex-direction:column;flex-shrink:0;width:256px;display:flex;overflow-y:auto}.sidebar-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:24px;display:flex}.sidebar-brand img{width:36px;height:36px}.sidebar-brand .name{letter-spacing:-.01em;font-size:1.15rem;font-weight:700;line-height:1.2}.sidebar-brand .name span{color:var(--morphe-accent)}.sidebar-brand .sub{color:#9ca3af;margin-top:2px;font-size:12px}.sidebar nav{flex-direction:column;flex:1;gap:4px;padding:16px;display:flex}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;padding:12px 12px 4px;font-size:10px;font-weight:600}.nav-item{color:#d1d5db;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item svg{flex-shrink:0;width:20px;height:20px}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.active{background:var(--morphe-accent);color:#fff}.sidebar-foot{color:#9ca3af;border-top:1px solid #ffffff1a;padding:16px;font-size:12px}.sidebar-foot strong{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin-bottom:2px;font-size:10px;font-weight:600;display:block}.main-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--border-soft);background:var(--topbar-bg);z-index:20;justify-content:flex-end;align-items:center;gap:8px;padding:12px 32px;display:flex;position:sticky;top:0}.topbar .crumb{color:var(--text-muted);margin-right:auto;font-size:13px}main{background:var(--main-bg);flex:1;padding:24px 32px;overflow:auto}.container{flex-direction:column;gap:24px;max-width:1280px;margin:0 auto;display:flex}.page-head p{color:var(--text-muted);margin-top:4px}@media (width<=900px){.shell{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.sidebar{width:auto}.sidebar-brand{padding:12px 16px}.sidebar nav{flex-flow:wrap;padding:8px 16px 12px}.nav-label,.sidebar-foot{display:none}.nav-item{padding:8px 10px}.topbar{padding:8px 16px}main{padding:16px;overflow:visible}}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:20px}.card.flush{padding:0;overflow:hidden}.card-head{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.split{align-items:flex-start;gap:24px;display:flex}.split>.side{flex-shrink:0;width:340px}.split>.grow{flex:1;min-width:0}@media (width<=900px){.split{flex-direction:column;align-items:stretch}.split>.side{width:auto}}.muted{color:var(--text-muted)}.small{font-size:12.5px}.mono{white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.nowrap{white-space:nowrap}.error-text{color:var(--err-fg);font-weight:600}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:var(--hover)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--morphe-accent);border-color:var(--morphe-accent);color:#fff}button.primary:hover:not(:disabled){background:var(--morphe-accent-hover)}html.morphe button.primary{box-shadow:0 0 12px #2dd4bf33}button.danger{color:#fff;background:#dc2626;border-color:#dc2626}button.warn{color:#fff;background:#d97706;border-color:#d97706}button.sm{padding:6px 12px;font-size:12px}button.link{color:var(--morphe-accent);background:0 0;border:0;padding:0;font-weight:500}:focus-visible{outline:2px solid var(--morphe-accent);outline-offset:2px}input,select,textarea{font:inherit;border:1px solid var(--input-border);background:var(--surface);color:var(--text);border-radius:8px;width:100%;min-width:0;padding:8px 12px;font-size:14px}input[type=checkbox]{width:auto;accent-color:var(--morphe-accent)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px var(--morphe-accent);border-color:#0000;outline:none}textarea{resize:vertical;min-height:96px;line-height:1.5}label.field{color:var(--text-soft);flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.form-grid .wide{grid-column:1/-1}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters>*{flex:0 220px;width:auto}.filters>input{flex:260px}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge.sm{padding:1px 8px;font-size:10.5px}.b-ok{background:var(--ok-bg);color:var(--ok-fg)}.b-warn{background:var(--warn-bg);color:var(--warn-fg)}.b-err{background:var(--err-bg);color:var(--err-fg)}.b-info{background:var(--info-bg);color:var(--info-fg)}.b-neutral{background:var(--neutral-bg);color:var(--neutral-fg)}.b-accent{background:var(--morphe-accent);color:#fff}.scroll{overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:14px}.grid thead tr{background:var(--surface-muted)}.grid th{text-align:left;color:var(--text-muted);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:500}.grid th:first-child,.grid td:first-child{padding-left:20px}.grid td{border-top:1px solid var(--border-soft);vertical-align:top;padding:10px 12px}.grid tbody tr:hover{background:var(--surface-muted)}.grid tr.clickable{cursor:pointer}.grid .num{text-align:right;font-variant-numeric:tabular-nums}.grid td.old{background:var(--diff-old)}.grid td.new{background:var(--diff-new)}.clamp{-webkit-line-clamp:2;max-width:520px;color:var(--text-muted);-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.dropzone{text-align:center;border:2px dashed var(--input-border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:28px 16px;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--morphe-accent)}.batchlist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.batch{text-align:left;background:var(--surface-muted);border-color:#0000;flex-direction:column;align-items:flex-start;gap:4px;width:100%;display:flex}.batch.active{border-color:var(--morphe-accent)}.batch-title{overflow-wrap:anywhere;color:var(--text);font-weight:600}.seg{flex-wrap:wrap;gap:4px;display:flex}.seg button{padding:4px 10px;font-size:12px}.seg button.active{border-color:var(--morphe-accent);color:var(--morphe-accent)}.rag{vertical-align:-1px;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.rag-R{background:var(--rag-r)}.rag-A{background:var(--rag-a)}.rag-G{background:var(--rag-g)}.rag-Y{background:var(--rag-y)}.rag-none{background:var(--rag-grey)}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--neutral-bg);color:var(--neutral-fg);cursor:pointer;border:0;border-radius:6px;padding:2px 8px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.chip:hover{background:var(--morphe-accent);color:#fff}.timeline{flex-direction:column;gap:10px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.timeline li{border-left:2px solid var(--border);padding-left:12px}.toast{background:var(--morphe-primary);color:#fff;border-radius:8px;padding:10px 16px;font-size:14px;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px #0003}.theme-switch{border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.theme-switch button{color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:12px}.theme-switch button.active{background:var(--morphe-accent);color:#fff}.kv dd{min-width:0}.kv{grid-template-columns:max-content minmax(0,1fr)}.split>.grow,.split>.side,.card{min-width:0}.form-grid{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr))}.overlay{z-index:50;background:#00000080;justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);color:var(--text);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:560px;padding:24px;display:flex;box-shadow:0 20px 25px -5px #00000040}.modal.wide{max-width:860px}.login-wrap{background:var(--main-bg);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{flex-direction:column;align-items:stretch;gap:16px;width:100%;max-width:380px;display:flex}.login-card .logo{align-self:center;width:64px;height:64px}.login-card h1{text-align:center;font-size:1.35rem}.login-card h1 span{color:var(--morphe-accent)}.usermenu{align-items:center;gap:10px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg, var(--morphe-primary-light), var(--morphe-accent));border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-flex}.swatch{border:1px solid var(--border);border-radius:6px;width:28px;height:28px;display:inline-block}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch-item{color:var(--text-muted);flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.json{white-space:pre-wrap;word-break:break-word;color:var(--text-soft);max-width:520px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.dt-balk{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex}.grid th.sorteerbaar{cursor:pointer;-webkit-user-select:none;user-select:none}.grid th.sorteerbaar:hover{color:var(--text)}.grid th .pijl{color:var(--morphe-accent)}.grid tr.groepkop td{background:var(--hover);cursor:pointer;padding-top:8px;padding-bottom:8px}.grid tr.groepkop:hover td{background:var(--border-soft)}.klapper{width:14px;color:var(--morphe-accent);display:inline-block}.kolomkeuze{position:relative}.kolomkeuze summary{cursor:pointer;list-style:none}.kolomkeuze summary::-webkit-details-marker{display:none}.kolomkeuze-lijst{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:6px;min-width:240px;max-height:360px;padding:10px 12px;display:grid;position:absolute;top:110%;left:0;overflow:auto;box-shadow:0 10px 25px #00000026}.nav-knoppen{align-items:center;gap:6px;display:flex}.statusvak{text-align:center;color:#fff;border-radius:8px;padding:10px;font-weight:700}.st-GROEN{background:var(--rag-g)}.st-ORANJE{background:var(--rag-a)}.st-ROOD{background:var(--rag-r)}.st-GEEL{background:var(--rag-y)}.pre{white-space:pre-line}.chip{white-space:nowrap}.kiezer select{width:auto;max-width:360px;padding:6px 10px;font-size:13px}.boom-rij{align-items:center;gap:8px;display:flex}.niveau{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-shrink:0;width:72px;font-size:10.5px}
