/* Shared visual theme for the public catalog and workspace. */
:root { --bg:#f3f5f5; --text:#15252c; --muted:#5c7079; --line:#dce4e5; --soft:#edf2f2; --accent:#193d39; --green:#e7f4ed; --green-text:#216346; --blue:#edf1f5; --blue-text:#425c70; }
body { font-family:"Segoe UI",system-ui,sans-serif; line-height:1.5; -webkit-font-smoothing:antialiased; }
.header { height:80px; padding-inline:max(24px,calc((100vw - 1200px)/2)); background:#101f27; border:0; color:#fff; }
.brand { display:flex; align-items:center; gap:12px; color:#fff; font-size:22px; font-weight:750; letter-spacing:-.9px; }
.brand::before { content:"P"; display:grid; place-items:center; width:34px; height:36px; background:#c5f16a; color:#15252c; font-size:24px; border-radius:8px 8px 8px 2px; font-weight:900; }
.header .button { background:transparent; color:#dae5e7; border-color:#425159; font-weight:600; }
.header .button.primary { background:#c5f16a; color:#15252c; border-color:#c5f16a; }
.header .button.small { padding:10px 16px; min-height:40px; font-size:13px; }
.container { max-width:1248px; padding:32px 24px 76px; min-height:calc(100vh - 150px); }
h1 { font-weight:750; line-height:1.1; letter-spacing:-1.8px; }
h2 { font-weight:700; }
.search-hero { position:relative; isolation:isolate; overflow:hidden; background:#101f27; color:#fff; padding:46px 48px 34px; border-radius:22px; margin:0 0 28px; min-height:330px; }
.search-hero .eyebrow { color:#c5f16a; font-size:11px; letter-spacing:2px; font-weight:650; }
.search-hero h1 { position:relative; z-index:1; font-size:clamp(34px,4.2vw,56px); margin:17px 0; max-width:760px; }
.search-hero h1 span { color:#c5f16a; }
.search-hero .meta { position:relative; z-index:1; font-size:15px; line-height:1.65; color:#bccbd0; }
.hero-caption { color:#a2b7bc; font-size:10px; letter-spacing:1.7px; margin-top:28px; }
.hero-caption span { color:#c5f16a; padding:0 10px; }
.stage-art { position:absolute; z-index:-1; right:35px; bottom:0; width:310px; height:290px; display:flex; gap:12px; align-items:center; opacity:.65; transform:rotate(-12deg); }
.stage-art i { display:block; flex:1; background:linear-gradient(#c5f16a55,#c5f16a05); border:1px solid #c5f16a30; height:40%; border-radius:30px; }
.stage-art i:nth-child(2n) { height:65%; }.stage-art i:nth-child(3n) { height:85%; }.stage-art i:nth-child(5) { height:100%; }
.searchbar { padding:8px; border-radius:14px; border-color:#c9d6d8; box-shadow:0 4px 16px #142e3610; margin-bottom:20px; }
.searchbox { background:transparent; padding:13px 16px; min-width:0; }
.searchbox input { font-size:16px; color:var(--text); }
.searchbar:focus-within { border-color:#427a6e; box-shadow:0 0 0 3px #427a6e20; }
.button,button { font-weight:650; border-radius:9px; }
.button.primary { background:var(--accent); }.button.primary:hover { background:#28564e; }
.searchbar .button { min-height:48px; padding-inline:28px; }
.tabs { background:transparent; border:0; padding:0; gap:8px; flex-wrap:wrap; margin-bottom:30px; }
.tabs a { border:1px solid var(--line); border-radius:8px; padding:10px 16px; background:#fff; color:#51636b; font-weight:600; font-size:13px; }
.tabs a[aria-current="page"] { background:#182c35; border-color:#182c35; color:#fff; }
.results-heading { display:flex; align-items:center; justify-content:space-between; margin:0 0 18px; }
.results-heading h2 { font-size:20px; }.results-heading>span { font-size:12px; color:var(--muted); }
.results { gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.artist-card { padding:26px; border-radius:16px; background:#fff; border:1px solid var(--line); display:flex; align-items:flex-start; flex-direction:column; transition:box-shadow .2s,border-color .2s,transform .2s; }
.artist-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px #18323a0c; border-color:#a7bdb8; }
.artist-avatar { display:grid; place-items:center; width:54px; height:54px; border-radius:13px; color:#244d43; background:#edf4dd; font-size:20px; font-weight:750; letter-spacing:-1px; margin-bottom:20px; }
.artist-card:nth-child(3n+2) .artist-avatar { background:#e5eef5; color:#355574; }
.artist-card:nth-child(3n) .artist-avatar { background:#f6eadc; color:#815929; }
.artist-card h2 { font-size:23px; letter-spacing:-.7px; }.artist-card p { margin:6px 0 8px; font-size:12px; color:var(--muted); }
.badge { font-size:10px; font-weight:650; padding:5px 9px; }
.artist-card .section { align-self:stretch; margin-top:auto; padding-top:24px; }
.artist-card .button { display:flex; justify-content:space-between; width:100%; background:#f1f5f3; border-color:#e0e9e4; color:#254b42; font-size:13px; }
.artist-card .button:hover { background:#e5efdf; }.artist-card .button span { font-size:20px; }
.hero,.panel,.discipline,.metric,.subsection { border-radius:14px; border-color:var(--line); box-shadow:0 3px 12px #18323a04; }
.hero { padding:30px; }.public-hero h1 { font-size:44px; }
.panel-head,.discipline>summary { background:#f8faf9; }.discipline>summary { font-weight:650; }
.row { border-radius:12px; padding:20px; background:#fff; margin:12px 0; gap:16px; flex-wrap:wrap; }
.artist-delete { max-width:440px; }.artist-delete summary { color:#9f3030; background:#fff7f6; border-color:#efd5d2; }
.login-form { max-width:480px; padding:30px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 35px #18323a08; }
.field input,.field select,.field textarea { border-radius:8px; padding:12px; line-height:1.5; }
.field>span { font-weight:600; }.rider-description { font-size:14px; }
.lighting-plot-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin:16px 0 6px; }
.lighting-plot-gallery figure { margin:0; padding:10px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.lighting-plot-gallery figcaption { margin:0 0 8px; color:var(--muted); font-size:12px; font-weight:650; }
.lighting-plot-gallery img { display:block; width:100%; height:auto; border-radius:6px; background:#f4f6f6; }
footer { max-width:1248px; padding:24px; border-top:1px solid var(--line); font-weight:600; }
.import-pages { margin:22px 0; border:1px solid var(--line); border-radius:12px; background:#fbfcfc; }
.import-pages summary { cursor:pointer; padding:14px 16px; color:var(--text); font-weight:700; }
.page-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; padding:0 16px 16px; margin:0; list-style:none; }
.page-check { display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-left:4px solid #8ca4ad; border-radius:6px; background:#f1f5f5; font-size:12px; }
.page-check span { color:var(--muted); }.page-recognized { border-left-color:#3b8b62; background:#eef8f1; }.page-informational { border-left-color:#7f9aa6; background:#f0f5f6; }.page-review { border-left-color:#d39b3a; background:#fff8e9; }.page-image { border-left-color:#bd6870; background:#fff1f2; }
@media(max-width:600px) { .page-checks { grid-template-columns:1fr; } }
@media(max-width:900px) { .stage-art { opacity:.25; right:-40px; }.results { grid-template-columns:repeat(2,minmax(0,1fr)); }.header { padding-inline:24px; } }
@media(max-width:600px) { .header { height:auto; min-height:72px; padding:14px 16px; flex-wrap:wrap; gap:12px; }.brand { font-size:19px; }.header-actions { flex-wrap:wrap; }.header .button.small { padding:8px 12px; }.container { padding:20px 16px 48px; }.search-hero { padding:30px 24px; min-height:0; border-radius:16px; }.search-hero h1 { font-size:36px; letter-spacing:-1.4px; }.search-hero .meta { font-size:13px; }.stage-art { display:none; }.results { grid-template-columns:1fr; }.artist-card { padding:22px; }.tabs { gap:6px; }.tabs a { font-size:12px; padding:9px 12px; }.searchbar { flex-direction:column; align-items:stretch; }.searchbar .button { width:100%; }.public-hero h1 { font-size:34px; }.hero { padding:22px; }.login-form { padding:22px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

/* ProRiderDesk visual system: the same interface is available in light and dark mode. */
:root {
  --bg:#f4f7f8; --panel:#fff; --panel-2:#eef3f5; --text:#102230; --muted:#617683;
  --line:#d9e3e7; --soft:#edf2f5; --accent:#b9ef5e; --accent-strong:#163d3b;
  --green:#e8f5df; --green-text:#2d6736; --blue:#e8f1f7; --blue-text:#315b78;
  --amber:#fff1ce; --amber-text:#805b00; --danger:#a33a3a; --header:#fff;
  --header-text:#102230; --header-line:#d9e3e7; --hero-bg:#e8eef3; --hero-text:#102230;
  --shadow:0 16px 40px rgba(20,49,62,.08);
}
html[data-theme="dark"] {
  color-scheme:dark;
  --bg:#09151d; --panel:#101f28; --panel-2:#172a34; --text:#f4f8f8; --muted:#9aaeb5;
  --line:#2b4049; --soft:#172932; --accent:#c5f16a; --accent-strong:#c5f16a;
  --green:#1d3b2e; --green-text:#c5f16a; --blue:#183443; --blue-text:#b9ddff;
  --amber:#44351b; --amber-text:#f3ce74; --danger:#d46b70; --header:#0d1b24;
  --header-text:#f4f8f8; --header-line:#314751; --hero-bg:#0d1d27; --hero-text:#f4f8f8;
  --shadow:0 20px 55px rgba(0,0,0,.25);
}
html[data-theme="light"] { color-scheme:light; }
body { background:var(--bg); color:var(--text); transition:background .2s ease,color .2s ease; }
.header { background:var(--header); color:var(--header-text); border-bottom:1px solid var(--header-line); }
.header-actions { margin-left:auto; }
.brand { color:var(--header-text); gap:10px; font-size:22px; letter-spacing:-1px; }
.brand::before { display:none !important; content:none; }
.brand-mark { display:grid; place-items:center; width:54px; height:38px; color:var(--header-text); }
.brand-mark svg { width:100%; height:100%; }
.brand-word { display:inline-flex; align-items:baseline; }
.brand-word strong { font-weight:850; }
.brand-word em { color:#6fa62d; font-style:normal; font-weight:850; }
html[data-theme="dark"] .brand-word em { color:var(--accent); }
.header .button { color:var(--header-text); background:transparent; border-color:var(--header-line); }
.header .button:hover { background:var(--soft); color:var(--header-text); }
.header .button.primary { background:var(--accent); border-color:var(--accent); color:#102230; }
html[data-theme="light"] .header .button.primary { background:transparent; border-color:#50735a; color:#285b35; }
.theme-toggle { display:inline-grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid var(--header-line); border-radius:999px; color:var(--header-text); background:transparent; cursor:pointer; font-size:18px; line-height:1; transition:background .15s ease,transform .15s ease; }
.theme-toggle:hover { background:var(--soft); transform:translateY(-1px); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.container { max-width:1320px; padding:30px 24px 76px; }
.catalog-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr); gap:18px; align-items:stretch; }
.catalog-layout .search-hero { min-height:560px; margin:0; display:flex; flex-direction:column; justify-content:space-between; }
.catalog-panel { min-width:0; padding:28px; border:1px solid var(--line); border-radius:22px; background:var(--panel); box-shadow:var(--shadow); }
.catalog-panel .searchbar { margin-bottom:22px; }
.catalog-panel .tabs { margin-bottom:30px; }
.search-hero { background:var(--hero-bg); color:var(--hero-text); box-shadow:var(--shadow); }
.search-hero .meta { color:var(--muted); }
html[data-theme="dark"] .search-hero .meta { color:#bccbd0; }
.search-hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.9; background:linear-gradient(135deg,transparent 38%,rgba(93,121,133,.10) 38.2%,transparent 38.6%),linear-gradient(25deg,transparent 65%,rgba(93,121,133,.08) 65.2%,transparent 65.7%); }
html[data-theme="dark"] .search-hero::before { background:linear-gradient(135deg,transparent 38%,rgba(139,192,214,.08) 38.2%,transparent 38.6%),linear-gradient(25deg,transparent 65%,rgba(139,192,214,.08) 65.2%,transparent 65.7%); }
.search-hero > * { position:relative; z-index:1; }
.search-hero .eyebrow { color:#4c862e; }
html[data-theme="dark"] .search-hero .eyebrow { color:var(--accent); }
.search-hero h1 { color:var(--hero-text); font-size:clamp(38px,4.5vw,64px); letter-spacing:-2.6px; }
.search-hero h1 span { color:#68a92e; }
html[data-theme="dark"] .search-hero h1 span { color:var(--accent); }
.hero-caption { color:var(--muted); }
html[data-theme="dark"] .hero-caption { color:#a2b7bc; }
.hero-caption span { color:#68a92e; }
html[data-theme="dark"] .hero-caption span { color:var(--accent); }
.stage-art { width:420px; height:380px; right:-36px; opacity:.38; }
html[data-theme="dark"] .stage-art { opacity:.52; }
.stage-art i { background:linear-gradient(var(--accent),transparent); border-color:color-mix(in srgb,var(--accent) 25%,transparent); }
.catalog-panel .searchbar { background:var(--panel); border-color:var(--line); box-shadow:none; }
.catalog-panel .searchbox { background:var(--soft); border:1px solid var(--line); }
.catalog-panel .searchbox input { color:var(--text); }
.catalog-panel .searchbox input::placeholder { color:var(--muted); }
.catalog-panel .tabs a { background:var(--panel); color:var(--muted); border-color:var(--line); }
.catalog-panel .tabs a:hover { background:var(--soft); color:var(--text); }
.catalog-panel .tabs a[aria-current="page"] { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
html[data-theme="dark"] .catalog-panel .tabs a[aria-current="page"] { color:#102230; }
.results-heading h2 { color:var(--text); }
.results-heading > span { color:var(--muted); }
.artist-card { background:var(--panel); border-color:var(--line); box-shadow:none; }
.artist-card:hover { border-color:#78a38e; box-shadow:var(--shadow); }
.artist-card .button { background:var(--soft); border-color:var(--line); color:var(--text); }
.artist-card .button:hover { background:var(--accent); color:#102230; border-color:var(--accent); }
.artist-avatar { background:#e7f4cf; color:#2d6736; }
html[data-theme="dark"] .artist-avatar { background:#284433; color:var(--accent); }
html[data-theme="dark"] .artist-card:nth-child(3n+2) .artist-avatar { background:#1b3a4a; color:#b9ddff; }
html[data-theme="dark"] .artist-card:nth-child(3n) .artist-avatar { background:#493924; color:#f3ce74; }
.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); }
.panel,.hero,.metric,.discipline,.subsection,.row,.login-form,.empty,.quick,.priority-card,.artist-card { background:var(--panel); border-color:var(--line); box-shadow:var(--shadow); }
.panel-head,.discipline>summary,details summary { background:var(--panel-2); color:var(--text); border-color:var(--line); }
.body,.rider-description { color:var(--text); }
.meta,.sub,.muted,.contact-role { color:var(--muted); }
.button,button { color:var(--text); background:var(--panel); border-color:var(--line); }
.button:hover,button:hover { color:var(--text); background:var(--soft); }
.button.primary { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
html[data-theme="dark"] .button.primary { color:#102230; }
.button.primary:hover { background:var(--accent); border-color:var(--accent); color:#102230; }
.button.secondary { color:var(--text); background:var(--soft); }
.searchbar { background:var(--panel); border-color:var(--line); }
.field input,.field select,.field textarea,.form-label input,.form-label select,.form-label textarea { color:var(--text); background:var(--panel); border-color:var(--line); }
.field input:disabled,.field select:disabled,.field textarea:disabled { color:var(--muted); background:var(--soft); }
.notice,.import-pages,.import-summary span,.import-details dl div { color:var(--text); background:var(--panel-2); border-color:var(--line); }
.success-notice { color:var(--green-text); background:var(--green); }
.error,.error-notice { color:#f2a7a7; background:#402126; border-color:#6b343a; }
.lighting-plot-gallery figure { background:var(--panel); border-color:var(--line); }
footer { color:var(--muted); border-color:var(--line); }
@media (max-width:1100px) { .catalog-layout { grid-template-columns:1fr; }.catalog-layout .search-hero { min-height:390px; }.catalog-panel .results { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) { .catalog-layout .search-hero { min-height:390px; }.catalog-panel { padding:20px; }.catalog-panel .results { grid-template-columns:repeat(2,minmax(0,1fr)); }.brand-mark { width:46px; }.brand { font-size:20px; } }
@media (max-width:520px) { .catalog-panel .results { grid-template-columns:1fr; }.catalog-layout .search-hero { min-height:360px; }.search-hero h1 { font-size:38px; }.theme-toggle { width:34px; height:34px; }.header-actions { gap:5px; } }
