:root{--primary:#1a5276;--secondary:#d4ac0d;--bg:#f8f9fa;--text:#2c3e50;--success:#27ae60;--warning:#f39c12;--danger:#e74c3c;--white:#ffffff;--border:#e0e0e0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Inter,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-header{background:var(--primary);color:var(--white);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.app-header h1{font-size:1.25rem;font-weight:600}.app-header nav{display:flex;gap:1rem;flex-wrap:wrap}.app-header nav a{color:var(--white);opacity:.85}.app-header nav a.active,.app-header nav a:hover{opacity:1;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:1.5rem}.card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.card h2{font-size:1.1rem;margin-bottom:.75rem;color:var(--primary)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border)}th{font-weight:600;font-size:.85rem;color:var(--text);text-transform:uppercase;letter-spacing:.03em}tbody tr:hover{background:var(--bg)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.25rem;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}.btn{display:inline-block;padding:.5rem 1.1rem;border:none;border-radius:6px;font-size:.95rem;font-family:inherit;cursor:pointer;text-decoration:none}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:#15426a}.btn-secondary{background:var(--white);color:var(--primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--danger);color:var(--white)}.btn:disabled{opacity:.45;cursor:not-allowed}.badge{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.badge-active{background:var(--success);color:var(--white)}.badge-lead{background:var(--warning);color:var(--white)}.badge-inactive{background:var(--border);color:var(--text)}.badge-scheduled{background:var(--primary);color:var(--white)}.badge-completed{background:var(--success);color:var(--white)}.badge-cancelled{background:var(--danger);color:var(--white)}.badge-no-show{background:var(--warning);color:var(--white)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:400px}.login-card h1{color:var(--primary);margin-bottom:.25rem}.login-card p{color:#666;margin-bottom:1.5rem;font-size:.9rem}.grid-2{grid-gap:1rem;grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:1rem}.grid-3{grid-gap:1rem;grid-template-columns:repeat(3,1fr)}.stat{text-align:center}.stat .num{font-size:2rem;font-weight:700;color:var(--primary)}.stat .label{font-size:.85rem;color:#666}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start}.container{padding:1rem}td,th{font-size:.85rem;padding:.4rem .3rem}}.skip-link{position:absolute;left:-9999px;top:0;background:var(--white);padding:.5rem 1rem;z-index:100}.skip-link:focus{left:0}.btn:focus-visible,a:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.btn,.form-group input,.form-group select{min-height:44px}input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}.app-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .25rem}.kbd{display:inline-block;border:solid var(--border);border-width:1px 1px 2px;border-radius:4px;padding:0 .35rem;font-family:ui-monospace,monospace;font-size:.8em;background:var(--bg);color:var(--text)}.zone{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.zone h2{font-size:1.1rem;margin-bottom:.75rem;color:var(--primary)}.zone-compact{padding:.5rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.zone-compact p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone-primary{border:2px solid var(--primary);box-shadow:0 4px 18px rgba(26,82,118,.12)}.zone-collapsed{padding:.5rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#666}.zone-collapsed p{margin:0}.zone-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.zone-head h2{margin-bottom:0}.patient-summary{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:flex-start}.patient-avatar{width:64px;height:64px;border-radius:50%;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;flex-shrink:0}.patient-meta{display:grid;grid-gap:.15rem;gap:.15rem}.patient-meta .sub{color:#666;font-size:.9rem}.patient-facts{display:flex;gap:1.5rem;flex-wrap:wrap;margin-left:auto}.patient-facts div{min-width:130px}.patient-facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:#666}.patient-facts dd{margin:0;font-weight:500}.zone-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.consult-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:1.25rem;gap:1.25rem;align-items:start}@media (max-width:900px){.consult-grid{grid-template-columns:1fr}}.suggestie-panel{background:var(--bg);border:1px dashed var(--border);border-radius:8px;padding:1rem}.suggestie-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.suggestie-head h3{font-size:.95rem;color:var(--text)}.suggestie-uitleg{font-size:.85rem;color:#666;margin:.5rem 0 .75rem}.suggestie-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem 0;border-top:1px solid var(--border)}.suggestie-row-text{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.suggestie-veld{font-size:.8rem;font-weight:600}.suggestie-leeg{font-size:.85rem;color:#999;font-style:italic}.fase-badge{display:inline-block;padding:.15rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#fdf3dc;color:#8a6d1a;border:1px solid var(--warning)}.autosave{font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.3rem}.autosave-saved{color:var(--success)}.autosave-saving{color:#666}.autosave-buffered{color:var(--warning)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .6rem;border-radius:12px;font-size:.8rem;font-weight:600;background:var(--bg);border:1px solid var(--border);color:var(--text)}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-concept .status-dot{background:var(--warning)}.status-definitief .status-dot{background:var(--success)}.status-heropend .status-dot{background:var(--primary)}.status-vervangen .status-dot{background:#9aa0a6}.status-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;font-size:.8rem;color:#666;margin:.5rem 0 1rem}.status-legend-title{font-weight:600}.status-legend-item{display:inline-flex;align-items:center;gap:.35rem}.status-legend-desc{font-size:.75rem}.episode-card{border-top:1px solid var(--border);padding:1rem .5rem;border-radius:6px}.episode-card:focus{outline:none}.episode-card-selected{outline:2px solid var(--secondary);outline-offset:-2px;background:#fffdf4}.episode-card h3{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:1rem}.versieketen{font-size:.85rem;color:#666}.palette-overlay{position:fixed;inset:0;background:rgba(24,38,50,.45);z-index:900;display:flex;align-items:flex-start;justify-content:center;padding:10vh 1rem 1rem}.palette-card{width:min(560px,100%);background:var(--white);border-radius:12px;padding:.75rem;box-shadow:0 12px 40px rgba(0,0,0,.25)}.palette-card input{width:100%;min-height:44px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit}.palette-card input:focus{outline:2px solid var(--primary);outline-offset:-1px}.palette-card ul{list-style:none;margin:.5rem 0 0;padding:0;max-height:50vh;overflow-y:auto}.palette-item{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:none;background:none;font:inherit;text-align:left;cursor:pointer;border-radius:8px}.palette-item-active{background:var(--bg);outline:2px solid var(--primary);outline-offset:-2px}.palette-meta{color:#666;font-size:.85rem}.palette-empty{padding:.75rem;color:#666}.palette-hint{margin:.5rem 0 0;font-size:.75rem;color:#999;text-align:center}.foto-wizard-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.foto-wizard-head h3{color:var(--primary)}.foto-stepper{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;padding:0;margin:.75rem 0}.foto-step{min-height:44px;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--white);font:inherit;cursor:pointer}.foto-step-active{border-color:var(--primary);background:var(--bg);font-weight:600}.foto-step-num{width:22px;height:22px;border-radius:50%;background:var(--primary);color:var(--white);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.foto-slot{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;border:2px dashed var(--border);border-radius:8px;padding:1rem}.silhouet{width:110px;height:130px;flex-shrink:0}.silhouet ellipse,.silhouet path{fill:#d5dde3;stroke:var(--primary);stroke-width:2;stroke-dasharray:4 3}.foto-slot-text p{font-size:.9rem;color:#666}.foto-datum-badge{font-size:.8rem;font-style:italic}.foto-wizard-nav{margin-top:1rem}.action-bar,.foto-wizard-nav{display:flex;gap:.75rem;flex-wrap:wrap}.action-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:50;background:var(--white);border-top:1px solid var(--border);margin:1rem -1.5rem -1.5rem;padding:.6rem 1.5rem;align-items:center}.action-bar .autosave{margin-left:auto}@media (max-width:768px){.action-bar{margin:1rem -1rem -1rem;padding:.6rem 1rem}}.privacy-shield{position:fixed;inset:0;z-index:1000;background:rgba(248,249,250,.55);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:1rem;cursor:pointer}.privacy-shield-card{text-align:center;color:var(--text);max-width:420px}.privacy-shield-card h2,.privacy-shield-card svg{color:var(--primary);margin-bottom:.5rem}.empty-state{text-align:center;padding:2rem 1rem;color:#666}.empty-state p{margin-bottom:1rem}.foto-preview{max-width:180px;max-height:200px;border-radius:8px;object-fit:cover}.ba-slider{margin:1rem 0;max-width:560px}.ba-stage{position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--border)}.ba-img{display:block;width:100%;height:auto}.ba-overlay{position:absolute;inset:0}.ba-divider{position:absolute;top:0;bottom:0;width:3px;background:var(--primary);transform:translateX(-1.5px)}.ba-badge{position:absolute;bottom:.5rem;padding:.2rem .6rem;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:.8rem}.ba-badge-left{left:.5rem}.ba-badge-right{right:.5rem}.ba-range{width:100%;margin-top:.5rem;min-height:44px}.foto-galerij{display:flex;gap:.75rem;flex-wrap:wrap;margin:.75rem 0}.foto-galerij img{width:110px;height:130px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.foto-galerij figcaption{font-size:.8rem;text-align:center;color:#666}.opname{margin-top:1rem;border:1px solid var(--border);border-radius:8px;padding:.75rem}.opname-regel{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.opname-indicator{color:#fff;background:var(--danger);border-radius:999px;padding:.25rem .75rem;font-weight:700;letter-spacing:.05em;animation:opname-puls 1.2s ease-in-out infinite}@keyframes opname-puls{0%,to{opacity:1}50%{opacity:.45}}.opname-tekst{margin-top:.75rem;background:var(--bg);border-radius:8px;padding:.75rem}