*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;margin:0;font-family:Segoe UI,Hiragino Sans,Yu Gothic UI,sans-serif}#app{grid-template-rows:auto 1fr;display:grid}.panel{color:#f1faee;background:#1d3557;border-bottom:1px solid #457b9d;padding:12px 16px}.panel h1{margin:0 0 4px;font-size:1.1rem;font-weight:600}.subtitle{color:#a8dadc;margin:0 0 10px;font-size:.85rem}.controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}button{color:#fff;cursor:pointer;background:#e63946;border:none;border-radius:6px;padding:8px 16px;font-size:.9rem}button:hover:not(:disabled){background:#d62839}button:disabled{opacity:.6;cursor:wait}#copy-spill-report{background:#bc4749}#copy-spill-report:hover:not(:disabled){background:#a4161a}.toggle{cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:flex}.toggle select{font:inherit;cursor:pointer;max-width:11rem}.area-select{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.area-select select{color:#1d3557;background:#f1faee;border:1px solid #457b9d;border-radius:6px;min-width:220px;padding:6px 8px;font-size:.85rem}.area-description{color:#a8dadc;margin:0 0 6px;font-size:.8rem;line-height:1.4}.artifact-panel{color:#f1faee;margin-bottom:8px;font-size:.85rem}.artifact-panel summary{cursor:pointer;color:#a8dadc;margin-bottom:6px}.artifact-toggles{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 12px;padding:4px 0 0;display:grid}.artifact-toggle{font-size:.8rem}.status{color:#a8dadc;margin:0;font-family:Consolas,Courier New,monospace;font-size:.8rem}.status.is-loading{color:#ffe066}.status.is-ok{color:#b7e4c7}.status.is-error{color:#ffb3c1}#map{width:100%;height:100%;min-height:0}.map-shell{height:100%;min-height:0;position:relative}.inspect-panel{z-index:2;color:#f1faee;background:#1d3557f0;border-radius:8px;width:min(360px,100% - 24px);max-height:calc(100% - 24px);padding:10px 12px;font-size:.8rem;position:absolute;top:12px;left:12px;overflow:auto;box-shadow:0 4px 16px #00000047}.inspect-panel[hidden]{display:none}.inspect-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.inspect-icon-btn{color:#a8dadc;background:0 0;padding:2px 8px;font-size:1.1rem;line-height:1}.inspect-icon-btn:hover:not(:disabled){background:#ffffff14}.inspect-hint{color:#a8dadc;margin:0 0 8px;font-size:.75rem;line-height:1.4}.inspect-coords{white-space:pre-wrap;background:#00000040;border-radius:4px;margin:0 0 8px;padding:6px 8px;font-family:Consolas,Courier New,monospace;font-size:.75rem}.inspect-hits{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.inspect-hit{text-align:left;color:#f1faee;cursor:pointer;background:#f1faee0f;border:1px solid #457b9d;border-radius:4px;width:100%;padding:6px 8px;font-family:Consolas,Courier New,monospace;font-size:.75rem;line-height:1.35;display:block}.inspect-hit:hover:not(:disabled){background:#f1faee24}.inspect-hit.is-selected{background:#ffd60a26;border-color:#ffd60a}.inspect-hit-empty{color:#a8dadc;padding:4px 0;font-size:.75rem}.inspect-actions{flex-wrap:wrap;gap:6px;display:flex}.inspect-btn{background:#457b9d;border-radius:4px;padding:6px 10px;font-size:.75rem}.inspect-btn:hover:not(:disabled){background:#3a6a87}.inspect-btn:disabled{opacity:.45;cursor:not-allowed}.inspect-feedback{color:#a8dadc;min-height:1.1em;margin:6px 0 0;font-size:.72rem}.maplibregl-ctrl-group.geojson-export-ctrl{position:relative}.quality-profile-ctrl .quality-profile-btn{letter-spacing:.02em;min-width:44px;padding:0 6px;font:600 11px/29px system-ui,sans-serif}.quality-profile-ctrl .quality-profile-btn.is-strict{background:#ddd;border:2px solid #555}.geojson-export-panel{z-index:2;background:#fff;border:1px solid #ccc;border-radius:4px;min-width:280px;max-height:280px;margin-top:4px;padding:8px;display:none;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 2px 6px #0003}.geojson-export-actions{flex-direction:column;gap:6px;margin-top:8px;display:flex}.geojson-export-actions .geojson-export-btn{text-align:left;white-space:normal;margin-top:0;line-height:1.3}.geojson-export-desc{color:#555;margin-bottom:6px;font-size:11px;line-height:1.4}.geojson-export-row{cursor:pointer;margin-bottom:4px;font-size:12px;display:block}.geojson-export-btn{cursor:pointer;background:#fff;border:1px solid #888;border-radius:4px;padding:4px 8px;font-size:12px;display:block}.geojson-export-btn:hover{background:#f0f0f0}.maplibregl-ctrl-attrib{font-size:10px}.failure-panel,.artifact-panel{margin:8px 0;font-size:.85rem}.failure-panel summary,.artifact-panel summary{cursor:pointer;color:#a8dadc}.failure-catalog-link{color:#f1faee}.failure-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px;display:grid}.failure-field{flex-direction:column;gap:4px;display:flex}.failure-field-wide{grid-column:1/-1}.failure-field input,.failure-field select,.failure-field textarea{font:inherit;border:1px solid #457b9d;border-radius:4px;padding:6px 8px}.failure-snapshot{color:#a8dadc;grid-column:1/-1;margin:0;font-size:.78rem;line-height:1.4}.failure-form-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}.failure-feedback{color:#a8dadc;font-size:.78rem}.failures-page{background:#0d1b2a}.failures-app{grid-template-rows:auto 1fr;min-height:100%;display:grid}.failures-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.failures-link{color:#f1faee;white-space:nowrap;font-size:.9rem}.failures-controls{margin-top:8px}.btn-secondary{background:#457b9d}.btn-secondary:hover:not(:disabled){background:#3a6a87}.btn-file{color:#fff;cursor:pointer;border-radius:6px;align-items:center;padding:8px 16px;font-size:.9rem;display:inline-flex}.failures-main{padding:16px;overflow:auto}.failures-table{border-collapse:collapse;color:#f1faee;background:#1d3557;width:100%;font-size:.85rem}.failures-table th,.failures-table td{vertical-align:top;text-align:left;border:1px solid #457b9d;padding:8px 10px}.failures-table th{background:#14243d}.failures-sub{color:#a8dadc;margin-top:4px;font-size:.75rem}.failures-notes{white-space:pre-wrap;max-width:280px}.failures-badge{background:#457b9d;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.7rem;display:inline-block}.failures-actions{flex-direction:column;gap:6px;display:flex}.failures-action-link{color:#a8dadc}.failures-delete-btn{background:#6c757d;padding:4px 8px;font-size:.75rem}.failures-empty{color:#a8dadc;text-align:center;margin-top:24px}.failures-empty a{color:#f1faee}
