:root{font-family:system-ui,-apple-system,sans-serif;color:#173c36;background:#f4f5ee;font-size:16px}body{margin:0}header,main,nav,#status,footer{max-width:1060px;margin:auto;padding:24px}header{padding-top:54px}small{letter-spacing:.12em;color:#536d5f}h1{font-size:clamp(30px,5vw,50px);line-height:1.3;margin:14px 0}h2{font-size:27px}p{line-height:1.9;color:#52645c}nav{display:flex;gap:24px;padding-top:0;padding-bottom:0}a{color:#24584c;text-underline-offset:6px}main{display:grid;gap:28px}section{background:#fff;border:1px solid #d9e1d3;border-radius:18px;padding:28px}form{border-top:1px solid #e1e6dc;padding-top:20px;margin-top:20px}label{display:block;font-size:14px;margin:12px 0}input,select,textarea{box-sizing:border-box;padding:11px;border:1px solid #bacabc;border-radius:7px;font:inherit;width:100%;margin-top:6px;background:#fcfdf9;color:#173c36}button{border:0;border-radius:8px;padding:12px 18px;background:#24584c;color:white;font:inherit;margin:8px 8px 8px 0;cursor:pointer}button[type=button]{background:#e1e9dc;color:#173c36}.grid,.offer-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.offer-row{padding:8px 0;border-bottom:1px solid #e7ece3}table{width:100%;border-collapse:collapse;margin:16px 0}td,th{padding:12px;text-align:left;border-bottom:1px solid #e1e6dc}#status{min-height:20px;font-weight:600}li{padding:8px 0}footer{font-size:13px;color:#52645c}@media(max-width:600px){section{padding:18px}header,main,nav,#status,footer{padding:18px}.grid{grid-template-columns:1fr 1fr}}

.map-panel{margin-top:24px;border:1px solid #d9e1d3;border-radius:12px;padding:14px;background:#f8faf5}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.map-heading h3{margin:8px 0}.badge{display:inline-block;background:#e5eddb;color:#24584c;padding:5px 10px;border-radius:20px;font-size:12px}canvas{display:block;width:100%;height:auto;max-height:530px;object-fit:contain;border-radius:8px;touch-action:manipulation;cursor:crosshair}#map-status{font-size:13px;margin:8px 0}#notices{list-style:none;padding:0}#notices li{padding:12px;background:#f3f6ed;margin:8px 0;border-radius:8px}#notices button{padding:8px 12px;font-size:14px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b07a29;outline-offset:3px}@media(max-width:600px){h2{font-size:23px}.offer-row{grid-template-columns:1fr 1fr}table{font-size:13px}td,th{padding:9px 5px}.badge{font-size:11px}canvas{max-height:none}#status{font-size:14px}}
canvas{width:min(100%,530px);height:auto;max-height:none;object-fit:fill;margin:0 auto}

.case-card{border:1px solid #d9e1d3;border-radius:12px;padding:15px;margin:12px 0;background:#f8faf5}.case-card h4{margin:0}.case-card p{white-space:pre-wrap;overflow-wrap:anywhere}.case-card small{display:block;letter-spacing:0}.map-tools{display:flex;gap:6px}.map-tools button{padding:9px 13px}#notices li{overflow-wrap:anywhere}@media(max-width:600px){input,select,textarea{font-size:16px}.case-card button{min-height:44px}}

.candidate-row{border-top:1px solid #d9e1d3;padding:10px 0;overflow-wrap:anywhere}.candidate-row button{min-height:44px;max-width:100%;white-space:normal}.case-card{min-width:0}.case-card h5,.case-card p{overflow-wrap:anywhere}button:disabled{opacity:.6;cursor:default}@media(max-width:360px){.grid,.offer-row{grid-template-columns:1fr}.case-card button{width:100%;margin-right:0}}

.case-card ol{padding-left:22px}.case-card li{overflow-wrap:anywhere}.case-card img,#photo-preview img{max-width:100%;height:auto;display:block;margin-top:8px}#trajectory-km{max-width:240px}@media(max-width:600px){#sighting-now{min-height:44px}.case-card ol{padding-left:18px}}

#sighting-editor pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6ed;padding:12px;font-size:13px}#sighting-editor input[type=checkbox],#discard-edit{width:auto;min-width:24px;min-height:24px;margin-right:8px}#sighting-management button{min-height:44px}#sighting-editor{scroll-margin-top:12px}#sighting-editor label{overflow-wrap:anywhere}

[hidden]{display:none!important}#admin-review pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6ed;padding:12px;font-size:13px}#admin-review button{min-height:44px}#admin-review input[type=checkbox]{width:auto;min-height:24px;min-width:24px}#admin-review article{min-width:0}

#admin-review input,#admin-review select{max-width:100%;min-width:0}#admin-review h3{overflow-wrap:anywhere}@media(max-width:600px){#admin-review .grid{grid-template-columns:1fr}#admin-review button{width:100%;margin-right:0;white-space:normal}}
