*{box-sizing:border-box} :root{--ink:#173b32;--muted:#77837d;--paper:#f6f7f3;--border:#e1e6df;--green:#21664d;--mint:#e7f2df;--red:#ae4433;--amber:#8d691c}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:14px}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);border-radius:9px;padding:10px 14px;background:white;color:var(--ink)}button:hover{background:#edf2e9}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #85b699;outline-offset:3px}button.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600;padding:13px 20px;white-space:nowrap}button.primary:hover{background:#194f3c}button.danger{color:var(--red);background:#fff6f2;border-color:#f1d6cc}.text-button{padding:4px 0;background:none;border:0;font-size:12px;text-align:left}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:#183c32;color:#e8f1e6;padding:31px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:650;font-size:22px;letter-spacing:-.5px}.brand-mark{display:inline-flex;width:39px;height:42px;background:#d1e9ae;border-radius:11px;align-items:center;justify-content:center;color:#204d36;font-size:26px;font-weight:800;position:relative}.brand-mark span{position:absolute;right:3px;top:0;font-size:15px}.nav-caption{font-size:10px;letter-spacing:1.4px;margin-top:57px;color:#98b4a6}.nav{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;color:#bed0c5;text-align:left;font-size:16px;padding:15px 12px;margin:3px 0}.nav span{font-size:13px}.nav.active,.nav:hover{background:#315446;color:#f7fff3}.sidebar-bottom{margin-top:auto;font-size:12px;color:#c6d9c8}.sidebar-bottom small{display:block;margin:14px 0 25px;line-height:1.6;color:#8dab9d}.sidebar-bottom button{color:#bfd2c7}.pulse{display:inline-block;width:6px;height:6px;background:#c9eaa0;border-radius:50%;margin-right:6px}main{margin-left:228px;padding:27px 38px 18px;max-width:1820px}.topline{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted);padding-bottom:23px;border-bottom:1px solid var(--border)}.topline strong{color:var(--ink);font-weight:500}#updated{font-size:11px}.demo-banner{display:flex;align-items:center;gap:14px;margin:18px 0 0;padding:11px 14px;background:#eff2dc;border:1px solid #e2e6c5;border-radius:8px;font-size:11px;color:#686e39}.demo-banner strong{white-space:nowrap}.demo-banner button{margin-left:auto;white-space:nowrap;color:#636c34}header{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:32px 0 27px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.5px;color:#84937e;margin:0 0 13px}h1{font-size:30px;line-height:1.22;letter-spacing:-1px;font-weight:550;margin:0}.subtitle{margin:12px 0 0;color:var(--muted);font-size:13px}h2{font-size:17px;letter-spacing:-.3px;margin:0;font-weight:600}h3{font-size:13px;margin:0 0 13px}p{line-height:1.55}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:29px}.stat{background:white;border:1px solid var(--border);padding:19px 22px;border-radius:12px;position:relative}.stat:first-child{background:var(--mint);border-color:#d9e8ca}.stat span{font-size:12px;color:#72816f}.stat strong{font-size:35px;font-weight:550;display:block;letter-spacing:-1px;margin:11px 0 8px}.stat small{font-size:11px;color:#8c968b}.stat i{font-style:normal;position:absolute;right:22px;top:20px;font-size:20px;color:#90ab7c}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.count{border:1px solid var(--border);border-radius:7px;padding:2px 7px;font-size:11px;color:#7a877c}.filters{display:flex;background:#e9ede5;border-radius:8px;padding:4px;margin-bottom:14px;gap:3px}.filters button{border:0;background:transparent;flex:1;padding:7px 3px;font-size:11px;color:#83907e}.filters .selected{background:white;color:#315c42;box-shadow:0 1px 2px #173b3212}.incident-card{display:block;text-align:left;border-radius:11px;width:100%;padding:17px;margin-bottom:10px;background:white;border:1px solid var(--border)}.incident-card.selected{border-color:#72997c;box-shadow:0 0 0 1px #72997c;background:#fafff8}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8a9689;margin-bottom:15px}.badge{font-size:10px;border-radius:5px;padding:4px 6px;background:#e9eedf;color:#627441;font-weight:500}.badge.active{background:#fff0dc;color:#956a22}.badge.pending{background:#edf0f9;color:#667aa1}.badge.closed,.badge.rejected,.badge.expired{background:#eceeeb;color:#8b9488}.incident-card h3{font-size:15px;margin:0 0 8px}.incident-card p{font-size:11px;color:#889185;margin:0}.card-footer{margin-top:15px;padding-top:11px;border-top:1px solid #edf0e8;display:flex;justify-content:space-between;color:#87967e;font-size:11px}.card-footer .urgent{color:var(--red)}.detail{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:525px}.detail-header{padding:23px 25px 20px;border-bottom:1px solid var(--border)}.detail-heading{display:flex;justify-content:space-between;align-items:start;gap:10px;margin:15px 0 9px}.detail-heading h2{font-size:23px;font-weight:550}.detail-header p{font-size:12px;color:#84917e;margin:0}.actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.actions button,.actions a{font-size:11px;padding:8px 11px;border-radius:7px}.actions a{display:inline-flex;align-items:center;text-decoration:none;color:var(--green);border:1px solid var(--border)}.tabs{display:flex;padding:0 23px;gap:19px;border-bottom:1px solid var(--border);overflow:auto}.tabs button{border:0;border-radius:0;padding:16px 0 13px;white-space:nowrap;background:none;font-size:12px;color:#90998a;border-bottom:2px solid transparent}.tabs button.selected{color:var(--green);border-color:var(--green)}.detail-body{padding:22px 25px}.map-head{display:flex;justify-content:space-between;color:#8c9686;font-size:11px;margin:0 0 20px}.map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.entrance{background:#f8faf5;border:1px solid #e9ede1;border-radius:9px;padding:14px}.entrance h3{font-size:11px;letter-spacing:.3px;margin-bottom:14px}.floor{display:grid;grid-template-columns:37px 1fr 29px;gap:7px;align-items:center;margin:6px 0;font-size:10px;color:#96a18e}.floor-cells{display:flex;gap:3px;height:14px}.cell{flex:1;min-width:2px;border-radius:3px;background:#e7ebe2}.cell.safe{background:#a5c98e}.cell.warning{background:#e5c677}.cell.danger{background:#c87961}.cell.help{background:#af4d40}.legend{display:flex;flex-wrap:wrap;gap:13px;font-size:10px;color:#8c9785;margin-top:18px}.legend i{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:2px}.legend .safe{background:#a5c98e}.legend .warning{background:#e5c677}.legend .danger{background:#c87961}.legend .help{background:#af4d40}.legend .unknown{background:#e7ebe2}.note{padding:12px 14px;border:1px solid #eee5d5;background:#fcf9f1;color:#91805c;border-radius:8px;font-size:11px;margin-top:18px;line-height:1.6}.help-item{border:1px solid #eedacf;background:#fff8f3;border-radius:9px;padding:14px;margin-bottom:10px}.help-item p{margin:5px 0;font-size:12px}.muted{color:var(--muted);font-size:12px}.timeline-item{display:grid;grid-template-columns:47px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid #edf0e8;font-size:12px}.timeline-item time{font-size:10px;color:var(--muted)}.channel-box{padding:24px 2px 0}.channel-box h3{font-size:11px;color:#8a9582;letter-spacing:.4px}.channel-row{display:flex;justify-content:space-between;padding:8px 0;font-size:12px}.channel-row small{font-size:10px;color:#97a68c}.channel-box p{font-size:10px;color:#9ca592}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.photo-card{border:1px solid var(--border);border-radius:8px;padding:8px}.photo-card img{width:100%;height:170px;object-fit:contain;background:#f5f7f0}.photo-card p{font-size:11px}.photo-card button{font-size:11px;width:100%}.test-panel{margin-top:24px;padding:24px;background:#ecf1e5;border:1px solid #dce5d3;border-radius:12px}.test-panel p{font-size:12px;color:#78896f}.test-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:580px;margin-top:18px}.action-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.action-row button{font-size:12px}footer{margin-top:27px;color:#a3ab9b;font-size:10px;line-height:1.5}label{display:block;font-size:12px;color:#697b60;line-height:1.7}input,select,textarea{display:block;width:100%;border:1px solid #dce3d5;padding:10px;border-radius:8px;background:white;color:var(--ink);margin-top:5px}textarea{resize:vertical;min-height:90px}input[type=checkbox]{display:inline;width:auto;margin:0 8px 0 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-stack{display:grid;gap:15px}.form-stack .primary{margin-top:6px}.empty{padding:42px 20px;color:#939e89;text-align:center;font-size:12px}dialog{width:min(570px,94vw);border:1px solid var(--border);border-radius:15px;padding:24px;color:var(--ink);box-shadow:0 30px 100px #173b3229}dialog::backdrop{background:#102c2370;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.icon-button{background:none;border:0;font-size:26px;padding:0 6px}#toast{position:fixed;bottom:25px;right:25px;max-width:480px;padding:16px 22px;background:#254f3c;color:white;border-radius:10px;box-shadow:0 6px 30px #173b3240;font-size:13px;z-index:9}.login{display:grid;place-items:center;min-height:100vh}.login-card{width:min(390px,90vw);padding:35px;background:white;border:1px solid var(--border);border-radius:15px}.login-card h1{font-size:25px;margin-top:25px}.login-card p{color:var(--muted);font-size:13px}.login-card .primary{margin-top:20px;width:100%}#login-error{color:var(--red)}table{width:100%;border-collapse:collapse;font-size:11px}td,th{text-align:left;padding:9px 5px;border-bottom:1px solid var(--border);font-weight:400}th{color:var(--muted)}.scroll-table{overflow:auto}pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:12px;line-height:1.6}[hidden]{display:none!important}@media(min-width:1500px){main{padding-left:55px;padding-right:55px}.workspace{grid-template-columns:345px minmax(0,1fr)}h1{font-size:35px}}@media(max-width:1100px){.sidebar{width:185px;padding:28px 15px}.brand{font-size:19px}main{margin-left:185px;padding:24px}.workspace{grid-template-columns:250px minmax(0,1fr);gap:16px}h1{font-size:24px}.detail-body{padding:18px}.map-grid{gap:8px}.entrance{padding:10px}.demo-banner{flex-wrap:wrap}}@media(max-width:800px){.sidebar{position:static;width:auto;padding:17px 22px;flex-direction:row;align-items:center;gap:15px}.sidebar .nav-caption,.sidebar-bottom,.sidebar .nav{display:none}main{margin:0;padding:20px}header{align-items:start;flex-direction:column;gap:18px;padding:25px 0}.workspace{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:16px 12px}.stat strong{font-size:28px}.stat i{display:none}.stat small{font-size:9px}.channel-box{display:none}#incident-list{display:flex;gap:10px;overflow:auto}.incident-card{min-width:225px;max-width:225px}.section-heading{margin-bottom:12px}.test-controls{grid-template-columns:1fr}.demo-banner button{margin:0}.detail-heading h2{font-size:21px}.topline{padding-bottom:14px}.tabs{gap:16px;padding:0 18px}.detail-body{padding:17px}.fields{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.map-grid{gap:8px}.floor{grid-template-columns:32px 1fr 24px;gap:4px}.floor-cells{gap:2px}#toast{left:15px;right:15px;bottom:15px}}

.info-title{margin-top:24px}.photo-grid{margin-top:14px}@media(max-width:800px){.sidebar{flex-wrap:wrap}.sidebar .nav{display:flex;width:auto;flex:1;padding:8px;font-size:14px;gap:6px;margin:0;white-space:nowrap}.sidebar .nav span{font-size:11px}.sidebar .brand{width:100%;margin-bottom:6px}}

.report-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}
