: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;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}.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}.lookup-form label{font-weight:700}.multi-line-input{resize:vertical;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}.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}.error-box{color:var(--brand-ink);background:#e84a5f1f;border:1px solid #e84a5f66;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}.complaints-view-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.complaints-view-header h2{margin:0}.complaints-layout{grid-template-columns:minmax(260px,360px) 1fr;gap:1rem;display:grid}.complaints-list-panel,.complaint-detail-panel{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1rem}.complaints-list-panel h3,.complaint-detail-panel h3{margin-top:0}.complaints-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.complaint-item{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:10px;gap:.25rem;width:100%;padding:.65rem .75rem;display:grid}.complaint-item:hover{border-color:var(--brand)}.complaint-item.is-selected{border-color:var(--brand);background:#17a2b814}.complaint-item-number{color:var(--ink);font-weight:700}.complaint-item-meta{color:var(--muted);font-size:.9rem}.complaint-detail-meta{color:var(--muted);margin-bottom:.75rem}@media (width<=760px){.topbar{flex-direction:column;align-items:flex-start}.auth-strip{align-items:flex-start}.input-row{flex-direction:column}.data-row{grid-template-columns:1fr}.complaints-view-header{flex-direction:column;align-items:flex-start}.complaints-layout{grid-template-columns:1fr}}@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)}}
