/* Layout, hierarchy and motion shared by the complete product. */
:root { --accent: #9B642F; --accent-pressed: #795027; --accent-tint: #F1EAE1; --bg: #F7F7F8; --surface-bg: #fff; --label: #24262B; --label-2: #6C7078; --r-lg: 18px; --r-xl: 24px; --shadow: 0 4px 18px #181A2004; --font-display: 'Inter',-apple-system,BlinkMacSystemFont,sans-serif; }
body { line-height: 1.5; }
h1,h2,h3,p { margin-top: 0; }
.large-title { font-weight: 600; font-size: clamp(26px,2.1vw,32px); letter-spacing: -.045em; margin-bottom: 0; }
.title3 { font-size: 17px; font-weight: 600; letter-spacing: -.025em; }
.page-subtitle { color: var(--label-2); margin: 6px 0 0; font-size: 13px; }
.page-head { align-items: center; margin-bottom: 20px; }
.eyebrow { font-size: 11px; font-weight: 500; letter-spacing: .08em; margin-bottom: 6px; }
.shell { grid-template-columns: 208px minmax(0,1fr); }
.sidebar { padding: 20px 12px; border-right: 1px solid #EAECEF; background: #FBFBFC; }
.sidebar > .brand { margin: 0 12px 22px !important; font-size: 21px; }
.sidebar .section-label { font-size: 11px; margin-bottom: 8px; }
.sidebar .nav-item { min-height: 40px; margin: 1px 0; border-radius: 9px; font-size: 13px; font-weight: 500; gap: 10px; }
.sidebar .nav-item.active { background: #ECECEE; color: #202329; }
.sidebar .nav-item .ico { color: #81858D; }
.sidebar .nav-item.active .ico { color: #9B642F; }
.mobile-brand { display: none; }
.topbar { background: #FFFFFFDE; border-bottom: 1px solid #EAECEF; padding: 10px 28px; min-height: 62px; backdrop-filter: blur(18px); }
.topbar-context { font-size: 13px; font-weight: 500; color: #696E76; }
.main-inner { max-width: 1800px; width: 100%; margin: 0 auto; padding: 22px clamp(22px,2.2vw,40px) 28px; }
.account-summary { box-shadow: none; border-color: #E8EAED; }
.card { padding: 20px; border-radius: 16px; border-color: #E8EAED; box-shadow: none; }
.surface { border-color: #E8EAED; }
.btn { border-radius: 9px; font-size: 13px; font-weight: 500; min-height: 38px; box-shadow: none; }
.btn-primary { background: #24262B; color: #fff; border-color: #24262B; }
.btn-primary:hover { background: #3A3D44; box-shadow: 0 7px 18px #20232915; }
.shop-page .btn-primary { background: var(--accent); color: var(--accent-contrast); border-color: transparent; }
.input,.textarea,.custom-select-trigger { border-radius: 9px; background: #FBFBFC; padding: 9px 12px; font-size: 14px; }
.field > label { font-size: 12px; color: #50555E; }
.table { font-size: 13px; }
.table th { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 500; color: #59616D; background: #FBFBFC; padding: 11px 14px; }
.table td { padding: 12px 14px; border-bottom-color: #ECEEF1; }
.table tbody tr { transition: background .2s; }
.table tbody tr:hover { background: #F7F8FA; }
.surface:has(> .table) { overflow-x: auto !important; }
.list { border-radius: 16px; box-shadow: none; }
.list-row { min-height: 52px; }
.list-row .grow { min-width: 0; }
.badge { border-radius: 6px; font-size: 10px; font-weight: 500; padding: 5px 8px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.section-heading h2 { margin: 0; }
.text-link { display: inline-flex; gap: 8px; align-items: center; font-size: 12px; font-weight: 500; color: #7D552C; }
.metrics-ribbon { display: flex; align-items: center; gap: 36px; padding: 18px 0; margin: 0 0 20px; border-bottom: 1px solid #E4E6E9; }
.metrics-ribbon > div { display: grid; gap: 6px; }
.metrics-ribbon strong { font-size: 25px; letter-spacing: -.045em; font-weight: 500; line-height: 1.2; }
.metrics-ribbon span { color: #626A75; font-size: 12px; }
.ribbon-next { display: grid; margin-left: auto; gap: 5px; grid-template-columns: 1fr 20px; color: var(--label); }
.ribbon-next span { grid-column: 1; }.ribbon-next strong { font-size: 14px; }.ribbon-next .icon { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.studio-welcome { min-height: 175px; padding: 26px 30px; margin-bottom: 0; border-radius: 16px; background-position: center 48%; }
.studio-welcome h2 { font-size: clamp(26px,2.8vw,36px); max-width: 490px; font-weight: 500; }
.studio-welcome p { max-width: 380px; line-height: 1.7; }
.grid-auto { grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 24px; }
.event-card { border-radius: 18px; max-width: none; box-shadow: none; }
.event-card-cover { aspect-ratio: 16/9; }
.event-card .btn-primary { background: #F3F3F5; border-color: transparent; color: #24262B; }
.overview-workspace { display: grid; grid-template-columns: minmax(0,1fr) 310px; background: #fff; border: 1px solid #E8EAED; border-radius: 20px; overflow: hidden; }
.overview-sales { padding: 22px 26px 0; min-width: 0; }
.revenue-display { font-size: clamp(32px,3vw,44px); font-weight: 500; letter-spacing: -.055em; line-height: 1.1; }
.overview-chart { height: clamp(120px,23vh,210px); margin-top: 18px; }
.overview-chart canvas { max-width: 100%; }
.metrics-ribbon.compact { margin: 0; border: 0; border-top: 1px solid #E8EAED; gap: 32px; padding: 16px 0; }
.metrics-ribbon.compact strong { font-size: 22px; }
.overview-event { border-left: 1px solid #E8EAED; padding: 20px; background: #FAFAFB; }
.overview-art { min-height: 185px; background-size: cover; background-position: center; border-radius: 12px; padding: 20px; color: #fff; display: flex; flex-direction: column; justify-content: space-between; margin-bottom: 8px; }
.overview-art .badge { align-self: start; background: #FFFFFF24; color: #fff; backdrop-filter: blur(10px); }
.overview-art .eyebrow { color: #E0CFBC; font-size: 8px; }.overview-art h2 { font-weight: 500; font-size: 25px; letter-spacing: -.04em; line-height: 1.2; margin: 10px 0 0; }
.overview-action { display: flex; align-items: center; justify-content: space-between; padding: 12px 2px; font-size: 12px; border-bottom: 1px solid #E5E7EA; color: #363B43; }
.overview-action > span { display: flex; gap: 10px; align-items: center; }
.overview-action:last-child { border: 0; }
.overview-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding: 20px 0 0; }
.overview-detail-grid > div { min-width: 0; }.ticket-progress-row { padding: 18px 0; }.ticket-progress-row strong { font-size: 13px; font-weight: 500; }.ticket-progress-row .progress { margin-top: 12px; background: #E6E8EB; }.ticket-progress-row .progress i { background: #AA8057; }
.activity-row { display: flex; align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid #E6E8EB; font-size: 12px; }.activity-row strong { font-weight: 500; }.activity-row .footnote { display: block; font-size: 10px; margin-top: 3px; }.activity-dot { width: 6px; height: 6px; background: #BAA078; border-radius: 50%; }.activity-dot.paid { background: #63997E; }
.pricing-policy { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 30px; background: #EDEFEF; border-radius: 16px; margin: 28px 0 36px; }.pricing-policy p { max-width: 720px; margin: 10px 0; }.pricing-policy .toggle { flex: none; }.fee-formula { color: #626B71; font-size: 11px; }
.ticket-description { color: var(--label-2); font-weight: 400; font-size: 13px; line-height: 1.6; max-width: 660px; margin: 8px 0; overflow-wrap: anywhere; }
.ticket-type-row { padding: 26px 30px; }.ticket-type-row .progress { max-width: 280px; }.ticket-type-row .row.mt-3 { justify-content: flex-end; margin-top: -24px !important; }
.price-preview { padding: 22px; border: 1px solid #E4E7E9; background: #F8F9F9; border-radius: 12px; margin: 22px 0; }
.price-preview-heading { font-size: 10px; text-transform: uppercase; letter-spacing: .09em; color: #858B92; margin-bottom: 17px; }
.price-breakdown-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; font-size: 12px; margin: 10px 0; color: #6A7178; }.price-breakdown-row strong { font-weight: 500; }
.price-buyer-total { color: #24262B; font-size: 17px; padding: 12px 0; border-top: 1px solid #DEE2E5; }.price-settlement { border-top: 1px dashed #D8DDE0; margin-top: 12px; padding-top: 8px; }.price-organizer-net { color: #2D6954; font-size: 15px; }.price-invalid { color: #B43D32; }.price-preview-note { font-size: 10px; color: #8A9198; margin: 12px 0 0; }
.price-preview > .footnote { font-size: 11px; margin: 18px 0 0; }
.design-layout { grid-template-columns: minmax(0,1fr) minmax(370px,.92fr); gap: 32px; }
.design-preview-card { border-radius: 20px; background: #EBECF0; padding: 24px; }
.design-preview-stack { top: 95px; }
.studio-action-bar { left: calc(50% + 112px); width: min(800px,calc(100% - 288px)); bottom: 24px; border-radius: 14px; }
.builder-tabs { position: sticky; top: 84px; border-radius: 10px; }.builder-tabs button { border-radius: 8px; font-size: 12px; padding: 11px; }
.ticket-pdf-preview { min-height: 0; max-height: none; }.pdf-preview-page { margin-bottom: 0; border-radius: 4px; }
.pdf-preset-card { box-shadow: none; }.theme-choice-swatch { height: 138px; }
.sheet { width: min(640px,100%); border-radius: 22px 22px 0 0; padding: 26px; }
.admin-dashboard-modern { max-width: none; gap: 20px; }
.admin-ledger-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 185px; border-radius: 16px; color: #fff; padding: 24px 30px; background: linear-gradient(90deg,#20232AF5,#222531DB),url('/assets/images/glass-stage.png') right center / cover; }
.admin-ledger-hero .eyebrow { color: #C9B8A3; }.admin-revenue-display { font-size: clamp(36px,3.5vw,50px); font-weight: 500; line-height: 1.1; letter-spacing: -.055em; margin: 12px 0 20px; }.admin-ledger-hero p { color: #B5BBC3; font-size: 12px; max-width: 380px; }
.admin-hero-metrics { border-left: 1px solid #FFFFFF23; display: grid; gap: 18px; padding-left: 32px; }.admin-hero-metrics > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; }.admin-hero-metrics strong { font-size: 23px; font-weight: 500; letter-spacing: -.035em; }.admin-hero-metrics span { color: #AAB0B9; font-size: 11px; }
.admin-review-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr); gap: 24px; }.admin-chart-panel { background: #fff; border-radius: 18px; border: 1px solid #E7E9ED; padding: 20px; min-width: 0; }.admin-attention-panel { padding-top: 12px; }
.admin-risk-row { border: 0; border-bottom: 1px solid #E3E6E9; border-radius: 0; padding: 16px 0; background: transparent; }.admin-risk-row .social-preview-ico { background: transparent; }.admin-risk-row .headline { font-size: 12px; }.admin-risk-row .footnote { font-size: 10px; line-height: 1.7; }.admin-risk-items { display: none; }
.admin-organizations-panel { padding: 10px 0; }.admin-data-list { gap: 0; }.admin-data-row { border: 0; border-bottom: 1px solid #E3E6E9; border-radius: 0; padding: 20px 0; background: transparent; }.admin-rank { background: #ECEEF0; color: #676F78; font-size: 12px; }.admin-data-row .headline { font-size: 14px; }.admin-data-row:hover { box-shadow: none; }
.admin-settings-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; }.admin-fee-preview { grid-column: 1 / -1; border-top: 1px solid #E2E5E9; padding: 32px 0; }.admin-fee-preview > .field { max-width: 240px; }.admin-fee-preview h3 { font-size: 13px; font-weight: 500; margin-top: 25px; }
.confirmation-page { max-width: 1400px; padding: 20px 32px 28px; margin: 0 auto; }
.confirmation-nav { display: flex; align-items: center; justify-content: space-between; padding: 0 0 16px; border-bottom: 1px solid #E2E5E8; }.confirmation-reference { font-size: 10px; letter-spacing: .08em; color: #979DA4; }
.confirmation-page .confirmation-hero { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; padding: 22px 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; gap: 60px; }
.confirmation-intro h1 { font-size: clamp(34px,3.6vw,50px); line-height: 1.06; letter-spacing: -.07em; font-weight: 500; margin: 10px 0; }.confirmation-intro > p { font-size: 14px; line-height: 1.8; color: #79808A; max-width: 395px; margin: 0 0 26px; }
.confirmation-status { display: flex; gap: 9px; align-items: center; color: #487B65; font-size: 11px; }.confirmation-page .confirmation-mark { width: 22px; height: 22px; min-width: 22px; border: 1px solid #C6D9CD; border-radius: 50%; background: #E5EEE8; color: #487B65; font-size: 13px; box-shadow: none; animation: confirmMark .65s cubic-bezier(.2,.7,.2,1) both; }
.confirmation-art { min-height: 165px; border-radius: 14px; padding: 22px; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; background-size: cover; background-position: center; }.confirmation-art span { font-size: 10px; opacity: .7; }.confirmation-art strong { font-size: 28px; letter-spacing: -.045em; font-weight: 500; margin-top: 10px; line-height: 1.2; }
.confirmation-layout { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(270px,.8fr); gap: 44px; align-items: start; }.confirmation-tickets { min-width: 0; }.confirmation-tickets .section-heading { margin-bottom: 22px; }.confirmation-tickets .section-heading > span { font-size: 11px; }
.admission-pass { border-radius: 17px; background: #fff; box-shadow: 0 10px 50px #2528300A; overflow: hidden; margin-bottom: 24px; border: 1px solid #E5E7EB; animation: passArrive .7s cubic-bezier(.16,.75,.2,1) both; }
.admission-pass:nth-child(3) { animation-delay: .09s; }.admission-pass-art { padding: 18px 24px; min-height: 100px; background-size: cover; background-position: center; display: flex; justify-content: space-between; color: #fff; gap: 20px; }.pass-overline { text-transform: uppercase; letter-spacing: .13em; font-size: 8px; color: #DCC9AD; }.admission-pass-art h2 { font-size: 26px; font-weight: 500; letter-spacing: -.04em; line-height: 1.2; margin: 15px 0 0; }.pass-number { font-size: 10px; color: #FFFFFF91; padding-top: 4px; }
.admission-pass-body { display: grid; grid-template-columns: minmax(0,1fr) 174px; padding: 20px 24px; gap: 20px; }.pass-category { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #946F45; }.pass-holder { display: grid; gap: 5px; margin: 14px 0; }.pass-holder > span { font-size: 11px; color: #626B77; }.pass-holder > strong { font-size: 15px; font-weight: 500; overflow-wrap: anywhere; }.pass-event-meta { display: grid; gap: 9px; font-size: 12px; color: #59626E; }.pass-event-meta span { display: flex; gap: 7px; align-items: center; }.pass-instructions { font-size: 11px; color: #626B77; margin: 14px 0 0; max-width: 230px; }
.admission-pass-qr { border-left: 1px dashed #D4D9DF; padding-left: 25px; display: flex; flex-direction: column; justify-content: center; align-items: center; }.admission-pass-qr img { width: 140px; background: #fff; padding: 3px; }.admission-pass-qr .code { font-family: 'Inter',sans-serif; font-size: 10px; letter-spacing: .12em; font-weight: 500; margin-top: 14px; text-align: center; }
.booking-panel { padding: 0 0 0 28px; border-left: 1px solid #DFE3E7; position: sticky; top: 30px; }.booking-panel h2 { margin-bottom: 18px; }.booking-detail { display: grid; gap: 4px; margin-bottom: 14px; }.booking-detail > span { font-size: 12px; color: #626B77; }.booking-detail > strong { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }.booking-amounts { margin-top: 18px; border-top: 1px solid #E1E4E8; padding-top: 22px; }.booking-amounts .booking-detail { display: flex; justify-content: space-between; align-items: center; margin-bottom: 13px; }.confirmation-page .confirmation-total { display: flex; align-items: center; justify-content: space-between; text-align: left; font-size: 12px; margin: 22px 0 0; padding: 14px 0; border: 0; border-top: 1px solid #E1E4E8; background: none; }.confirmation-total strong { font-size: 23px; letter-spacing: -.04em; font-weight: 500; }.booking-event { border-top: 1px solid #E1E4E8; padding: 16px 0; }.booking-event h3 { font-size: 12px; font-weight: 500; }.booking-event p { font-size: 11px; color: #848C97; margin-bottom: 7px; }.booking-event > strong { font-size: 12px; font-weight: 500; }
.shop-page .container { width: min(1320px,100%); max-width: 1320px; }.shop-page .shop-hero { min-height: 260px; }.shop-page .hero-content { padding: 28px; }.shop-page .ticket-pick { border-radius: 14px; }.checkout-modal { max-width: 1200px; }.checkout-modal-inner { width: 100%; }
#app::after { font-size: 11px; font-weight: 400; color: #626B77; padding: 10px 16px; }
@keyframes passArrive { from { opacity: 0; transform: translateY(22px) rotate(.6deg); } to { opacity: 1; transform: none; } }
@keyframes confirmMark { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: scale(1); } }
@keyframes panelArrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.overview-workspace,.overview-detail-grid,.admin-ledger-hero,.admin-review-grid,.pricing-policy,.confirmation-intro,.confirmation-art { animation: panelArrive .55s cubic-bezier(.2,.7,.2,1) both; }
.overview-detail-grid,.admin-review-grid { animation-delay: .07s; }.confirmation-art { animation-delay: .12s; }
.main-inner > div > .surface,.main-inner .account-card,.main-inner .section-tabs { animation: panelArrive .35s ease both; }
.overview-action .icon,.text-link .icon { transition: transform .2s; }.overview-action:hover > .icon,.text-link:hover .icon { transform: translateX(3px); }
@media(min-width:1700px) { .main-inner { padding-left: 64px; padding-right: 64px; }.overview-workspace { grid-template-columns: minmax(0,1fr) 380px; } }
@media(max-width:1150px) { .overview-workspace { grid-template-columns: minmax(0,1fr) 260px; }.overview-sales { padding: 26px 24px 0; }.metrics-ribbon { gap: 24px; }.design-layout { grid-template-columns: minmax(0,1fr) minmax(300px,.85fr); }.admin-hero-metrics { padding-left: 28px; }.admin-hero-metrics > div { flex-direction: column; align-items: flex-start; gap: 3px; }.confirmation-layout { gap: 28px; }.confirmation-page { padding: 25px 30px 70px; } }
@media(max-width:980px) { .overview-workspace { grid-template-columns: 1fr; }.overview-event { border-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }.overview-art { grid-row: 1 / span 3; margin: 0; min-height: 210px; }.overview-detail-grid { gap: 28px; }.admin-review-grid { grid-template-columns: 1fr; }.admin-attention-panel { padding-top: 0; }.confirmation-layout { grid-template-columns: minmax(0,1fr) 270px; gap: 25px; }.confirmation-page .confirmation-hero { gap: 30px; }.admission-pass-body { grid-template-columns: 1fr 150px; padding: 24px; gap: 18px; }.admission-pass-qr { padding-left: 18px; }.admission-pass-art { padding: 24px; } }
@media(max-width:860px) { .shell { grid-template-columns: minmax(0,1fr); }.mobile-brand { display: inline-flex; }.topbar-context { display: none; }.topbar { padding: 14px 20px; min-height: 70px; }.main-inner { padding: 30px 22px 120px; }.design-layout { grid-template-columns: 1fr; }.design-preview-stack { position: static; }.studio-action-bar { left: 50%; width: calc(100% - 24px); bottom: 88px; }.builder-tabs { top: 74px; }.tabbar { overflow-x: auto; justify-content: flex-start; }.tabbar a { flex: 1 0 58px; white-space: nowrap; }.confirmation-layout { grid-template-columns: 1fr; }.booking-panel { position: static; border-left: 0; border-top: 1px solid #DFE3E7; padding: 28px 0 0; }.confirmation-art { min-height: 260px; }.admin-settings-grid { grid-template-columns: 1fr; }.ribbon-next { display: none; } }
@media(max-width:600px) { .card { padding: 22px; }.large-title { font-size: 32px; }.page-head { gap: 16px; }.page-head .btn { min-height: 38px; font-size: 11px; }.metrics-ribbon { gap: 22px; justify-content: space-between; }.metrics-ribbon strong { font-size: 21px; }.metrics-ribbon span { font-size: 9px; }.studio-welcome { padding: 28px; min-height: 235px; }.studio-welcome h2 { font-size: 34px; }.overview-sales { padding: 26px 22px 0; }.overview-sales .section-heading { display: grid; }.revenue-display { font-size: 49px; }.overview-chart { height: 260px; margin-top: 28px; }.overview-event { display: block; padding: 22px; }.overview-art { min-height: 230px; margin-bottom: 10px; }.overview-detail-grid { grid-template-columns: 1fr; gap: 35px; padding: 30px 0; }.metrics-ribbon.compact { gap: 18px; }.metrics-ribbon.compact strong { font-size: 21px; }.section-heading { gap: 12px; }.section-heading .text-link { font-size: 10px; }.pricing-policy { padding: 24px; gap: 20px; align-items: flex-start; }.pricing-policy .title3 { font-size: 17px; }.ticket-type-row .row.mt-3 { margin-top: 15px !important; }.ticket-type-row .progress { max-width: none; }.admin-ledger-hero { grid-template-columns: 1fr; padding: 30px; gap: 28px; }.admin-revenue-display { font-size: 56px; }.admin-hero-metrics { padding: 25px 0 0; border-left: 0; border-top: 1px solid #FFFFFF20; gap: 20px; }.admin-hero-metrics > div { flex-direction: row; align-items: center; }.admin-hero-metrics strong { font-size: 20px; }.admin-hero-metrics span { font-size: 10px; }.admin-chart-panel { padding: 24px 18px; }.confirmation-page { padding: 22px 20px 50px; }.confirmation-page .confirmation-hero { grid-template-columns: 1fr; padding: 36px 0; gap: 30px; }.confirmation-intro h1 { font-size: 61px; }.confirmation-intro > p { font-size: 13px; }.confirmation-art { min-height: 225px; }.confirmation-reference { max-width: 140px; text-align: right; overflow-wrap: anywhere; }.admission-pass-art h2 { font-size: 25px; }.admission-pass-body { grid-template-columns: minmax(0,1fr) 126px; padding: 22px 20px; gap: 15px; }.admission-pass-qr { padding-left: 14px; }.admission-pass-qr img { width: 112px; }.admission-pass-qr .code { font-size: 9px; }.pass-holder strong { font-size: 13px; }.pass-event-meta { font-size: 9px; }.pass-category { font-size: 10px; }.pass-instructions { line-height: 1.7; }.shop-page .shop-hero { min-height: 360px; }.grid.grid-2,.grid.grid-3 { grid-template-columns: minmax(0,1fr); } }
.auth-brand { background: #18191F url('/assets/images/glass-stage.png') center/cover; }.auth-brand-scrim { background: linear-gradient(180deg,#10111730,#101117A8); }.auth-blob,.auth-noise { display:none; }.auth-brand-top { color:#fff; }.auth-brand-title { font-size:clamp(46px,4.8vw,78px); line-height:1.05; letter-spacing:-.06em; font-weight:500; }.auth-brand-mid { max-width:630px; }.auth-brand-sub { max-width:410px; font-size:15px; line-height:1.8; color:#D0D0D6; }.auth-brand-title .grad { background:none; color:#D6BCA0; -webkit-text-fill-color:currentColor; }.auth-brand-eyebrow { font-size:10px; font-weight:500; letter-spacing:.08em; }.auth-stats { gap:30px; margin-top:50px; }.auth-stat strong { font-size:14px; font-weight:400; color:#C8AE90; }.auth-stat span { font-size:10px; color:#D0CED1; max-width:110px; }.auth-form-body .title1 { font-weight:500; font-size:34px; letter-spacing:-.045em; }.auth-form-panel { background:#FAFAFB; }.auth-form-body { max-width:420px; }.auth-submit { font-weight:500; }.auth-tabs { margin-bottom:35px; }.auth-tabs button { font-weight:500; font-size:12px; }
.balance-hero { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:26px; margin-top:18px; border-radius:18px; background:#20262B url('/assets/images/glass-stage.png') center/cover; color:#fff; position:relative; isolation:isolate; overflow:hidden; }.balance-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#171B24F5,#171B24B0); z-index:-1; }.balance-hero .eyebrow { color:#C9B194; }.balance-amount { font-size:clamp(34px,3.5vw,48px); letter-spacing:-.065em; font-weight:500; margin:14px 0; }.balance-hero p { font-size:11px; line-height:1.8; color:#ACB2BD; max-width:480px; margin:0; }.balance-pending { display:grid; gap:12px; border-left:1px solid #FFFFFF26; padding-left:45px; min-width:240px; }.balance-pending span { font-size:11px; color:#B9BEC8; }.balance-pending strong { font-size:28px; font-weight:400; letter-spacing:-.04em; }
.dash-stats { display:flex; gap:40px; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); padding:22px 0; }.dash-stats .dash-stat-card { background:none; border:0; box-shadow:none; border-radius:0; padding:0; min-width:0; flex:1; }.dash-stat-card .dash-stat-icon { display:none; }.dash-stat-card .dash-stat-value { font-size:26px; font-weight:500; letter-spacing:-.04em; }.dash-stat-card .dash-stat-label { font-size:11px; font-weight:400; line-height:1.6; overflow-wrap:anywhere; }
.analytics-hero { background:linear-gradient(110deg,#1B212BEF,#1B212BB5),url('/assets/images/glass-stage.png') center/cover; padding:24px; border-radius:16px; box-shadow:none; min-height:140px; }.analytics-hero .footnote { color:#AFB7C4; }.analytics-hero .eyebrow { color:#D0B590; }.analytics-big { font-weight:500; letter-spacing:-.055em; }.analytics-kpis { display:flex; border-bottom:1px solid var(--hairline); gap:26px; padding:24px 0; }.analytics-kpi { background:none; border:0; box-shadow:none; padding:0 25px 0 0; border-radius:0; flex:1; }.analytics-kpi .icon { display:none; }.analytics-kpi strong { font-size:26px; font-weight:500; }.analytics-kpi span { font-size:10px; font-weight:400; text-transform:none; }.analytics-spark { opacity:.5; max-height:110px; }.analytics-panel { box-shadow:none; }.report-ticket-table { overflow-x:auto; }.analytics-bar { background:#B08B62; border-radius:4px 4px 0 0; }.analytics-rank .progress i { background:#B08B62; }
@media(max-width:860px) { .balance-hero { padding:28px; gap:24px; }.balance-pending { padding-left:24px; min-width:160px; }.auth-brand-title { font-size:48px; } }
@media(max-width:600px) { .balance-hero { display:block; }.balance-pending { padding:22px 0 0; margin-top:24px; border-left:0; border-top:1px solid #FFFFFF26; }.balance-pending strong { font-size:25px; }.analytics-hero { min-height:180px; padding:27px; }.analytics-kpis { flex-wrap:wrap; gap:24px; }.analytics-kpi { flex:1 0 40%; padding:0; }.analytics-kpi strong { font-size:24px; }.dash-stats { gap:20px; }.dash-stat-card .dash-stat-label { font-size:10px; }.auth-form-body .title1 { font-size:30px; } }
.referral-summary .stat { border:0; background:none; box-shadow:none; padding:0; border-radius:0; flex:1; }.referral-summary .stat .num { font-size:26px; font-weight:500; color:var(--label)!important; }.referral-summary .stat .lbl { font-size:11px; font-weight:400; }.ai-chat-launcher { box-shadow:0 4px 20px #2528300C; background:#FFF; color:#8B6E48; border:1px solid #E5E1DA; }.ai-chat-launcher-icon { background:#F0ECE6; }.ai-chat-widget:has(.ai-chat-panel) { z-index:280; }body:has(.sheet-overlay) .ai-chat-widget,body:has(.checkout-modal) .ai-chat-widget { display:none; }.confirmation-page .confirmation-actions { display:flex; flex-wrap:wrap; gap:12px; }.confirmation-page .confirmation-actions > .btn { width:auto; }.confirmation-page .confirmation-total strong { color:#25282E; }
@media(max-width:760px) {
 .team-list > .list-row { display:grid; grid-template-columns:36px minmax(0,1fr); padding:22px; gap:12px; }.team-list .team-role-controls { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; width:100%; min-width:0; margin-top:10px; }.team-list .team-role-controls > * { min-width:0; width:100%; }.team-list .footnote { overflow-wrap:anywhere; }
 [class^="admin-view-"] > .surface:has(> table) { overflow:visible!important; border-radius:16px; }
 [class^="admin-view-"] > .surface > table { width:100%; min-width:0!important; display:block; }
 [class^="admin-view-"] > .surface > table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 [class^="admin-view-"] > .surface > table tbody { display:block; }
 [class^="admin-view-"] > .surface > table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; padding:24px; border-bottom:1px solid var(--hairline); }
 [class^="admin-view-"] > .surface > table td { display:block; min-width:0; width:auto; padding:0; border:0; text-align:left; white-space:normal; overflow-wrap:anywhere; }
 [class^="admin-view-"] > .surface > table td::before { content:attr(data-label); display:block; margin-bottom:7px; font-size:9px; font-weight:400; color:#959CA6; }
 [class^="admin-view-"] > .surface > table td:first-child { grid-column:1/-1; font-size:14px; }
 [class^="admin-view-"] > .surface > table td:last-child:has(button),[class^="admin-view-"] > .surface > table td:last-child:has(a),[class^="admin-view-"] > .surface > table td[colspan] { grid-column:1/-1; }
 [class^="admin-view-"] > .surface > table td[data-label=""]::before { display:none; }
 [class^="admin-view-"] > .surface > table td:last-child .row { justify-content:flex-start!important; flex-wrap:wrap; }
 [class^="admin-view-"] > .surface > table tr:last-child { border-bottom:0; }
 .confirmation-page .confirmation-actions > .btn { width:auto; }
}
.pdf-preset-card .preview-choice-mini { aspect-ratio:1.414; min-height:0; height:auto; }.pdf-preset-card .preview-mini-pdf { inset:8px; width:auto; height:auto; margin:0; transform:none; }.pdf-preset-card .preview-mini-pdf-head { height:34%; background:linear-gradient(90deg,#151A26B0,#151A2640),url('/assets/images/glass-stage.png') center/cover; border-radius:0; }.pdf-preset-card .mini-pdfHeader-boxed .preview-mini-pdf-head { background:linear-gradient(90deg,#151A26 50%,transparent 50%),url('/assets/images/glass-stage.png') right/cover; border:0; }.pdf-preset-card .mini-pdfHeader-minimal .preview-mini-pdf-head { background:var(--mini-bg); border:0; border-bottom:1px solid #DFE1E5; }.pdf-preset-card .preview-mini-pdf-body { right:37%; }.pdf-preset-card .preview-mini-pdf-qr { right:8%; bottom:17%; width:23%; height:30%; background-color:#fff; border:3px solid #fff; }
.toast { font-size:12px; font-weight:500; padding:11px 18px; box-shadow:0 8px 28px #10151E18; }.toast.success { background:#272C31; color:#fff; }.toast.success::before { content:''; display:inline-block; height:6px; width:6px; border-radius:50%; margin-right:9px; background:#A8C9AD; vertical-align:middle; }body:has(.sheet-overlay) #toasts { top:12px; bottom:auto; }
.shop-page.checkout-modal { width:min(1200px,100%); }.theme-poster .brand .mark,.theme-festival .brand .mark { filter:brightness(0) invert(.92); }body:has(> #app > .theme-poster) #app::after { background:#0D0C14; color:#8B8995; }body:has(> #app > .theme-festival) #app::after { background:#0A0A0A; color:#858580; }

/* Operational pages use a compact, readable scale at normal browser zoom. */
.shell { --fs-body: 14px; --fs-headline: 14px; --fs-subhead: 13px; --fs-callout: 14px; --fs-title2: 19px; --label-3: #66707D; font-size: 14px; }
.shell .input,.shell .custom-select-trigger { min-height: 38px; }
.shell .btn { padding: 8px 13px; }
.shell .btn-icon { padding: 8px; }
.shell .field { margin-bottom: 12px; }
.shell .empty { padding: 24px; }
.shell .empty-icon { font-size: 32px; margin-bottom: 10px; }
.shell .page-head .eyebrow { margin-bottom: 5px; }
.sidebar .section-label { color: #626B77; }
.settings-tabs { display: flex; gap: 4px; border-bottom: 1px solid #DDE1E6; margin-bottom: 18px; overflow-x: auto; }
.settings-tabs button { flex: none; border: 0; background: transparent; color: #626B77; font: 500 13px var(--font-body); padding: 10px 14px; border-bottom: 2px solid transparent; cursor: pointer; }
.settings-tabs button[aria-selected=true] { color: #24262B; border-color: #9B642F; }
.settings-panel[hidden] { display: none !important; }
.settings-panel { min-width: 0; }
.settings-panel > .row:first-child { margin-top: 0 !important; }
.settings-general .title { font-size: 14px; }
.studio-panels { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.studio-panels > * { flex: none; }
.settings-tabs button:focus-visible,.studio-panels:focus-visible { outline: 2px solid #795027; outline-offset: -2px; }
.shell .badge.orange,.sheet .badge.orange { background: #FFF0DC; color: #865317; }
.shell .badge.green,.sheet .badge.green { background: #E4F1E9; color: #28623F; }
.shell .badge.red,.sheet .badge.red { background: #FAE7E5; color: #9F302A; }
.price-preview-heading,.price-preview-note { color: #626B77; font-size: 11px; }
.confirmation-reference,.booking-event p { color: #626B77; }
.overview-art .eyebrow { color: #E0CFBC; font-size: 10px; }
.shell .builder-tab-btn:not(.active) { background: transparent; box-shadow: none; }
.shell .builder-tab-btn.active { background: #fff; box-shadow: 0 1px 4px #24262B12; color: #24262B; }
.auth-form-body { padding: 22px 0; }
.auth-form-panel { padding-top: 24px; padding-bottom: 24px; }
.auth-tabs { margin-bottom: 22px; }
.auth-brand-title { font-size: clamp(36px,3.8vw,56px); }
.auth-stats { margin-top: 28px; }
#app:has(> .auth-shell)::after { display: none; }
@media(min-width:861px) {
  .topbar { height: 64px; min-height: 64px; flex: none; padding: 8px 26px; margin-bottom: 0; }
  .account-summary { min-height: 42px; padding-top: 5px; padding-bottom: 5px; }
  .sidebar { height: 100dvh; gap: 4px; padding-bottom: 42px; }
  #app:has(> .shell)::after { position: fixed; bottom: 12px; left: 12px; width: 184px; padding: 0; font-size: 10px; pointer-events: none; }
  .main-inner { padding-top: 20px; padding-bottom: 16px; }
  .event-card .cover.cover-lg { aspect-ratio: auto; height: clamp(150px,22vh,210px); }
  .event-card .meta { padding: 12px 16px; }
  .studio-welcome { min-height: 130px; padding-top: 20px; padding-bottom: 20px; display: grid; grid-template-columns: 1fr .9fr; column-gap: 30px; align-content: center; }
  .studio-welcome .eyebrow,.studio-welcome h2 { grid-column: 1; }
  .studio-welcome h2 { font-size: 30px; }
  .studio-welcome p { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .studio-welcome h2 { margin-bottom: 8px; }
  .studio-welcome p { margin: 0; max-width: 540px; font-size: 13px; line-height: 1.6; }
  .events-toolbar { margin-bottom: 16px; }
  .overview-workspace { grid-template-columns: minmax(0,1fr) 270px; }
  .overview-event { padding: 16px; }
  .overview-art { min-height: 170px; }
  .overview-detail-grid { padding-top: 16px; }
  .overview-detail-grid .section-heading { margin-bottom: 8px; }
  .overview-chart { height: clamp(120px,20vh,200px); }
  .overview-detail-grid > div { max-height: clamp(140px,20vh,260px); overflow-y: auto; scrollbar-gutter: stable; }
  .ticket-progress-row { padding: 10px 0; }
  .activity-row { padding: 9px 0; }
  .activity-row .footnote { font-size: 11px; }
  .pricing-policy { padding: 14px 22px; margin: 16px 0; gap: 24px; }
  .pricing-policy .title3 { margin: 4px 0; }
  .pricing-policy .eyebrow { display: none; }
  .pricing-policy p { font-size: 13px; line-height: 1.6; margin: 6px 0; }
  .ticket-type-row { padding: 14px 22px; }
  .ticket-type-row .ticket-description { margin: 4px 0; }
  .ticket-extras-empty { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 16px 22px; }
  .shell .ticket-extras-empty { padding: 16px 22px; }
  .shell .ticket-extras-empty .icon { margin: 0; font-size: 24px; line-height: 1; width: 24px; height: 24px; }
  .admin-chart-panel canvas { --chart-height: 165; }
  .admin-hero-metrics strong { font-size: 21px; }
  .admin-organizations-panel .admin-data-row { padding: 12px 0; }
  .admin-risk-row { padding: 10px 0; }
  .admin-risk-row .footnote { font-size: 11px; }
  .admin-fees-workspace { display: grid; grid-template-columns: minmax(270px,.85fr) minmax(0,1.4fr); gap: 24px; align-items: start; }
  .admin-fee-preview { grid-column: auto; border: 0; padding: 0; }
  .admin-fee-preview h3 { margin-top: 12px; }
  .admin-fee-preview .price-preview { margin: 12px 0 0; padding: 16px; }
  .admin-fee-preview .grid { gap: 16px; }
  .admin-fee-preview .price-breakdown-row { gap: 10px; }
  .admin-fee-preview .price-buyer-total { font-size: 15px; }
  .admin-config-card { align-self: start; min-height: 0; }
  .admin-config-card .field { margin-bottom: 10px; }
  .admin-fee-preview > .footnote { margin-bottom: 10px; }
  .admin-fee-preview .price-preview-heading { margin-bottom: 10px; }
  .admin-fee-preview .price-preview > .footnote { margin-top: 12px; }
  .admin-fee-preview .price-settlement { margin-top: 8px; padding-top: 4px; }
  .settings-panel .admin-banner-preview { max-height: 210px; }
  .builder-tabs { top: 72px; }
  .shell:has(.design-layout) { height: 100dvh; min-height: 0; }
  .main:has(.design-layout) { min-height: 0; overflow: hidden; }
  .main-inner:has(.design-layout) { flex: 1; min-height: 0; display: flex; padding-bottom: 16px; }
  .main-inner > :has(> .design-layout) { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  .design-layout { flex: 1; min-height: 0; padding: 0; gap: 24px; grid-template-columns: minmax(0,1fr) minmax(310px,.92fr); grid-template-rows: minmax(0,1fr); align-items: stretch; }
  .studio-editor { min-height: 0; height: 100%; overflow: hidden; gap: 12px; }
  .studio-editor .builder-tabs { flex: none; position: static; }
  .studio-editor .builder-tabs button { padding: 9px 6px; min-height: 38px; }
  .studio-panels { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-right: 4px; padding-bottom: 4px; }
  .studio-panels .card { padding: 18px; }
  .theme-choice-swatch { height: 90px; }
  .pdf-preset-art { height: 72px; }
  .design-preview-stack { position: static; min-height: 0; height: 100%; }
  .design-preview-card { padding: 16px; max-height: 100%; overflow: auto; }
  .design-preview-card:has(.preview-panel-pdf.hidden) { height: 100%; }
  .preview-panel-shop { height: 100%; min-height: 0; display: flex; flex-direction: column; }
  .preview-panel-shop > .row { flex: none; }
  .design-preview-card .device-frame { max-height: calc(100% - 42px); flex: 1; min-height: 0; }
  .design-preview-card .device-frame.phone { width: auto; height: calc(100% - 42px); max-width: 100%; flex: none; aspect-ratio: 390/844; }
  .design-preview-card .device-frame .screen { height: 100%; }
  .studio-action-bar { flex: none; position: relative; left: auto; bottom: auto; transform: none; width: auto; margin-top: 12px; padding: 9px 12px; box-shadow: 0 2px 10px #20212408; border-color: #DFE3E8; }
  .studio-action-bar .checklist-dock { position: relative; width: auto; max-width: none; margin: 0; left: auto; bottom: auto; }
  .studio-action-bar .checklist-details { overflow: visible; box-shadow: none; border: 0; background: transparent; }
  .studio-action-bar .checklist-details > summary { padding: 6px; font-size: 12px; }
  .studio-action-bar .checklist-details > .checklist-popover { position: absolute; bottom: calc(100% + 20px); left: 0; width: 340px; max-height: min(420px,60dvh); overflow-y: auto; padding: 16px; border: 1px solid #DFE3E8; border-radius: 14px; background: #fff; box-shadow: var(--shadow-lg); }
  .studio-action-bar .studio-save-state { font-size: 11px; }
  .confirmation-page { padding-bottom: 10px; }
  .confirmation-page .confirmation-hero { gap: 30px; padding: 16px 0; }
  .confirmation-intro h1 { font-size: 38px; margin: 8px 0; }
  .confirmation-intro > p { max-width: 540px; }
  .confirmation-actions .btn { min-height: 38px; padding: 9px 16px; }
  .confirmation-intro > p { margin-bottom: 14px; line-height: 1.6; }
  .confirmation-art strong { font-size: 24px; }
  .confirmation-layout { gap: 30px; }
  .confirmation-tickets .section-heading { margin-bottom: 14px; }
  .booking-panel { padding-left: 22px; }
  .booking-panel h2 { margin-bottom: 14px; }
  .booking-event { padding-bottom: 0; }
  .booking-event h3 { margin-bottom: 8px; }
  .booking-detail { margin-bottom: 10px; }
  .booking-amounts { margin-top: 14px; padding-top: 14px; }
  .confirmation-page .confirmation-total { margin-top: 14px; }
  .confirmation-page + * { margin-top: 0; }
  .finance-entries { max-height: calc(100dvh - 270px); overflow-y: auto; }
  .finance-overview { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 20px; margin-top: 18px; align-items: stretch; }
  .finance-overview .balance-hero { margin: 0; display: block; padding: 24px; }
  .finance-overview .balance-amount { font-size: 38px; margin: 8px 0; }
  .finance-overview .balance-pending { display: flex; align-items: center; justify-content: space-between; min-width: 0; padding: 16px 0 0; margin-top: 16px; border-left: 0; border-top: 1px solid #FFFFFF26; }
  .finance-overview .balance-pending strong { font-size: 24px; }
  .finance-overview > .card { display: flex; flex-direction: column; gap: 12px; }
  .shop-booking { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 24px; align-items: start; }
  #app:has(> .shop-page) { min-height: 100dvh; display: flex; flex-direction: column; }
  #app > .shop-page { flex: 1; min-height: 0; }
  .shop-booking .shop-hero { height: clamp(300px,48vh,480px); min-height: 0; }
  .shop-booking .shop-hero.layout-compact { height: clamp(250px,38vh,380px); }
  .shop-booking .shop-hero.layout-classic { height: clamp(280px,43vh,420px); }
  .shop-booking .shop-ticket-section { margin: 0; gap: 12px; }
  .shop-booking .shop-ticket-section > .list-section-title { margin-top: 0; }
  .shop-booking .ticket-pick { padding: 16px 18px; }
  .shop-booking .shop-summary-card { display: block; padding: 16px 18px; }
  .shop-booking .shop-summary-card > .title3 { display: none; }
  .shop-booking .shop-summary-card:has(.center) { display: none; }
  .shop-booking .shop-summary-card .btn { width: 100%; }
  .shop-page:not(.checkout-modal) .mobile-checkout-fab { display: none; }
  .shop-page .shop-layout { display: block; margin-top: 24px; }
  .shop-layout > .col { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; }
  .shop-layout .shop-countdown { grid-column: 1; grid-row: 1; align-self: start; gap: 20px; }
  .shop-layout .shop-countdown > div { flex: none; min-width: 64px; padding: 4px 12px; background: transparent; border: 0; border-right: 1px solid var(--hairline); box-shadow: none; border-radius: 0; }
  .shop-layout .shop-countdown > div:last-child { border: 0; }
  .shop-layout .shop-countdown strong { font-size: 24px; }
  .shop-layout .shop-location { grid-column: 1; }
  .shop-layout .shop-description { grid-column: 2; grid-row: 1 / span 2; }
  .shop-page .container { padding-bottom: 28px; }
  .shop-page .shop-hero .large-title { font-size: clamp(28px,3.2vw,44px); }
  #app:has(> .confirmation-page)::after { display: none; }
}
@media(max-width:860px) {
  .studio-action-bar .checklist-dock { position: static; width: 100%; margin: 0; max-width: none; }
  .studio-action-bar .checklist-details { box-shadow: none; border: 0; background: transparent; }
  .studio-action-bar .checklist-details > summary { padding: 2px 0; font-size: 11px; }
  .studio-action-bar { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; }
  .studio-action-bar .checklist-dock { grid-column: 1 / -1; }
  .studio-action-bar .checklist-details[open] > .checklist-popover { max-height: 40dvh; overflow-y: auto; }
  .shop-booking .shop-summary-card { display: none; }
}
@media(min-width:861px) and (max-width:1400px) {
  .studio-editor .builder-tab-btn > .icon,.studio-editor .builder-tab-btn > ion-icon { display: none; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
