:root{--navy:#112a38;--ink:#19323b;--muted:#4f6670;--accent:#be3b24;--line:#ced9da;--paper:#fff;--canvas:#f4f6f5;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a.action{min-height:48px;border:1px solid var(--line);border-radius:8px;padding:12px 18px;background:white;color:var(--ink);font-weight:650;cursor:pointer}button:disabled{opacity:.6;cursor:default}.primary{background:var(--accent);color:white;border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #238ba7;outline-offset:3px}header{background:var(--navy);color:white;padding:24px max(20px,env(safe-area-inset-left));border-bottom:5px solid var(--accent)}header h1{font-size:1.6rem;margin:0}header small{display:block;color:#d0dce0;margin-top:4px}.header-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}main{max-width:1120px;margin:auto;padding:24px 20px 100px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:800;color:var(--muted)}.page-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:24px}h1{font-size:2rem;line-height:1.15}h2{font-size:1.35rem}h3{font-size:1.05rem}.muted{color:var(--muted);line-height:1.5}.panel,.incident-card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}.incident-card{border-left:5px solid var(--accent)}.incident-card h2{margin-top:8px}.incident-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.incident-grid .incident-card{margin:0}.row,.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.form-actions{margin-top:24px}.badge{font-size:.75rem;font-weight:800;color:#97341e;background:#fff0e8;padding:5px 9px;border-radius:4px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:8px;margin:12px 0;font-weight:600}input,textarea,select{width:100%;min-height:48px;border:1px solid #8ea4ac;border-radius:6px;background:white;padding:10px;color:var(--ink)}textarea{resize:vertical}fieldset{border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0;margin:20px 0}.check{display:flex;align-items:center}.check input{width:24px;min-height:24px}.error{color:#9c2816}.preserve-lines{white-space:pre-wrap}.login{max-width:440px;margin:4vh auto}.login h1{font-size:2.4rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}th{font-size:.75rem;text-transform:uppercase;color:var(--muted)}dialog{border:0;border-radius:12px;padding:24px;width:min(900px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;color:var(--ink)}dialog::backdrop{background:#112a38b3}.property-json{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--canvas);padding:12px;font-size:.9rem}.skip{position:absolute;left:-10000px}.skip:focus{left:12px;top:12px;z-index:99;background:white;padding:12px}#notice{position:fixed;bottom:0;left:0;right:0;background:var(--navy);color:white;padding:14px 20px;z-index:9999}#notice:empty{display:none}.offline{background:#ffefd4;color:#69430c;padding:12px}.attachment-list{list-style:none;padding:0}.attachment-list li{margin:12px 0}.photo-preview{max-width:100%;max-height:50vh;border-radius:8px}.preplan-read section{border-top:1px solid var(--line);padding:8px 0}.small{padding:10px 12px}.plan-row{background:#f8faf9}@media(max-width:700px){.incident-grid,.detail-grid,.form-grid{grid-template-columns:1fr}main{padding:20px 14px 90px}header{padding:20px 14px}.page-heading h1{font-size:1.7rem}.row>button{flex:1}dialog{padding:18px}.panel{padding:16px}.login{margin:2vh auto}}@media(prefers-reduced-motion:no-preference){.incident-card{animation:arrive .18s ease-out}@keyframes arrive{from{transform:translateY(5px);opacity:.7}to{transform:none;opacity:1}}}
