.rs-wrap{max-width:1180px}
.rs-form{background:#fff;border:1px solid #e4e8eb;border-radius:14px;padding:20px;display:grid;gap:14px}
.rs-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rs-form label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#59666e;letter-spacing:.5px}
.rs-form input,.rs-form textarea,.rs-form select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #dfe4e7;border-radius:8px;padding:10px;font:inherit;font-size:14px;font-weight:400;color:#17202a}
.rs-form textarea{min-height:64px;font-family:ui-monospace,monospace;font-size:12px}
.rs-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rs-progress{background:#fff;border:1px solid #e4e8eb;border-radius:14px;padding:14px 20px;margin-top:14px}
.rs-step{display:grid;grid-template-columns:22px 170px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #edf0f2;font-size:13px;color:#8b969d}
.rs-step.done{color:#26333c}.rs-step.skipped{color:#8b969d}.rs-step.failed{color:#a73d35}.rs-step.running{color:#1a56a0}
.rs-step small{color:#78848d}
.rs-result{margin-top:16px;display:grid;gap:14px}
.rs-hero{background:#fff;border:1px solid #e4e8eb;border-radius:14px;padding:22px;display:grid;gap:10px}
.rs-state{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.2px;padding:6px 12px;border-radius:999px;color:#fff;background:#68747c;width:fit-content}
.rs-state.CONFIRMED,.rs-state.HIGH_CONFIDENCE{background:#1c7a46}.rs-state.CORROBORATED{background:#2f7d6d}
.rs-state.CANDIDATE{background:#9a6500}.rs-state.PARTIAL{background:#b0702a}.rs-state.CONFLICT,.rs-state.UNRESOLVED{background:#a73d35}
.rs-card{background:#fff;border:1px solid #e4e8eb;border-radius:12px;padding:18px}
.rs-card h3{font-size:14px;margin-bottom:10px}
.rs-card table{width:100%;border-collapse:collapse;font-size:12px}
.rs-card th{text-align:left;color:#7b8790;font-size:10px;letter-spacing:1px;padding:6px 8px;border-bottom:1px solid #e4e8eb}
.rs-card td{padding:7px 8px;border-bottom:1px solid #f0f2f4;vertical-align:top;word-break:break-word}
.rs-pill{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:#eef1f3;color:#4a565e}
.rs-pill.bad{background:#f6e1df;color:#a73d35}.rs-pill.ok{background:#dff0e6;color:#1c7a46}.rs-pill.warn{background:#f6ead2;color:#9a6500}
.rs-bars{display:grid;gap:6px}.rs-bar{display:grid;grid-template-columns:150px 1fr 48px;gap:8px;align-items:center;font-size:12px}
.rs-bar i{display:block;height:8px;border-radius:4px;background:#e4e8eb;overflow:hidden}.rs-bar i b{display:block;height:100%;background:#2b6cb0}
.rs-list{margin:0;padding-left:18px;font-size:13px;line-height:1.6}
.rs-map{height:340px;border-radius:12px;border:1px solid #dfe4e7}
.rs-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rs-note{font-size:12px;color:#78848d}
@media(max-width:900px){.rs-row{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-grid2{grid-template-columns:1fr}.rs-step{grid-template-columns:22px 1fr}.rs-step small{grid-column:2}}
.rs-form button.secondary,.rs-actions button.secondary{background:#e9edf0;color:#26333c}

/* phones: the fixed sidebar becomes a top bar so the form and tables get the full width */
@media(max-width:700px){body{display:block}aside{position:static;width:100%;height:auto;padding:12px 16px;flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}.brand{font-size:24px}.sub,.side-note{display:none}nav{display:flex}main{margin-left:0;width:100%;padding:16px}.rs-row{grid-template-columns:1fr}.rs-card{overflow-x:auto}.rs-bar{grid-template-columns:100px 1fr 44px}}
/* printable report: only the result */
@media print{aside,#rsForm,#rsHist,#rsProgress,.rs-actions{display:none!important}body{display:block;background:#fff}main{margin:0;width:100%;padding:0}.rs-card,.rs-hero{break-inside:avoid;box-shadow:none}.rs-map{height:260px}}
