:root{--ink:#102a43;--muted:#4f6377;--paper:#f6f9fc;--panel:#fff;--milrose-blue:#0a4f87;--milrose-blue-deep:#073761;--milrose-blue-soft:#2c79b2;--brand:#e84a5f;--brand-ink:#7f1d1d;--border:#dbe4ee;--focus:#17a2b8;--radius:16px;--shadow:0 20px 48px #102a431f}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 12% -8%, #0a4f8738, transparent 42%), radial-gradient(circle at 88% 18%, #2c79b22e, transparent 48%), var(--paper);min-height:100vh;margin:0;font-family:Public Sans,Segoe UI,Tahoma,sans-serif}#root{min-height:100vh}h1,h2,p{margin:0}a{color:inherit}.page-shell{gap:1.5rem;width:min(1000px,100% - 2rem);margin:2rem auto;animation:.6s ease-out rise-in;display:grid}.page-shell.is-job-filings-detail-view{width:min(1380px,100% - 1rem)}.page-shell.is-violation-report-view{width:min(1420px,100% - 1rem)}.topbar{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,#0a4f8733,#07376124 52%,#2c79b22e);justify-content:space-between;align-items:end;gap:1rem;padding:1.5rem;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}h1{margin-top:.4rem;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.1}.subtext{color:var(--muted);margin-top:.6rem}.auth-strip{color:var(--muted);flex-direction:column;align-items:flex-end;gap:.5rem;font-size:.95rem;display:flex}.auth-link{background:var(--ink);color:#fff;border-radius:999px;padding:.55rem 1rem;font-weight:600;text-decoration:none}.lookup-card{background:var(--panel);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);gap:1rem;padding:1.5rem;display:grid}.page-shell.is-job-filings-detail-view .lookup-card{padding:1.75rem}.view-tabs{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.view-tab{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:999px;padding:.5rem .9rem;font-weight:600;text-decoration:none}.view-tab.is-active{border-color:var(--brand);background:#17a2b824}.dashboard-table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.dashboard-table{border-collapse:collapse;background:#fff;width:100%}.dashboard-table th,.dashboard-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem .9rem}.page-shell.is-job-filings-detail-view .dashboard-table th,.page-shell.is-job-filings-detail-view .dashboard-table td{padding-left:1rem;padding-right:1rem}.dashboard-table thead th{color:var(--muted);letter-spacing:.02em;font-size:.92rem}.fee-loading-indicator{justify-content:center;align-items:center;min-height:1rem;margin-left:.5rem;display:inline-flex}.fee-loading-spinner{border:2px solid #0f1e3233;border-top-color:var(--brand);border-radius:50%;width:.9rem;height:.9rem;animation:.8s linear infinite fee-spin}.job-description-column{white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:32%}.representative-name-with-tooltip{display:inline-block;position:relative}.representative-name-with-tooltip.is-focusable{cursor:help;text-underline-offset:.12rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.representative-name-with-tooltip.is-focusable:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.representative-tooltip{z-index:5;border:1px solid var(--border);background:#fff;border-radius:8px;min-width:240px;max-width:420px;max-height:200px;padding:.45rem .55rem;display:none;position:absolute;top:calc(100% + .35rem);left:0;overflow:auto;box-shadow:0 10px 24px #102a4329}.representative-tooltip-line{white-space:nowrap;color:var(--ink);font-size:.86rem;line-height:1.4;display:block}.representative-name-with-tooltip:hover .representative-tooltip,.representative-name-with-tooltip:focus-within .representative-tooltip{display:block}.dashboard-controls{align-items:center;gap:.65rem;display:flex}.violation-report-filter{justify-content:flex-start;margin:0;display:flex}.violation-report-header{justify-content:space-between;align-items:center;gap:1rem;margin:.25rem 0 .35rem;display:flex}.violation-report-header h3{margin:0}.violation-report-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.violation-report-tab{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:.45rem .85rem;font-weight:700}.violation-report-tab.is-active{border-color:var(--brand);background:#17a2b824}.violation-report-tab:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.dashboard-controls label{font-weight:700}.dashboard-controls select{border:1px solid var(--border);background:#fff;border-radius:8px;padding:.45rem .6rem}.dashboard-link-button{color:#0f5ea8;font:inherit;text-underline-offset:.12rem;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.dashboard-link-button:hover{color:#0a4a84}.dashboard-link-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}.import-card{border:1px solid var(--border);background:#fff;border-radius:12px;gap:.55rem;padding:1rem;display:grid}.import-card h3{margin:0}.import-card-meta{color:var(--muted);margin:0}.import-card-progress{font-style:italic}.import-card-button{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-self:start;padding:.65rem 1rem;font-weight:700}.import-card-button:disabled{opacity:.7;cursor:not-allowed}.import-card-success{color:#166534;background:#1665341a;border:1px solid #1665344d;border-radius:8px;margin:0;padding:.6rem .7rem}.admin-import-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.lookup-form{gap:.75rem;display:grid}.violation-report-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.violation-report-input-panel{gap:.75rem;display:grid}.lookup-form label{font-weight:700}.multi-line-input{resize:none;border:1px solid var(--border);border-radius:10px;width:100%;min-height:130px;padding:.75rem .9rem;font-family:inherit;font-size:1rem}.multi-line-input:focus{outline:2px solid var(--focus);outline-offset:1px}.input-row{gap:.75rem;display:flex}.violation-report-input-panel .input-row{justify-content:center}.input-row input{border:1px solid var(--border);border-radius:10px;flex:1;padding:.75rem .9rem;font-size:1rem}.input-row input:focus{outline:2px solid var(--focus);outline-offset:1px}.input-row button{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.2rem;font-weight:700}.input-row button:disabled{opacity:.6;cursor:not-allowed}.hint{color:var(--muted);font-size:.92rem}.report-steps-log{border:1px solid var(--border);height:130px;color:var(--muted);background:#00000008;border-radius:10px;grid-area:1/2;margin-top:2rem;padding:.5rem .75rem;font-size:.85rem;overflow-y:auto}.report-steps-log ol{margin:0;padding-left:1.1rem}.report-steps-log li{padding:.1rem 0}.report-step-error{color:#b42318;font-weight:700}.report-step-warning{color:#c25a00;font-weight:700}.report-issues-summary{gap:.25rem;display:grid}.report-issues-summary p{margin:0}.error-box{color:var(--brand-ink);background:#e84a5f1f;border:1px solid #e84a5f66;border-radius:10px;padding:.75rem}.success-box{color:#166534;background:#22c55e1f;border:1px solid #22c55e66;border-radius:10px;padding:.75rem}.results-panel h2{margin-bottom:.25rem}.source-line{color:var(--muted);margin-bottom:1rem}.data-grid{gap:.5rem;margin:0;padding:0;display:grid}.data-row{border-bottom:1px solid var(--border);grid-template-columns:fit-content(420px) minmax(0,1fr);align-items:start;gap:.75rem;padding-bottom:.5rem;display:grid}.data-row dt{font-weight:700}.data-row dd{margin:0}.json-pretty-value{border:1px solid var(--border);white-space:pre-wrap;background:#f8fafc;border-radius:8px;margin:0;padding:.6rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.86rem;line-height:1.4;overflow-x:auto}.section-view-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.section-view-header h2{margin:0}@media (width<=760px){.topbar{flex-direction:column;align-items:flex-start}.auth-strip{align-items:flex-start}.input-row{flex-direction:column}.violation-report-form{grid-template-columns:1fr}.report-steps-log{grid-area:auto/1;margin-top:0}.data-row{grid-template-columns:1fr}.section-view-header{flex-direction:column;align-items:flex-start}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fee-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
