:root {
  --bg: #f4f5f7;
  --panel: #fff;
  --text: #17191d;
  --muted: #6b7280;
  --line: #e3e6ea;
  --soft: #f0f2f5;
  --accent: #111827;
  --green: #e9f7ee;
  --green-text: #166534;
  --blue: #edf4ff;
  --blue-text: #2457b3;
  --amber: #fff4d6;
  --amber-text: #835d00;
  --danger: #a33a3a;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.header { height: 68px; padding: 0 24px; position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff; border-bottom: 1px solid var(--line); }
.brand { color: var(--text); font-size: 21px; font-weight: 950; letter-spacing: -.5px; }
.brand span { color: var(--muted); font-weight: 700; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: #fff; font-weight: 850; text-decoration: none; transition: background .15s ease, transform .15s ease; }
.button:hover { color: var(--text); background: #fafafa; text-decoration: none; transform: translateY(-1px); }
.button.primary { color: #fff; background: var(--accent); border-color: var(--accent); }
.button.primary:hover { color: #fff; background: #273449; }
.button.small { min-height: 34px; padding: 7px 10px; font-size: 12px; }
.button.secondary { color: var(--text); background: var(--soft); }
.button.danger { color: #fff; background: var(--danger); border-color: var(--danger); }
.container { max-width: 1280px; margin: 0 auto; padding: 22px 18px 70px; }
.search-hero { padding: 55px 0 24px; }
.eyebrow { color: var(--muted); font-size: 11px; font-weight: 950; letter-spacing: 1.2px; text-transform: uppercase; }
h1 { margin: 6px 0 5px; font-size: 48px; letter-spacing: -2px; line-height: 1; }
h2 { margin: 0 0 4px; font-size: 18px; letter-spacing: -.3px; }
.meta, .sub { color: var(--muted); font-size: 13px; }
.searchbar { display: flex; align-items: center; gap: 8px; margin-bottom: 13px; padding: 9px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.searchbox { flex: 1; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px; background: var(--soft); }
.searchbox span { color: var(--muted); font-size: 24px; line-height: 1; }
.searchbox input { width: 100%; padding: 0; border: 0; outline: none; background: transparent; }
.searchbox input:focus { outline: none; }
.hero { display: grid; grid-template-columns: 1fr auto; gap: 18px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.public-hero { align-items: start; }
.statusline { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; font-size: 11px; font-weight: 900; }
.badge.good { color: var(--green-text); background: var(--green); }
.badge.info { color: var(--blue-text); background: var(--blue); }
.badge.warn { color: var(--amber-text); background: var(--amber); }
.hero-actions { display: flex; align-items: flex-start; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.metrics { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 12px 0; }
.metric { padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.metric b { display: block; font-size: 20px; letter-spacing: -.4px; }
.metric span { color: var(--muted); font-size: 11px; }
.panel { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.information-page { max-width: 960px; }
.information-page > .panel { margin-block: 16px; padding: clamp(16px, 3vw, 24px); }
.information-page > .panel > :first-child { margin-top: 0; }
.information-page > .panel > :last-child { margin-bottom: 0; }
.information-page p, .information-page .legal-text { line-height: 1.7; overflow-wrap: anywhere; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.title { font-weight: 950; }
.body { padding: 17px; }
.summary-grid { display: grid; grid-template-columns: 1fr 360px; gap: 12px; }
.quickgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.quick { padding: 11px; border: 1px solid var(--line); border-radius: 11px; }
.quick b { display: block; margin-bottom: 4px; font-size: 12px; }
.quick span { color: var(--muted); font-size: 12px; line-height: 1.4; }
.contact { margin-bottom: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.contact:last-child { margin-bottom: 0; }
.contact-name { font-weight: 950; }
.contact-role { margin: 2px 0 8px; color: var(--muted); font-size: 11px; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.tabs { display: flex; gap: 5px; overflow: auto; margin: 12px 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.tabs a { padding: 9px 11px; border-radius: 8px; color: var(--muted); font-weight: 850; white-space: nowrap; }
.tabs a:hover { color: var(--text); background: var(--soft); text-decoration: none; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 9px 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; font-size: 12px; }
th { color: var(--muted); font-size: 10px; letter-spacing: .7px; text-transform: uppercase; }
td.num { width: 44px; font-weight: 950; }
tr:last-child td { border-bottom: 0; }
.notice { margin: 0 0 14px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: #fafbfc; font-size: 12px; line-height: 1.5; }
.notice strong { display: block; margin-bottom: 4px; }
.success-notice { color: var(--green-text); border-color: #bfe4ca; background: var(--green); }
.error, .error-notice { color: #7b2b2b; border-color: #f2caca; background: #fff4f4; }
.section { margin-top: 12px; }
.priority-panel { border-color: #d8dde6; }
.priority-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.priority-card { padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.priority-card span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 950; letter-spacing: .6px; text-transform: uppercase; }
.priority-card b { display: block; font-size: 13px; line-height: 1.35; }
.priority-card.good { border-color: #caead5; background: var(--green); }
.priority-card.info { border-color: #d2e3ff; background: var(--blue); }
.priority-card.warn { border-color: #f4dea1; background: var(--amber); }
.results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.artist-card { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.artist-card p { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.empty { padding: 40px; border: 1px solid var(--line); border-radius: 14px; color: var(--muted); background: #fff; text-align: center; }
.empty h1 { font-size: 32px; }
.doc { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.doc:last-child { border-bottom: 0; }
.doc b { font-size: 13px; }
.doc span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.feedback-form { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; border: 0; box-shadow: none; }
.form-label { display: flex; flex-direction: column; gap: 6px; }
.form-label span { color: var(--muted); font-size: 11px; font-weight: 900; }
.form-label input, .form-label select, .form-label textarea { width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.form-label textarea { min-height: 96px; resize: vertical; }
.feedback-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* Workspace */
.field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; color: var(--muted); font-size: 11px; font-weight: 850; }
.field input, .field select, .field textarea { width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: #fff; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:disabled, .field select:disabled, .field textarea:disabled { color: #6b7280; background: #f5f6f8; }
form { margin: 18px 0; }
form:not(.searchbar):not(.feedback-form):not(.inline-form) { padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--panel, #fff); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.form-grid .field:last-child { margin-bottom: 0; }
.login-form { max-width: 460px; margin: 60px auto; }
.register-prompt { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 2px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: var(--panel, #fff); font-size: 13px; font-weight: 750; }
.register-prompt:hover { color: var(--text); background: var(--soft); text-decoration: none; }
.register-prompt strong { color: var(--accent-strong, var(--accent)); }
.row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; margin: 10px 0; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.row .eyebrow { margin-bottom: 5px; }
.row-form { margin: 12px 0; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.row-form .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.import-panel { margin: 16px 0; border-color: #d2d9e4; }
.import-panel .panel-title { font-weight: 950; }
.import-panel .panel-sub { color: var(--muted); font-size: 12px; line-height: 1.45; }
.import-panel .panel-body { padding: 17px; }
.import-panel form { margin: 0; }
.import-panel .file-field input[type=file] { padding: 12px; background: var(--soft); border-style: dashed; }
.source-or { margin: 2px 0 12px; color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: .8px; text-align: center; text-transform: uppercase; }
.import-panel small { display: block; color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.4; }
.import-summary { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.import-summary span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: #fafbfc; font-size: 11px; }
.import-summary strong { color: var(--text); font-size: 16px; }
.warning-list { margin: 12px 0; padding: 12px 14px; border: 1px solid #f4dea1; border-radius: 11px; color: var(--amber-text); background: var(--amber); font-size: 12px; }
.warning-list ul { margin: 7px 0 0; padding-left: 18px; }
.import-details { margin: 14px 0; }
.import-details dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.import-details dl div { padding: 9px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfc; }
.import-details dt { color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.import-details dd { margin: 3px 0 0; font-size: 12px; }
.compact-list { margin: 6px 0 12px; padding-left: 19px; color: var(--muted); font-size: 12px; }
.import-panel .button + .button { margin-left: 8px; }
@media (max-width: 600px) { .import-details dl { grid-template-columns: 1fr; } .import-panel .button + .button { margin: 8px 0 0; } }
details summary { padding: 11px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: var(--soft); cursor: pointer; font-size: 13px; font-weight: 850; }
details[open] summary { border-radius: 10px 10px 0 0; }
details form { margin-top: 0; border-top: 0 !important; border-radius: 0 0 14px 14px !important; }
footer { display: flex; justify-content: space-between; gap: 14px; max-width: 1280px; margin: 0 auto; padding: 0 18px 26px; color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .5px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #8db5ff; outline-offset: 2px; }
@media (max-width: 1050px) { .summary-grid { grid-template-columns: 1fr; } .metrics { grid-template-columns: repeat(3, 1fr); } .results { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .header { padding: 0 12px; } .brand { font-size: 18px; } .container { padding: 14px 11px 60px; } .hero { grid-template-columns: 1fr; } .hero-actions { justify-content: flex-start; } .metrics { grid-template-columns: repeat(2, 1fr); } .quickgrid { grid-template-columns: 1fr; } .results { grid-template-columns: 1fr; } .search-hero { padding-top: 38px; } .search-hero h1 { font-size: 38px; } h1 { font-size: 36px; } .priority-grid { grid-template-columns: repeat(2, 1fr); } .form-grid, .row-form .form-grid { grid-template-columns: 1fr; } footer { align-items: flex-start; flex-direction: column; } }
@media (max-width: 480px) { .searchbar { align-items: stretch; flex-direction: column; } .searchbar .button { width: 100%; } .priority-grid { grid-template-columns: 1fr; } .metrics { gap: 6px; } .metric { padding: 10px; } .metric b { font-size: 17px; } th, td { font-size: 11px; white-space: nowrap; } }

.rider-description { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
.rider-discipline { scroll-margin-top: 84px; }

.tabs a[aria-current="page"] { background: var(--accent); color: #fff; }

.discipline { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); scroll-margin-top: 84px; }
.discipline > summary { font-size: 18px; padding: 18px; }
.discipline > summary .sub { margin-left: 12px; }
.subsection { margin: 0 0 14px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.subsection h3 { margin: 0 0 10px; }
.discipline form { margin-top: 0; }

/* JobMarket */
.job-market-container { min-height: calc(100vh - 140px); }
.jobs-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:18px 0 28px; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--panel); box-shadow:var(--shadow); }
.jobs-hero h1 { margin-bottom:10px; }
.jobs-hero p { margin:0; color:var(--muted); }
.job-hero-actions { flex:0 0 auto; }
.jobs-layout { display:grid; grid-template-columns:minmax(220px,280px) minmax(0,1fr); gap:20px; align-items:start; }
.job-filters { position:sticky; top:88px; padding:18px; }
.job-filter-form { margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
.job-filter-form .button { width:100%; margin-top:7px; }
.jobs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.job-card { display:flex; flex-direction:column; gap:12px; min-width:0; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--panel); box-shadow:var(--shadow); }
.job-card-top,.job-card-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.job-card h2 { margin:0; font-size:22px; }
.job-date { color:var(--muted); font-size:12px; font-weight:800; }
.publisher-line { display:flex; flex-direction:column; gap:2px; }
.publisher-line small { color:var(--muted); }
.publisher-badge { display:inline-flex; align-items:center; gap:6px; font-weight:900; }
.job-meta { margin:0; color:var(--muted); }
.job-position-chips { display:flex; flex-wrap:wrap; gap:6px; }
.job-position-chip { display:inline-flex; align-items:center; padding:6px 9px; border:1px solid var(--line); border-radius:999px; color:var(--text); background:var(--soft); font-size:11px; font-weight:800; }
.job-rate { margin-top:auto; padding-top:6px; font-size:18px; font-weight:950; }
.back-link { display:inline-flex; margin:4px 0 18px; color:var(--muted); font-weight:800; }
.job-detail-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; padding:26px; border:1px solid var(--line); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); }
.job-detail-hero p { margin:10px 0 0; color:var(--muted); }
.job-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:16px; align-items:start; }
.job-detail-grid > aside { position:sticky; top:88px; }
.job-section { margin-bottom:14px; padding:20px; }
.job-section .panel-head { margin:-20px -20px 16px; }
.job-section h2 { margin-bottom:14px; }
.job-section h3 { margin:22px 0 8px; }
.job-positions-list { display:grid; gap:10px; }
.job-position-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--panel-2); }
.job-position-row span,.job-position-row p { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.job-position-rate { min-width:160px; text-align:right; font-weight:900; }
.job-position-rate .badge { margin-top:7px; }
.job-facts { display:grid; gap:10px; margin:0; }
.job-facts div { padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--panel-2); }
.job-facts dt { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.job-facts dd { margin:4px 0 0; white-space:pre-wrap; }
.job-application-form,.job-report-form,.job-form { background:var(--panel) !important; border-color:var(--line) !important; }
.job-application-form fieldset,.job-form fieldset { margin:0 0 16px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.job-application-form legend,.job-form legend { padding:0 6px; color:var(--muted); font-size:11px; font-weight:900; }
.check-row { display:flex; align-items:center; gap:8px; margin:8px 0; font-weight:750; }
.contact-unlocked { margin-top:14px; padding:12px; border:1px solid color-mix(in srgb,var(--green-text) 35%,var(--line)); border-radius:10px; background:var(--green); color:var(--green-text); }
.contact-unlocked.full { grid-column:1/-1; }
.publisher-verification-panel { margin:18px 0; padding:18px; }
.verification-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.verification-grid > div { padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--panel-2); }
.profile-status { display:inline-flex; margin:10px 0 18px; padding:8px 11px; border-radius:999px; font-size:12px; font-weight:900; }
.profile-status.is-complete { color:var(--green-text); background:var(--green); }
.profile-status.is-incomplete { color:var(--amber-text); background:var(--amber); }
.job-wizard-nav { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-bottom:20px; }
.job-wizard-nav button { min-height:42px; border:1px solid var(--line); border-radius:10px; background:var(--soft); color:var(--muted); font-weight:900; }
.job-wizard-nav button.active { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
html[data-theme="dark"] .job-wizard-nav button.active { color:#102230; }
.job-form.is-enhanced .job-step { display:none; }
.job-form.is-enhanced .job-step.active { display:block; }
.job-step-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
.job-position-editor { margin:0 0 12px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2); }
.job-position-editor .field:last-of-type { margin-bottom:8px; }
.job-form[data-rate-mode="global"] .position-rate-fields { display:none; }
.job-form[data-rate-mode="per_position"] .global-rate-fields { display:none; }
.application-list,.my-jobs-grid { display:grid; gap:12px; }
.my-jobs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.application-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--panel); box-shadow:var(--shadow); }
.application-card h2 { margin:4px 0; }
.application-card p { color:var(--muted); }
.candidate-section { margin-top:28px; }
.candidate-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,360px); gap:18px; margin:12px 0; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--panel); box-shadow:var(--shadow); }
.candidate-card details { margin:10px 0; }
.candidate-positions { display:grid; gap:8px; align-content:start; }
.candidate-position { padding:11px; border:1px solid var(--line); border-radius:10px; background:var(--panel-2); }
.candidate-position > .badge { float:right; }
.candidate-actions { display:flex; gap:6px; margin-top:10px; }
.job-management-actions { margin-top:18px; }
.admin-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,auto); gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
.admin-row:last-child { border-bottom:0; }
.admin-row span { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.admin-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
.admin-actions input { min-width:180px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; color:var(--text); background:var(--panel); }
.job-report-form { padding:0 !important; border:0 !important; box-shadow:none !important; }
.job-report-form details form { border:0; }
@media (max-width:1000px) { .jobs-grid,.my-jobs-grid { grid-template-columns:1fr; }.job-detail-grid { grid-template-columns:1fr; }.job-detail-grid > aside { position:static; }.candidate-card { grid-template-columns:1fr; } }
@media (max-width:760px) { .jobs-hero,.job-detail-hero { align-items:flex-start; flex-direction:column; padding:20px; }.jobs-layout { grid-template-columns:1fr; }.job-filters { position:static; }.verification-grid { grid-template-columns:1fr; }.job-wizard-nav { grid-template-columns:repeat(2,1fr); }.job-position-row { grid-template-columns:1fr; }.job-position-rate { min-width:0; text-align:left; }.application-card,.admin-row { grid-template-columns:1fr; }.admin-actions { justify-content:flex-start; } }
@media (max-width:520px) { .job-wizard-nav { grid-template-columns:1fr; }.job-step-actions { align-items:stretch; flex-direction:column; }.job-step-actions .button { width:100%; }.header-actions .button { font-size:11px; }.job-card { padding:16px; } }


/* Unified authenticated navigation */
.panel-menu { position:relative; }
.panel-menu > summary { list-style:none; cursor:pointer; }
.panel-menu > summary::-webkit-details-marker { display:none; }
.panel-menu-popover { position:absolute; right:0; top:calc(100% + 8px); z-index:80; min-width:180px; padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--panel); box-shadow:var(--shadow); }
.panel-menu-popover > a,.panel-menu-popover button { width:100%; display:block; padding:10px 11px; border:0; border-radius:8px; color:var(--text); background:transparent; text-align:left; font-weight:800; }
.panel-menu-popover > a:hover,.panel-menu-popover button:hover { background:var(--soft); text-decoration:none; transform:none; }
.panel-menu-logout { margin:0; padding:0 !important; border:0 !important; background:transparent !important; }

/* Homepage: RiderBase 2/3 + Job Market 1/3 */
.home-hero-compact { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:18px; padding:24px 28px; border:1px solid var(--line); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); }
.home-hero-compact h1 { max-width:820px; margin:6px 0 8px; font-size:38px; line-height:1.02; letter-spacing:-1.7px; }
.home-hero-compact h1 span { color:var(--accent); }
.home-hero-links { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.home-dashboard-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); gap:16px; align-items:start; }
.home-catalog-panel { min-width:0; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); }
.home-section-head,.home-jobs-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.home-section-head h2,.home-jobs-head h2 { margin:3px 0 0; font-size:24px; }
.home-section-head > span { color:var(--muted); font-size:12px; }
.home-rider-results { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-jobs-panel { padding:20px; }
.home-jobs-intro { margin:0 0 14px; color:var(--muted); font-size:13px; line-height:1.45; }
.home-job-list { display:grid; gap:10px; }
.home-job-card { padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--panel-2); }
.home-job-card h3 { margin:6px 0; font-size:16px; line-height:1.2; }
.home-job-card p { margin:7px 0; color:var(--muted); font-size:12px; }
.home-job-meta { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.home-job-card .publisher-badge { font-size:12px; }
.home-job-rate { display:block; margin:8px 0 11px; font-size:13px; }
.home-job-card .button { width:100%; }
.home-jobs-empty { display:grid; gap:5px; padding:24px 12px; border:1px dashed var(--line); border-radius:13px; color:var(--muted); text-align:center; }
.home-jobs-empty strong { color:var(--text); }
.home-jobs-all { width:100%; margin-top:12px; }

@media (max-width:1100px) {
  .home-dashboard-grid { grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr); }
  .home-rider-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .header-actions { flex-wrap:wrap; justify-content:flex-end; }
}
@media (max-width:820px) {
  .home-hero-compact { align-items:flex-start; flex-direction:column; }
  .home-dashboard-grid { grid-template-columns:1fr; }
  .home-jobs-panel { order:2; }
}
@media (max-width:520px) {
  .home-hero-compact { padding:20px; }
  .home-hero-compact h1 { font-size:32px; }
  .home-hero-links,.home-hero-links .button { width:100%; }
  .home-rider-results { grid-template-columns:1fr; }
  .panel-menu-popover { position:fixed; left:12px; right:12px; top:auto; }
}

/* Public rider: expandable discipline navigation */
.rider-accordion { display:grid; gap:12px; }
.rider-accordion-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.rider-accordion-toolbar > div:first-child { display:flex; flex-direction:column; gap:3px; }
.rider-accordion-toolbar span { color:var(--muted); font-size:12px; }
.rider-accordion-actions { display:flex; gap:8px; flex-wrap:wrap; }
.rider-section-nav { margin:0 0 4px; }
details.rider-discipline { margin:0; overflow:hidden; scroll-margin-top:92px; }
details.rider-discipline > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; list-style:none; cursor:pointer; padding:17px 19px; border:0; border-radius:0; background:var(--panel); color:var(--text); }
details.rider-discipline > summary::-webkit-details-marker { display:none; }
details.rider-discipline > summary::after { content:'+'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; color:var(--text); background:var(--soft); font-size:20px; font-weight:800; line-height:1; }
details.rider-discipline[open] > summary { border-bottom:1px solid var(--line); }
details.rider-discipline[open] > summary::after { content:'−'; background:var(--accent); color:#102230; border-color:var(--accent); }
.rider-discipline-title { font-size:18px; font-weight:950; letter-spacing:-.25px; }
.rider-discipline-hint { margin-left:auto; color:var(--muted); font-size:11px; font-weight:700; }
.lighting-plot-gallery figure { align-self:start; }
.lighting-plot-gallery figure img { max-height:220px; object-fit:contain; cursor:zoom-in; }
.lighting-plot-gallery figure.is-expanded { grid-column:1 / -1; }
.lighting-plot-gallery figure.is-expanded img { max-height:min(78vh,920px); cursor:zoom-out; }
.plot-expand-button { margin-top:10px; width:100%; justify-content:center; }
@media (max-width:760px) {
  .rider-accordion-toolbar { align-items:stretch; flex-direction:column; }
  .rider-accordion-actions .button { flex:1 1 140px; }
  .rider-discipline-hint { display:none; }
  details.rider-discipline > summary { padding:15px 16px; }
  .lighting-plot-gallery { grid-template-columns:1fr; }
}

/* Public rider: compact shortcuts + second-level subsections */
.rider-section-nav { display:flex; gap:7px; overflow:auto; margin:0 0 4px; padding:0; border:0; border-radius:0; background:transparent; }
.rider-section-nav a { padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:var(--panel); color:var(--muted); font-size:12px; font-weight:850; }
.rider-section-nav a:hover { background:var(--soft); color:var(--text); }
.rider-section-nav a[aria-current="page"] { background:var(--accent); border-color:var(--accent); color:#102230; }
.rider-discipline-body { display:grid; gap:9px; }
details.rider-subsection { margin:0; border:1px solid var(--line); border-radius:11px; background:color-mix(in srgb,var(--panel) 88%,var(--soft)); overflow:hidden; }
details.rider-subsection > summary { display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none; padding:12px 14px; color:var(--text); font-size:14px; font-weight:900; }
details.rider-subsection > summary::-webkit-details-marker { display:none; }
details.rider-subsection > summary::after { content:'+'; margin-left:auto; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; border:1px solid var(--line); background:var(--soft); font-size:16px; line-height:1; }
details.rider-subsection[open] > summary { border-bottom:1px solid var(--line); }
details.rider-subsection[open] > summary::after { content:'−'; background:var(--accent); border-color:var(--accent); color:#102230; }
.rider-subsection-count { margin-left:2px; padding:2px 7px; border-radius:999px; background:var(--soft); color:var(--muted); font-size:10px; font-weight:900; }
.rider-subsection-body { display:grid; gap:12px; padding:13px 14px; }
.rider-table-subsection > .panel { margin:0; border:0; box-shadow:none; background:transparent; }
.rider-table-subsection > .panel > .panel-head { padding:0 0 8px; border:0; background:transparent; }
.rider-table-subsection > .panel > .body { padding:0; }
@media (max-width:760px) {
  .rider-section-nav a { padding:6px 9px; font-size:11px; }
  details.rider-subsection > summary { padding:11px 12px; }
  .rider-subsection-body { padding:12px; }
}

/* PDF parser v2 review */
.import-conflicts{display:grid;gap:12px;margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.conflict-card{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;min-inline-size:0}
.conflict-card legend{padding:0 6px;font-weight:850}
.conflict-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.conflict-option input{grid-row:1 / span 2;margin-top:3px}
.conflict-option small{opacity:.72}
.import-data-table{width:100%;border-collapse:collapse;font-size:.92rem}
.import-data-table th,.import-data-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.import-data-table th{white-space:nowrap}
.import-data-table td:last-child,.import-data-table th:last-child{min-width:120px}
@media (max-width:760px){
  .import-data-table{display:block;overflow-x:auto}
  .conflict-option{grid-template-columns:auto minmax(0,1fr)}
}

/* PDF import review dashboard: show outcomes first, source detail on demand */
.import-review-dashboard .panel-head{align-items:flex-start}
.import-review-dashboard .panel-title{font-size:20px;margin-top:3px}
.import-review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px}
.import-review-stat{display:flex;flex-direction:column;gap:3px;min-height:88px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}
.import-review-stat strong{font-size:25px;line-height:1;letter-spacing:-.6px}
.import-review-stat span{color:var(--muted);font-size:11px;font-weight:800}
.import-review-stat.needs-review{border-color:#f4dea1;background:var(--amber)}
.import-review-stat.needs-review strong,.import-review-stat.needs-review span{color:var(--amber-text)}
.import-review-stat.is-clean{border-color:#bfe4ca;background:var(--green)}
.import-review-stat.is-clean strong,.import-review-stat.is-clean span{color:var(--green-text)}
.import-review-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 10px}
.import-review-heading h2{margin:2px 0 0;font-size:18px}
.import-review-heading p{margin:0}
.import-review-overview,.import-review-pages,.import-review-data{margin:22px 0}
.import-review-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.import-review-section-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel);text-decoration:none}
.import-review-section-card:hover{background:var(--soft);text-decoration:none;transform:translateY(-1px)}
.import-review-section-card>span{font-weight:900}
.import-review-section-card>strong{grid-row:1 / span 2;grid-column:2;font-size:22px}
.import-review-section-card>small{color:var(--muted)}
.import-review-page-list{margin:0}
.import-review-page-list>summary,.import-review-warnings>summary,.import-review-sources>summary{background:var(--panel)}
.page-checks{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.page-check{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(0,1fr);gap:14px;align-items:start;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:12px}
.page-check>span{color:var(--muted)}
.page-state{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:5px;border-radius:50%;background:var(--green);color:var(--green-text);font-size:10px}
.page-review .page-state,.page-image .page-state{background:var(--amber);color:var(--amber-text)}
.import-review-warnings{margin:14px 0}
.import-review-warnings .warning-list{margin:0;border-radius:0 0 11px 11px}
.import-review-warnings .warning-list ul{margin-top:0}
.import-review-data-group{margin:0 0 8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}
.import-review-data-group>summary{display:flex;align-items:center;gap:10px;border:0;border-radius:0;background:var(--panel);font-size:14px}
.import-review-data-group[open]>summary{border-bottom:1px solid var(--line)}
.import-review-count{margin-left:auto;padding:3px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px}
.import-review-data-body{display:grid;gap:10px;padding:12px}
.import-review-field{padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.import-review-field>strong{display:block;margin-bottom:5px;font-size:12px}
.import-review-field>p{margin:0;white-space:normal;overflow-wrap:anywhere;color:var(--text);font-size:12px;line-height:1.5}
.import-review-field>small{margin-top:6px}
.import-review-fulltext{margin-top:8px}
.import-review-fulltext>summary,.conflict-full>summary{display:inline-flex;padding:6px 8px;border-radius:8px;background:var(--panel);font-size:11px}
.import-review-fulltext>div,.conflict-full>div{margin-top:7px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.import-review-table-block{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.import-review-table-block h3{margin:0 0 8px;font-size:13px}
.import-review-table-block h3 span{margin-left:5px;color:var(--muted);font-size:11px}
.import-apply-form{margin:18px 0 0!important;padding:0!important;border:0!important;background:transparent!important}
.import-apply-bar{position:sticky;bottom:12px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:0 12px 32px rgba(0,0,0,.12)}
.import-apply-bar>div:first-child{display:flex;flex-direction:column;gap:3px}
.import-apply-bar strong{font-size:12px}.import-apply-bar span{color:var(--muted);font-size:11px}
.import-apply-actions{display:flex;gap:8px;flex-wrap:wrap}
.conflict-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:10px}
.conflict-option>input{margin-top:3px}.conflict-option>label{display:grid;gap:4px;cursor:pointer}.conflict-option>label span{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.conflict-option>label small{color:var(--muted)}
.conflict-full{grid-column:2;margin-top:2px}
@media (max-width:900px){.import-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.import-review-sections{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.import-review-stats,.import-review-sections{grid-template-columns:1fr}.import-review-heading,.import-apply-bar{align-items:stretch;flex-direction:column}.page-check{grid-template-columns:1fr;gap:4px}.import-apply-actions{display:grid;grid-template-columns:1fr 1fr}.import-apply-actions .button{width:100%}.import-apply-bar{bottom:6px}}
/* Full import diff: long notes must remain readable before confirmation. */
.import-comparison { margin-block: 1.5rem; }
.import-diff-value { white-space: pre-wrap; overflow-wrap: anywhere; min-width: 12rem; max-width: 34rem; }
.import-comparison th { overflow-wrap: anywhere; }
