@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Space+Mono:wght@400;700&display=swap");:root{--bg:#f5f4f0;--surface:#fff;--border:#e2e0d8;--text:#1a1a18;--text-muted:#6b6b65;--accent:#d4380d;--accent-2:#096dd9;--accent-3:#389e0d;--radius:10px;--shadow:0 2px 12px rgba(0,0,0,.06);--shadow-lg:0 8px 32px rgba(0,0,0,.1)}[data-theme=dark]{--bg:#0f0f0e;--surface:#1a1a18;--border:#2e2e2a;--text:#f0efe8;--text-muted:#9b9b93;--shadow:0 2px 12px rgba(0,0,0,.3);--shadow-lg:0 8px 32px rgba(0,0,0,.4)}[data-theme=dark] .btn-secondary{background:transparent;color:var(--text);border-color:var(--border)}[data-theme=dark] .btn-secondary:hover{background:var(--border)}[data-theme=dark] .form-input{background:var(--surface);color:var(--text);border-color:var(--border)}[data-theme=dark] .tag-open{background:#003a8c;color:#91caff}[data-theme=dark] .tag-matched{background:#092b00;color:#95de64}[data-theme=dark] .tag-closed{background:#1f1f1f;color:#8c8c8c}[data-theme=dark] .tag-mrt{background:#5c0011;color:#ffadd2}[data-theme=dark] .tag-bus{background:#003a8c;color:#91caff}[data-theme=dark] .tag-lrt{background:#120338;color:#d3adf7}[data-theme=dark] .tag-interchange{background:#612500;color:#ffd591}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}input,select,textarea{font-family:inherit}.container{max-width:1100px;margin:0 auto;padding:0 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .15s ease;font-family:inherit}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#b5310c}.btn-secondary{background:transparent;color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-blue{background:var(--accent-2);color:#fff}.btn-blue:hover{background:#0857b8}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.form-input{padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:15px;background:var(--surface);color:var(--text);transition:border-color .15s;outline:none}.form-input:focus{border-color:var(--accent-2)}.form-input::placeholder{color:#b0aea5}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b6b65' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.03em}.tag-open{background:#e6f7ff;color:#096dd9}.tag-matched{background:#f6ffed;color:#389e0d}.tag-closed{background:#f5f5f5;color:#8c8c8c}.tag-mrt{background:#fff1f0;color:#cf1322}.tag-bus{background:#e6f7ff;color:#096dd9}.tag-lrt{background:#f9f0ff;color:#722ed1}.tag-interchange{background:#fff7e6;color:#d46b08}.report-card .row-actions{opacity:0;transition:opacity .15s ease}.report-card:hover .row-actions{opacity:1}.report-card:focus-within .row-actions{opacity:1}