/* Artist workspace: one shared Navy/Gold palette, with an explicit light option.
   This file owns colors; artist.css owns the existing page structure. */
:root {
  color-scheme: dark;
  --bg: #060b14;
  --bg-2: #0a1220;
  --bg-soft: #0a1220;
  --panel: #101b2d;
  --panel-soft: #152238;
  --panel-strong: #203149;
  --card: #101b2d;
  --border: rgba(166, 190, 225, .24);
  --border-strong: #71839c;
  --gold: #d5b055;
  --gold-light: #f0d99d;
  --gold-dark: #9b7728;
  --blue: #5da8ff;
  --accent: #d5b055;
  --accent-2: #d5b055;
  --accent-soft: #302b1e;
  --text: #f4f7fc;
  --muted: #becadd;
  --on-accent: #08101b;
  --ok: #9aebba;
  --ok-bg: #163929;
  --warn: #ffda8a;
  --warn-bg: #392c15;
  --danger: #ffb4b4;
  --danger-bg: #42212b;
  --info: #b5d7ff;
  --info-bg: #193451;
  --shadow: 0 8px 28px rgba(0, 0, 0, .16);
}
html[data-artist-theme="light"] {
  color-scheme: light;
  --bg: #f3f6fb;
  --bg-2: #eaf0f8;
  --bg-soft: #eaf0f8;
  --panel: #ffffff;
  --panel-soft: #edf2f8;
  --panel-strong: #dce5f0;
  --card: #ffffff;
  --border: #c4cfdf;
  --border-strong: #718098;
  --accent: #795913;
  --accent-soft: #fff2cc;
  --text: #132137;
  --muted: #465771;
  --ok: #14633d;
  --ok-bg: #e6f5ec;
  --warn: #754900;
  --warn-bg: #fff2cf;
  --danger: #a32131;
  --danger-bg: #ffebee;
  --info: #24558e;
  --info-bg: #e7f1ff;
  --shadow: 0 6px 24px rgba(24, 36, 58, .06);
}
:root[data-artist-theme] body {
  background: var(--bg) !important;
  color: var(--text);
  font-size: 16px;
  line-height: 1.55;
}
:root[data-artist-theme] body :is(button, input, select, textarea) { font-family: inherit; }
:root[data-artist-theme] body :is(h1, h2, h3, h4, label, legend, summary, .form-group-label) {
  color: var(--text);
  -webkit-text-fill-color: currentColor;
}
:root[data-artist-theme] body :is(.card, .artist-sidebar, .offering-card, .offering-card-body,
  .offering-summary-toggle, .onboarding-panel, .profile-check, .offering-basics-shell,
  .menu-panel, .simple-offer-actions) {
  background: var(--panel) !important;
  color: var(--text);
  border-color: var(--border);
  box-shadow: var(--shadow);
  backdrop-filter: none;
}
:root[data-artist-theme] body.artist-page .artist-main::before {
  content: 'MY COVERBAND · Künstler-Cockpit';
  background: var(--bg-2);
  color: var(--text);
  border-color: var(--border);
}
:root[data-artist-theme] body :is(.artist-nav-link, .insight-item, .event-card, .inquiry-card,
  .hero-mobile-stat, .hero-mobile-next-event, .spotlight-fact, .event-info-line,
  .offering-form-section, .offering-description-guide, .offering-wizard-step,
  .offering-extra-details, .offering-example-box, .offering-guidance-box,
  .offering-command-note, .offering-customer-preview-card, .offering-customer-preview-media,
  .offering-preview-panel, .customer-preview-box, .pitch-guide-panel, .pitch-helper,
  .artist-upload-tile, .media-preview-card, .setup-status, .setup-documents, .first-offer-focus-panel) {
  background: var(--panel-soft) !important;
  color: var(--text);
  border-color: var(--border);
  box-shadow: none;
}
:root[data-artist-theme] body :is(.hint, .hero-subline, .hero-copy .eyebrow, .eyebrow, .label-hint, .field-hint,
  .fineprint, .empty, .empty-state, .muted, .mini, .section-summary, .section-count,
  .stat-label, .stat-subline, .offering-summary-meta, .offering-summary-description,
  .offering-summary-note, .offering-step-help, .offering-command-note span,
  .offering-example-box p, .offering-example-box dt, .offering-example-box dd,
  .offering-customer-preview-body p, .offering-customer-preview-body small,
  .offering-customer-preview-meta span, .offering-customer-preview-tags span,
  .pitch-helper p, .pitch-helper li, .collapse-summary-copy,
  .hero-mobile-stat-label, .hero-mobile-next-event-meta, .hero-mobile-next-event-kicker,
  .event-date-label, .event-date-month, .spotlight-fact-label, .event-info-label, .artist-login-intro, .availability-label,
  .spotlight-date span, .artist-invoice-head span) {
  color: var(--muted);
}
:root[data-artist-theme] body :is(.hint, .field-hint, .mini, .stat-subline, .offering-summary-meta,
  .offering-summary-note, .offering-summary-description, .offering-step-help, .label-hint) {
  font-size: 14px;
  line-height: 1.5;
}
:root[data-artist-theme] body :is(.offering-summary-title, .offering-summary-price,
  .artist-sidebar-logo-text, .artist-nav-link strong, .artist-sidebar-item,
  .hero-mobile-stat-value, .hero-mobile-next-event-title, .event-info-line strong,
  .artist-invoice-head, .offering-field-label, .offering-command-note strong) { color: var(--text); }
:root[data-artist-theme] body.artist-page :is(.stat-value, .hero-mobile-stat-value) {
  background: none;
  color: var(--text);
  -webkit-text-fill-color: currentColor;
  line-height: 1.25;
}
:root[data-artist-theme] body :is(input, select, textarea) {
  background: var(--bg-2) !important;
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor;
  border-color: var(--border-strong);
  max-width: 100%;
  min-width: 0;
  font-size: 16px;
  line-height: 1.5;
}
:root[data-artist-theme] body :is(input, textarea)::placeholder { color: var(--muted); opacity: 1; }
:root[data-artist-theme] body :is(.btn, button[type="submit"], .tab-btn.active, .filter-btn.is-active) {
  background: linear-gradient(135deg, var(--gold-light), var(--gold)) !important;
  color: var(--on-accent) !important;
  border: 1px solid var(--gold);
  box-shadow: none;
}
:root[data-artist-theme] body :is(.btn.secondary, .menu-trigger, .tab-btn:not(.active), .filter-btn:not(.is-active),
  .artist-theme-toggle, .genre-chip, .profile-role-chip, .offering-tag-chip,
  .offering-wizard-tab, .first-offer-focus-list span, .pitch-helper-chips span) {
  background: var(--panel-soft) !important;
  color: var(--text) !important;
  border: 1px solid var(--border-strong);
  box-shadow: none;
}
:root[data-artist-theme] body :is(.btn, .tab-btn, .filter-btn, .artist-theme-toggle) :is(span, strong, small) { color: inherit; }
:root[data-artist-theme] body :is(.artist-sidebar-item.active, .artist-nav-link.active,
  .offering-wizard-tab.is-active, .genre-chip.is-selected, .offering-tag-chip.is-selected) {
  background: var(--accent-soft) !important;
  color: var(--accent) !important;
  border-color: var(--accent);
}
:root[data-artist-theme] body :is(.offering-wizard-tab span, .offering-wizard-tab strong,
  .artist-nav-link span, .artist-nav-link strong) { color: inherit; }
:root[data-artist-theme] body .artist-sidebar-item.active .artist-sidebar-icon,
:root[data-artist-theme] body .artist-avatar {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: var(--on-accent);
}
/* MCB-Logo in der Seitenleiste: eigenes Bild statt Goldflaeche (08.11.2026). */
:root[data-artist-theme] body .artist-sidebar-logo-icon {
  background: #050505 url('/static/brand/my-coverband-icon-512.png') center / contain no-repeat;
  box-shadow: none;
}
:root[data-artist-theme] body a:not(.btn):not(.artist-sidebar-item):not(.artist-nav-link) { color: var(--accent); }
:root[data-artist-theme] body :is(.badge, .collapse-pill, .artist-status-chip, .pitch-quality-list span) {
  background: var(--panel-soft);
  color: var(--muted);
  border-color: var(--border);
}
:root[data-artist-theme] body :is(.badge.ok, .badge.success, .artist-status-chip[data-tone="ok"],
  .pitch-quality-list span.is-done, .offering-progress-box.is-complete) {
  background: var(--ok-bg);
  color: var(--ok);
  border-color: var(--ok);
}
:root[data-artist-theme] body :is(.badge.warn, .required-pill, .offering-progress-box:not(.is-complete),
  .artist-status-chip[data-tone="warn"], .offering-description-meta) {
  background: var(--warn-bg);
  color: var(--warn);
  border-color: var(--warn);
}
:root[data-artist-theme] body :is(.badge.info, .artist-status-chip[data-tone="info"]) {
  background: var(--info-bg);
  color: var(--info);
  border-color: var(--info);
}
:root[data-artist-theme] body :is(.badge.danger, .badge.error, .artist-status-chip[data-tone="danger"]) {
  background: var(--danger-bg);
  color: var(--danger);
  border-color: var(--danger);
}
:root[data-artist-theme] body :is(.offering-progress-head strong, .offering-progress-head > span,
  .offering-progress-detail, .offering-description-meta span) { color: inherit; }
:root[data-artist-theme] body :is(.msg.ok, .offering-description-meta .is-ok) { color: var(--ok); }
:root[data-artist-theme] body :is(.msg.err, .required-inline-message) { color: var(--danger); }
:root[data-artist-theme] body .form-group.is-required-missing :is(input, select, textarea) { border-color: var(--warn); }
:root[data-artist-theme] body :is(input, select, textarea, button, a, summary):focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
:root[data-artist-theme] body :is(button, .btn, .artist-sidebar-item, .artist-theme-toggle) { min-height: 44px; }
/* Content must fit its own box, including long names, prices and URL fields. */
:root[data-artist-theme] body :is(.hero-identity > div, .hero-copy, .section-head-inline > div,
  .offering-summary-copy, .offering-summary-headline > div, .form-group, .offering-grid > *,
  .offering-media-layout > *, .offering-wizard-tab, .artist-nav-link) {
  min-width: 0;
  overflow-wrap: anywhere;
}
:root[data-artist-theme] body :is(.btn, .offering-wizard-tab, .offering-summary-price, .badge,
  .pitch-template-btn, .pitch-quality-list span, .artist-theme-toggle) {
  white-space: normal;
  overflow-wrap: anywhere;
  height: auto;
}
:root[data-artist-theme] body :is(.section-head-inline, .offering-summary-headline,
  .offering-description-meta, .simple-offer-actions) { flex-wrap: wrap; }
:root[data-artist-theme] body .form-row-location { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
:root[data-artist-theme] body .form-row-split { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
:root[data-artist-theme] body .offering-wizard-nav { grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr)); }
:root[data-artist-theme] body .offering-wizard-tab :is(span, strong) { font-size: 15px; line-height: 1.5; }
:root[data-artist-theme] body.artist-settings-page { font-size: 17px; }
:root[data-artist-theme] body.artist-settings-page :is(label, .hint, .field-hint, .label-hint,
  .required-inline-message, .offering-progress-detail, .offering-step-help, .artist-sidebar-item, .btn, .artist-upload-tile small) { font-size: 16px; }
:root[data-artist-theme] body.artist-settings-page .settings-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
}
:root[data-artist-theme] body.artist-settings-page .settings-nav .artist-nav-link :is(span, strong) {
  font-size: 16px;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: 0;
}
:root[data-artist-theme] body.artist-settings-page .hero-card-settings { display: flex; flex-wrap: wrap; }
:root[data-artist-theme] body.artist-settings-page.is-offerings-view .settings-nav { display: none; }
.artist-settings-page.is-offerings-view :is(#photosCard, #setupStatus, .setup-secondary),
.artist-settings-page.is-settings-view:not([data-settings-tab="photos"]) #photosCard,
.artist-settings-page.is-settings-view:not([data-settings-tab="profile"]) #profileCard,
.artist-settings-page.is-settings-view:not([data-settings-tab="contract"]) #contractCard,
.artist-settings-page.is-settings-view:not([data-settings-tab="pause"]) #pauseCard,
.artist-settings-page.is-settings-view:not([data-settings-tab="preferences"]) #preferencesCard { display: none; }
:root[data-artist-theme] body .simple-offer-actions .btn { overflow: visible; text-overflow: clip; }
.artist-theme-toggle { padding: 9px 14px; border-radius: 9px; cursor: pointer; font: inherit; }
body > .artist-theme-toggle { position: fixed; right: 12px; bottom: 12px; z-index: 30; }
.setup-status, .setup-documents { padding: 16px; margin-bottom: 20px; border: 1px solid var(--border); border-radius: 12px; }
.setup-documents h3 { margin-top: 0; }
.setup-secondary { margin: 0 0 18px; color: var(--muted); }
.setup-secondary > summary { cursor: pointer; padding: 10px 0; }
.upload-results { padding-left: 22px; line-height: 1.7; overflow-wrap: anywhere; }
#galleryProgress { width: 100%; height: 12px; accent-color: var(--accent); }
.offering-material-action { margin: 0; padding: 0 16px 14px; }
.offering-material-action a { display: inline-flex; align-items: center; min-height: 44px; }
[data-field="press_kit_url"] { scroll-margin-block: 100px; }
/* Sprung aus Video-Bitten (#video-upload): Ueberschrift nicht unter der festen Kopfzeile. */
[data-role="video-upload-group"] { scroll-margin-top: 100px; }
:root[data-artist-theme] body .artist-sidebar-item:hover { color: var(--accent); background: var(--accent-soft); }
:root[data-artist-theme] body :is(.artist-login-link-button, .profile-check .check-status) { color: var(--accent); }
:root[data-artist-theme] body :is(.menu-item-danger, .profile-check #message[data-error="true"], .profile-check #stale) { color: var(--danger); }
:root[data-artist-theme] body .profile-check { --check-bg: var(--panel); --check-border: var(--border); }
:root[data-artist-theme] body.info-page {
  --info-bg: var(--bg); --info-panel: var(--panel); --info-border: var(--border);
  --info-text: var(--text); --info-muted: var(--muted); --info-gold: var(--accent); --info-gold-light: var(--accent);
}
:root[data-artist-theme] body.info-page :is(.info-hero, .info-band, .step, .faq-item, .example-request-grid div) {
  background: var(--panel); color: var(--text); box-shadow: var(--shadow);
}
@media (max-width: 900px) {
  :root[data-artist-theme] body .offering-wizard-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root[data-artist-theme] body .offering-summary-toggle { grid-template-columns: minmax(0, 1fr); }
  :root[data-artist-theme] body .offering-summary-side { min-width: 0; text-align: left; }
  :root[data-artist-theme] body .simple-offer-actions .btn { min-width: 0; }
}
@media (max-width: 600px) {
  :root[data-artist-theme] body.artist-page .artist-main > .artist-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  :root[data-artist-theme] body.artist-settings-page .settings-nav { grid-template-columns: 1fr; }
  :root[data-artist-theme] body.artist-settings-page.is-offerings-view .settings-nav { display: none; }
  :root[data-artist-theme] body :is(.form-row-location, .form-row-split, .offering-grid, .offering-media-layout) { grid-template-columns: minmax(0, 1fr); }
  :root[data-artist-theme] body .hero-card-settings { padding: 18px; }
  :root[data-artist-theme] body .artist-nav-link { min-width: 0; width: auto; }
  :root[data-artist-theme] body .artist-main > .card { scroll-margin-top: 20px; }
  :root[data-artist-theme] body .offering-save-btn { min-width: 0; }
  .topline { flex-wrap: wrap; }
}

/* Studio finish: depth and deliberate spacing over the shared readable palette. */
:root {
  --surface-sheen: rgba(255, 255, 255, .045);
  --studio-gold-glow: rgba(213, 176, 85, .13);
  --studio-blue-glow: rgba(93, 168, 255, .08);
  --studio-ease: cubic-bezier(.2, .75, .25, 1);
}
html[data-artist-theme="light"] {
  --surface-sheen: rgba(255, 255, 255, .75);
  --studio-gold-glow: rgba(213, 176, 85, .12);
  --studio-blue-glow: rgba(93, 168, 255, .06);
}
:root[data-artist-theme] body.artist-page {
  background:
    radial-gradient(ellipse at 80% 0%, var(--studio-gold-glow), transparent 48%),
    radial-gradient(ellipse at 10% 45%, var(--studio-blue-glow), transparent 48%),
    var(--bg) !important;
}
:root[data-artist-theme] body.artist-page .artist-main::before {
  letter-spacing: .08em;
  font-size: 13px;
  border-bottom-color: var(--border);
}
:root[data-artist-theme] body.artist-page .artist-sidebar {
  padding-inline: 14px;
  background: linear-gradient(180deg, var(--panel), var(--bg-2)) !important;
}
:root[data-artist-theme] body.artist-page .artist-sidebar-item {
  margin-block: 3px;
  border-radius: 12px;
  border-left: 0;
  padding: 12px;
}
:root[data-artist-theme] body.artist-page .artist-sidebar-item.active {
  box-shadow: inset 0 0 0 1px var(--accent);
}
/* Seitenleisten-Icons: auf allen Künstlerseiten gleich groß und klar lesbar (08.11.2026). */
:root[data-artist-theme] body.artist-page .artist-sidebar-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: var(--panel-soft);
  color: var(--text);
  opacity: 1;
}
:root[data-artist-theme] body.artist-page .artist-sidebar-icon svg { width: 18px; height: 18px; stroke-width: 2; }
:root[data-artist-theme] body.artist-page .artist-sidebar-item { font-weight: 600; }
:root[data-artist-theme] body.artist-page .artist-sidebar-item:hover .artist-sidebar-icon { border-color: var(--accent); color: var(--accent); }
:root[data-artist-theme] body.artist-page .artist-sidebar-item.active .artist-sidebar-icon {
  border-color: transparent;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: var(--on-accent);
}
:root[data-artist-theme] body.artist-page :is(.card, .offering-card) {
  border-radius: 22px;
  background: linear-gradient(145deg, var(--surface-sheen), transparent 55%), var(--panel) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .1);
}
:root[data-artist-theme] body.artist-settings-page .artist-studio-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  align-items: center;
  gap: 22px 32px;
  max-width: 1080px;
  margin: 0 auto 32px;
  padding: clamp(24px, 3.5vw, 44px);
  border-color: var(--border);
  background:
    radial-gradient(ellipse at 100% 0%, var(--studio-gold-glow), transparent 65%),
    linear-gradient(135deg, var(--panel), var(--bg-2)) !important;
}
:root[data-artist-theme] body.artist-settings-page .artist-studio-hero .hero-identity {
  align-items: flex-start;
  width: 100%;
}
:root[data-artist-theme] body.artist-settings-page .artist-studio-hero .hero-copy { gap: 12px; }
:root[data-artist-theme] body.artist-settings-page .artist-studio-hero .eyebrow {
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin: 0;
}
:root[data-artist-theme] body.artist-settings-page .artist-studio-hero h1 {
  font-size: clamp(32px, 3.5vw, 48px);
  line-height: 1.08;
  font-weight: 750;
  letter-spacing: -.045em;
  margin: 0;
  text-wrap: balance;
}
:root[data-artist-theme] body.artist-settings-page .artist-studio-hero .artist-avatar {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 15px;
  margin-top: 4px;
  box-shadow: 0 6px 22px var(--studio-gold-glow);
}
.artist-studio-intro {
  max-width: 42ch;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
  text-wrap: pretty;
}
:root[data-artist-theme] body.artist-settings-page .artist-studio-hero .hero-subline {
  margin: 0;
  font-size: 14px;
}
:root[data-artist-theme] body.artist-settings-page .artist-studio-hero .hero-actions {
  grid-column: 1;
  margin-left: 64px;
  width: auto;
  gap: 10px;
}
.artist-stage-visual {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 100%;
  max-width: 260px;
  justify-self: center;
  text-align: center;
  pointer-events: none;
}
.artist-stage-visual svg { display: block; width: 100%; height: auto; overflow: visible; }
.stage-orbit { stroke: var(--accent); stroke-opacity: .2; stroke-width: 1; }
.stage-orbit-outer { stroke-dasharray: 2 9; }
.stage-disc { fill: var(--panel); stroke: var(--accent); stroke-opacity: .45; }
.stage-star { fill: var(--gold-light); }
.stage-star-small { fill: var(--blue); }
.stage-orbit-detail { stroke: var(--accent); stroke-width: 2; stroke-linecap: round; }
.artist-stage-caption { color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .22em; }
:root[data-artist-theme] body.artist-settings-page.is-offerings-view #offeringsCard {
  background: transparent !important;
  border: 0;
  padding: 0;
  box-shadow: none;
}
:root[data-artist-theme] body.artist-settings-page .section-head-inline {
  padding: 0 2px 20px;
  margin-bottom: 20px;
  border-bottom-color: var(--border);
  gap: 16px;
}
:root[data-artist-theme] body.artist-settings-page .section-head-inline h2 {
  font-size: 23px;
  letter-spacing: -.025em;
  line-height: 1.25;
}
:root[data-artist-theme] body.artist-settings-page .offerings-stack { gap: 20px; }
:root[data-artist-theme] body.artist-settings-page .offering-card {
  position: relative;
  border: 1px solid var(--border);
}
:root[data-artist-theme] body.artist-settings-page .offering-card.is-expanded {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--studio-gold-glow), 0 14px 36px rgba(0, 0, 0, .12);
}
:root[data-artist-theme] body.artist-settings-page.is-offerings-view .offering-summary-toggle {
  grid-template-columns: 72px minmax(0, 1fr) minmax(120px, auto);
  gap: 20px;
  align-items: center;
  padding: 24px;
  background: transparent !important;
}
:root[data-artist-theme] body.artist-settings-page.is-offerings-view .offering-summary-avatar-wrap { display: flex; }
:root[data-artist-theme] body.artist-settings-page .offering-summary-avatar {
  width: 72px;
  height: 80px;
  border-radius: 17px;
  background: linear-gradient(145deg, var(--studio-gold-glow), var(--panel-strong));
  border-color: var(--border);
  color: var(--accent);
  font-size: 24px;
  letter-spacing: -.04em;
}
:root[data-artist-theme] body.artist-settings-page .offering-summary-title {
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: -.025em;
}
:root[data-artist-theme] body.artist-settings-page .offering-summary-headline { gap: 12px; }
:root[data-artist-theme] body.artist-settings-page .offering-summary-copy { gap: 9px; }
:root[data-artist-theme] body.artist-settings-page .offering-summary-price {
  font-size: 25px;
  line-height: 1.25;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}
:root[data-artist-theme] body.artist-settings-page.is-offerings-view .offering-summary-chevron {
  position: static;
  transform: none;
  flex: 0 0 32px;
  border-color: var(--border);
  background: var(--panel-soft);
  width: 32px;
  height: 32px;
}
:root[data-artist-theme] body.artist-settings-page.is-offerings-view .offering-card.is-expanded .offering-summary-chevron { transform: rotate(180deg); }
:root[data-artist-theme] body.artist-settings-page .offering-material-action { padding: 0 24px 20px; }
:root[data-artist-theme] body.artist-settings-page .offering-material-action a {
  gap: 10px;
  padding: 8px 14px;
  border: 1px solid var(--border);
  border-radius: 11px;
  font-size: 14px;
  text-decoration: none;
}
.offering-material-action a::after { content: '↗'; font-size: 18px; }
:root[data-artist-theme] body.artist-settings-page .offering-card-body {
  padding: 24px;
  border-color: var(--border);
  background: var(--bg-2) !important;
}
:root[data-artist-theme] body.artist-settings-page :is(.offering-wizard-step, .offering-extra-details, .offering-example-box) {
  border-radius: 16px;
  border-color: var(--border);
}
:root[data-artist-theme] body.artist-settings-page .offering-wizard-step { padding: 24px; gap: 18px; }
:root[data-artist-theme] body.artist-settings-page .offering-wizard-tab {
  border-radius: 12px;
  padding: 12px;
  min-height: 76px;
}
:root[data-artist-theme] body.artist-settings-page .required-pill { font-size: 14px; }
:root[data-artist-theme] body.artist-settings-page .offering-wizard-tab span { font-size: 13px; font-weight: 500; }
:root[data-artist-theme] body.artist-settings-page .offering-wizard-tab strong { font-size: 16px; font-weight: 650; }
:root[data-artist-theme] body.artist-page :is(.btn, .artist-theme-toggle) { border-radius: 12px; padding: 11px 17px; }
:root[data-artist-theme] body.artist-settings-page :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-radius: 11px; }
:root[data-artist-theme] body.artist-page .btn:not(.secondary):not(:disabled) {
  box-shadow: 0 4px 14px var(--studio-gold-glow), inset 0 1px 0 rgba(255, 255, 255, .3);
}
@media (max-width: 1100px) {
  :root[data-artist-theme] body.artist-settings-page .artist-studio-hero { grid-template-columns: minmax(0, 1fr) 170px; gap: 20px; }
  :root[data-artist-theme] body.artist-settings-page.is-offerings-view .offering-summary-toggle {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 16px;
  }
  :root[data-artist-theme] body.artist-settings-page .offering-summary-side {
    grid-column: 2;
    flex-direction: row;
    justify-content: flex-start;
    align-items: baseline;
    flex-wrap: wrap;
    min-width: 0;
    padding-right: 0;
  }
  :root[data-artist-theme] body.artist-settings-page .offering-summary-avatar { width: 64px; height: 72px; }
  :root[data-artist-theme] body.artist-settings-page .offering-summary-note { display: none; }
}
@media (max-width: 900px) {
  :root[data-artist-theme] body.artist-settings-page .artist-studio-hero { grid-template-columns: minmax(0, 1fr); }
  .artist-stage-visual { display: none; }
}
@media (max-width: 600px) {
  :root[data-artist-theme] body.artist-settings-page .artist-studio-hero {
    grid-template-columns: minmax(0, 1fr);
    padding: 24px 20px;
    gap: 20px;
    margin-bottom: 28px;
  }
  .artist-stage-visual { display: none; }
  :root[data-artist-theme] body.artist-settings-page .artist-studio-hero .hero-actions { margin-left: 0; }
  :root[data-artist-theme] body.artist-settings-page .artist-studio-hero .hero-identity { gap: 12px; }
  :root[data-artist-theme] body.artist-settings-page .artist-studio-hero .hero-actions .btn { width: auto; }
  :root[data-artist-theme] body.artist-settings-page.is-offerings-view .offering-summary-toggle { padding: 20px 16px; gap: 12px; grid-template-columns: 52px minmax(0, 1fr); }
  :root[data-artist-theme] body.artist-settings-page .offering-summary-avatar { width: 52px; height: 64px; border-radius: 13px; font-size: 20px; }
  :root[data-artist-theme] body.artist-settings-page .offering-summary-title { font-size: 19px; }
  :root[data-artist-theme] body.artist-settings-page .offering-summary-copy { padding-right: 0; }
  :root[data-artist-theme] body.artist-settings-page .offering-summary-price { font-size: 23px; }
  :root[data-artist-theme] body.artist-settings-page .offering-material-action { padding: 0 16px 18px; }
  :root[data-artist-theme] body.artist-settings-page .offering-card-body { padding: 16px; }
  :root[data-artist-theme] body.artist-settings-page .offering-wizard-step { padding: 18px 14px; }
}
@media (prefers-reduced-motion: no-preference) {
  :root[data-artist-theme] body.artist-page :is(.btn, .artist-sidebar-item, .artist-nav-link, .offering-wizard-tab, .offering-material-action a) {
    transition: transform 180ms var(--studio-ease), box-shadow 180ms ease, border-color 180ms ease;
  }
  :root[data-artist-theme] body.artist-page :is(.btn, .offering-material-action a):not(:disabled):hover { transform: translateY(-2px); }
  :root[data-artist-theme] body.artist-page .artist-sidebar-item:hover { transform: translateX(2px); }
  :root[data-artist-theme] body.artist-settings-page :is(.artist-studio-hero, .offering-card) { animation: mcb-studio-reveal 550ms var(--studio-ease) both; }
  :root[data-artist-theme] body.artist-settings-page .offering-card:nth-child(2) { animation-delay: 70ms; }
  :root[data-artist-theme] body.artist-settings-page .offering-card:nth-child(3) { animation-delay: 140ms; }
  .stage-bars path { transform-box: fill-box; transform-origin: center; animation: mcb-stage-sound 1600ms ease-in-out 3; }
  .stage-bars path:nth-child(2n) { animation-delay: 100ms; }
  .stage-bars path:nth-child(3n) { animation-delay: 200ms; }
  .stage-orbit-outer { transform-origin: 130px 110px; animation: mcb-stage-turn 1600ms var(--studio-ease) both; }
}
@keyframes mcb-studio-reveal {
  from { opacity: .72; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes mcb-stage-sound {
  0%, 100% { transform: scaleY(1); }
  45% { transform: scaleY(.55); }
  75% { transform: scaleY(1.12); }
}
@keyframes mcb-stage-turn {
  from { transform: rotate(-18deg); opacity: .5; }
  to { transform: rotate(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  :root[data-artist-theme] body.artist-page *,
  :root[data-artist-theme] body.artist-page *::before,
  :root[data-artist-theme] body.artist-page *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Work comfortably on phones: navigation and editor actions occupy separate rows. */
.artist-mobile-nav { display: none; }
:root[data-artist-theme] body.artist-page .offering-help-disclosure {
  display: block;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px 16px;
  background: var(--panel-soft) !important;
  color: var(--text);
}
.offering-help-disclosure > summary { cursor: pointer; font-size: 15px; font-weight: 600; min-height: 24px; }
.offering-help-disclosure[open] > summary { margin-bottom: 16px; }
:root[data-artist-theme] body.artist-page .simple-offer-actions { align-items: center; gap: 10px; }
.offering-save-status { flex-basis: 100%; margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
.offering-save-status::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 8px; }
.offering-save-status[data-state="saved"] { color: var(--ok); }
.offering-save-status[data-state="unsaved"], .offering-save-status[data-state="new"] { color: var(--warn); }
.offering-save-status[data-state="error"] { color: var(--danger); }
.offering-draft-notice { margin: 0 0 20px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--border); background: var(--info-bg); color: var(--info); font-size: 15px; }
:root[data-artist-theme] body.artist-page :is(.btn, .artist-theme-toggle, .artist-mobile-nav a) { font-weight: 600; }
@media (max-width: 720px) {
  :root { --artist-mobile-nav-height: 76px; }
  :root[data-artist-theme] body.artist-page .artist-main { padding-bottom: calc(190px + env(safe-area-inset-bottom, 0px)); }
  .artist-mobile-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: fixed;
    inset: auto 0 0;
    z-index: 45;
    min-height: var(--artist-mobile-nav-height);
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
    background: var(--panel);
    border-top: 1px solid var(--border);
    box-shadow: 0 -6px 24px rgba(0, 0, 0, .12);
  }
  :root[data-artist-theme] body.artist-page .artist-mobile-nav a {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
    min-height: 58px; min-width: 0; padding: 5px 2px; border-radius: 12px;
    color: var(--muted); text-decoration: none; font-size: 12px; line-height: 1.3;
  }
  :root[data-artist-theme] body.artist-page .artist-mobile-nav a[aria-current="page"] { color: var(--accent); background: var(--accent-soft); }
  .artist-mobile-nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
  :root[data-artist-theme] body.artist-settings-page .simple-offer-actions {
    bottom: calc(var(--artist-mobile-nav-height) + env(safe-area-inset-bottom, 0px));
    margin: 20px 0 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, .12);
  }
  .simple-offer-actions .offering-save-status { grid-column: 1 / -1; }
  :root[data-artist-theme] body.artist-settings-page .offering-card-body :is(input, select, textarea) { scroll-margin-bottom: 260px; }
}
@media (max-width: 720px) and (max-height: 600px) {
  :root[data-artist-theme] body.artist-settings-page .simple-offer-actions { position: static; }
}

@media (max-width: 720px) {
  :root[data-artist-theme] body.artist-page .artist-mobile-nav a:not([aria-current]) { color: var(--muted); }
}

:root[data-artist-theme] body .customer-preview-kicker { color: var(--accent); }

/* Optional referral invitation: the dashboard remains usable without opening it. */
:root[data-artist-theme] body.artist-page .referral-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  padding: 28px;
  border-color: var(--gold-dark);
  background: radial-gradient(ellipse at 100% 0%, var(--studio-gold-glow), transparent 65%), var(--panel) !important;
}
.referral-card-copy { min-width: 0; }
:root[data-artist-theme] body.artist-page :is(.referral-card, .referral-dialog, .referral-nudge) .eyebrow { color: var(--accent); }
:root[data-artist-theme] body.artist-page .referral-card h2 { font-size: 25px; line-height: 1.2; letter-spacing: -.03em; margin: 10px 0 14px; }
:root[data-artist-theme] body.artist-page .referral-card .section-copy { color: var(--muted); line-height: 1.65; margin: 0; }
.referral-card-actions, .referral-dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.referral-reward { border-radius: 17px; border: 1px solid var(--border); padding: 20px; background: var(--accent-soft); }
.referral-reward-label { color: var(--accent); font-size: 13px; font-weight: 600; }
.referral-reward strong { display: block; margin: 10px 0; font-size: 38px; font-weight: 750; line-height: 1.1; letter-spacing: -.04em; color: var(--accent); }
.referral-reward p { margin: 0; color: var(--text); font-size: 14px; line-height: 1.6; }
.referral-nudge {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 65;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 14px;
  width: min(410px, calc(100vw - 40px));
  padding: 24px;
  border-radius: 20px;
  border: 1px solid var(--gold-dark);
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 16px 60px rgba(0, 0, 0, .3);
}
.referral-nudge-icon { grid-column: 1; grid-row: 1 / span 3; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--accent-soft); color: var(--accent); }
.referral-nudge-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:root[data-artist-theme] body.artist-page .referral-nudge .eyebrow { grid-column: 2; margin: 0 22px 8px 0; font-size: 11px; line-height: 1.5; letter-spacing: .07em; }
:root[data-artist-theme] body.artist-page .referral-nudge h2 { grid-column: 2; margin: 0 20px 8px 0; font-size: 19px; line-height: 1.3; letter-spacing: -.025em; }
.referral-nudge > p:not(.eyebrow) { grid-column: 2; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.referral-nudge > .btn { grid-column: 2; justify-self: start; margin-top: 18px; max-width: 100%; }
:root[data-artist-theme] body.artist-page .referral-close { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--muted); font: 28px/1 system-ui; cursor: pointer; }
:root[data-artist-theme] body.artist-page .referral-close:hover { background: var(--panel-soft); color: var(--text); }
.referral-dialog {
  width: min(600px, calc(100vw - 28px));
  max-height: 86vh;
  max-height: 86dvh;
  overflow: hidden;
  overscroll-behavior: contain;
  padding: 0;
  border: 1px solid var(--border-strong);
  border-radius: 24px;
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .35);
}
.referral-dialog::backdrop { background: rgba(2, 6, 14, .7); backdrop-filter: blur(5px); }
html:has(#referralDialog[open]) { overflow: hidden; }
:root[data-artist-theme] body.artist-page .referral-dialog .eyebrow { padding-right: 24px; margin-top: 0; font-size: 12px; line-height: 1.5; }
:root[data-artist-theme] body.artist-page .referral-dialog h2 { margin: 12px 0 16px; padding-right: 10px; font-size: clamp(27px, 3vw, 34px); line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
#referralDialogIntro { color: var(--muted); font-size: 16px; line-height: 1.65; }
.referral-steps { list-style: none; padding: 0; margin: 28px 0; display: grid; gap: 22px; }
.referral-steps li { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: start; gap: 14px; }
.referral-steps li > span { display: grid; place-items: center; height: 38px; border-radius: 12px; background: var(--accent-soft); color: var(--accent); font-size: 13px; font-weight: 700; }
.referral-steps strong { color: var(--text); font-size: 16px; line-height: 1.5; }
.referral-steps p { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 5px 0 0; }
.referral-dialog-link { padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: var(--bg-2); }
.referral-dialog-link label { display: block; margin-bottom: 8px; font-size: 14px; }
.referral-dialog-link input { width: 100%; }
#referralLinkNote { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.referral-dialog-status { margin-bottom: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.referral-dialog-status:empty { display: none; }
@media (min-width: 1300px) {
  :root[data-artist-theme] body.artist-page .referral-card { grid-template-columns: minmax(0, 1fr) 170px; align-items: center; }
}
@media (max-width: 720px) {
  :root[data-artist-theme] body.artist-page .referral-card { padding: 22px 18px; }
  .referral-reward { padding: 16px; }
  .referral-reward strong { font-size: 33px; }
  .referral-nudge { right: 12px; left: 12px; bottom: calc(var(--artist-mobile-nav-height, 76px) + env(safe-area-inset-bottom, 0px) + 12px); width: auto; padding: 20px 18px; gap: 0 12px; }
  .referral-dialog { border-radius: 20px; }
  .referral-dialog-actions > .btn { flex: 1 1 140px; }
}
@media (prefers-reduced-motion: no-preference) {
  .referral-nudge:not([hidden]) { animation: mcb-referral-arrive 450ms var(--studio-ease) both; }
  .referral-nudge:not([hidden]) .referral-nudge-icon svg { animation: mcb-referral-arrow 1200ms ease-in-out 3; }
  .referral-dialog[open] { animation: mcb-referral-arrive 280ms var(--studio-ease) both; }
}
@keyframes mcb-referral-arrive { from { opacity: .4; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes mcb-referral-arrow { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(3px); } }

.referral-dialog[open] { display: flex; flex-direction: column; }
.referral-dialog-header { position: relative; flex-shrink: 0; padding: 30px 36px 18px; }
:root[data-artist-theme] body.artist-page .referral-dialog-header .eyebrow { margin: 0; }
:root[data-artist-theme] body.artist-page .referral-dialog-header h2 { margin-bottom: 0; }
.referral-dialog-content { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 0 36px 20px; }
.referral-dialog-content > p:first-child { margin-top: 0; }
.referral-dialog-actions { position: static; flex-shrink: 0; margin: 0; padding: 16px 36px 24px; border-top: 1px solid var(--border); background: var(--panel); }
.referral-dialog-actions > .btn { flex: 1 1 150px; }
.referral-dialog-status { flex-basis: 100%; }
.referral-dialog { scroll-padding-bottom: 100px; }

:root[data-artist-theme] body.artist-page .artist-profile-check-card { order: 9; grid-column: 1 / -1; }
:root[data-artist-theme] body.artist-page :is(.referral-card, .referral-dialog, .referral-nudge) .btn { font-size: 15px; line-height: 1.5; min-height: 46px; }
@media (max-width: 720px) {
  .referral-nudge { grid-template-columns: 36px minmax(0, 1fr); column-gap: 10px; padding: 18px; }
  .referral-nudge-icon { width: 36px; height: 36px; border-radius: 11px; }
  :root[data-artist-theme] body.artist-page .referral-nudge .eyebrow { display: none; }
  :root[data-artist-theme] body.artist-page .referral-nudge h2 { font-size: 18px; margin-bottom: 6px; }
  .referral-nudge > .btn { margin-top: 12px; }
}

.referral-card-status { margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }

@media (max-width: 720px) {
  .referral-dialog-header { padding: 26px 22px 16px; }
  .referral-dialog-content { padding: 0 22px 18px; }
  .referral-dialog-actions { padding: 14px 22px 20px; }
}

/* Saved date/location, then a short completion step. */
.referral-overview { grid-column: 1 / -1; border-top: 1px solid var(--border); padding-top: 20px; min-width: 0; }
.referral-overview summary { cursor: pointer; font-weight: 650; padding: 10px 0; color: var(--text); }
.referral-overview ul { list-style: none; padding: 0; display: grid; gap: 12px; }
.referral-overview li { padding: 18px; border: 1px solid var(--border); border-radius: 14px; background: var(--bg-2); overflow-wrap: anywhere; }
.referral-overview li strong { display: block; margin-bottom: 12px; }
.referral-overview li p { color: var(--muted); font-size: 14px; }
.referral-dialog form > label { display: block; font-size: 14px; font-weight: 650; margin: 22px 0 9px; }
:root[data-artist-theme] body.artist-page .referral-dialog :is(input, select, textarea) { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; background: var(--bg-2); color: var(--text); border: 1px solid var(--border-strong); border-radius: 12px; padding: 13px 14px; font: inherit; line-height: 1.5; }
.referral-dialog textarea { resize: vertical; }
.referral-dialog :is(input, select, textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.referral-dialog-content :is(p, section) { overflow-wrap: anywhere; }
.referral-dialog-content p { color: var(--muted); font-size: 15px; line-height: 1.65; }
.referral-dialog-content .referral-received { color: var(--text); font-weight: 650; }
#referralSavedContext { padding: 12px 16px; border-radius: 12px; background: var(--accent-soft); color: var(--text); }
#referralBudgetNote { font-size: 13px; }
.referral-estimate { margin: 22px 0; padding: 22px; border: 1px solid var(--gold-dark); border-radius: 18px; background: radial-gradient(ellipse at top right, var(--studio-gold-glow), transparent 90%), var(--bg-2); }
.referral-estimate > span { color: var(--text); font-size: 14px; }
.referral-estimate > strong { display: block; color: var(--accent); font-size: clamp(32px, 6vw, 44px); line-height: 1.2; margin: 8px 0; letter-spacing: -.035em; }
.referral-estimate > p { margin-bottom: 0; font-size: 13px; }
#referralDone > .btn { margin: 6px 4px 6px 0; }
@media (prefers-reduced-motion: no-preference) {
  .referral-estimate:not([hidden]), .referral-received { animation: mcb-referral-arrive 350ms ease-out both; }
}
