@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap";:root{--bg-page:#f0efec;--bg-panel:#fff;--bg-raised:#fafaf8;--bg-subtle:#f4f3f0;--bg-hover:#eeece8;--text-primary:#18181b;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-placeholder:#d1d5db;--border-faint:1px solid #0000000f;--border:1px solid #0000001c;--border-strong:1px solid #0003;--accent:#2563eb;--accent-h:#1d4ed8;--accent-bg:#eff6ff;--accent-text:#1e40af;--red:#dc2626;--red-bg:#fef2f2;--red-text:#991b1b;--orange:#d97706;--orange-bg:#fffbeb;--orange-text:#92400e;--green:#16a34a;--green-bg:#f0fdf4;--green-text:#15803d;--r3:4px;--r2:6px;--r1:8px;--r0:12px;--r-xl:16px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000001a, 0 2px 4px #0000000f;--shadow-lg:0 10px 30px #0000001f, 0 4px 8px #00000014;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--mono:"IBM Plex Mono", "Cascadia Code", monospace;--ph-h:46px}[data-theme=dark]{--bg-page:#111;--bg-panel:#1c1c1c;--bg-raised:#222;--bg-subtle:#282828;--bg-hover:#2e2e2e;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-placeholder:#52525b;--border-faint:1px solid #ffffff0d;--border:1px solid #ffffff1a;--border-strong:1px solid #fff3;--accent:#3b82f6;--accent-h:#60a5fa;--accent-bg:#1e3a5f;--accent-text:#93c5fd;--red-bg:#1f0a0a;--red-text:#fca5a5;--orange-bg:#1c1000;--orange-text:#fcd34d;--green-bg:#052e16;--green-text:#86efac}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5}button,input,select,textarea{font-family:var(--font)}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#00000021;border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff1a}.input{background:var(--bg-raised);width:100%;color:var(--text-primary);border:var(--border);border-radius:var(--r1);outline:none;padding:8px 11px;font-size:13px;line-height:1.45;transition:border-color .15s,box-shadow .15s}.input:hover:not(:focus){border-color:#0003}.input:focus{border-color:var(--accent);background:var(--bg-panel);box-shadow:0 0 0 3px #2563eb1a}.input::placeholder{color:var(--text-placeholder)}textarea.input{resize:vertical;min-height:60px;line-height:1.5}select.input{cursor:pointer}.btn{border-radius:var(--r1);border:var(--border);background:var(--bg-panel);color:var(--text-primary);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;box-shadow:var(--shadow-xs);align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1;transition:background .1s,border-color .1s,transform 80ms;display:inline-flex}.btn:hover{background:var(--bg-subtle)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 3px #2563eb40}.btn-primary:hover{background:var(--accent-h);border-color:var(--accent-h)}.btn-danger{background:var(--red-bg);color:var(--red-text);box-shadow:none;border-color:#0000}.btn-danger:hover{filter:brightness(.95)}.btn-sm{border-radius:var(--r2);padding:4px 9px;font-size:11px}.btn-xs{border-radius:var(--r3);padding:3px 7px;font-size:10px}.btn-ghost{box-shadow:none;color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.link-btn{color:var(--accent);cursor:pointer;border-radius:var(--r3);background:0 0;border:none;align-items:center;gap:3px;padding:2px 6px;font-size:11px;font-weight:500;transition:background .1s;display:inline-flex}.link-btn:hover{background:var(--accent-bg)}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:20px;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.badge-blue{background:var(--accent-bg);color:var(--accent-text)}.badge-green{background:var(--green-bg);color:var(--green-text)}.badge-orange{background:var(--orange-bg);color:var(--orange-text)}.badge-red{background:var(--red-bg);color:var(--red-text)}.badge-gray{background:var(--bg-subtle);color:var(--text-secondary)}.grip-badge{letter-spacing:.02em;border-radius:20px;padding:2px 9px;font-size:10px;font-weight:700}.grip-0{background:var(--bg-subtle);color:var(--text-secondary)}.grip-1{background:var(--green-bg);color:var(--green-text)}.grip-2{background:var(--orange-bg);color:var(--orange-text)}.grip-3{background:var(--red-bg);color:var(--red-text)}.grip-4{color:#fecaca;background:#7f1d1d}.role-badge{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:600}.role-HIN{background:var(--accent-bg);color:var(--accent-text)}.role-HON{background:var(--green-bg);color:var(--green-text)}.role-AC{background:var(--orange-bg);color:var(--orange-text)}.role-Actiecentrum{color:#5b21b6;background:#f5f3ff}.role-Beheerder{background:var(--bg-subtle);color:var(--text-secondary)}[data-theme=dark] .role-Actiecentrum{color:#c4b5fd;background:#1e1a40}.status-badge{cursor:pointer;white-space:nowrap;font-size:10px;font-weight:600;font-family:var(--font);border:none;border-radius:20px;outline:none;align-items:center;gap:4px;padding:3px 10px;transition:filter .15s;display:inline-flex}.status-badge:focus{box-shadow:none;outline:none}.status-badge:hover{filter:brightness(.95)}.status-actief{background:var(--green-bg);color:var(--green-text)}.status-nafase{background:var(--orange-bg);color:var(--orange-text)}.status-evaluatie{background:var(--accent-bg);color:var(--accent-text)}.status-gesloten{background:var(--bg-subtle);color:var(--text-secondary)}.pri{border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.pri-high,.pri-h{background:var(--red-bg);color:var(--red-text)}.pri-med,.pri-m{background:var(--orange-bg);color:var(--orange-text)}.pri-low,.pri-l{background:var(--bg-subtle);color:var(--text-secondary)}.tag{letter-spacing:.05em;text-transform:uppercase;border-radius:3px;margin-right:3px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.tag-t,.tg-t{background:var(--accent-bg);color:var(--accent-text)}.tag-g,.tg-g{background:var(--red-bg);color:var(--red-text)}.tag-a,.tg-a{background:var(--bg-subtle);color:var(--text-secondary)}.tag-l,.tg-l{background:var(--green-bg);color:var(--green-text)}.card{background:var(--bg-panel);border:var(--border);border-radius:var(--r0);box-shadow:var(--shadow-xs);overflow:hidden}.checkbox-box{background:var(--bg-panel);cursor:pointer;border:1.5px solid #0003;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:all .12s;display:flex}.checkbox-box:hover{border-color:var(--accent)}.checkbox-box.checked{background:var(--green);border-color:var(--green)}.checkbox-box.checked:after{content:"";border-bottom:2.5px solid #fff;border-left:2.5px solid #fff;width:9px;height:5px;display:block;transform:rotate(-45deg)translateY(-1px)}[data-theme=dark] .checkbox-box{border-color:#fff3}.panel{background:var(--bg-panel);border-right:var(--border);flex-direction:column;display:flex;overflow:hidden}.panel:last-child{border-right:none}.ph{height:var(--ph-h);border-bottom:var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.ph-title{letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.ph-action{color:var(--accent);cursor:pointer;border-radius:var(--r3);font-size:11px;font-weight:500;font-family:var(--font);background:0 0;border:none;padding:4px 8px;transition:background .1s}.ph-action:hover{background:var(--accent-bg)}.sl{letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px;font-size:10px;font-weight:700}.ir{border-bottom:var(--border-faint);grid-template-columns:1fr 1fr;align-items:center;gap:8px;padding:5px 0;display:grid}.ir:last-child{border-bottom:none}.ik{color:var(--text-secondary);font-size:12px}.iv{text-align:right;word-break:break-word;font-size:12px;font-weight:500}.form-group{margin-bottom:14px}.form-group:last-child{margin-bottom:0}.form-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#00000073;justify-content:center;align-items:center;padding:16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@media (width<=767px){.modal-backdrop{align-items:flex-end;padding:0}}.modal{background:var(--bg-panel);border-radius:var(--r-xl);border:var(--border);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s slideUp;display:flex}.modal-wide{max-width:620px}@media (width<=767px){.modal{border-radius:var(--r-xl) var(--r-xl) 0 0;max-width:100%;max-height:85vh}}.modal-header{border-bottom:var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{letter-spacing:-.01em;font-size:15px;font-weight:600}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-footer{border-top:var(--border);background:var(--bg-raised);border-radius:0 0 var(--r-xl) var(--r-xl);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu{background:var(--bg-panel);border:var(--border);border-radius:var(--r1);z-index:300;min-width:160px;box-shadow:var(--shadow-lg);animation:.12s slideUp;position:fixed;overflow:hidden}.dropdown-item{cursor:pointer;border-bottom:var(--border-faint);align-items:center;gap:8px;padding:9px 14px;font-size:12px;transition:background .1s;display:flex}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item.active{background:var(--bg-subtle);font-weight:500}.overlay-panel{background:var(--bg-panel);z-index:20;flex-direction:column;transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow:hidden;transform:translate(101%)}.overlay-panel.open{transform:translate(0)}.tab-bar{border-bottom:var(--border);background:var(--bg-panel);flex-shrink:0;padding:0 12px;display:flex;overflow:hidden}.tab-btn{cursor:pointer;color:var(--text-secondary);white-space:nowrap;font-size:11.5px;font-weight:500;font-family:var(--font);letter-spacing:-.01em;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:1;min-width:0;margin-bottom:-1px;padding:10px 9px 9px;transition:color .12s,border-color .12s}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-btn:hover:not(.active){color:var(--text-primary)}.tl-item{gap:10px;padding:5px 14px;transition:background .1s;display:flex}.tl-item:hover{background:var(--bg-hover)}.tl-left{flex-direction:column;flex-shrink:0;align-items:center;width:48px;display:flex}.tl-t{font-family:var(--mono);color:var(--text-tertiary);text-align:center;font-size:9px;line-height:1.3}.tl-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin:4px 0}.tl-line{background:var(--border);flex:1;width:1px;min-height:10px}.tl-now-bar{background:var(--accent-bg);border-radius:var(--r1);border-left:3px solid var(--accent);align-items:center;gap:8px;margin:3px 8px;padding:5px 10px;display:flex}.tl-date-sep{z-index:10;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);background:var(--bg-raised);border-bottom:var(--border-faint);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:4px 14px;font-size:10px;font-weight:700;position:sticky;top:0}.log-entry{border-bottom:var(--border-faint);padding:10px 14px}.log-entry:last-child{border-bottom:none}.log-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.log-ts{font-family:var(--mono);color:var(--text-tertiary);font-size:10px}.tl-chip{letter-spacing:.04em;background:var(--green-bg);color:var(--green-text);border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700}.cl-item{border-bottom:var(--border-faint);cursor:pointer;align-items:flex-start;gap:10px;padding:9px 16px;transition:background .1s;display:flex}.cl-item:last-child{border-bottom:none}.cl-item:hover{background:var(--bg-hover)}.cas-grid{border-bottom:var(--border-faint);grid-template-columns:minmax(140px,1fr) 52px 52px 52px 52px 52px minmax(110px,160px) 28px;align-items:center;gap:6px;padding:7px 16px;display:grid}.cas-grid.header{background:var(--bg-raised);padding:5px 16px}.cas-th{letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);text-align:center;font-size:9px;font-weight:700}.cas-th:first-child{text-align:left}.cas-num-input{text-align:center;width:100%;font-size:14px;font-weight:600;font-family:var(--mono);background:var(--bg-raised);border:var(--border);border-radius:var(--r2);padding:4px 2px}.cas-num-input:focus{border-color:var(--accent);background:var(--bg-panel);outline:none;box-shadow:0 0 0 2px #2563eb1a}.bob-letter{border-radius:var(--r2);width:30px;height:30px;font-size:13px;font-weight:700;font-family:var(--mono);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.keyword-banner{background:var(--accent-bg);border-radius:var(--r1);color:var(--accent-text);border:1px solid #2563eb33;align-items:center;gap:10px;margin-bottom:6px;padding:9px 12px;font-size:12px;animation:.2s slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.shortcode-menu{background:var(--bg-panel);border:var(--border);border-radius:var(--r1);box-shadow:var(--shadow-lg);z-index:50;max-height:260px;margin-bottom:4px;animation:.15s slideUp;position:absolute;bottom:100%;left:0;right:0;overflow:hidden auto}.shortcode-item{cursor:pointer;border-bottom:var(--border-faint);align-items:center;gap:10px;padding:9px 14px;transition:background .1s;display:flex}.shortcode-item:last-child{border-bottom:none}.shortcode-item:hover,.shortcode-item.sc-active{background:var(--bg-hover)}.shortcode-icon{text-align:center;flex-shrink:0;width:24px;font-size:15px}.shortcode-cmd{font-family:var(--mono);color:var(--accent);flex-shrink:0;font-size:11px;font-weight:600}.sync-pill{color:var(--text-secondary);background:var(--bg-raised);border:var(--border-faint);border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;display:flex}.sync-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.sync-saving{background:var(--orange);animation:1s ease-in-out infinite pulse}.sync-saved{background:var(--green)}.sync-error{background:var(--red)}.phase-banner{letter-spacing:.04em;border-bottom:var(--border);flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;font-size:11px;font-weight:600;display:flex}.phase-nafase{background:var(--orange-bg);color:var(--orange-text)}.phase-evaluatie{background:var(--accent-bg);color:var(--accent-text)}.phase-gesloten{background:var(--bg-subtle);color:var(--text-secondary)}#statusbar{background:var(--bg-panel);border-top:var(--border);height:36px;box-shadow:0 -1px 0 var(--border);flex-shrink:0;align-items:center;display:flex}.sb-item{border-right:var(--border);height:100%;color:var(--text-secondary);align-items:center;gap:6px;padding:0 14px;font-size:12px;display:flex}.sb-val{font-weight:700;font-family:var(--mono);color:var(--text-primary);font-size:13px}.sb-elapsed{font-family:var(--mono);color:var(--text-tertiary);margin-left:auto;padding:0 14px;font-size:11px}.empty-state{text-align:center;color:var(--text-tertiary);padding:40px 20px}.empty-icon{opacity:.5;margin-bottom:10px;font-size:28px}.empty-title{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:600}.empty-desc{font-size:11px;line-height:1.5}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (width<=767px){.form-row{grid-template-columns:1fr}.cas-grid{grid-template-columns:minmax(100px,1fr) 44px 44px 44px 44px 44px 90px 24px;gap:4px;padding:6px 10px}.input,input,select,textarea,button{font-size:16px!important}.tab-btn{font-size:13px!important}.btn-sm{font-size:14px!important}.btn-xs{font-size:13px!important}}@supports (padding-bottom:env(safe-area-inset-bottom)){#root>div>div:last-child{padding-bottom:env(safe-area-inset-bottom)}#statusbar{padding-bottom:env(safe-area-inset-bottom);height:calc(36px + env(safe-area-inset-bottom))}}@media (width<=767px){.btn,.tab-btn,.ph-action,.link-btn{align-items:center;min-height:44px;display:inline-flex}.tab-btn{min-height:48px;padding:0 12px}.checkbox-box{width:22px!important;height:22px!important}.cl-item{padding:12px 16px!important}.log-entry{padding:12px 14px!important}}.tab-btn,.btn,.ph-action,.link-btn,.checkbox-box,.cl-item{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.panel,[style*="overflow-y: auto"],[style*="overflowY:'auto'"]{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}button{touch-action:manipulation}@media (width<=767px){.modal{max-height:92vh;margin:0;border-radius:20px 20px 0 0!important}.modal-body{padding:16px!important}.modal-header{padding:14px 16px!important}.modal-footer{padding:10px 16px!important}.cas-grid{grid-template-columns:minmax(90px,1fr) 44px 44px 44px 44px 44px minmax(80px,120px) 28px!important;gap:4px!important;padding:8px 10px!important}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}@media (width<=767px){.topbar{height:52px!important;padding:0 10px!important;padding-top:var(--safe-top)!important}.topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden;font-size:13px!important}.topbar-clock{font-size:13px!important}.topbar-role,.topbar-start{display:none}.topbar-grip{padding:2px 7px!important;font-size:10px!important}.save-btn-wrap{display:none}.tab-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:var(--border)!important;background:var(--bg-panel)!important;gap:2px!important;padding:4px 8px!important;display:flex!important;overflow-x:auto!important}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{white-space:nowrap!important;border-radius:7px!important;flex-shrink:0!important;min-height:34px!important;padding:5px 12px!important;font-size:12px!important}.mobile-bottom-nav{height:calc(52px + var(--safe-bottom))!important;padding-bottom:var(--safe-bottom)!important}.mobile-nav-btn{gap:3px!important;min-height:44px!important;font-size:10px!important}.mobile-nav-icon{font-size:18px!important}.panel-content{padding:12px!important}.ph-title{padding:10px 12px!important;font-size:12px!important}.ph{margin-bottom:10px!important}.statusbar{flex-wrap:wrap!important;gap:6px!important;height:auto!important;padding:5px 10px!important;font-size:11px!important}.sb-elapsed{font-size:10px!important}.logbook-input-area{padding:8px!important;padding-bottom:calc(8px + var(--safe-bottom))!important}.log-entry{padding:10px 12px!important}.log-timestamp{font-size:10px!important}.tl-event{padding:8px 10px!important;font-size:12px!important}button,.tab-btn,.dropdown-item,.cl-item,.log-entry{-webkit-tap-highlight-color:transparent!important}input,select,textarea{font-size:16px!important}.form-label{font-size:12px!important}.btn-sm{font-size:13px!important}input[type=checkbox]{width:20px!important;min-width:20px!important;height:20px!important}.modal{border-radius:20px 20px 0 0!important;width:100%!important;max-width:100%!important;max-height:90vh!important;margin:0!important;position:fixed!important;bottom:0!important}.modal-backdrop{align-items:flex-end!important;padding:0!important}.modal-body{max-height:65vh!important;overflow-y:auto!important}.form-row{flex-direction:column!important;gap:0!important}.card{border-radius:10px!important}.cas-table{font-size:12px!important}.cas-table th,.cas-table td{padding:6px 4px!important}.cas-hosp-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:90px!important;font-size:11px!important}.topbar-label{display:none}}
