/* A quieter editorial layer for the public site and task-specific workspaces.
   It changes presentation only; navigation, permissions and form behavior stay intact. */

/* Public pages: let the festival artwork lead, then switch to a readable programme. */
.sos-public-home .experience-quick-nav-inner {
  background: #0a1020;
  border: 1px solid rgba(204, 224, 244, .15);
  border-radius: 10px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, .16);
}
.sos-public-home .experience-quick-nav a {
  background: transparent;
  transition: background .18s ease, color .18s ease;
}
.sos-public-home .experience-quick-nav a:hover,
.sos-public-home .experience-quick-nav a:focus-visible {
  background: rgba(143, 226, 214, .08);
}
.sos-public-home .experience-quick-nav a > span { color: #8fe2d6; }
.sos-public-home .festival-showcase-section { padding-top: clamp(80px, 9vw, 124px); }
.sos-public-home .festival-showcase-block { position: relative; }
.sos-public-home .festival-showcase-block > .section-heading {
  max-width: 800px;
  margin-bottom: clamp(24px, 4vw, 48px);
  text-align: left;
}
.sos-public-home .festival-showcase-block > .section-heading h2,
.sos-public-home .ticket-market .section-heading h2 {
  max-width: 18ch;
  line-height: 1.1;
  letter-spacing: -.035em;
}
.sos-public-home .festival-showcase-divider {
  height: 1px;
  margin-block: clamp(48px, 7vw, 88px);
  background: rgba(213, 222, 255, .16);
  opacity: 1;
}
.sos-public-home .event-empty-state,
.sos-public-home .ticket-market-empty {
  max-width: 760px;
  min-height: 0;
  padding: 24px 0 10px clamp(16px, 3vw, 34px);
  border: 0;
  border-left: 2px solid rgba(143, 226, 214, .6);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}
.sos-public-home .event-empty-state h3 { font-size: clamp(1.15rem, 2.3vw, 1.7rem); }
.sos-public-home .event-empty-state > span,
.sos-public-home .event-empty-state > h3,
.sos-public-home .event-empty-state > p { margin-left: 0; margin-right: 0; }
.sos-public-home .event-empty-state > p { max-width: 58ch; }
.sos-public-home .past-festival-block .event-empty-state {
  border-left-color: rgba(185, 194, 214, .4);
  padding-block: 9px;
}
.sos-public-home .ticket-market-toolbar {
  border-top: 1px solid rgba(213, 222, 255, .15);
  padding-top: 18px;
}
.sos-public-home .ticket-market-filter { border-radius: 5px; }

/* Store: a working ledger, not a dashboard made of identical cards. */
.sos-store-surface {
  background: #080d15;
  color: #e9f0f4;
}
.sos-store-surface .topbar {
  min-height: 64px;
  background: #090f19;
  border-bottom-color: #273541;
  backdrop-filter: none;
}
.sos-store-surface .shell { max-width: 1540px; padding-top: clamp(28px, 4vw, 56px); }
.sos-store-surface .intro {
  align-items: start;
  padding-bottom: 26px;
  border-bottom: 1px solid #30404c;
}
.sos-store-surface .intro > div { max-width: 760px; }
.sos-store-surface .intro h1 {
  margin: 9px 0 10px;
  font-size: clamp(2rem, 3.7vw, 3.35rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.sos-store-surface .intro p:last-child { line-height: 1.6; }
.sos-store-surface .eyebrow { letter-spacing: .1em; color: #87c8bf; }
.sos-store-surface .notice:empty { min-height: 0; margin: 0; }
.sos-store-surface .overview {
  display: flex;
  gap: 0;
  margin: 0 0 36px;
  border-bottom: 1px solid #30404c;
}
.sos-store-surface .overview > div {
  flex: 1;
  min-width: 0;
  padding: 21px 18px 21px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.sos-store-surface .overview > div + div { padding-left: 23px; border-left: 1px solid #24323d; }
.sos-store-surface .overview small { color: #9dadb6; font-size: .81rem; line-height: 1.35; }
.sos-store-surface .overview strong { font-size: clamp(1.5rem, 2.3vw, 2.3rem); line-height: 1.1; }
.sos-store-surface .workspace { grid-template-columns: minmax(240px, 280px) minmax(0, 1fr); gap: clamp(22px, 3vw, 52px); }
.sos-store-surface .store-list,
.sos-store-surface .inventory {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.sos-store-surface .store-list { border-right: 1px solid #2b3a45; padding-right: 22px; }
.sos-store-surface .section-heading { align-items: start; margin-bottom: 20px; }
.sos-store-surface .section-heading h2 { margin: 0 0 4px; font-size: 1.23rem; line-height: 1.25; }
.sos-store-surface .store-list .section-heading { display: block; }
.sos-store-surface #new-store {
  min-height: 0;
  margin-top: 14px;
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid #8acdc4;
  border-radius: 0;
  background: transparent;
  color: #a7e5db;
  font-size: .87rem;
}
.sos-store-surface .store-button {
  margin: 0;
  padding: 14px 12px 14px 14px;
  border: 0;
  border-left: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  transition: background .18s ease, border-color .18s ease;
}
.sos-store-surface .store-button + .store-button { border-top: 1px solid #27353f; }
.sos-store-surface .store-button:hover { background: #101d28; }
.sos-store-surface .store-button.active { border-left-color: #8fe2d6; background: #142530; }
.sos-store-surface .store-button strong { font-size: 1rem; }
.sos-store-surface .inventory-heading { border-bottom: 1px solid #2d3c47; padding-bottom: 18px; }
.sos-store-surface .inventory-heading h2 { font-size: clamp(1.45rem, 2.5vw, 2rem); }
.sos-store-surface .actions { justify-content: flex-end; }
.sos-store-surface .actions .secondary {
  border-color: transparent;
  background: transparent;
  color: #bfd1d8;
  font-weight: 600;
}
.sos-store-surface .actions .secondary:hover { border-color: #405661; background: #111e27; }
.sos-store-surface .primary { border-color: #a6e5dc; background: #a6e5dc; color: #0a1720; }
.sos-store-surface .filters { align-items: end; margin: 0 0 16px; }
.sos-store-surface .filters label { color: #b7c7cf; font-size: .8rem; }
.sos-store-surface .filters input,
.sos-store-surface .filters select { border-radius: 7px; background: #0e1923; }
.sos-store-surface .table-wrap { border: 0; border-top: 1px solid #344450; border-radius: 0; }
.sos-store-surface th { background: #101c27; color: #bdccd4; font-size: .79rem; }
.sos-store-surface td { border-bottom-color: #293944; }
.sos-store-surface tbody tr:hover { background: #111f2a; }
.sos-store-surface .purchase,
.sos-store-surface .movement { margin-top: 32px; padding-top: 21px; border-color: #30404c; }
.sos-store-surface .purchase h3,
.sos-store-surface .movement h3 { font-size: 1.14rem; }
.sos-store-surface button:focus-visible,
.sos-store-surface a:focus-visible,
.sos-store-surface input:focus-visible,
.sos-store-surface select:focus-visible { outline: 2px solid #a6e5dc; outline-offset: 2px; }

/* Ticket operations: a sequence and a tabbed desk, not two rows of cards. */
.sos-ticket-ops-surface .ta-hero-badges { display: none; }
.sos-ticket-ops-surface .ta-hero { border-radius: 10px; }
.sos-ticket-ops-surface .ta-hero h1 { letter-spacing: -.035em; }
.sos-ticket-ops-surface .ta-guide {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 20px 0 28px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}
.sos-ticket-ops-surface .ta-guide button {
  min-width: 0;
  min-height: 76px;
  padding: 13px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.sos-ticket-ops-surface .ta-guide button + button { border-left: 1px solid rgba(255, 255, 255, .12); }
.sos-ticket-ops-surface .ta-guide button:hover,
.sos-ticket-ops-surface .ta-guide button:focus-visible { background: rgba(255, 255, 255, .06); }
.sos-ticket-ops-surface .ta-nav { border-radius: 7px; }
.sos-ticket-ops-surface .ta-card { border-radius: 10px; box-shadow: none; }

/* Admin: the daily work list reads like a workbench, not a gallery of tiles. */
.sos-admin-surface .admin-sidebar { box-shadow: none; }
.sos-admin-surface .sidebar-nav-group-header { padding-block: 9px; }
.sos-admin-surface .sidebar-link { border-radius: 6px; }
.sos-admin-surface .sidebar-navigation .sidebar-nav-group-header small { display: none !important; }
.sos-admin-surface .sidebar-navigation .sidebar-link { grid-template-columns: 24px minmax(0, 1fr); }
.sos-admin-surface .sidebar-navigation .sidebar-link > strong { display: none !important; }
.sos-admin-surface .sidebar-navigation a.sidebar-link,
.sos-admin-surface .sidebar-navigation a.sidebar-link:visited,
.sos-admin-surface .sidebar-navigation a.sidebar-link:hover,
.sos-admin-surface .sidebar-navigation a.sidebar-link:focus-visible,
.sos-admin-surface .sidebar-navigation a.sidebar-link * { text-decoration: none !important; }
.sos-admin-surface .admin-v31-hub {
  padding: 0 0 28px;
  border: 0;
  border-bottom: 1px solid rgba(218, 229, 255, .16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sos-admin-surface .admin-v31-hub-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
}
.sos-admin-surface .admin-v31-hub-grid a,
.sos-admin-surface .admin-v31-hub-grid button {
  min-height: 72px;
  padding: 14px 10px;
  border: 0;
  border-bottom: 1px solid rgba(218, 229, 255, .13);
  border-radius: 0;
  background: transparent;
}
.sos-admin-surface .admin-v31-hub-grid a:hover,
.sos-admin-surface .admin-v31-hub-grid button:hover { background: rgba(105, 242, 212, .055); }
.sos-admin-surface .summary-grid article { border-radius: 8px; }

/* Account: one clear sign-in task with secondary methods kept quiet. */
.sos-account-surface .account-hero { padding-bottom: 14px; }
.sos-account-surface .account-hero h1 { max-width: 15ch; line-height: 1.06; letter-spacing: -.04em; }
.sos-account-surface .account-hero > p:last-child { max-width: 61ch; line-height: 1.65; }
.sos-account-surface .account-auth-portal { max-width: 720px; }
.sos-account-surface .account-auth-tabs { gap: 0; padding: 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .18); border-radius: 0; background: transparent; }
.sos-account-surface .account-auth-tab { border-radius: 0; font-weight: 700; }
.sos-account-surface .account-auth-tab[aria-selected="true"] { background: transparent; color: #e7ff85; box-shadow: inset 0 -2px 0 #e7ff85; }
.sos-account-surface .account-auth-panel .account-card { border-radius: 9px; box-shadow: none; }
.sos-account-surface .account-provider { border-radius: 7px; background: transparent; }
.sos-account-surface .account-social-login { gap: 8px; }

/* Merchandise: a small editorial catalogue with product imagery as the focus. */
.sos-merch-surface { background: #070a0e; }
.sos-merch-surface .shop-hero { max-width: 960px; padding-block: clamp(48px, 7vw, 86px) 34px; }
.sos-merch-surface .shop-hero h1 {
  margin: 15px 0 24px;
  font-size: clamp(2.9rem, 6vw, 5.8rem);
  line-height: .98;
  letter-spacing: -.06em;
}
.sos-merch-surface .shop-hero > div { gap: 0; }
.sos-merch-surface .shop-hero > div span {
  padding: 2px 14px 2px 0;
  border: 0;
  border-radius: 0;
  font-size: .78rem;
}
.sos-merch-surface .shop-hero > div span + span { padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, .2); }
.sos-merch-surface .shop-shell,
.sos-merch-surface .shop-orders { padding: 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .17); border-radius: 0; background: transparent; }
.sos-merch-surface .shop-toolbar { padding: 20px 0 10px; }
.sos-merch-surface .shop-categories button { border-radius: 5px; }
.sos-merch-surface .shop-search input { border-radius: 7px; }
.sos-merch-surface .shop-grid { gap: clamp(16px, 2vw, 28px); }
.sos-merch-surface .shop-card { border: 0; border-radius: 0; background: transparent; }
.sos-merch-surface .shop-card-media { aspect-ratio: 4 / 5; background: #101920; }
.sos-merch-surface .shop-card-body { padding: 14px 0 0; }
.sos-merch-surface .shop-card-body h2 { line-height: 1.25; }
.sos-merch-surface .shop-buy { border-radius: 6px; }
.sos-merch-surface .shop-orders { margin-top: 55px; padding-top: 22px; }

/* Field tools remain high contrast; only their supporting data is simplified. */
.sos-scanner-surface .scan-session { gap: 0; border-block: 1px solid #2b353b; }
.sos-scanner-surface .scan-session article { padding: 16px; border: 0; border-radius: 0; background: transparent; }
.sos-scanner-surface .scan-session article + article { border-left: 1px solid #2b353b; }
.sos-scanner-surface .scan-camera-card { border-radius: 10px; background: #090d10; }
.sos-scanner-surface .scan-result { border-radius: 10px; }
.sos-scanner-surface .scan-recent-card { border-radius: 8px; background: transparent; }

/* Finance reads as a review ledger; keep payment safety indicators untouched. */
.payment-page .pay-hero { border-bottom: 1px solid rgba(255, 255, 255, .15); }
.payment-page .pay-hero h1 { letter-spacing: -.045em; }
.payment-page .pay-card { border-radius: 8px; box-shadow: none; }
.payment-page .pay-card h2 { letter-spacing: -.025em; }

/* Event planning uses a readable timeline and a continuous metrics band. */
.sos-organizer-surface .orb { opacity: .35; }
.sos-organizer-surface .workspace-head h1 { letter-spacing: -.035em; line-height: 1.15; }
.sos-organizer-surface .metrics-grid { gap: 0; border-block: 1px solid rgba(255, 255, 255, .17); }
.sos-organizer-surface .metrics-grid article { border: 0; border-radius: 0; background: transparent; }
.sos-organizer-surface .metrics-grid article + article { border-left: 1px solid rgba(255, 255, 255, .12); }
.sos-organizer-surface .surface { border-radius: 7px; background: #14192b; }
.sos-organizer-surface .timeline-surface { background: transparent; border-left: 0; border-right: 0; }
.sos-organizer-surface .task-column { border-radius: 5px; }

@media (max-width: 900px) {
  .sos-store-surface .workspace { grid-template-columns: 1fr; gap: 26px; }
  .sos-store-surface .store-list { border: 0; border-bottom: 1px solid #2b3a45; padding: 0 0 18px; }
  .sos-ticket-ops-surface .ta-guide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sos-ticket-ops-surface .ta-guide button:nth-child(4) { border-left: 0; }
}
@media (max-width: 640px) {
  .sos-public-home .festival-showcase-section { padding-top: 80px; }
  .sos-public-home .festival-showcase-block > .section-heading { margin-bottom: 22px; }
  .sos-public-home .event-empty-state { padding-left: 16px; }
  .sos-store-surface .overview { flex-wrap: wrap; margin-bottom: 24px; }
  .sos-store-surface .overview > div { flex: 0 0 50%; padding: 14px 10px 14px 0; }
  .sos-store-surface .overview > div + div { padding-left: 12px; }
  .sos-store-surface .overview > div:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid #24323d; }
  .sos-store-surface .overview > div:nth-child(4) { border-top: 1px solid #24323d; }
  .sos-store-surface .store-list #stores { display: flex; overflow-x: auto; gap: 0; }
  .sos-store-surface .store-button { flex: 0 0 min(68vw, 230px); }
  .sos-store-surface .store-button + .store-button { border-top: 0; border-left: 1px solid #27353f; }
  .sos-store-surface .store-button.active { box-shadow: inset 0 -2px #8fe2d6; border-left-color: #27353f; }
  .sos-store-surface .inventory-heading { display: block; }
  .sos-store-surface .actions { justify-content: flex-start; margin-top: 16px; }
  .sos-store-surface .actions .primary { width: 100%; }
  .sos-store-surface .actions .secondary { padding-inline: 6px; }
  .sos-ticket-ops-surface .ta-guide { grid-template-columns: 1fr; margin-block: 16px; }
  .sos-ticket-ops-surface .ta-guide button { min-height: 0; grid-template-columns: minmax(0, 1fr); padding: 10px 8px; }
  .sos-ticket-ops-surface .ta-guide button + button,
  .sos-ticket-ops-surface .ta-guide button:nth-child(4) { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
  .sos-admin-surface .admin-v31-hub-grid { grid-template-columns: 1fr; }
  .sos-account-surface .account-auth-tabs { position: static; }
  .sos-merch-surface .shop-hero { padding-top: 44px; }
  .sos-merch-surface .shop-hero h1 { font-size: clamp(2.7rem, 10vw, 4rem); }
  .sos-merch-surface .shop-hero > div span { padding-right: 8px; font-size: .68rem; }
  .sos-merch-surface .shop-hero > div span + span { padding-left: 8px; }
  .sos-merch-surface .shop-card { border-bottom: 1px solid rgba(255, 255, 255, .15); padding-bottom: 16px; }
  .sos-merch-surface .shop-card-media { aspect-ratio: 1; }
  .sos-scanner-surface .scan-session { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sos-scanner-surface .scan-session article:nth-child(3) { border-left: 0; border-top: 1px solid #2b353b; }
  .sos-scanner-surface .scan-session article:nth-child(4) { border-top: 1px solid #2b353b; }
  .sos-organizer-surface .metrics-grid { gap: 0; }
  .sos-organizer-surface .metrics-grid article:nth-child(odd) { border-left: 0; }
  .sos-organizer-surface .metrics-grid article:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .12); }
}
@media (prefers-reduced-motion: reduce) {
  .sos-public-home .experience-quick-nav a,
  .sos-store-surface .store-button { transition: none; }
}
