:root{font-family:Arial,Helvetica,sans-serif;color:#102b27;background:#f2f6f3;font-size:14px}*{box-sizing:border-box}body{margin:0}h1{font-size:28px;font-weight:500;margin:4px 0 20px}h2{font-size:19px;margin:0 0 16px}h3{font-size:15px;margin:20px 0 10px}p{line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a.button{border:1px solid #d5dfe4;border-radius:6px;background:white;padding:11px 15px;cursor:pointer;text-decoration:none;display:inline-block}button:hover{background:#edf4ef}button:disabled{opacity:.5;cursor:default}.primary{background:#163d32;color:white;border-color:#163d32}.primary:hover{background:#24513e}.danger{color:#ad2626}.selected{border-color:#207459!important;background:#edf7f1!important}.muted,small{color:#647771}.shell{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:100dvh}.sidebar{background:#112c25;color:white;padding:28px 16px}.brand{font-size:21px;font-weight:bold;margin-bottom:32px}.sidebar button{display:block;background:none;color:inherit;border:0;width:100%;text-align:left;margin:6px 0}.sidebar button.active{background:#29483e}.main{padding:26px;min-width:0}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.top p{margin:0}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.panel{background:white;border:1px solid #dce3e4;border-radius:9px;padding:18px;margin-bottom:16px;min-width:0}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:18px}.entry-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:18px}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.tiles button{min-height:60px;font-weight:bold}.red{background:#ffe0df!important;border-color:#d9443d!important;color:#8e201b}.orange{background:#fff0d8!important;border-color:#e9a42b!important;color:#744713}.yellow{background:#fff9ce!important;border-color:#ddc541!important;color:#5e5213}.blue{background:#e9f1fe!important;border-color:#abc5ee!important}.badge{display:inline-block;font-size:12px;padding:5px 9px;border-radius:4px;background:#eef0ee;white-space:nowrap}.badge.onsite{background:#d5f0d8}.badge.route{background:#ffe6be}.badge.new{background:#fff4b5}.row{border-bottom:1px solid #e2e7e5;padding:12px 0}.row:last-child{border:0}.incident{display:block;width:100%;text-align:left;border:1px solid #dce2e1;border-left:5px solid #e2ad31;margin:9px 0;padding:13px;background:white;border-radius:5px}.incident.code-red{border-left-color:#e52c2c}.incident.code-orange{border-left-color:#f29b28}.incident.code-ehbo{border-left-color:#e0c129}.incident strong{display:block;margin-bottom:8px}.incident p{margin:6px 0;font-weight:normal}.incident small{display:block;margin-top:8px}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.heading h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e0e5e2;padding:13px 10px;line-height:1.5}th{background:#f1f5f3;font-weight:600}tr[data-id]{cursor:pointer}tr[data-id]:hover{background:#f2f7f4}td.time{width:145px;white-space:nowrap}.login{max-width:800px;margin:6vh auto;padding:24px}.account-grid,.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-grid button{text-align:left;padding:18px}.account-grid small{display:block;margin-top:6px}.notice{padding:12px 16px;background:#fff8de;border:1px solid #eedb9e;border-radius:6px;margin-bottom:18px}.empty{padding:20px 0;color:#6e7a75}.map{aspect-ratio:16/10;background:#eef2eb;position:relative;overflow:hidden;border:1px solid #cbd8cb;border-radius:6px;margin-top:12px}.map img{width:100%;height:100%;object-fit:fill}.map.blank:before{content:'Voorbeeldterrein';position:absolute;top:46%;left:36%;color:#c1ccbf;font-size:26px}.map button{position:absolute;transform:translate(-50%,-50%);padding:7px 9px;font-size:12px;max-width:170px;white-space:normal;box-shadow:0 1px 3px #0002}.map button.green{background:#c9edce;border-color:#55a266}.map.edit{cursor:crosshair}.map button span{background:#b92f28;color:white;border-radius:20px;padding:2px 5px;margin-left:5px}label{display:block;margin:12px 0;font-weight:600}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #cbd6d5;border-radius:5px;background:white;margin-top:6px;font-weight:normal}input[type=checkbox],input[type=radio]{accent-color:#20654f;width:17px;height:17px;vertical-align:middle;margin-right:8px}textarea{resize:vertical;min-height:90px}.check{font-weight:normal;border:1px solid #dde4df;padding:12px;border-radius:6px;margin:0}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-fields label{margin-top:0}dialog{width:min(800px,94vw);max-height:92dvh;overflow:auto;border:1px solid #cbd7d0;border-radius:9px;padding:24px;color:#15382c}dialog::backdrop{background:#142d2b88}dialog h2{font-size:24px}.close{border:0;font-size:22px;padding:0 8px}dialog footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e0e5e3;margin-top:22px;padding-top:18px}.error{color:#ae2525;white-space:pre-line}.logline{padding:12px 0;border-bottom:1px solid #e5eae6}.logline p{margin:5px 0}.timeline{max-height:300px;overflow:auto}.overview{padding:30px;max-width:1700px;margin:auto}.overview h1{font-size:36px}.overview .panel{padding:22px}.overview td,.overview th{padding:18px 12px;font-size:15px}.overview .actions select{max-width:260px}#toast{position:fixed;bottom:24px;right:24px;background:#173f31;color:white;border-radius:7px;padding:14px 20px;z-index:100;display:none;max-width:80vw}button:focus-visible,a:focus-visible{outline:3px solid #e7b848;outline-offset:2px}.sr-status{font-size:12px}.pdf-actions{margin-bottom:15px}.role-label{font-size:13px}.tabs{margin-bottom:18px}.stats{margin-bottom:15px;color:#647771}.wrap{overflow-wrap:anywhere}.prototype{font-size:12px;padding:7px 14px;background:#e6eee9;color:#486457;border-bottom:1px solid #d6e0d9}.position-hint{font-weight:bold;color:#357753}.actions form{display:flex;gap:10px;align-items:center}.actions input{margin:0!important}.hidden{display:none!important}
@media(max-width:1000px){.columns,.entry-layout{grid-template-columns:1fr}.shell{grid-template-columns:150px minmax(0,1fr)}.main{padding:18px}.tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.shell{display:block}.sidebar{padding:10px;display:flex;flex-wrap:wrap;gap:4px}.brand{font-size:17px;margin:8px;width:100%}.sidebar button{width:auto;margin:0;padding:9px}.main,.overview{padding:12px}.top{align-items:flex-start}.account-grid,.choices,.inline-fields{grid-template-columns:1fr}.login{margin:0;padding:16px}.map button{font-size:10px;max-width:95px;padding:5px}.overview h1{font-size:28px}dialog{padding:18px}.panel{padding:13px}.heading{align-items:flex-start}}
.overview tr.code-red td:first-child{border-left:5px solid #e52c2c}.overview tr.code-orange td:first-child{border-left:5px solid #f29b28}.overview tr.code-ehbo td:first-child{border-left:5px solid #e0c129}

/* Keep input, the live report and open incidents in the same viewport. */
.workbench-page{height:100dvh;overflow:hidden}.workbench-page #app{height:100%;display:flex;flex-direction:column}.workbench-page .prototype{flex:none}.workbench-page .shell{flex:1;min-height:0;overflow:hidden}.workbench-page .main{min-height:0;display:flex;flex-direction:column;padding:16px}.workbench-page .sidebar{overflow:auto}.workbench-page .top{flex:none;margin-bottom:12px}.workbench-page .notice{flex:none;margin:0 0 8px}.workbench{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:14px}.workbench-left,.workbench-right{min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px}.workbench .panel{margin:0;padding:12px}.quick-entry{flex:none}.quick-entry .tiles{margin:0 0 10px;gap:8px;grid-template-columns:repeat(4,1fr)}.quick-entry .tiles button{min-height:44px;padding:9px;font-size:13px}.general-entry label{font-size:13px;margin:0 0 6px}.general-entry>div{display:flex;gap:8px;align-items:stretch}.general-entry textarea{min-height:48px;height:48px;max-height:100px;margin:0;resize:vertical}.general-entry button{flex:none}.live-report{flex:1;min-height:0;display:flex;flex-direction:column}.live-report .table-wrap{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.live-report th{position:sticky;top:0;z-index:1}.live-report .pdf-actions{flex:none;margin-bottom:8px}.live-report h2{font-size:17px}.live-report .actions{gap:5px}.live-report .actions select{margin:0;width:auto;max-width:200px;font-size:12px;padding:8px}.live-report .actions button{font-size:12px;padding:8px}.live-report td{padding:9px;font-size:13px;overflow-wrap:anywhere}.live-report td.time{width:130px}.open-panel{flex:1;min-height:0;display:flex;flex-direction:column}.open-panel h2{flex:none;margin-bottom:8px}.open-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.open-list .incident{padding:10px;margin:0 0 8px}.open-list .heading{flex-wrap:wrap;gap:4px}.mini-map{flex:none;max-height:38%;overflow:auto}.mini-map h2{font-size:15px;margin-bottom:7px}.mini-map select{margin:0;padding:6px}.mini-map .map{margin-top:6px;max-height:170px;aspect-ratio:16/8}.mini-map p{font-size:11px;margin:5px 0 0}.mini-map .map.blank:before{font-size:16px;left:30%}.mini-map .map button{font-size:10px;max-width:100px;padding:4px 6px}
.team-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.team-option{min-width:0}.team-tile{width:100%;text-align:left;min-height:60px}.team-tile strong,.team-tile span{display:block}.team-tile span{font-size:12px;margin-top:5px}.team-tile.team-free{background:#d6f0dc;border-color:#65ab79}.team-tile.team-free:hover{background:#bde5c6}.team-tile.team-busy{background:#ffe3bb;border-color:#df9b3e}.team-tile:disabled{opacity:1;cursor:default}.team-state{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;padding:6px 0}.team-state button{font-size:12px;padding:7px}.incident-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;position:sticky;top:-24px;background:white;padding:12px 0;z-index:2;border-bottom:1px solid #e0e5e3}.incident-signals{margin-top:15px;gap:6px}.incident-signals button{font-size:12px;padding:9px}.incident-dialog h3{margin-top:15px}.incident-dialog #detail-note{min-height:60px;height:60px}.incident-dialog .timeline{max-height:180px}.incident-dialog footer{position:sticky;bottom:-24px;background:white;margin-top:14px;padding-bottom:6px}.incident-dialog>div>p:empty{display:none}
@media(max-width:900px){.workbench{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:10px}.workbench-page .shell{grid-template-columns:135px minmax(0,1fr)}.workbench-page .brand{font-size:17px}.workbench-page .main{padding:10px}.live-report .pdf-actions{flex-wrap:wrap;gap:5px}.mini-map{display:none}.workbench-page .top .actions a{display:none}}
@media(max-width:650px){.workbench-page .shell{display:flex;flex-direction:column}.workbench-page .sidebar{flex:none;padding:5px;display:flex;flex-wrap:wrap;gap:3px}.workbench-page .brand{display:none}.workbench-page .sidebar button{width:auto;margin:0;padding:7px;font-size:12px}.workbench-page .main{flex:1;overflow:hidden}.workbench-page .top{margin-bottom:8px;font-size:11px}.workbench-page .top button{padding:7px}.workbench{display:flex;flex-direction:column}.workbench-left{flex:1;min-height:180px;gap:8px}.workbench-right{flex:0 1 22%;min-height:80px}.workbench .panel{padding:8px}.quick-entry .tiles button{min-height:38px;font-size:11px;padding:5px}.quick-entry .tiles{gap:5px;margin-bottom:6px}.general-entry textarea{height:42px;min-height:42px}.general-entry button{padding:8px}.live-report .pdf-actions h2{font-size:14px}.live-report .actions select{max-width:155px}.live-report td{font-size:12px}.live-report td.time{width:100px}.incident-toolbar{top:-18px}.incident-dialog footer{bottom:-18px}}

/* Read-only control room: one sixth, one sixth, two thirds. */
.overview{height:100dvh;max-width:none;width:100%;padding:8px;display:flex;flex-direction:column;min-height:0}.overview .top{flex:none;margin:0 0 8px;min-height:38px}.overview-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,4fr);gap:6px}.overview-grid>.panel{padding:10px;margin:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.overview h2{font-size:17px;margin-bottom:10px}.overview .incident{padding:9px}.overview .incident .heading{display:block}.overview .incident strong{margin:0 0 5px}.overview .incident small{margin-top:5px}.overview .live-report td{display:block;padding:4px 8px;border:0;width:auto;white-space:normal}.overview .live-report tr{display:block;border-bottom:1px solid #e0e5e2;padding:6px 0}.overview .live-report thead{display:none}.overview .map{flex:none;width:100%;max-height:100%;margin:8px 0;aspect-ratio:var(--map-ratio,1.6)}.overview-map{overflow:auto!important}.overview-map select{padding:6px;margin:0}.overview-map p{font-size:11px;margin:3px 0}.overview .incident .badge{white-space:normal}.team-state{flex-wrap:wrap}tr[data-log-id]{cursor:pointer}tr[data-log-id]:hover{background:#edf4ef}button,a.button{padding:8px 12px}.panel{padding:14px} .overview-grid .table-wrap{min-height:0}
.overview-map .map.blank{flex:1;aspect-ratio:auto!important;min-height:220px}
/* Compact incident workspace; only long team lists/history scroll internally. */
dialog.incident-dialog{width:min(1180px,96vw);max-height:94dvh;padding:16px;overflow:auto}.incident-dialog #modal-body{display:flex;flex-direction:column;gap:9px;max-height:calc(94dvh - 34px)}.incident-dialog .heading{flex:none}.incident-dialog h2{font-size:20px}.incident-dialog h3{margin:0 0 7px}.incident-dialog .incident-toolbar{position:static;padding:0 0 7px;flex:none}.incident-summary{margin:0;font-size:13px;max-height:70px;overflow:auto}.incident-teams{min-height:0;flex:0 1 auto;overflow:auto;max-height:32dvh}.incident-dialog .team-buttons{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:9px}.incident-dialog .team-tile{padding:9px 11px;min-height:80px;height:100%}.incident-dialog .team-tile span{margin-top:3px;font-size:12px}.team-current{border:2px solid #163d32!important}.team-current-label{display:block;text-align:right;color:#163d32;font-size:11px}.team-option{display:flex;flex-direction:column;gap:4px}.team-cancel{align-self:flex-end;font-size:12px;padding:5px 9px}.incident-dialog .incident-signals{margin:0;flex:none}.incident-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;min-height:140px;flex:1;overflow:hidden;border-top:1px solid #dce3e4;padding-top:10px}.incident-entry,.incident-history{min-width:0;min-height:0;display:flex;flex-direction:column}.incident-entry label{margin:0 0 6px}.incident-dialog #detail-note{flex:1;min-height:65px;max-height:170px;height:110px;margin:0 0 8px;resize:none}.incident-dialog .timeline{max-height:220px;min-height:0;overflow:auto}.incident-dialog .logline{padding:7px 0}.incident-dialog .logline p{white-space:pre-wrap}.incident-dialog #form-error{margin:0;flex:none}.incident-dialog #form-error:empty{display:none}.incident-entry small{font-size:11px}.live-report td{white-space:pre-wrap}
@media(max-width:650px){dialog.incident-dialog{padding:12px}.incident-dialog h2{font-size:17px}.incident-dialog .team-buttons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.incident-bottom{gap:10px}.incident-entry .actions{gap:4px}.incident-dialog .team-tile{padding:7px}.incident-dialog .incident-signals button{padding:6px;font-size:11px}}
/* Incident layout based on the original reporting app. */
dialog.incident-dialog{width:min(1500px,98vw);height:94dvh;max-height:94dvh;padding:12px;background:#f4f5f4}.incident-dialog #modal-body{height:100%;max-height:none;gap:8px}.incident-dialog .heading h2{font-size:18px}.incident-overview{display:grid;grid-template-columns:1fr 1.15fr 1.15fr auto;gap:12px;flex:none;align-items:stretch}.incident-facts{font-size:13px;line-height:1.6}.dispatch-summary{border:1px solid #df8e36;border-radius:5px;background:white;min-width:0}.incident-dialog .dispatch-summary h3{background:#ffecd4;margin:0;padding:6px 10px;font-size:15px}.dispatch-summary p{margin:8px 10px;font-weight:bold;font-size:13px;max-height:48px;overflow:auto}.resolve-top{align-self:start}.incident-workspace{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px;flex:1;min-height:0}.incident-dialog .incident-teams{border:1px solid #ccd5d1;padding:9px;border-radius:4px;max-height:none;min-height:0;overflow:auto;display:flex;flex-direction:column}.incident-dialog .team-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;align-content:start}.incident-dialog .team-option{border:1px solid #ccd5d1;border-radius:4px;padding:4px;gap:3px;min-height:67px;background:white}.incident-dialog .team-option.team-free{background:white;border-color:#b7c0bc}.incident-dialog .team-option.team-current{background:#ffe3bb;border:1px solid #e09b40!important}.incident-dialog .team-option.team-other{background:#ffd5d5;border-color:#ce5555}.incident-dialog .team-option.team-onsite{background:#dcf5df;border-color:#72b67d}.incident-dialog .team-tile{border:0;background:transparent;padding:4px 2px;text-align:center;min-height:42px;height:auto;width:100%;flex:1;box-shadow:none}.incident-dialog .team-tile:hover{background:#ffffff44}.incident-dialog .team-tile:disabled{opacity:1}.incident-dialog .team-tile strong{font-size:13px}.incident-dialog .team-tile span,.incident-dialog .team-tile small{font-size:11px;line-height:1.2;display:block;margin-top:3px;overflow-wrap:anywhere}.incident-dialog .team-cancel{align-self:stretch;padding:3px 5px;font-size:11px}.team-legend{margin-top:10px;font-size:11px}.incident-right{border:1px solid #ccd5d1;border-radius:4px;padding:9px;min-height:0;min-width:0;display:flex;flex-direction:column;gap:10px}.incident-dialog .incident-signals{margin:0}.incident-signals .actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.incident-dialog .incident-signals button{font-size:12px;padding:8px 4px}.incident-dialog .incident-entry{flex:none}.note-input-row{display:flex;gap:8px;align-items:stretch}.incident-dialog #detail-note{height:68px;min-height:55px;max-height:90px;margin:0;flex:1}.incident-entry>small{margin-top:4px;font-size:11px}.incident-dialog .incident-history{flex:1;min-height:80px;overflow:hidden;display:flex;flex-direction:column}.incident-history .table-wrap{flex:1;min-height:0;overflow:auto;background:white}.incident-history table{font-size:12px}.incident-history th{position:sticky;top:0}.incident-history td{padding:7px;white-space:pre-wrap}.incident-history td.time{width:100px;font-size:11px}.incident-history td small{font-size:10px}.incident-summary{max-height:55px;flex:none;font-size:12px;margin:0}.incident-history .empty{margin:0;padding:5px}.incident-dialog .incident-entry label{margin:0 0 5px}.incident-dialog .heading{gap:8px}
@media(max-width:900px){.incident-overview{grid-template-columns:1fr 1fr 1fr}.resolve-top{grid-column:1/-1;justify-self:end;padding:5px 9px}.incident-dialog .team-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.incident-signals .actions{grid-template-columns:repeat(2,minmax(0,1fr))}.incident-dialog .incident-signals button{padding:5px 3px;font-size:11px}.incident-workspace{gap:7px}}
@media(max-width:560px){.incident-workspace{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.incident-dialog .team-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.incident-facts{font-size:11px}.incident-dialog .dispatch-summary h3{font-size:12px;padding:5px}.dispatch-summary p{font-size:11px;margin:5px}.note-input-row{display:block}.note-input-row button{margin-top:4px;padding:5px}.incident-dialog h3{font-size:13px}}

/* Compact report rows: time, text and author stay on the same line. */
.table-wrap .report-table{width:100%;min-width:520px;border-collapse:collapse;table-layout:auto;font-size:12px;background:white}
.table-wrap .report-table th,.table-wrap .report-table td{padding:2px 7px;font-size:12px;line-height:16px;vertical-align:top;border-bottom:1px solid #e2e7e4}
.table-wrap .report-table th{text-align:left;font-weight:600;padding-top:4px;padding-bottom:4px}
.table-wrap .report-table td.time{width:1%;white-space:nowrap;font-size:12px}
.table-wrap .report-table .report-text{width:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.table-wrap .report-table .report-author{width:1%;min-width:125px;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}