:root {
    --blue: #1167ef;
    --blue-deep: #074ab6;
    --blue-soft: #e9f2ff;
    --ink: #0a1730;
    --ink-soft: #53627a;
    --line: #dce5f2;
    --surface: #ffffff;
    --surface-soft: #f4f7fc;
    --violet: #7257ff;
    --success: #087a53;
    --danger: #bc294b;
    --radius-sm: 0.75rem;
    --radius: 1.25rem;
    --radius-lg: 2rem;
    --shadow: 0 24px 70px rgba(11, 42, 96, 0.11);
    --max: 82rem;
    /* Global layers; hero/card layers remain local (0-6). */
    --layer-header: 30;
    --layer-dropdown: 40;
    --layer-toast: 60;
    --layer-modal: 100;
    --layer-crop-modal: 105;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--surface); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
.nav-account-avatar { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.clipboard-copy-field { position: fixed; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.auth-password-help { margin: -.45rem 0 .25rem; text-align: right; font-size: .82rem; }
.auth-remember { display:flex;align-items:center;gap:.65rem;margin:0 0 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer; }
.auth-remember input { width:1.15rem;height:1.15rem;min-width:1.15rem;margin:0;padding:0;accent-color:var(--blue); }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.main-content { min-height: 70vh; padding-top: 5rem; }

.site-header {
    position: absolute; inset: 0 0 auto; z-index: var(--layer-header); height: 5rem; padding: 0 clamp(1.15rem, 4vw, 4rem); display: flex; align-items: center; justify-content: space-between;
    color: var(--ink); background: transparent; border-bottom: 1px solid rgba(220,229,242,.75);
}
/* Keep backdrop-filter off the header: it would constrain the fixed mobile nav. */
.site-header::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: rgba(255,255,255,.92); backdrop-filter: blur(18px); }
.hero-page .site-header { color: white; border: 0; }
.hero-page .site-header::before { background: linear-gradient(180deg, rgba(3,12,28,.68), transparent); backdrop-filter: none; }
.brand { display: inline-flex; align-items: center; gap: .65rem; font-size: 1.25rem; font-weight: 820; letter-spacing: -.035em; }
.brand-mark { width: 1.7rem; height: 1.7rem; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 0 7px rgba(17,103,239,.48)); }
.hero-page .brand-mark { filter: drop-shadow(0 0 8px rgba(57,140,255,.72)); }
.system-error-page{display:grid;min-height:100vh;margin:0;padding:1.25rem;place-items:center;background:#f5f8ff;color:#0c1933}.system-error-card{width:min(34rem,100%);padding:clamp(2rem,6vw,3rem);background:#fff;border:1px solid rgba(83,98,122,.16);border-radius:1.5rem;box-shadow:0 20px 60px rgba(22,63,139,.1)}.system-error-card>p:first-of-type{margin:.8rem 0 1.8rem;font-weight:820}.system-error-card h1{margin:0 0 1rem;font-size:clamp(2rem,7vw,3.4rem);letter-spacing:-.05em}.system-error-card .button{margin-top:1rem}
.menu-toggle { display: grid; width: 2.75rem; height: 2.75rem; padding: .75rem; gap: .35rem; align-content: center; border: 1px solid rgba(83,98,122,.22); color: currentColor; background: rgba(255,255,255,.1); border-radius: 50%; cursor: pointer; }
.menu-toggle span { width: 100%; height: 2px; background: currentColor; border-radius: 2px; transition: .25s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
.site-navigation { display: none; position: fixed; z-index: var(--layer-dropdown); inset: 5rem 0 0; padding: 2rem 1.25rem; overflow-y: auto; overscroll-behavior: contain; color: var(--ink); background: var(--surface); }
.site-navigation.is-open { display: block; }
.nav-primary, .nav-actions { display: flex; flex-direction: column; align-items: stretch; gap: .35rem; }
.nav-primary { padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.nav-actions { padding-top: 1.5rem; }
.nav-primary > a, .nav-text-link { padding: .85rem .5rem; font-weight: 680; border: 0; background: none; color: inherit; cursor: pointer; text-align: left; }
.nav-primary > a:hover, .nav-text-link:hover { color: var(--blue); }
.nav-form { margin: 0; }
.language-menu { position: relative; order: -1; }
.language-menu summary { display: flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .65rem .75rem; cursor: pointer; border-radius: 999px; list-style: none; font-size: .78rem; font-weight: 800; }
.language-menu summary::-webkit-details-marker { display: none; }
.language-menu summary svg { width: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.7; }
.language-popover { position: relative; z-index: var(--layer-dropdown); padding: .5rem; background: white; border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow); }
.language-popover a { display: flex; align-items: center; min-height: 2.75rem; padding: .65rem .8rem; color: var(--ink); border-radius: .65rem; font-size: .88rem; }
.language-popover a:hover, .language-popover a[aria-current="true"] { background: var(--blue-soft); color: var(--blue); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 3rem; padding: .75rem 1.25rem; border: 1px solid transparent; border-radius: 999px; font-weight: 760; line-height: 1; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: linear-gradient(135deg, #1672fa, #0755d3); box-shadow: 0 12px 30px rgba(17,103,239,.28); }
.button-primary:hover { box-shadow: 0 16px 38px rgba(17,103,239,.38); }
.button-ghost { color: var(--blue); background: var(--blue-soft); }
.button-glass { color: white; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.3); backdrop-filter: blur(10px); }
.button-glass:hover { background: rgba(255,255,255,.16); }
.button-small { min-height: 2.65rem; padding: .65rem 1.05rem; font-size: .88rem; }
.button-large { min-height: 3.4rem; padding: 1rem 1.4rem; }
.button-full { width: 100%; }
.button-google { color: var(--ink); background: white; border-color: var(--line); box-shadow: 0 5px 16px rgba(17,42,83,.07); }
.google-g { color: #4285f4; font-weight: 900; }

.hero { position: relative; min-height: 100svh; overflow: hidden; display: flex; align-items: flex-end; padding: 7.5rem 1.25rem 4rem; color: white; background: #061326; }
.hero-media, .hero-shade { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 67% center; }
.hero-shade { background: linear-gradient(180deg, rgba(3,12,26,.15) 0%, rgba(3,12,26,.2) 35%, rgba(3,12,26,.94) 100%), linear-gradient(90deg, rgba(3,13,29,.95) 0%, rgba(3,13,29,.72) 48%, rgba(3,13,29,.12) 100%); }
.hero-content { position: relative; z-index: 2; width: min(42rem, 100%); }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0 0 1rem; color: var(--blue); font-size: .72rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow > span { width: 1.75rem; height: 2px; background: currentColor; box-shadow: 0 0 12px currentColor; }
.eyebrow.light { color: #79b5ff; }
.hero h1 { margin: 0; font-size: clamp(3.5rem, 16vw, 8.2rem); line-height: .84; letter-spacing: -.075em; text-shadow: 0 0 45px rgba(29,115,255,.25); }
.hero-tagline { max-width: 38rem; margin: 1.35rem 0 .8rem; font-size: clamp(1.45rem, 5.5vw, 2.45rem); font-weight: 680; letter-spacing: -.045em; line-height: 1.08; }
.hero-description { max-width: 34rem; margin: 0; color: rgba(255,255,255,.73); font-size: 1rem; line-height: 1.65; }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.hero-sound { position: absolute; z-index: 2; right: 1.5rem; bottom: 2rem; display: flex; gap: 4px; height: 2.6rem; align-items: center; opacity: .6; }
.hero-sound i { display: block; width: 3px; height: 30%; background: #6fb5ff; border-radius: 3px; box-shadow: 0 0 10px #2685ff; animation: sound 1.8s ease-in-out infinite alternate; }
.hero-sound i:nth-child(2) { height: 75%; animation-delay: -.4s; }.hero-sound i:nth-child(3) { height: 100%; animation-delay: -.9s; }.hero-sound i:nth-child(4) { height: 58%; animation-delay: -.2s; }.hero-sound i:nth-child(5) { height: 38%; animation-delay: -.7s; }
@keyframes sound { to { transform: scaleY(.35); opacity: .45; } }

.page-shell { width: min(var(--max), calc(100% - 2.5rem)); margin-inline: auto; padding-block: clamp(3.5rem, 8vw, 7rem); }
.content-narrow { position: relative; width: min(46rem, calc(100% - 2.5rem)); margin: auto; }
.page-hero { position: relative; overflow: hidden; min-height: 68vh; display: grid; align-items: center; background: linear-gradient(135deg, #f5f9ff, #fff); }
.page-hero h1, .section-heading h1, .dashboard-hero h1 { margin: 0; font-size: clamp(2.65rem, 7vw, 5.8rem); line-height: .96; letter-spacing: -.065em; }
.page-hero p:not(.eyebrow), .section-heading > p:last-child, .dashboard-hero > div > p:last-child { max-width: 43rem; color: var(--ink-soft); line-height: 1.7; font-size: 1.05rem; }
.page-hero-orb { position: absolute; width: 28rem; height: 28rem; top: 5%; right: -12rem; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #64a8ff, #215ada 45%, #5a42de 70%, transparent 72%); filter: blur(8px); opacity: .2; }
.pill { display: inline-flex; margin-top: 1rem; padding: .45rem .7rem; color: var(--blue); background: var(--blue-soft); border-radius: 999px; font-size: .72rem; font-weight: 820; text-transform: uppercase; letter-spacing: .08em; }
.section-heading { margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.section-heading.centered { max-width: 48rem; margin-inline: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
.card-grid { display: grid; gap: 1.25rem; }
.empty-state { min-height: 20rem; display: grid; place-items: center; align-content: center; gap: .7rem; padding: 3rem 1.5rem; text-align: center; background: radial-gradient(circle at 50% 0, #e7f1ff, transparent 55%), var(--surface-soft); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.empty-state h2 { max-width: 34rem; margin: 0; font-size: clamp(1.4rem, 4vw, 2rem); }
.empty-icon { display: grid; place-items: center; width: 4rem; height: 4rem; color: var(--blue); background: white; border-radius: 50%; box-shadow: 0 10px 30px rgba(17,103,239,.16); font-size: 1.4rem; }
.event-card { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.25rem; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 14px 40px rgba(14,45,97,.06); }
.event-date { display: grid; place-items: center; align-content: center; width: 4.5rem; aspect-ratio: 1; color: white; background: linear-gradient(145deg,var(--blue),var(--violet)); border-radius: 1rem; }
.event-date strong { font-size: 1.55rem; line-height: 1; }.event-date span { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; }
.event-card h2, .artist-card h2 { margin: .2rem 0 .4rem; font-size: 1.3rem; }.event-card p, .artist-card p { margin: 0; color: var(--ink-soft); line-height: 1.55; }
.card-kicker { color: var(--blue) !important; font-size: .68rem; font-weight: 820; text-transform: uppercase; letter-spacing: .1em; }
.artist-card { overflow: hidden; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 14px 40px rgba(14,45,97,.06); }
.artist-card > div:last-child { padding: 1.3rem; }
.artist-card-image { aspect-ratio: 4/3; display: grid; place-items: center; overflow: hidden; color: white; background: linear-gradient(145deg, #0f68ee, #6753eb); font-size: 4rem; font-weight: 820; }
.artist-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }.artist-card:hover .artist-card-image img { transform: scale(1.04); }
.text-link { display: inline-flex; gap: .4rem; align-items: center; margin-top: 1rem; color: var(--blue); font-weight: 760; }.text-link span { transition: transform .2s; }.text-link:hover span { transform: translate(2px,-2px); }

.artist-profile-hero { position: relative; overflow: hidden; min-height: 31rem; padding: 7rem 1.25rem 4rem; display: flex; flex-direction: column; justify-content: flex-end; gap: 1.8rem; color: white; background: linear-gradient(125deg,#061327 0%,#09285b 55%,#113e92 100%); }
.artist-profile-glow { position: absolute; width: 28rem; height: 28rem; right: -10rem; top: -8rem; border-radius: 50%; background: #386dff; filter: blur(90px); opacity: .4; }
.artist-avatar-large { position: relative; width: 8rem; height: 8rem; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border: 4px solid rgba(255,255,255,.28); border-radius: 50%; background: linear-gradient(145deg,var(--blue),var(--violet)); box-shadow: 0 20px 50px rgba(0,0,0,.3); font-size: 3rem; font-weight: 850; }
.artist-avatar-large img { width: 100%; height: 100%; object-fit: cover; }.artist-profile-copy { position: relative; max-width: 46rem; }.artist-profile-copy h1 { margin: 0; font-size: clamp(3rem, 9vw, 6.5rem); line-height: .9; letter-spacing: -.07em; }.artist-profile-copy > p:not(.eyebrow) { max-width: 42rem; color: rgba(255,255,255,.75); line-height: 1.65; }.artist-profile-copy .button { margin-top: .5rem; }
.profile-sections { display: grid; gap: 4rem; }.section-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.3rem; }.section-row h2, .placeholder-card h2, .post-composer h2 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.5rem); letter-spacing: -.04em; }
.post-list { display: grid; gap: 1rem; }.post-card { padding: 1.5rem; background: white; border: 1px solid var(--line); border-radius: var(--radius); }.post-card time { color: var(--ink-soft); font-size: .78rem; }.post-card p { font-size: 1.04rem; line-height: 1.7; }.post-card img { width: 100%; max-height: 34rem; object-fit: cover; margin-top: 1rem; border-radius: 1rem; }
.soft-empty { padding: 1.5rem; color: var(--ink-soft); background: var(--surface-soft); border-radius: var(--radius); }
.mini-event-list { display: grid; gap: .8rem; }.mini-event-list article { padding: 1.2rem 1.3rem; border-left: 3px solid var(--blue); background: var(--surface-soft); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }.mini-event-list time { color: var(--blue); font-size: .75rem; font-weight: 750; }.mini-event-list h3 { margin: .3rem 0; }.mini-event-list p { margin: 0; color: var(--ink-soft); }
.placeholder-grid { display: grid; gap: 1rem; }.placeholder-card { min-height: 17rem; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg,#f8fbff,#eff5ff); }.placeholder-card > span { color: var(--blue); font-size: 1.8rem; }.placeholder-card p { color: var(--ink-soft); line-height: 1.6; }.placeholder-card b { color: var(--blue); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }

.auth-shell { min-height: calc(100vh - 5rem); display: grid; }.auth-art { position: relative; overflow: hidden; min-height: 18rem; padding: 3rem 1.5rem; display: flex; flex-direction: column; justify-content: flex-end; color: white; background: linear-gradient(145deg,#06152e,#0b4cb3); }.auth-art::after { content:""; position:absolute; width:22rem;height:22rem;right:-8rem;top:-8rem;border-radius:50%;background:#3c7fff;filter:blur(70px);opacity:.5; }.auth-art > * { position: relative; z-index: 2; }.auth-art blockquote { max-width: 31rem; margin: 0; font-size: clamp(1.7rem,6vw,3.4rem); font-weight: 720; letter-spacing: -.05em; line-height: 1.05; }.auth-wave { position:absolute; inset:0; opacity:.15; background:repeating-radial-gradient(ellipse at 100% 50%,transparent 0 17px,#85baff 19px 21px,transparent 23px 35px); }.register-art { background: linear-gradient(145deg,#130a32,#174ca7); }.auth-panel { display: grid; align-items: center; padding: 3rem 1.25rem; }.auth-form-wrap { width: min(28rem,100%); margin:auto; }.auth-form-wrap h1 { margin:0;font-size:clamp(2.5rem,7vw,4.2rem);letter-spacing:-.06em;line-height:.95; }.form-intro { margin:1rem 0 1.8rem;color:var(--ink-soft);line-height:1.65; }.stack-form { display:grid;gap:1.1rem; }.stack-form label { display:grid;gap:.5rem;font-size:.84rem;font-weight:720; }.stack-form input,.stack-form textarea,.search-form input { width:100%;padding:.9rem 1rem;color:var(--ink);background:white;border:1px solid #cfdbea;border-radius:.8rem;outline:none;transition:border .2s,box-shadow .2s; }.stack-form input:focus,.stack-form textarea:focus,.search-form input:focus { border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,103,239,.11); }.stack-form textarea { resize:vertical;line-height:1.6; }.divider { display:flex;align-items:center;gap:1rem;margin:1.2rem 0;color:#91a0b4;font-size:.75rem; }.divider::before,.divider::after { content:"";height:1px;background:var(--line);flex:1; }.form-switch { margin:1.5rem 0 0;text-align:center;color:var(--ink-soft); }.form-switch a { color:var(--blue);font-weight:760; }

.setup-shell { width:min(62rem,calc(100% - 2.5rem));margin:auto;padding:clamp(3rem,8vw,6rem) 0; }.setup-form { margin-top:2.5rem; }.choice-grid { display:grid;gap:1rem; }.choice-card { position:relative;display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;padding:1.4rem;background:white;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;box-shadow:0 12px 35px rgba(15,48,102,.05); }.choice-card:has(input:checked) { border-color:var(--blue);box-shadow:0 0 0 3px rgba(17,103,239,.1),0 18px 45px rgba(17,103,239,.12); }.choice-card input { position:absolute;opacity:0; }.choice-icon { grid-row:1/3;display:grid;place-items:center;width:3rem;height:3rem;color:var(--blue);background:var(--blue-soft);border-radius:50%;font-size:1.3rem; }.choice-card strong { font-size:1.08rem; }.choice-card small,.check-row small,.stack-form small { color:var(--ink-soft);line-height:1.5; }.check-row { display:flex;gap:.8rem;align-items:flex-start;margin:1.25rem 0;padding:1rem 1.1rem;background:var(--surface-soft);border-radius:var(--radius-sm);cursor:pointer; }.check-row input { margin-top:.25rem;accent-color:var(--blue); }.check-row span { display:grid;gap:.2rem; }.profile-fields { margin-top:1.25rem;padding:1.3rem;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow); }.profile-fields[hidden] { display:none; }.field-grid { display:grid;gap:1.1rem; }.slug-input { display:flex;align-items:center;border:1px solid #cfdbea;border-radius:.8rem;overflow:hidden; }.slug-input:focus-within { border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,103,239,.11); }.slug-input > span { padding-left:1rem;color:#8795aa; }.slug-input input { border:0!important;box-shadow:none!important;padding-left:.2rem!important; }.slug-status { display:block;min-height:1.2rem; }.slug-status.is-available { color:var(--success); }.slug-status.is-unavailable { color:var(--danger); }.file-field input { padding:.7rem!important;background:var(--surface-soft)!important; }.setup-actions { display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1.5rem;color:var(--ink-soft);font-size:.8rem; }

.dashboard-hero { padding:clamp(4rem,8vw,7rem) max(1.25rem,calc((100% - var(--max))/2));display:flex;flex-direction:column;gap:2rem;background:linear-gradient(145deg,#f7faff,#edf4ff);border-bottom:1px solid var(--line); }.dashboard-grid { display:grid;gap:1rem;padding-bottom:2rem; }.account-card { display:flex;align-items:center;gap:1rem;padding:1.3rem;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 15px 40px rgba(15,48,102,.06); }.account-avatar { display:grid;place-items:center;width:3.5rem;height:3.5rem;flex:0 0 auto;color:white;background:linear-gradient(145deg,var(--blue),var(--violet));border-radius:50%;font-weight:850;font-size:1.3rem; }.account-card h2 { margin:.15rem 0;font-size:1.2rem; }.account-card p { margin:0;color:var(--ink-soft);font-size:.86rem; }.accent-card { background:linear-gradient(145deg,#0b285c,#0d4caa);color:white;border:0; }.accent-card .card-kicker,.accent-card .text-link { color:#80baff!important; }.artist-mini { background:rgba(255,255,255,.14); }.dashboard-coming { display:flex;align-items:center;gap:1rem;padding:1.3rem;background:var(--surface-soft);border-radius:var(--radius);color:var(--ink-soft); }.dashboard-coming > span { color:var(--blue);font-size:1.5rem; }.post-composer { display:grid;gap:2rem;padding-top:2rem; }.post-composer form { max-width:42rem; }.form-page { max-width:52rem; }.profile-form { max-width:38rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow); }.profile-context { display:flex;margin-bottom:.5rem; }.profile-context span { padding:.45rem .7rem;color:var(--blue);background:var(--blue-soft);border-radius:999px;font-size:.75rem;font-weight:800; }

[hidden] { display: none !important; }
body.modal-open { overflow: hidden; }
.choice-card:has(input:focus-visible) { outline:3px solid rgba(17,103,239,.28);outline-offset:3px; }
.profile-fields-reveal { display:grid;grid-template-rows:0fr;margin-top:0;opacity:0;transform:translateY(-.35rem);transition:grid-template-rows .32s ease,margin .32s ease,opacity .24s ease,transform .32s ease; }
.profile-fields-reveal > .profile-fields { min-height:0;overflow:hidden;margin:0;padding-block:0;border-color:transparent;box-shadow:none;transition:padding .32s ease,border-color .2s ease,box-shadow .2s ease; }
.profile-fields-reveal.is-visible { grid-template-rows:1fr;margin-top:1.25rem;opacity:1;transform:none; }
.profile-fields-reveal.is-visible > .profile-fields { padding-block:1.3rem;border-color:var(--line);box-shadow:var(--shadow); }
.toggle-row { display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:1.25rem 0;padding:1rem 1.1rem;background:var(--surface-soft);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s; }
.toggle-row:hover { border-color:#c9d9ec;background:#f7faff; }
.toggle-copy { display:grid;gap:.2rem;min-width:0; }.toggle-copy strong { font-size:.9rem; }.toggle-copy small { color:var(--ink-soft);font-size:.78rem;line-height:1.5; }
.toggle-control { position:relative;width:3.2rem;height:1.8rem;flex:0 0 auto; }.toggle-input { position:absolute!important;z-index:2;inset:0;width:100%!important;height:100%;margin:0!important;opacity:0;cursor:pointer; }
.toggle-track { position:absolute;inset:0;padding:.2rem;background:#bdc9d8;border-radius:999px;transition:background .2s,box-shadow .2s; }.toggle-thumb { display:block;width:1.4rem;height:1.4rem;background:white;border-radius:50%;box-shadow:0 2px 7px rgba(10,23,48,.24);transition:transform .22s cubic-bezier(.2,.8,.2,1); }
.toggle-input:checked + .toggle-track { background:var(--blue); }.toggle-input:checked + .toggle-track .toggle-thumb { transform:translateX(1.4rem); }.toggle-input:focus-visible + .toggle-track { box-shadow:0 0 0 4px rgba(17,103,239,.2); }
.profile-url-preview { display:block;min-height:1.15rem;overflow-wrap:anywhere;color:#738299!important;font-weight:540; }.profile-url-preview strong { color:var(--ink);font-weight:700; }.slug-status { font-weight:700; }.slug-status.is-checking { color:var(--ink-soft); }.slug-status.is-available { color:var(--success); }.slug-status.is-unavailable { color:var(--danger); }

.profile-form { max-width:52rem;padding:clamp(1.25rem,4vw,2rem);gap:1.25rem;background:white; }
.profile-form > label { padding-bottom:.1rem; }.profile-form .slug-input input { background:transparent; }
.profile-save { justify-self:start;margin-top:.35rem; }
.avatar-setting { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem;background:linear-gradient(135deg,#f5f9ff,#fbfdff);border:1px solid var(--line);border-radius:var(--radius); }
.avatar-button { display:flex;align-items:center;gap:1rem;min-width:0;padding:0;color:inherit;text-align:left;background:none;border:0;cursor:pointer; }
.avatar-button:focus-visible { outline:3px solid rgba(17,103,239,.24);outline-offset:5px;border-radius:1rem; }
.avatar-preview { position:relative;display:grid;place-items:center;width:5.25rem;height:5.25rem;flex:0 0 auto;overflow:visible;color:white;background:linear-gradient(145deg,var(--blue),var(--violet));border-radius:50%;font-size:1.8rem;font-weight:850;box-shadow:0 10px 28px rgba(17,103,239,.2); }
.avatar-preview > img { width:100%;height:100%;object-fit:cover;border-radius:inherit; }.avatar-edit-badge { position:absolute;right:-.15rem;bottom:-.1rem;display:grid!important;place-items:center;width:1.75rem;height:1.75rem;color:white;background:var(--ink);border:3px solid white;border-radius:50%;font-size:.65rem; }
.avatar-setting-copy { display:grid;gap:.3rem; }.avatar-setting-copy strong { font-size:1rem; }.avatar-setting-copy small { color:var(--ink-soft);font-size:.78rem;font-weight:540;line-height:1.45; }
.avatar-remove { flex:0 0 auto;color:var(--danger);font-weight:720; }
.account-avatar { overflow:hidden; }.account-avatar img { width:100%;height:100%;object-fit:cover; }.profile-state-card { align-items:flex-start; }.profile-state-card.is-empty { box-shadow:none;background:var(--surface-soft); }.state-icon { display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:0 0 auto;color:#65748a;background:white;border:1px solid var(--line);border-radius:50%;font-weight:850; }.state-icon.is-live { color:var(--success);background:#e7f8f1;border-color:#b9e8d5; }

.avatar-modal { position:fixed;z-index:var(--layer-modal);inset:0;display:grid;align-items:end;justify-items:center;padding:0; }
.avatar-backdrop { position:absolute;inset:0;background:rgba(4,13,30,.68);backdrop-filter:blur(8px); }
.avatar-dialog { position:relative;width:100%;max-height:92vh;overflow:auto;padding:1.25rem;background:white;border-radius:1.5rem 1.5rem 0 0;box-shadow:0 -20px 70px rgba(2,14,38,.25);outline:none; }
.avatar-dialog-header { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem; }.avatar-dialog-header h2 { margin:.2rem 0 0;font-size:clamp(1.55rem,5vw,2.2rem);letter-spacing:-.04em; }.avatar-dialog-header .eyebrow { margin:0; }
.modal-close { display:grid;place-items:center;width:2.7rem;height:2.7rem;flex:0 0 auto;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:50%;font-size:1.55rem;line-height:1;cursor:pointer; }.modal-close:hover { background:var(--blue-soft); }.modal-close:focus-visible,.source-card:focus-visible { outline:3px solid rgba(17,103,239,.25);outline-offset:2px; }
.modal-intro { margin:0 0 1.2rem;color:var(--ink-soft);line-height:1.6; }.avatar-source-grid { display:grid;gap:.8rem; }
.source-card { display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:center;padding:1.15rem;color:var(--ink);text-align:left;background:linear-gradient(145deg,#f8fbff,#f1f6fd);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s; }.source-card:hover { transform:translateY(-2px);border-color:#b8cee9;box-shadow:0 14px 35px rgba(15,48,102,.09); }.source-card > span { grid-row:1/3;display:grid;place-items:center;width:2.8rem;height:2.8rem;color:var(--blue);background:white;border-radius:50%;font-size:1.25rem; }.source-card small { color:var(--ink-soft);font-size:.76rem;line-height:1.45; }
.camera-message { min-height:1.2rem;margin:1rem 0 0;color:var(--danger);font-size:.82rem; }.camera-frame { overflow:hidden;aspect-ratio:4/3;background:#071326;border-radius:var(--radius); }.camera-frame video { width:100%;height:100%;object-fit:cover;transform:scaleX(-1); }
.modal-actions { display:flex;justify-content:flex-end;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1.15rem; }.button-ghost-dark { color:var(--ink);background:white;border:1px solid var(--line); }.button-danger { color:white;background:var(--danger);border:1px solid var(--danger); }
.avatar-editor { display:grid;gap:1rem; }.crop-stage { position:relative;width:min(100%,24rem);aspect-ratio:1;margin-inline:auto;overflow:hidden;background:#09172d;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 18px 45px rgba(6,25,59,.2);touch-action:none;cursor:grab; }.crop-stage:active { cursor:grabbing; }.crop-stage canvas { width:100%;height:100%;display:block; }.crop-ring { position:absolute;inset:0;border:2px solid rgba(255,255,255,.88);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(7,19,39,.3);pointer-events:none; }
.drag-hint { margin:0;color:var(--ink-soft);text-align:center;font-size:.78rem; }.crop-controls { display:grid;gap:.8rem; }.crop-controls label { display:grid;grid-template-columns:5rem 1fr;align-items:center;gap:.8rem;color:var(--ink);font-size:.78rem;font-weight:720; }.crop-controls input[type="range"] { width:100%;accent-color:var(--blue); }.editor-actions > span { display:none; }.editor-actions [data-avatar-reset] { margin-right:auto; }.avatar-confirm { padding:1rem 0;text-align:center; }.confirm-icon { display:grid;place-items:center;width:3.4rem;height:3.4rem;margin:0 auto 1rem;color:var(--danger);background:#ffedf2;border-radius:50%;font-size:1.4rem;font-weight:850; }.avatar-confirm h3 { margin:0;font-size:1.35rem; }.avatar-confirm p { max-width:28rem;margin:.7rem auto 0;color:var(--ink-soft);line-height:1.6; }.avatar-confirm .modal-actions { justify-content:center; }
.profile-handle { display:block;margin:.55rem 0 0;color:var(--blue);font-weight:780; }.artist-profile-copy .profile-handle { color:#80baff; }.artist-card .profile-handle { margin:.2rem 0 .6rem;font-size:.82rem; }

@media (max-width: 36rem) {
    .avatar-setting { align-items:flex-start;flex-wrap:wrap; }.avatar-button { flex:1 1 100%; }.avatar-remove { margin-left:6.25rem; }
    .editor-actions { justify-content:stretch; }.editor-actions .button { flex:1 1 auto; }.editor-actions [data-avatar-reset] { flex:1 1 100%;margin:0;text-align:left; }
}

.admin-page { width:min(92rem,calc(100% - 2.5rem)); }.search-form { display:flex;gap:.7rem;margin-bottom:1.5rem; }.search-form label { flex:1; }.table-wrap { overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 40px rgba(15,48,102,.06); }.table-wrap table { width:100%;min-width:64rem;border-collapse:collapse;background:white; }.table-wrap th,.table-wrap td { padding:1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line); }.table-wrap th { color:var(--ink-soft);background:var(--surface-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em; }.table-wrap td small { display:block;margin-top:.35rem;color:var(--ink-soft); }.status { display:inline-flex;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:780; }.status-active { color:var(--success);background:#e6f7f0; }.status-blocked,.status-disabled { color:var(--danger);background:#ffedf2; }.status-form { display:flex;align-items:center;gap:.35rem;margin-top:.55rem; }.status-form select { max-width:7rem;padding:.25rem;border:1px solid var(--line);border-radius:.45rem;background:white;font-size:.7rem; }.status-form button { padding:0;border:0;color:var(--blue);background:none;font-size:.7rem;cursor:pointer; }.role-tags { display:flex;flex-wrap:wrap;gap:.3rem; }.role-tags span { padding:.3rem .5rem;color:#3e4b60;background:#edf2f8;border-radius:.45rem;font-size:.7rem; }.role-actions { display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem; }.role-actions button,.text-button { padding:0;border:0;color:var(--blue);background:none;font-size:.72rem;cursor:pointer; }.impersonation-banner { position:relative;z-index:25;display:flex;justify-content:center;align-items:center;gap:1rem;padding:.65rem 1rem;color:white;background:#25145c;font-size:.8rem; }.impersonation-banner form { margin:0; }.impersonation-banner button { color:white;background:none;border:0;text-decoration:underline;cursor:pointer; }
.admin-account-grid{display:grid;gap:1rem}.admin-account-card{display:grid;gap:1.1rem;padding:clamp(1.1rem,3vw,1.5rem);background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 40px rgba(15,48,102,.06)}.admin-account-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.admin-account-title{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.admin-account-title h2{margin:0;font-size:1.2rem}.admin-account-header p{margin:.25rem 0 0;color:var(--ink-soft);font-size:.82rem;overflow-wrap:anywhere}.test-account-badge{padding:.25rem .5rem;color:#704600;background:#fff2c9;border-radius:999px;font-size:.65rem;font-weight:820;text-transform:uppercase;letter-spacing:.05em}.admin-account-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0}.admin-account-meta div{padding:.7rem;background:var(--surface-soft);border-radius:.7rem}.admin-account-meta dt{color:var(--ink-soft);font-size:.65rem;font-weight:780;text-transform:uppercase;letter-spacing:.06em}.admin-account-meta dd{margin:.2rem 0 0;font-size:.78rem;font-weight:700}.admin-card-section{padding-top:1rem;border-top:1px solid var(--line)}.admin-card-section h3{margin:0 0 .7rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.profile-presence-grid{display:grid;gap:.55rem}.profile-presence-grid>div{display:grid;grid-template-columns:minmax(5rem,.65fr) minmax(5.5rem,.55fr) minmax(8rem,1fr);gap:.5rem;align-items:center;padding:.65rem .75rem;background:var(--surface-soft);border-radius:.7rem;font-size:.75rem}.profile-presence-grid span,.profile-presence-grid small{color:var(--ink-soft)}.profile-presence-grid .presence-ok{color:var(--success);font-weight:750}.profile-presence-grid .presence-needed{color:#9a6200;font-weight:750}.admin-account-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;padding-top:1rem;border-top:1px solid var(--line)}.admin-account-actions .status-form{margin:0}.setup-needed-card{border-color:#f0c66a;background:#fffdf6}.artist-setup-page{padding-block:3rem}.artist-setup-page>.profile-form{margin-top:1.5rem}
.fan-profile { min-height:70vh;display:grid;align-items:center; }.fan-profile-card { position:relative;overflow:hidden;display:grid;gap:2rem;padding:clamp(2rem,6vw,5rem);background:linear-gradient(145deg,#f5f9ff,#fff);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow); }.fan-profile-card::after { content:"";position:absolute;width:18rem;height:18rem;right:-7rem;top:-8rem;border-radius:50%;background:#b6d4ff;filter:blur(45px);opacity:.55; }.fan-profile-card > * { position:relative;z-index:1; }.fan-profile-card h1 { margin:0;font-size:clamp(2.5rem,7vw,5rem);letter-spacing:-.06em; }.fan-profile-card p:not(.eyebrow) { max-width:42rem;color:var(--ink-soft);line-height:1.7; }

.flash-wrap { position:fixed;z-index:var(--layer-toast);top:5.7rem;left:50%;width:min(34rem,calc(100% - 2rem));transform:translateX(-50%); }.flash { padding:.9rem 1rem;border-radius:.85rem;box-shadow:0 14px 40px rgba(7,30,73,.22);font-size:.9rem; }.flash-success { color:#075d42;background:#e5f8f0;border:1px solid #a9e4cf; }.flash-error { color:#8f1937;background:#fff0f4;border:1px solid #f5b8c8; }
.error-page { min-height:65vh;display:grid;place-items:center;align-content:center;gap:1rem;padding:3rem 1.25rem;text-align:center;background:radial-gradient(circle at 50% 35%,#e9f2ff,transparent 38%); }.error-page > span { color:var(--blue);font-size:clamp(5rem,20vw,11rem);font-weight:900;line-height:.8;letter-spacing:-.08em;opacity:.18; }.error-page h1 { margin:0;font-size:clamp(2rem,6vw,4rem);letter-spacing:-.05em; }.error-page p { color:var(--ink-soft); }
.site-footer { display:flex;flex-direction:column;gap:2rem;padding:3rem max(1.25rem,calc((100% - var(--max))/2));color:#aab7c9;background:#071326; }.brand-footer { color:white; }.site-footer p { margin:.7rem 0 0;font-size:.84rem; }

@media (min-width: 44rem) {
    .card-grid,.placeholder-grid,.choice-grid,.dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .artist-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .field-grid { grid-template-columns:1fr 1fr; }
    .profile-fields { padding:2rem; }.profile-fields-reveal.is-visible > .profile-fields { padding-block:2rem; }.setup-actions { flex-direction:row;justify-content:flex-end; }.dashboard-hero { flex-direction:row;align-items:flex-end;justify-content:space-between; }.dashboard-hero > div { max-width:48rem; }.post-composer { grid-template-columns:.7fr 1.3fr; }.site-footer { flex-direction:row;justify-content:space-between;align-items:flex-end; }
    .artist-profile-hero { padding-inline:max(2rem,calc((100% - var(--max))/2));flex-direction:row;align-items:flex-end; }.artist-avatar-large { width:11rem;height:11rem; }
    .fan-profile-card { grid-template-columns:auto 1fr;align-items:center; }
    .avatar-modal { align-items:center;padding:2rem; }.avatar-dialog { width:min(43rem,100%);max-height:calc(100vh - 4rem);padding:2rem;border-radius:var(--radius-lg); }.avatar-source-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.source-card { grid-template-columns:1fr;justify-items:start;align-content:start;min-height:10rem; }.source-card > span { grid-row:auto; }.crop-controls { grid-template-columns:1fr 1fr; }
}

@media (max-width: 63.999rem) {
    .menu-open .site-header { position: fixed; color: var(--ink); }
    .menu-open .site-header::before { background: var(--surface); backdrop-filter: none; }
}

@media (min-width: 64rem) {
    body.menu-open { overflow: auto; }
    .site-header { height:5.5rem;padding-inline:max(2rem,calc((100% - 88rem)/2)); }
    .main-content { padding-top:5.5rem; }.menu-toggle { display:none; }.site-navigation, .site-navigation.is-open { display:flex;position:static;inset:auto;padding:0;overflow:visible;flex:1;align-items:center;justify-content:space-between;color:inherit;background:none; }.nav-primary,.nav-actions { flex-direction:row;align-items:center;padding:0;border:0; }.nav-primary { margin-left:clamp(2rem,6vw,6rem);gap:clamp(.6rem,2vw,1.7rem); }.nav-actions { gap:.6rem; }.nav-primary > a,.nav-text-link { padding:.7rem .5rem;font-size:.88rem; }.language-menu { order:0; }.language-popover { position:absolute;right:0;top:calc(100% + .65rem);min-width:10rem; }.hero-page .nav-primary > a:hover,.hero-page .nav-text-link:hover { color:#79b5ff; }.hero-page .button-ghost { color:white;background:rgba(255,255,255,.1); }.hero { align-items:center;padding:8rem max(2rem,calc((100% - 88rem)/2)) 4rem; }.hero-media img { object-position:center; }.hero-shade { background:linear-gradient(90deg,rgba(3,13,29,.96) 0%,rgba(3,13,29,.8) 32%,rgba(3,13,29,.22) 64%,rgba(3,13,29,.05) 100%); }.hero-description { font-size:1.1rem; }.hero-sound { right:4rem;bottom:3rem; }.artist-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.profile-sections { grid-template-columns:1.25fr .75fr; }.profile-sections .placeholder-grid { grid-column:1/-1; }.auth-shell { grid-template-columns:minmax(24rem,.9fr) minmax(32rem,1.1fr); }.auth-art { min-height:calc(100vh - 5.5rem);padding:4rem; }.auth-panel { padding:4rem; }.dashboard-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.choice-card { padding:1.8rem; }
}

@media (min-width: 82rem) { .artist-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.hero-content { width:46rem; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; } }

/* Phase 0.2 — events and free ticketing */
.button-wide{width:100%;justify-content:center}.field-wide{grid-column:1/-1}.event-list-heading,.ticket-account-heading{background:linear-gradient(145deg,#071326,#0b3270);color:white}.event-list-heading p,.ticket-account-heading p{color:#c7d6ea}.event-catalog{padding-block:clamp(2rem,6vw,5rem)}.event-grid-live{display:grid;gap:1rem}.event-card-live{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;padding:1.35rem;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.event-date{display:grid;align-content:start;justify-items:center;width:3.8rem;padding:.75rem .4rem;color:var(--blue);background:var(--blue-soft);border-radius:1rem}.event-date strong{font-size:1.75rem;line-height:1}.event-date span{font-size:.72rem;font-weight:850;text-transform:uppercase}.event-card-copy h2{margin:.2rem 0;font-size:1.35rem}.event-card-copy h2 a{color:inherit}.event-card-copy p{margin:.15rem 0;color:var(--ink-soft)}.event-lineup{font-size:.78rem}.event-card-meta{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1rem}.event-card-meta .button{margin-left:auto}.ticket-price{font-weight:850}.ticket-price.is-free{color:var(--success)}.event-card-meta small{color:var(--ink-soft)}.event-empty{padding:4rem;text-align:center;border-radius:var(--radius)}
.event-detail-hero{padding:clamp(4rem,10vw,8rem) 0;background:radial-gradient(circle at 85% 10%,#195ec7 0,transparent 38%),linear-gradient(145deg,#061225,#0a2c64);color:white}.event-detail-hero h1{max-width:56rem;margin:.5rem 0;font-size:clamp(2.7rem,8vw,6rem);line-height:.95;letter-spacing:-.06em}.event-detail-lead{font-size:clamp(1rem,2vw,1.25rem);color:#d2ddef}.organizer-byline{display:inline-block;margin-top:1rem;color:#80baff;font-weight:750}.event-detail-grid{display:grid;gap:1.25rem;padding-block:2rem}.event-detail-main{display:grid;gap:1.25rem}.detail-panel,.ticket-panel{padding:clamp(1.25rem,4vw,2rem);background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.detail-panel h2{margin-top:0}.event-facts{display:grid;gap:1rem;margin:0}.event-facts div{padding-bottom:1rem;border-bottom:1px solid var(--line)}.event-facts dt{color:var(--ink-soft);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.event-facts dd{margin:.35rem 0 0;font-weight:750;line-height:1.5}.event-facts dd span,.prose{color:var(--ink-soft);font-weight:500;line-height:1.75}.lineup-list{display:flex;flex-wrap:wrap;gap:.7rem}.lineup-list>a,.lineup-list>span{padding:.65rem .85rem;color:var(--ink);background:var(--surface-soft);border-radius:999px;font-weight:750}.lineup-list a span{color:var(--blue)}.ticket-panel{align-self:start}.ticket-type-list{display:grid;gap:.75rem;margin:1rem 0}.ticket-type-list article{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:1rem;background:var(--surface-soft);border-radius:var(--radius-sm)}.ticket-type-list h3,.ticket-type-list p{margin:0}.ticket-type-list p,.ticket-type-list small{color:var(--ink-soft);font-size:.78rem}.ticket-type-list small{grid-column:1/-1}.sale-soon{padding:1rem;color:var(--ink-soft);background:var(--surface-soft);border-radius:.8rem}
.checkout-shell{display:grid;gap:2rem;max-width:68rem;padding-block:clamp(3rem,8vw,6rem)}.checkout-heading h1{margin:.3rem 0;font-size:clamp(2.4rem,7vw,4.8rem);letter-spacing:-.055em}.checkout-heading>p:last-child{color:var(--ink-soft)}.checkout-card{padding:clamp(1.1rem,4vw,2rem);background:white;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.checkout-types{display:grid;gap:.75rem}.checkout-type{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;align-items:center;padding:1rem;background:var(--surface-soft);border:1px solid transparent;border-radius:var(--radius-sm)}.checkout-type>span{display:grid;gap:.25rem}.checkout-type small{color:var(--ink-soft)}.checkout-type select{grid-column:1/-1;width:100%;padding:.75rem;background:white;border:1px solid var(--line);border-radius:.7rem}.checkout-type.is-disabled{opacity:.7}.checkout-summary{display:flex;justify-content:space-between;margin-top:1.25rem;padding:1.2rem 0;border-block:1px solid var(--line);font-size:1.15rem}.checkout-note{color:var(--ink-soft);font-size:.82rem;line-height:1.5}.checkout-complete{max-width:48rem;padding-block:clamp(4rem,10vw,8rem);text-align:center}.checkout-complete h1{margin:.5rem 0;font-size:clamp(2.5rem,8vw,5rem);letter-spacing:-.06em}.checkout-complete>p:not(.eyebrow){color:var(--ink-soft);line-height:1.7}.success-orb{display:grid;place-items:center;width:4.5rem;height:4.5rem;margin:0 auto 1.5rem;color:white;background:var(--success);border-radius:50%;font-size:2rem;box-shadow:0 15px 40px rgba(0,143,100,.25)}.order-reference{display:inline-block;margin:1rem;padding:.45rem .7rem;background:var(--surface-soft);border-radius:.5rem;font-family:monospace}.issued-ticket-list{display:grid;gap:.65rem;margin:1.5rem 0;text-align:left}.issued-ticket-list a{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:1rem;color:inherit;background:white;border:1px solid var(--line);border-radius:var(--radius-sm)}.issued-ticket-list strong{font-size:.8rem}
.ticket-groups{display:grid;gap:2.5rem;padding-block:2.5rem}.ticket-groups .section-row>span{display:grid;place-items:center;min-width:2rem;height:2rem;background:var(--surface-soft);border-radius:50%;font-size:.8rem}.account-ticket-list{display:grid;gap:.75rem}.account-ticket-list>a{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;padding:1.1rem;color:inherit;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(15,48,102,.05)}.account-ticket-list time{grid-column:1/-1;color:var(--blue);font-size:.75rem;font-weight:800}.account-ticket-list h3,.account-ticket-list p{margin:0}.account-ticket-list p{margin-top:.3rem;color:var(--ink-soft);font-size:.8rem}.account-ticket-list>b{display:none}.ticket-status{align-self:start;padding:.35rem .55rem;border-radius:999px;font-size:.68rem;font-weight:850}.status-valid{color:#087451;background:#e6f8f1}.status-checked_in{color:#704b00;background:#fff3cf}.status-cancelled,.status-refunded{color:#981c3b;background:#ffedf2}.ticket-view-page{min-height:calc(100vh - 5.5rem);padding:1rem;background:radial-gradient(circle at 50% 0,#1c5fc2,#071326 54%);display:grid;place-items:center}.digital-ticket{width:min(31rem,100%);padding:1rem;background:white;border-radius:1.6rem;box-shadow:0 30px 80px rgba(0,0,0,.3)}.digital-ticket>header{display:flex;justify-content:space-between;align-items:center;padding:.4rem}.digital-ticket>header a{color:var(--ink-soft);font-size:.8rem}.digital-ticket-event{margin-top:.6rem;padding:1.5rem;color:white;background:linear-gradient(145deg,#082654,#0c5bc9);border-radius:1.2rem}.digital-ticket-event h1{margin:.3rem 0;font-size:clamp(2rem,8vw,3.4rem);letter-spacing:-.055em}.digital-ticket-event p{margin:.35rem 0}.digital-ticket-qr{display:grid;justify-items:center;padding:1.5rem 0}.qr-frame{width:min(72vw,18rem);aspect-ratio:1;padding:.4rem;background:white}.qr-frame svg{display:block;width:100%;height:100%}.digital-ticket-qr p{margin:.5rem 0;color:var(--ink-soft);font-size:.76rem}.digital-ticket dl{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0 0 1rem}.digital-ticket dl div{padding:.75rem;background:var(--surface-soft);border-radius:.7rem}.digital-ticket dt{color:var(--ink-soft);font-size:.65rem;text-transform:uppercase}.digital-ticket dd{margin:.25rem 0 0;font-size:.8rem;font-weight:800;overflow-wrap:anywhere}.manual-ticket-code{margin:0 0 1rem;color:var(--ink-soft);font-size:.72rem}.manual-ticket-code code{display:block;margin-top:.6rem;padding:.7rem;overflow-wrap:anywhere;background:var(--surface-soft);border-radius:.6rem}.digital-ticket:fullscreen,.digital-ticket.is-fullscreen{width:100%;height:100%;max-width:none;border-radius:0;overflow:auto}.digital-ticket:fullscreen .qr-frame,.digital-ticket.is-fullscreen .qr-frame{width:min(65vh,90vw)}
.organizer-actions,.publish-actions,.card-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.organizer-event-list,.organizer-stats{padding-block:2.5rem}.organizer-event-cards{display:grid;gap:1rem}.organizer-event-cards article{padding:1.25rem;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.organizer-event-cards h3{margin:.6rem 0 .2rem;font-size:1.35rem}.organizer-event-cards p{margin:0;color:var(--ink-soft)}.organizer-event-cards dl{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0}.organizer-event-cards dl div{padding:.7rem;background:var(--surface-soft);border-radius:.7rem}.organizer-event-cards dt{color:var(--ink-soft);font-size:.68rem}.organizer-event-cards dd{margin:.2rem 0 0;font-size:1.2rem;font-weight:850}.card-actions{padding-top:1rem;border-top:1px solid var(--line)}.card-actions a{color:var(--blue);font-size:.78rem;font-weight:750}.status-draft{color:#475569;background:#edf2f8}.status-scheduled{color:#087451;background:#e6f8f1}.status-completed{color:#3d4c60;background:#e7edf4}
.event-editor-page{padding-block:2.5rem}.event-editor-heading,.stats-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem}.event-editor-heading h1,.stats-heading h1{margin:.25rem 0;font-size:clamp(2.3rem,6vw,4rem);letter-spacing:-.05em}.event-editor-heading>a{color:var(--blue);font-weight:750}.event-editor{display:grid;gap:1rem}.editor-section{padding:clamp(1.1rem,4vw,2rem);background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 35px rgba(15,48,102,.05)}.editor-section-title{display:flex;gap:1rem;margin-bottom:1.35rem}.editor-section-title>span{display:grid;place-items:center;width:2.2rem;height:2.2rem;flex:0 0 auto;color:var(--blue);background:var(--blue-soft);border-radius:50%;font-size:.72rem;font-weight:850}.editor-section-title h2,.editor-section-title p{margin:0}.editor-section-title p{margin-top:.25rem;color:var(--ink-soft);font-size:.8rem}.event-editor label,.manual-scan label{display:grid;gap:.4rem;color:var(--ink);font-size:.78rem;font-weight:720}.event-editor input,.event-editor select,.event-editor textarea,.manual-scan input{width:100%;padding:.85rem 1rem;color:var(--ink);background:white;border:1px solid #cfdbea;border-radius:.8rem;font:inherit}.event-editor textarea{resize:vertical}.venue-fields{margin-top:1rem}.repeat-list,.ticket-editor-list{display:grid;gap:.75rem;margin-bottom:1rem}.repeat-row,.ticket-editor-row{position:relative;display:grid;gap:.7rem;padding:1rem;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm)}.drag-handle{color:var(--ink-soft)}.repeat-actions{display:flex;justify-content:flex-end;gap:.35rem}.repeat-actions button{display:grid;place-items:center;width:2rem;height:2rem;color:var(--ink);background:white;border:1px solid var(--line);border-radius:.55rem;cursor:pointer}.publish-section{display:flex;flex-direction:column;gap:1.25rem}.publish-section>div:first-child{flex:1}.publish-section p{color:var(--ink-soft);font-size:.78rem}.organizer-setup{padding-block:3rem}
.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stat-grid article{padding:1rem;background:linear-gradient(145deg,#f8fbff,#edf4ff);border:1px solid var(--line);border-radius:var(--radius-sm)}.stat-grid span{display:block;color:var(--ink-soft);font-size:.7rem}.stat-grid strong{display:block;margin-top:.25rem;font-size:1.9rem}.stats-section{margin-top:2rem}.stats-section .table-wrap table{min-width:42rem}
.scanner-page{min-height:calc(100vh - 5.5rem);padding:1rem;background:#061225;color:white}.scanner-page>header{display:grid;gap:.7rem;max-width:48rem;margin:auto;padding:1rem 0}.scanner-page>header>a{color:#8bbdff;font-size:.8rem}.scanner-page>header h1,.scanner-page>header span{margin:0}.scanner-page>header div>span{color:#8bbdff;font-size:.72rem;text-transform:uppercase}.connection-state{justify-self:start;padding:.3rem .55rem;color:#6ee7b7;background:#073f32;border-radius:999px;font-size:.7rem}.connection-state.is-offline{color:#fecaca;background:#65182b}.scanner-stage{position:relative;max-width:36rem;aspect-ratio:3/4;margin:1rem auto;overflow:hidden;display:grid;place-items:center;background:#0b1b32;border:1px solid #203a5e;border-radius:1.5rem}.scanner-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scanner-stage>[data-start-camera],.scanner-stage>[data-camera-message]{position:relative;z-index:2}.scanner-stage>[data-camera-message]{align-self:end;max-width:85%;padding:.6rem;color:#c7d6ea;text-align:center;background:rgba(3,13,29,.75);border-radius:.7rem;font-size:.75rem}.scanner-reticle{position:absolute;z-index:1;width:70%;aspect-ratio:1}.scanner-reticle i{position:absolute;width:2.5rem;height:2.5rem;border-color:white;border-style:solid}.scanner-reticle i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px}.scanner-reticle i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0}.scanner-reticle i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px}.scanner-reticle i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0}.scan-result{max-width:36rem;margin:1rem auto;padding:1.5rem;color:var(--ink);text-align:center;background:white;border-radius:1.5rem}.scan-result>span{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:auto;border-radius:50%;font-size:1.8rem;font-weight:900}.scan-result.is-valid>span{color:white;background:var(--success)}.scan-result.is-warning>span{color:#593d00;background:#ffd565}.scan-result.is-invalid>span{color:white;background:var(--danger)}.scan-result h2{margin:.8rem 0 .35rem}.scan-result p{color:var(--ink-soft)}.manual-scan{display:grid;gap:.7rem;max-width:36rem;margin:1rem auto;padding:1rem;background:#0b1b32;border-radius:1rem}.manual-scan input{color:white;background:#071326;border-color:#314967}
@media(min-width:44rem){.event-card-live{grid-template-columns:auto 1fr auto;align-items:center}.event-card-meta{grid-column:auto;display:grid;justify-items:end;padding:0 0 0 1rem;border:0;border-left:1px solid var(--line)}.checkout-type{grid-template-columns:1fr auto 7rem}.checkout-type select{grid-column:auto}.account-ticket-list>a{grid-template-columns:10rem 1fr auto auto;align-items:center}.account-ticket-list time{grid-column:auto}.account-ticket-list>b{display:block}.publish-section{flex-direction:row;justify-content:space-between;align-items:end}.stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.scanner-page>header{grid-template-columns:1fr auto;align-items:end}.scanner-page>header>a{grid-column:1/-1}.connection-state{justify-self:end}}

.registration-intent{margin:0;padding:0;border:0}.registration-intent legend{margin-bottom:.75rem;font-weight:800}.activation-note,.ticket-limit-note{padding:1rem;border:1px solid #b9d5fb;border-radius:.8rem;background:#eef6ff;color:#17345d}.activation-note p{margin:.3rem 0 0}.organizer-picker{display:grid;gap:.75rem;margin-top:1rem;padding:1rem;border-radius:1rem;background:var(--surface-soft)}.organizer-picker>small{color:var(--ink-soft)}.immutable-slug{display:grid;align-content:start;gap:.35rem}.immutable-slug>span{font-size:.78rem;font-weight:800}.immutable-slug code{overflow-wrap:anywhere}.immutable-slug small{color:var(--ink-soft)}.optional-fields{margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem}.optional-fields summary{cursor:pointer;font-weight:800}.optional-fields .field-grid{margin-top:1rem}.venue-autocomplete{position:relative;margin-bottom:1rem}.venue-suggestions{position:absolute;z-index:5;top:4.6rem;left:0;right:0;display:grid;max-height:20rem;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:.9rem;box-shadow:0 20px 45px rgba(7,31,71,.16)}.venue-suggestions:empty{display:none}.venue-suggestion{display:grid;grid-template-columns:1fr auto;gap:.2rem .75rem;padding:.8rem 1rem;text-align:left;color:var(--ink);background:#fff;border:0;border-bottom:1px solid var(--line);cursor:pointer}.venue-suggestion:hover,.venue-suggestion:focus{background:#eef6ff}.venue-suggestion small{grid-column:1;color:var(--ink-soft)}.venue-suggestion span{grid-column:2;grid-row:1/3;align-self:center;color:var(--blue);font-size:.68rem;font-weight:850}.venue-autocomplete>[data-google-attribution]{display:block;margin:.4rem 0;color:var(--ink-soft)}.venue-autocomplete>[data-google-attribution][hidden]{display:none}.inventory-field{display:grid;gap:.35rem;max-width:28rem;margin:1rem 0}.inventory-field small{color:var(--ink-soft)}.ticket-limit-note{margin-bottom:1rem}
.welcome-paths{display:grid;gap:1rem;margin-top:1.5rem}.welcome-path{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.25rem 1rem;align-items:center;width:100%;padding:1.25rem;text-align:left;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.welcome-path:hover,.welcome-path:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px rgba(17,103,239,.1)}.welcome-path>span{grid-row:1/3;display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:1.2rem}.welcome-path strong{font-size:1.05rem}.welcome-path small{color:var(--ink-soft);line-height:1.5}.welcome-path-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.welcome-path-primary>span{background:#ffffff24;color:#fff}.welcome-path-primary small{color:#eaf2ff}.welcome-privacy-note{text-align:center;color:var(--ink-soft);font-size:.85rem}.profile-privacy-callout{padding:1.2rem;border:1px solid #cbdcf4;border-radius:1rem;background:#f5f9ff}.profile-privacy-callout h2{margin:0 0 .35rem;font-size:1.05rem}.profile-privacy-callout p{margin:0 0 .8rem;color:var(--ink-soft)}
@media(min-width:44rem){.welcome-paths{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-path{grid-template-columns:1fr;align-content:start}.welcome-path>span{grid-row:auto}.welcome-path strong{margin-top:.5rem}}

.ticket-view-page{display:block;place-items:unset;padding:1rem 0 1.5rem;overflow:hidden}.ticket-wallet-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;width:min(70rem,calc(100% - 2rem));margin:0 auto 1rem;color:#fff;font-size:.78rem}.ticket-wallet-header a{color:#fff}.ticket-wallet-header a:last-child{text-align:right}.ticket-deck{display:flex;gap:1rem;width:min(70rem,100%);margin:auto;padding:0 max(1rem,calc((100% - 31rem)/2));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.ticket-deck::-webkit-scrollbar{display:none}.ticket-deck .digital-ticket{flex:0 0 min(31rem,calc(100vw - 2rem));scroll-snap-align:center}.ticket-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.ticket-card-actions .button{width:100%;text-align:center}.ticket-wallet-nav{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem}.ticket-wallet-nav>button{display:grid;place-items:center;width:2.75rem;height:2.75rem;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:50%;cursor:pointer}.ticket-wallet-nav>button:disabled{opacity:.35}.ticket-dots{display:flex;gap:.45rem}.ticket-dots button{width:.55rem;height:.55rem;padding:0;background:rgba(255,255,255,.35);border:0;border-radius:50%}.ticket-dots button.is-active{width:1.4rem;background:#fff;border-radius:999px}

.print-layout{margin:0;color:#071326;background:#edf1f7;font-family:Arial,sans-serif}.print-ticket-page{min-height:100vh;padding:2rem}.print-actions{display:flex;justify-content:space-between;align-items:center;width:min(190mm,100%);margin:0 auto 1rem}.print-ticket{width:min(190mm,100%);margin:auto;background:#fff;border:1px solid #cdd8e8;border-radius:4mm;box-shadow:0 12mm 25mm rgba(12,35,70,.12);overflow:hidden}.print-ticket>header{display:flex;align-items:center;gap:3mm;padding:6mm 8mm;color:#fff;background:#071326}.print-ticket>header img{width:9mm;height:9mm}.print-ticket>header strong{font-size:16pt}.print-ticket>header span{margin-left:auto}.print-ticket-main{display:grid;grid-template-columns:1fr 58mm;gap:9mm;padding:10mm}.print-ticket-main h1{margin:2mm 0 7mm;font-size:27pt;line-height:1.05}.print-ticket dl{display:grid;grid-template-columns:1fr 1fr;gap:5mm;margin:0}.print-ticket dt{font-size:8pt;text-transform:uppercase;color:#526781}.print-ticket dd{margin:1mm 0 0;font-size:11pt;font-weight:700}.print-ticket-code{display:grid;align-content:start;justify-items:center;gap:3mm}.print-ticket-code .qr-frame{width:55mm}.print-ticket-code code{font-size:9pt}.print-ticket>footer{padding:5mm 8mm;color:#435974;background:#f2f6fb;font-size:9pt}

@media(max-width:43.99rem){.registration-intent .choice-grid{grid-template-columns:1fr}.ticket-wallet-header{grid-template-columns:1fr auto}.ticket-wallet-header>a:last-child{grid-column:1/-1;text-align:center}.ticket-card-actions{grid-template-columns:1fr}.print-ticket-page{padding:.75rem}.print-ticket-main{grid-template-columns:1fr}.print-ticket dl{grid-template-columns:1fr}.print-actions{gap:1rem}}

@page{size:A4;margin:12mm}@media print{.print-layout{background:#fff}.print-ticket-page{min-height:0;padding:0}.print-actions{display:none}.print-ticket{width:100%;border:1px solid #8b9bb0;border-radius:0;box-shadow:none}.print-ticket-main{grid-template-columns:1fr 55mm}.print-ticket-code .qr-frame{width:52mm}}
@media(min-width:64rem){.event-grid-live{grid-template-columns:1fr}.event-detail-grid{grid-template-columns:minmax(0,1fr) 24rem;padding-block:4rem}.ticket-panel{position:sticky;top:7rem}.checkout-shell{grid-template-columns:.8fr 1.2fr;align-items:start}.organizer-event-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.repeat-row{grid-template-columns:auto 1fr 1fr auto;align-items:end}.ticket-editor-row>.repeat-actions{margin-top:.75rem}}

.billing-page{padding-block:3rem}.billing-form{display:grid;gap:1rem;margin-top:1.5rem}.billing-status{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;padding:1rem;border-radius:.8rem;background:#fff1bd;color:#684b00}.billing-status.status-self_declared,.billing-status.status-approved{background:#e6f8f1;color:#087451}.billing-status.status-review_required,.billing-status.status-blocked{background:#ffedf2;color:#981c3b}.privacy-note,.paid-ticket-gate p{color:var(--ink-soft);font-size:.78rem;line-height:1.55}.paid-ticket-gate{display:grid;gap:.55rem;margin:1rem 0;padding:1rem;background:#fff8e4;border:1px solid #edce72;border-radius:.85rem}.paid-ticket-gate.is-ready{background:#f0faf7;border-color:#a9decf}.paid-ticket-gate>a,.paid-ticket-gate p>a{color:var(--blue);font-weight:800}.ticket-live-calculation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.5rem}.ticket-live-calculation span{display:flex;justify-content:space-between;gap:.6rem;padding:.55rem .7rem;background:white;border-radius:.55rem}.ticket-live-calculation small{color:var(--ink-soft)}.ticket-live-calculation.is-invalid{outline:2px solid var(--danger);border-radius:.6rem}.finance-summary{margin:1rem 0;padding:1.25rem;background:#07162b;color:white;border-radius:var(--radius)}.finance-summary h2{margin-top:0}.finance-summary dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.7rem;margin:0}.finance-summary dl div{padding:.8rem;background:rgba(255,255,255,.08);border-radius:.7rem}.finance-summary dt{color:#9ab2d0;font-size:.68rem;text-transform:uppercase}.finance-summary dd{margin:.3rem 0 0;font-size:1.1rem;font-weight:850}.finance-summary p{color:#ffd88a;font-size:.76rem}

.scanner-page{position:relative;min-height:calc(100dvh - 5.5rem);padding:0;background:#020b18;color:white;overflow:hidden}.scanner-toolbar{position:absolute;z-index:5;inset:0 0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:max(.65rem,env(safe-area-inset-top)) max(.8rem,env(safe-area-inset-right)) .65rem max(.8rem,env(safe-area-inset-left));background:linear-gradient(#020b18,transparent)}.scanner-toolbar>a{display:grid;place-items:center;width:2.7rem;height:2.7rem;color:white;background:rgba(0,0,0,.35);border-radius:50%;font-size:1.4rem}.scanner-toolbar h1{max-width:55vw;margin:.1rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.scanner-toolbar div>span{color:#8bbdff;font-size:.65rem;text-transform:uppercase}.scanner-stage{position:absolute;inset:0;max-width:none;aspect-ratio:auto;margin:0;border:0;border-radius:0;background:#071326}.scanner-stage video{inset:0;width:100%;height:100%;object-fit:cover}.scanner-reticle{width:min(68vw,23rem);filter:drop-shadow(0 2px 6px #000)}.scanner-stage>[data-start-camera]{z-index:3}.scanner-stage>[data-camera-message]{position:absolute;z-index:3;left:50%;bottom:max(7rem,calc(env(safe-area-inset-bottom) + 6rem));transform:translateX(-50%);margin:0}.scan-result{position:absolute;z-index:4;inset:0;display:flex;max-width:none;margin:0;padding:max(6rem,calc(env(safe-area-inset-top) + 5rem)) 1.2rem max(2rem,env(safe-area-inset-bottom));flex-direction:column;align-items:center;justify-content:center;color:white;border-radius:0;background:rgba(2,11,24,.55);backdrop-filter:blur(2px)}.scan-result.state-idle{pointer-events:none;background:transparent;backdrop-filter:none}.scan-result.state-idle>*{display:none}.scan-result.state-processing{background:rgba(10,34,70,.93)}.scan-result.state-valid{background:rgba(0,126,86,.95)}.scan-result.state-already_used,.scan-result.state-refund_pending{background:rgba(157,103,0,.96)}.scan-result.state-invalid,.scan-result.state-wrong_event,.scan-result.state-cancelled,.scan-result.state-refunded,.scan-result.state-server_error{background:rgba(151,21,55,.96)}.scan-result.state-network_error{background:rgba(50,63,80,.97)}.scan-result>span{display:grid;width:clamp(5rem,24vw,8rem);height:clamp(5rem,24vw,8rem);place-items:center;color:inherit;background:rgba(255,255,255,.18);border:3px solid currentColor;border-radius:50%;font-size:clamp(3rem,14vw,5rem)}.scan-result h2{max-width:28rem;margin:1.3rem 0 .4rem;color:white;text-align:center;font-size:clamp(1.8rem,8vw,3.5rem);line-height:1}.scan-result p{color:rgba(255,255,255,.8);text-align:center}.scan-result .button{margin-top:1.25rem;color:white;border-color:rgba(255,255,255,.55)}.manual-scan-panel{position:absolute;z-index:6;right:max(.8rem,env(safe-area-inset-right));bottom:max(.8rem,env(safe-area-inset-bottom));left:max(.8rem,env(safe-area-inset-left));max-width:36rem;margin:auto;background:rgba(2,11,24,.88);border-radius:.8rem}.manual-scan-panel summary{padding:.8rem 1rem;cursor:pointer;text-align:center;font-size:.78rem;font-weight:800}.manual-scan{margin:0;padding:.75rem;background:transparent}.scanner-active .site-footer{display:none}

@media(max-width:43.99rem){body.scanner-active{height:100dvh;overflow:hidden}.scanner-active .site-header{display:none}.scanner-page{position:fixed;z-index:100;inset:0;width:100%;height:100dvh;min-height:0}.ticket-live-calculation{grid-template-columns:1fr}.connection-state{padding:.25rem .45rem}.scanner-toolbar{grid-template-columns:auto minmax(0,1fr) auto}}
@media(min-width:44rem){.scanner-page{min-height:50rem}.scanner-toolbar{padding:1rem 1.5rem}.manual-scan-panel{bottom:1.5rem}.scan-result{inset:0}.billing-form .publish-actions{justify-content:flex-end}}

/* Admin UX 0.2.2 — scalable user administration */
.admin-list-page,.admin-detail-page{padding-block:clamp(2.5rem,6vw,5rem)}.admin-filter-bar{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(4,minmax(7rem,1fr)) auto;gap:.7rem;align-items:end;margin:1.5rem 0;padding:1rem;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 35px rgba(15,48,102,.05)}.admin-filter-bar label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.admin-filter-bar input,.admin-filter-bar select{width:100%;min-height:2.7rem;padding:.65rem .75rem;color:var(--ink);background:white;border:1px solid #ccd8e8;border-radius:.7rem;font:inherit;font-size:.78rem;text-transform:none;letter-spacing:normal}.admin-filter-bar input:focus,.admin-filter-bar select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(17,103,239,.11)}.admin-filter-actions{display:flex;align-items:center;gap:.65rem}.admin-filter-actions .button{min-height:2.7rem}.admin-filter-actions a{color:var(--ink-soft);font-size:.75rem;font-weight:750}.admin-list-summary{display:flex;justify-content:space-between;align-items:center;margin:.8rem 0}.admin-list-summary p{margin:0;color:var(--ink-soft);font-size:.78rem}.admin-table-shell{overflow:hidden;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 45px rgba(15,48,102,.06)}.admin-user-table{width:100%;border-collapse:collapse}.admin-user-table th{padding:.7rem .65rem;color:#6f7d91;text-align:left;background:#f7f9fc;border-bottom:1px solid var(--line);font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.admin-user-table th a{color:inherit}.admin-user-table td{padding:.72rem .65rem;color:#28364b;border-bottom:1px solid #e7edf4;font-size:.73rem;vertical-align:middle}.admin-user-table tbody tr{cursor:pointer;transition:background .16s,box-shadow .16s}.admin-user-table tbody tr:hover,.admin-user-table tbody tr:focus-visible{background:#f6f9fe;box-shadow:inset 3px 0 var(--blue);outline:0}.admin-user-table tbody tr:last-child td{border-bottom:0}.admin-user-name{display:inline-block;max-width:13rem;font-weight:780}.admin-email{display:inline-block;max-width:15rem;overflow-wrap:anywhere}.admin-user-table .test-account-badge{display:inline-flex;margin:.25rem 0 0 .35rem;padding:.18rem .38rem;font-size:.56rem;vertical-align:middle}.admin-user-table .role-tags{min-width:7rem;gap:.2rem}.admin-user-table .role-tags span{padding:.22rem .38rem;font-size:.61rem}.admin-user-table .status{white-space:nowrap}.admin-open-link{color:var(--blue);font-size:.7rem;font-weight:800;white-space:nowrap}.admin-empty-row{cursor:default!important}.admin-empty-row td{padding:3rem;text-align:center;color:var(--ink-soft)}.admin-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:1.25rem}.admin-pagination>a:last-child{text-align:right}.admin-pagination>a,.admin-pagination div a{padding:.5rem .65rem;color:var(--blue);border-radius:.55rem;font-size:.75rem;font-weight:780}.admin-pagination a:hover{background:var(--blue-soft)}.admin-pagination a[aria-disabled=true]{color:#98a4b5;pointer-events:none}.admin-pagination div{display:flex;align-items:center;gap:.2rem}.admin-pagination a[aria-current=page]{color:white;background:var(--blue)}
.admin-back-link{display:inline-flex;margin-bottom:1.5rem;color:var(--blue);font-size:.78rem;font-weight:780}.admin-detail-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.5rem;padding:clamp(1.4rem,4vw,2.2rem);color:white;background:radial-gradient(circle at 85% 0,#1a60c9,transparent 35%),linear-gradient(145deg,#071326,#0b3270);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.admin-detail-heading h1{margin:.25rem 0;font-size:clamp(2rem,6vw,4rem);letter-spacing:-.05em}.admin-detail-heading>div>p:last-child{margin:0;color:#c7d6ea}.admin-detail-heading .test-account-badge{align-self:center}.admin-detail-grid{display:grid;gap:1rem}.admin-detail-card{padding:clamp(1.1rem,3vw,1.6rem);background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 35px rgba(15,48,102,.05)}.admin-detail-card-heading{display:flex;gap:.8rem;margin-bottom:1.1rem}.admin-detail-card-heading>span{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;color:var(--blue);background:var(--blue-soft);border-radius:50%;font-size:.65rem;font-weight:850}.admin-detail-card-heading h2,.admin-detail-card-heading p{margin:0}.admin-detail-card-heading h2{font-size:1.15rem}.admin-detail-card-heading p{margin-top:.25rem;color:var(--ink-soft);font-size:.75rem;line-height:1.5}.admin-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0}.admin-detail-list div{padding:.7rem;background:var(--surface-soft);border-radius:.7rem}.admin-detail-list dt{color:var(--ink-soft);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.admin-detail-list dd{margin:.2rem 0 0;font-size:.76rem;font-weight:750;overflow-wrap:anywhere}.admin-current-roles{margin-bottom:.7rem}.protected-role{display:flex;justify-content:space-between;gap:1rem;padding:.8rem;color:#46367c;background:#f0ecff;border-radius:.7rem;font-size:.76rem}.protected-role span{font-weight:750}.admin-permission-form{margin-top:1rem}.admin-permission-form .toggle-row{margin:.55rem 0}.admin-permission-form .button{margin-top:.7rem}.toggle-input:disabled{cursor:not-allowed}.toggle-row:has(.toggle-input:disabled){opacity:.58;cursor:not-allowed}.admin-protection-note{display:inline-block;margin:.8rem 0 0;padding:.65rem .8rem;color:#57467e;background:#f0ecff;border-radius:.7rem;font-size:.75rem;font-weight:720}.admin-profile-detail-grid{display:grid;gap:.65rem}.admin-profile-detail-grid article{padding:.9rem;background:var(--surface-soft);border:1px solid transparent;border-radius:.8rem}.admin-profile-detail-grid article:target{border-color:var(--blue);box-shadow:0 0 0 3px rgba(17,103,239,.1)}.admin-profile-detail-grid header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.admin-profile-detail-grid h3,.admin-profile-detail-grid p{margin:0}.admin-profile-detail-grid h3{font-size:.82rem}.admin-profile-detail-grid p{margin-top:.45rem;color:var(--ink-soft);font-size:.73rem}.admin-profile-detail-grid a{display:inline-block;margin-top:.55rem;color:var(--blue);font-size:.72rem;font-weight:760}.profile-presence{color:var(--ink-soft);font-size:.64rem;font-weight:800}.profile-presence.is-present{color:var(--success)}.admin-status-management{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem;background:var(--surface-soft);border-radius:.8rem}.admin-status-management>div{display:grid;gap:.2rem}.admin-status-management span{color:var(--ink-soft);font-size:.68rem}.admin-status-management strong{font-size:1.25rem}.admin-status-management p{margin:.2rem 0 0;color:var(--ink-soft);font-size:.72rem}.admin-impersonation-section form{margin-top:.5rem}
@media(max-width:75rem){.admin-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-search-field{grid-column:span 2}.admin-filter-actions{justify-content:flex-end}.admin-user-table .admin-created-column,.admin-user-table .admin-login-column{display:none}}
@media(min-width:64rem){.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-profiles-section,.admin-handles-section,.admin-status-section{grid-column:1/-1}.admin-profile-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:46rem){.admin-filter-bar{grid-template-columns:1fr}.admin-search-field{grid-column:auto}.admin-filter-actions{justify-content:flex-start}.admin-table-shell{overflow:visible;background:transparent;border:0;box-shadow:none}.admin-user-table,.admin-user-table tbody{display:block}.admin-user-table thead{display:none}.admin-user-table tr{display:block;margin-bottom:.75rem;padding:.45rem .8rem;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px rgba(15,48,102,.05)}.admin-user-table td,.admin-user-table .admin-created-column,.admin-user-table .admin-login-column{display:grid;grid-template-columns:7.2rem minmax(0,1fr);gap:.7rem;padding:.48rem 0;border-bottom:1px solid #edf1f6;font-size:.72rem}.admin-user-table td::before{content:attr(data-label);color:var(--ink-soft);font-size:.6rem;font-weight:820;text-transform:uppercase;letter-spacing:.05em}.admin-user-table td:last-child{border-bottom:0}.admin-user-table .role-tags{min-width:0}.admin-user-table .test-account-badge{margin-left:.25rem}.admin-empty-row{padding:0!important}.admin-empty-row td{display:block;padding:2rem;text-align:center}.admin-empty-row td::before{content:none}.admin-pagination{grid-template-columns:1fr 1fr}.admin-pagination div{grid-column:1/-1;grid-row:1;justify-content:center}.admin-detail-heading{align-items:flex-start;flex-direction:column}.admin-detail-list{grid-template-columns:1fr}.admin-status-management{align-items:flex-start;flex-direction:column}}

/* Phase 0.2.3 — profile and event media polish */
.section-media-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;width:100%;min-height:clamp(25rem,52vw,38rem);margin:0;overflow:hidden;color:white;background:#061225;border-radius:0;box-shadow:0 28px 75px rgba(4,18,43,.18)}
.section-media-picture,.section-media-shade,.profile-cover-media,.profile-cover-shade,.event-detail-media,.event-detail-shade{position:absolute;inset:0}.section-media-picture img,.profile-cover-media img,.event-detail-media img{width:100%;height:100%;object-fit:cover}.section-media-picture img{object-position:70% center}.section-media-shade{background:linear-gradient(180deg,rgba(2,9,22,.08),rgba(2,9,22,.18) 45%,rgba(2,9,22,.72)),linear-gradient(90deg,rgba(2,9,22,.96),rgba(2,9,22,.72) 52%,rgba(2,9,22,.12));z-index:1}
.section-media-content{position:relative;z-index:2;width:100%;padding-block:clamp(3rem,8vw,6rem);padding-inline:clamp(1.35rem,4vw,4.5rem)}.section-media-content .eyebrow{margin:0 0 1.2rem}.section-media-content h1{max-width:48rem;margin:0;font-size:clamp(3rem,9vw,6.8rem);line-height:.9;letter-spacing:-.07em;text-wrap:balance}.section-media-content>p:not(.eyebrow){max-width:39rem;margin:1.25rem 0 0;color:rgba(255,255,255,.78);font-size:clamp(1rem,2vw,1.18rem);line-height:1.7}.section-media-content .pill{display:inline-flex;margin-top:1.5rem;color:white;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px)}.section-catalog-body{padding-block:clamp(2.5rem,6vw,5rem)}
.section-brand-unit,.section-title-unit{display:block}.section-brand-unit{white-space:nowrap;max-width:100%}.section-media-content h1 .section-brand-unit{font-size:clamp(2.2rem,8.8vw,6.8rem)}@media(max-width:36rem){.section-media-content h1 .section-brand-unit{font-size:clamp(2rem,9vw,3.5rem)}}
.event-editor [data-external-fields][hidden],.event-editor [data-deposito-fields][hidden]{display:none!important}.event-locked-page{padding-block:2rem}.event-locked-page .editor-section{margin-top:1.25rem}.event-locked-page form{display:grid;gap:1rem;margin-top:1rem}.event-locked-page .field-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.event-locked-page textarea{width:100%}.social-own-profile{display:inline-flex;padding:.55rem .85rem;border-radius:999px;background:var(--surface-soft);color:var(--ink-soft);font-size:.78rem;font-weight:700}.ticket-status.status-confirmed{color:#087451;background:#e6f8f1}.ticket-status.status-pending{color:#704b00;background:#fff3cf}.ticket-status.status-refunded,.ticket-status.status-cancelled{color:#981c3b;background:#ffedf2}

.profile-polish-page,.organizer-profile-polish{padding-block:clamp(2.5rem,6vw,5rem)}.profile-edit-heading{margin-bottom:clamp(1.5rem,4vw,2.5rem)}.profile-form-polished{max-width:64rem;padding:0;overflow:visible;background:white;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.banner-setting{position:relative}.banner-setting-preview{position:relative;isolation:isolate;aspect-ratio:3/1;min-height:11rem;overflow:hidden;background:linear-gradient(125deg,#071326,#0d4b9f 62%,#5d4bd8);border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}.banner-setting-preview>img{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover}.banner-fallback{position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(111,181,255,.5),transparent 26%),linear-gradient(120deg,rgba(3,13,29,.1),rgba(3,13,29,.45));z-index:0}.banner-edit-button{position:absolute;z-index:2;right:1rem;top:1rem;display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;color:white;background:rgba(3,13,29,.72);border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:.72rem;font-weight:780;backdrop-filter:blur(12px);cursor:pointer}.banner-edit-button>span{color:#79b5ff;font-size:.65rem}.banner-edit-button:focus-visible{outline:3px solid rgba(121,181,255,.55);outline-offset:3px}.banner-setting-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:#f8fbff;border-bottom:1px solid var(--line)}.banner-setting-copy>div{display:grid;gap:.25rem}.banner-setting-copy small{color:var(--ink-soft);font-size:.76rem;line-height:1.45}.banner-remove{flex:0 0 auto;color:var(--danger)}
.profile-edit-identity{position:relative;z-index:3;display:grid;gap:1rem;margin-top:-1.25rem;padding:0 clamp(1.25rem,4vw,2rem)}.profile-edit-identity .avatar-setting{background:white;box-shadow:0 14px 38px rgba(5,28,68,.12)}.profile-edit-identity .avatar-preview{width:6.5rem;height:6.5rem;border:4px solid white;box-shadow:0 18px 38px rgba(5,28,68,.2)}.profile-edit-name{display:grid;align-content:center;gap:.2rem;padding-bottom:.5rem}.profile-edit-name>span{color:var(--blue);font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.profile-edit-name strong{font-size:clamp(1.35rem,4vw,2rem);letter-spacing:-.035em}.profile-edit-name small{color:var(--ink-soft)}.profile-fields-stack{display:grid;gap:1.2rem;padding:clamp(1.25rem,4vw,2rem)}.profile-fields-stack>label{display:grid;gap:.4rem;font-size:.78rem;font-weight:720}.profile-fields-stack input,.profile-fields-stack textarea{width:100%;padding:.85rem 1rem;color:var(--ink);background:white;border:1px solid #cfdbea;border-radius:.8rem;font:inherit}.profile-fields-stack textarea{resize:vertical}.profile-fields-stack .profile-save,.profile-fields-stack>.button{justify-self:start}
.banner-modal{position:fixed;z-index:var(--layer-crop-modal);inset:0;display:grid;align-items:end;justify-items:center}.banner-dialog{position:relative}.banner-source-card{width:100%}.banner-crop-editor{display:grid;gap:1rem}.banner-crop-stage{position:relative;width:100%;aspect-ratio:3/1;overflow:hidden;background:#061225;border-radius:var(--radius);touch-action:none;cursor:grab;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 18px 45px rgba(6,25,59,.18)}.banner-crop-stage:active{cursor:grabbing}.banner-crop-stage canvas{display:block;width:100%;height:100%}.banner-crop-ring{position:absolute;inset:0;border:2px solid rgba(255,255,255,.85);border-radius:inherit;pointer-events:none}.banner-controls{grid-template-columns:1fr!important}.banner-controls label{grid-template-columns:5rem 1fr}.banner-dialog [data-banner-reset]{margin-right:auto}

.artist-profile-hero,.public-profile-hero,.organizer-profile-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(27rem,52vw,36rem);overflow:hidden;color:white;background:radial-gradient(circle at 82% 18%,#175bbd,transparent 35%),linear-gradient(125deg,#061327,#09285b 58%,#113e92)}.profile-cover-media{z-index:-2}.profile-cover-media img{object-position:center}.profile-cover-shade{z-index:-1;background:linear-gradient(180deg,rgba(2,9,22,.1),rgba(2,9,22,.82)),linear-gradient(90deg,rgba(2,9,22,.82),rgba(2,9,22,.3) 65%,rgba(2,9,22,.12))}.artist-profile-inner,.public-profile-inner,.organizer-profile-inner{position:relative;z-index:2;display:grid;gap:1.4rem;width:100%;padding-block:clamp(3rem,7vw,5rem)}.artist-profile-copy h1,.public-profile-copy h1,.organizer-profile-inner h1{margin:.3rem 0;font-size:clamp(3rem,8vw,6.2rem);line-height:.9;letter-spacing:-.07em}.artist-profile-copy>p:not(.eyebrow),.public-profile-copy>p:not(.eyebrow),.organizer-profile-inner p:not(.eyebrow){max-width:42rem;color:rgba(255,255,255,.78);line-height:1.65}.artist-profile-copy .profile-handle,.public-profile-copy .profile-handle,.organizer-profile-inner .profile-handle{color:#8bc0ff}.public-profile-copy .pill{margin-top:.5rem;color:white;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}.organizer-profile-inner{align-items:end}.organizer-identity{display:grid;gap:1.3rem}.organizer-actions{position:relative;z-index:2}.organizer-actions .button-ghost{color:white;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}

.event-detail-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(22rem,42vw,30rem);padding:0;overflow:hidden;background:radial-gradient(circle at 85% 10%,#195ec7 0,transparent 38%),linear-gradient(145deg,#061225,#0a2c64)}.event-detail-media{z-index:-2}.event-detail-media img{object-position:center}.event-detail-shade{z-index:-1;background:linear-gradient(180deg,rgba(3,10,23,.1),rgba(3,10,23,.88)),linear-gradient(90deg,rgba(3,10,23,.87),rgba(3,10,23,.2))}.event-detail-hero-copy{width:min(var(--max),calc(100% - 2.5rem));margin-inline:auto;padding-block:clamp(2.8rem,7vw,4.8rem)}.event-detail-hero h1{max-width:54rem;margin:.5rem 0;font-size:clamp(2.7rem,7vw,5rem)}.event-detail-lead{max-width:48rem}.event-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.event-gallery-heading h2,.event-gallery-heading p{margin:0}.event-gallery-heading>span{display:grid;place-items:center;width:2.2rem;height:2.2rem;color:var(--blue);background:var(--blue-soft);border-radius:50%;font-size:.72rem;font-weight:850}.event-gallery-grid{display:grid;gap:.7rem}.event-gallery-grid a{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--surface-soft);border-radius:1rem}.event-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.event-gallery-grid a:hover img{transform:scale(1.035)}

.event-media-editor{display:grid;gap:1.4rem}.event-media-editor>.editor-section-title{margin-bottom:0}.event-media-editor .banner-setting{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.event-media-editor .banner-setting-preview{border-radius:0}.gallery-editor{display:grid;gap:1rem;padding-top:.2rem}.gallery-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.gallery-editor-heading h3,.gallery-editor-heading p{margin:0}.gallery-editor-heading p{margin-top:.3rem;color:var(--ink-soft);font-size:.78rem}.gallery-editor-heading>span{padding:.35rem .55rem;color:var(--blue);background:var(--blue-soft);border-radius:999px;font-size:.65rem;font-weight:800}.gallery-editor-list,.gallery-new-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.gallery-editor-item,.gallery-new-item{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--surface-soft);border:1px solid var(--line);border-radius:.85rem}.gallery-editor-item img,.gallery-new-item img{width:100%;height:100%;object-fit:cover}.gallery-editor-item .repeat-actions{position:absolute;right:.45rem;top:.45rem;padding:.25rem;background:rgba(3,13,29,.72);border-radius:.7rem;backdrop-filter:blur(8px)}.gallery-new-item button{position:absolute;right:.45rem;top:.45rem;display:grid;place-items:center;width:2rem;height:2rem;color:white;background:rgba(3,13,29,.78);border:1px solid rgba(255,255,255,.25);border-radius:50%;cursor:pointer}.gallery-upload{position:relative;display:grid!important;grid-template-columns:auto 1fr;gap:.15rem .8rem;align-items:center;padding:1rem!important;color:var(--ink)!important;background:#f5f9ff;border:1px dashed #a9bfdc;border-radius:var(--radius);cursor:pointer}.gallery-upload>span{grid-row:1/3;display:grid;place-items:center;width:2.5rem;height:2.5rem;color:var(--blue);background:white;border-radius:50%;font-size:1.2rem}.gallery-upload small{color:var(--ink-soft);font-weight:500}.gallery-upload input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}.gallery-upload:focus-within{outline:3px solid rgba(17,103,239,.2)}

@media(min-width:44rem){.section-media-picture img{object-position:center}.profile-edit-identity{grid-template-columns:minmax(20rem,.7fr) 1fr;align-items:end;margin-top:-2.8rem}.profile-edit-identity .avatar-setting{padding:1.2rem}.artist-profile-inner,.public-profile-inner{grid-template-columns:auto minmax(0,1fr);align-items:end}.organizer-identity{grid-template-columns:auto minmax(0,1fr);align-items:end}.event-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-editor-list,.gallery-new-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.banner-modal{align-items:center;padding:2rem}.banner-dialog{width:min(58rem,100%);max-height:calc(100vh - 4rem);padding:2rem;border-radius:var(--radius-lg)}}
@media(min-width:64rem){.section-media-hero{width:100%;margin-top:0}.artist-profile-inner,.public-profile-inner,.organizer-profile-inner{padding-block:4.5rem}.organizer-profile-inner{grid-template-columns:minmax(0,1fr) auto}.event-detail-hero-copy{padding-block:4rem}.event-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-editor-list,.gallery-new-preview{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:36rem){.section-media-content{padding-inline:1.35rem}.section-media-content h1{font-size:clamp(2.7rem,16vw,4.2rem)}.banner-setting-copy,.gallery-editor-heading{flex-direction:column}.profile-edit-identity .avatar-setting{margin-inline:-.25rem}.profile-edit-identity .avatar-remove{margin-left:0}.artist-profile-inner,.public-profile-inner,.organizer-profile-inner{padding-inline:1.35rem}.artist-profile-copy h1,.public-profile-copy h1,.organizer-profile-inner h1{font-size:clamp(2.8rem,15vw,4rem)}.event-detail-hero-copy{padding-inline:0}.event-detail-media img,.profile-cover-media img{object-position:65% center}}
.artist-profile-hero{padding:0!important;gap:0}

/* Phase 0.2.4 — artist-hosted events */
.event-host-context{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.3rem 1rem;align-items:center;margin:0 0 1.25rem;padding:1rem 1.2rem;color:#0b2a5c;background:linear-gradient(135deg,#edf5ff,#f8fbff);border:1px solid #cfe0f7;border-radius:1rem}.event-host-context>span{grid-row:1/3;display:grid;place-items:center;width:2.35rem;height:2.35rem;color:var(--blue);background:white;border-radius:50%;font-size:0}.event-host-context>span:before{content:'♪';font-size:1rem}.event-host-context strong{font-size:1rem}.event-host-context small{color:var(--ink-soft);font-weight:700}.self-lineup-toggle{margin-bottom:1.2rem}
.artist-event-hub{padding-block:clamp(2.5rem,6vw,5rem)}.artist-event-hub>header{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.5rem}.artist-event-hub>header h2{margin:.3rem 0;font-size:clamp(2rem,5vw,3.4rem)}.artist-event-hub>header p:not(.eyebrow){max-width:42rem;margin:0;color:var(--ink-soft)}.artist-event-groups{display:grid;gap:1.25rem}.artist-event-group{padding:clamp(1.1rem,3vw,1.6rem);background:white;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 18px 48px rgba(13,43,89,.07)}.artist-event-group .section-row{margin-bottom:.55rem}.artist-event-group .section-row h3{margin:0;font-size:1.35rem}.artist-event-group-intro{margin:.1rem 0 1.2rem;color:var(--ink-soft);font-size:.86rem}.artist-event-period{margin:1.2rem 0 .65rem;color:var(--ink-soft);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.artist-event-empty{padding:1rem;margin:0}.artist-dashboard-event-list{display:grid;gap:.65rem}.artist-dashboard-event-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;padding:.9rem;background:var(--surface-soft);border:1px solid rgba(83,98,122,.12);border-radius:1rem}.artist-event-date{display:grid;align-content:center;justify-items:center;width:3.2rem;min-height:3.2rem;color:var(--blue);background:white;border-radius:.75rem}.artist-event-date strong{font-size:1.15rem}.artist-event-date span{font-size:.62rem;font-weight:850;text-transform:uppercase}.artist-event-copy{min-width:0}.artist-event-copy .status{display:inline-flex;margin-bottom:.3rem}.artist-event-copy h4{margin:0;font-size:1rem}.artist-event-copy p,.artist-event-copy small{display:block;margin:.2rem 0 0;color:var(--ink-soft);font-size:.74rem}.artist-event-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.8rem;padding-top:.2rem}.artist-event-actions a{color:var(--blue);font-size:.72rem;font-weight:820}
@media(min-width:64rem){.artist-event-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.artist-dashboard-event-list article{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.artist-event-actions{grid-column:auto;display:grid;justify-items:end;gap:.35rem;padding:0}}
@media(max-width:36rem){.artist-event-hub>header{align-items:stretch;flex-direction:column}.artist-event-hub>header .button{width:100%}.event-host-context{grid-template-columns:auto minmax(0,1fr)}.event-host-context small{grid-column:2}.event-host-context>span{grid-row:1/3}}

/* Public handles and vanity URLs */
.button-compact{min-height:2.35rem;padding:.58rem .85rem;font-size:.74rem}.button-ghost-light{color:white;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28)}
.artist-card{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.artist-card:hover{transform:translateY(-3px);border-color:#b7d1f5;box-shadow:0 20px 50px rgba(14,45,97,.13)}.artist-card:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.artist-card:active{transform:translateY(-1px)}
.handle-editor{display:grid;gap:.8rem;padding:1rem;background:#f7faff;border:1px solid var(--line);border-radius:1rem}.handle-editor-heading,.handle-current-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.handle-editor-heading>div{display:grid;gap:.2rem}.handle-editor-heading small,.handle-change-hint,.handle-cooldown{margin:0;color:var(--ink-soft);font-size:.74rem;line-height:1.5}.handle-current-row{justify-content:flex-start;flex-wrap:wrap}.handle-current-row>a{color:var(--blue);font-weight:820;overflow-wrap:anywhere}.handle-input-label[hidden]{display:none}.handle-cooldown{padding:.7rem .8rem;color:#664b14;background:#fff5d9;border-radius:.7rem}.copy-feedback{min-width:3.5rem;color:var(--success);font-size:.72rem;font-weight:760}
/* Profile forms must shrink below the intrinsic width of their grid/flex children. */
.profile-form-polished { grid-template-columns: minmax(0, 1fr); }
.profile-form-polished :is(.profile-edit-identity, .profile-fields-stack, .profile-fields-stack > *, .avatar-setting-copy, .handle-editor-heading > div) { min-width: 0; }
.profile-form-polished .avatar-button { width: 100%; }
.profile-form-polished .banner-setting-preview { width: 100%; min-width: 0; }
.profile-form-polished .avatar-setting-copy { overflow-wrap: anywhere; }
.profile-form-polished .handle-editor-heading { flex-wrap: wrap; }
.profile-form-polished :is(input, textarea, button) { max-width: 100%; }
.vanity-dashboard{padding-top:0}.vanity-dashboard .section-heading{margin-bottom:1.5rem}.vanity-dashboard .section-heading h2{margin:.25rem 0;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.05em}.vanity-grid{display:grid;gap:1rem}.vanity-card{display:grid;align-content:start;gap:.7rem;padding:1.25rem;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 40px rgba(14,45,97,.06)}.vanity-card.is-private{background:var(--surface-soft)}.vanity-card h3,.vanity-card p{margin:0}.vanity-card h3{font-size:1.35rem;overflow-wrap:anywhere}.vanity-card p{color:var(--ink-soft);font-size:.84rem;line-height:1.55}.vanity-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.profile-share{display:flex;align-items:center;gap:.7rem;margin:.55rem 0}.profile-share .copy-feedback{color:#a9d1ff}
.vanity-url-text{color:var(--blue);font:inherit;font-size:.82rem;font-weight:760;overflow-wrap:anywhere}
.admin-handle-list{display:grid;gap:1rem}.admin-handle-profile{padding:1rem;background:var(--surface-soft);border:1px solid var(--line);border-radius:.9rem}.admin-handle-profile>header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.admin-handle-profile h3{margin:0}.admin-handle-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:.8rem 0}.admin-handle-meta div{padding:.65rem;background:white;border-radius:.7rem}.admin-handle-meta span,.admin-aliases>span{display:block;color:var(--ink-soft);font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.admin-handle-meta strong{display:block;margin-top:.2rem;font-size:.78rem;overflow-wrap:anywhere}.admin-alias-list{display:grid;gap:.45rem;margin-top:.45rem}.admin-alias-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.55rem .65rem;background:white;border-radius:.65rem}.admin-alias-row code{font:inherit;font-size:.76rem;font-weight:760}.admin-handle-form{display:flex;align-items:end;gap:.65rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.admin-handle-form label{display:grid;flex:1;gap:.35rem;font-size:.7rem;font-weight:760}.admin-handle-form input{width:100%;padding:.7rem .8rem;border:1px solid #cfdbea;border-radius:.7rem}
@media(min-width:48rem){.vanity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:72rem){.vanity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:36rem){.handle-editor-heading,.admin-handle-profile>header{align-items:flex-start;flex-direction:column}.admin-handle-meta{grid-template-columns:1fr}.admin-handle-form{align-items:stretch;flex-direction:column}.admin-handle-form .button{width:100%}}

/* Venue autocomplete and map preview */
.venue-editor-layout{display:grid;gap:1.25rem}.venue-editor-fields{min-width:0}.venue-search-meta{display:flex;min-height:1.4rem;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:.42rem .15rem 0}.venue-search-meta small{color:var(--ink-soft);font-size:.72rem;line-height:1.45}.venue-search-meta [data-google-attribution]{flex:0 0 auto;color:#5e5e5e;font-family:Roboto,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;white-space:nowrap}.venue-search-meta [data-google-attribution][hidden]{display:none}.venue-search-meta [data-venue-status]{text-align:right}.venue-suggestion-google{background:#fbfcff}.venue-suggestion-google span{color:#5e5e5e;font-family:Roboto,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:normal;white-space:nowrap}.venue-suggestion-deposito span{color:var(--blue)}.venue-suggestion[aria-selected="true"]{background:#e4f0ff;outline:2px solid var(--blue);outline-offset:-2px}.venue-map-card{min-width:0}.venue-map{display:grid;place-items:center;width:100%;min-height:15rem;overflow:hidden;background-color:#f2f6fb;background-image:linear-gradient(rgba(99,131,175,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(99,131,175,.08) 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--line);border-radius:1rem}.venue-map p{max-width:22rem;margin:0;padding:1.5rem;color:var(--ink-soft);font-size:.8rem;line-height:1.55;text-align:center}.venue-map iframe{width:100%;min-height:inherit;border:0}.venue-map[data-state="unavailable"] p{color:#664b14;background:rgba(255,245,217,.88);border-radius:.75rem}.venue-map[data-state="ready"]{background:#e8eef5}
@media(min-width:64rem){.venue-editor-layout{grid-template-columns:minmax(0,1.65fr) minmax(17rem,1fr);align-items:start}.venue-map{min-height:20rem}.venue-map-card{position:sticky;top:6.5rem}}
@media(max-width:36rem){.venue-search-meta{align-items:stretch;flex-direction:column;gap:.25rem}.venue-search-meta [data-venue-status]{text-align:left}.venue-suggestions{top:4.75rem}.venue-map{min-height:14rem}}

/* Stripe Connect and paid ticketing */
.test-mode-banner{display:flex;align-items:center;gap:.75rem;margin:1rem 0;padding:.85rem 1rem;color:#6d4700;background:#fff4cf;border:1px solid #edce72;border-radius:.8rem;font-size:.8rem}.test-mode-banner strong{flex:0 0 auto;padding:.25rem .5rem;color:#563500;background:#ffd968;border-radius:999px;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.checkout-price-breakdown{display:grid;gap:.55rem;margin-top:1rem;padding:1rem;background:var(--surface-soft);border-radius:.85rem}.checkout-price-breakdown>div{display:flex;justify-content:space-between;gap:1rem}.checkout-price-breakdown .checkout-summary{padding-top:.7rem;border-top:1px solid var(--line);font-size:1.05rem}.payment-setup-notice{margin:.85rem 0;padding:.85rem 1rem;color:#77374c;background:#ffedf2;border:1px solid #ffd0dc;border-radius:.75rem;font-size:.8rem;line-height:1.5}.payment-setup-notice>strong{display:block;margin-bottom:.2rem}.payment-ready-notice{margin:.85rem 0;padding:.85rem 1rem;color:#087451;background:#e6f8f1;border:1px solid #bcebdc;border-radius:.75rem;font-size:.8rem;line-height:1.5}.inline-action-form{margin:.4rem 0 0}.button-link{padding:0;border:0;background:transparent;cursor:pointer;font:inherit}.payment-locked{display:grid;place-items:center;width:2.5rem;height:2.5rem;color:#8b4057;background:#ffedf2;border-radius:.6rem}.payment-settings-page,.admin-payment-page{padding-block:3rem}.payment-connect-card{display:grid;gap:1.5rem;padding:clamp(1.25rem,3vw,2rem);background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.payment-connect-card h2{margin:.5rem 0}.payment-connect-card code{color:var(--ink-soft);font-size:.75rem}.payment-connect-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0}.payment-connect-card dl div{padding:1rem;background:var(--surface-soft);border-radius:.75rem}.payment-connect-card dt{color:var(--ink-soft);font-size:.68rem;text-transform:uppercase}.payment-connect-card dd{margin:.35rem 0 0;font-weight:800}.payment-status{display:inline-flex;padding:.3rem .55rem;border-radius:999px;color:#684b00;background:#fff1bd;font-size:.68rem;font-weight:850}.payment-status.status-enabled{color:#087451;background:#e6f8f1}.payment-status.status-restricted,.payment-status.status-charges_restricted{color:#981c3b;background:#ffedf2}.payment-actions{display:flex;flex-wrap:wrap;gap:.75rem}.success-orb.is-pending{color:#725000;background:#fff1bd}.admin-payment-page .stats-section{margin-top:2rem}.admin-payment-page code{font-size:.7rem}.refund-order-list{display:grid;gap:1rem}.refund-order-card{padding:1rem;background:white;border:1px solid var(--line);border-radius:.9rem}.refund-order-card header,.refund-order-money{display:flex;justify-content:space-between;gap:1rem}.refund-order-card h3{margin:.25rem 0}.refund-order-items{margin:.75rem 0;padding-left:1.2rem;color:var(--ink-soft);font-size:.78rem}.refund-order-money{display:flex;justify-content:space-between;gap:1rem;margin:.75rem 0;padding:.75rem;background:var(--surface-soft);border-radius:.65rem;font-size:.78rem}.refund-order-card form{display:grid;gap:.6rem}.refund-order-card .refund-status{color:var(--ink-soft);font-size:.76rem;font-weight:800}
@media(max-width:42rem){.test-mode-banner{align-items:flex-start;flex-direction:column}.payment-connect-card dl{grid-template-columns:1fr}.payment-actions,.payment-actions form,.payment-actions .button{width:100%}.refund-order-card header,.refund-order-money{align-items:flex-start;flex-direction:column}}
.status-refund_pending{color:#704b00;background:#fff3cf}

/* Phase 0.3.2 — event identity, pricing and immutable documents */
.event-host-choice-page{max-width:60rem}.event-host-choice-grid{display:grid;gap:1rem}.event-host-choice{display:grid;gap:.35rem;padding:1.4rem;color:var(--ink);background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.event-host-choice:hover{transform:translateY(-2px);border-color:#9dc2f3}.event-host-choice>span{color:var(--blue);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.event-host-choice>strong{font-size:1.35rem}.event-host-choice>small{color:var(--ink-soft)}.event-host-choice>b{margin-top:.45rem;color:var(--blue);font-size:.8rem}.event-host-context-note{margin:0 0 1.25rem;color:var(--ink-soft);font-size:.8rem;line-height:1.55}.ticket-live-calculation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .8rem;margin-top:1rem;padding:.8rem;background:#eef5ff;border-radius:.75rem;font-size:.74rem}.ticket-live-calculation>span{display:flex;justify-content:space-between;gap:.5rem}.ticket-live-calculation.is-invalid{color:#8d2440;background:#ffedf2}.pricing-provider-note{margin:.65rem 0 0;color:var(--ink-soft);font-size:.72rem;line-height:1.5}.checkout-billing{margin-top:1rem;padding:1rem;background:#f7faff;border:1px solid var(--line);border-radius:.85rem}.checkout-billing.is-required{border-color:#e0b83f;background:#fffaf0}.checkout-billing summary{cursor:pointer;font-weight:800}.checkout-billing>p{color:var(--ink-soft);font-size:.78rem}.checkout-billing .form-grid{margin-top:1rem}.checkout-billing input{width:100%;padding:.8rem;border:1px solid #cfdbea;border-radius:.7rem}.checkout-complete-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.invoice-page{width:min(62rem,calc(100% - 2rem));margin:2rem auto 5rem}.invoice-document{padding:clamp(1.25rem,4vw,3rem);background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.invoice-header,.invoice-parties,.invoice-reference{display:flex;justify-content:space-between;gap:2rem}.invoice-header{align-items:flex-start;padding-bottom:2rem;border-bottom:2px solid var(--ink)}.invoice-header>div:first-child{display:flex;align-items:center;gap:.6rem;font-size:1.25rem}.invoice-header img{width:2rem;height:2rem}.invoice-header>div:last-child{text-align:right}.invoice-header p,.invoice-header h1{margin:0}.invoice-header h1{margin:.2rem 0;font-size:1.4rem}.invoice-header span{color:var(--ink-soft);font-size:.78rem}.invoice-parties{padding:2rem 0}.invoice-parties>div{width:48%}.invoice-parties h2{margin:0 0 .6rem;color:var(--ink-soft);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.invoice-parties p{margin:.35rem 0;line-height:1.55}.invoice-reference{padding:1rem;background:var(--surface-soft);border-radius:.7rem}.invoice-lines{width:100%;margin:2rem 0;border-collapse:collapse}.invoice-lines th,.invoice-lines td{padding:.8rem;text-align:left;border-bottom:1px solid var(--line)}.invoice-lines th:not(:first-child),.invoice-lines td:not(:first-child){text-align:right}.invoice-lines small{display:block;margin-top:.25rem;color:var(--ink-soft)}.invoice-totals{width:min(25rem,100%);margin-left:auto}.invoice-totals>div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0}.invoice-totals .invoice-total{margin-top:.4rem;padding-top:.8rem;border-top:2px solid var(--ink);font-size:1.12rem}.invoice-tax-note{padding:1rem;background:var(--surface-soft);font-size:.8rem}.invoice-document>footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.72rem;line-height:1.55}.invoice-document>footer small{overflow-wrap:anywhere}.print-ticket-finance{padding:1rem 1.5rem;border-top:1px solid var(--line)}.print-ticket-finance h2{margin:0 0 .8rem;font-size:1rem}.print-ticket-finance dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.print-ticket-finance dt{color:var(--ink-soft);font-size:.65rem;text-transform:uppercase}.print-ticket-finance dd{margin:.2rem 0;font-size:.78rem;font-weight:700}.print-ticket-finance p{font-size:.72rem;color:var(--ink-soft)}
@media(min-width:42rem){.event-host-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:40rem){.ticket-live-calculation{grid-template-columns:1fr}.invoice-header,.invoice-parties{flex-direction:column}.invoice-header>div:last-child{text-align:left}.invoice-parties>div{width:100%}.invoice-lines th:nth-child(3),.invoice-lines td:nth-child(3){display:none}.print-ticket-finance dl{grid-template-columns:1fr}}
@media print{.invoice-page{width:100%;margin:0}.invoice-document{padding:0;border:0;box-shadow:none}.invoice-page .print-actions{display:none}.site-header,.site-footer{display:none!important}}
.payment-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.payment-health-grid dd{font-size:1.8rem;font-weight:800;margin:0}.payment-health-critical{border:2px solid #bd2035;background:#fff4f5}.payment-health-warning{color:#a0182a;font-weight:700}[data-payout-form] [hidden]{display:none!important}[data-payout-form] button{margin-top:1rem}
.scan-result>span{margin:0 auto}
.scan-result .button{color:#fff;background:rgba(2,11,24,.28);border-color:rgba(255,255,255,.65)}.scan-result [hidden]{display:none!important}
[data-payout-form] label{display:grid;gap:.5rem;align-content:start}[data-payout-form] label>span{font-size:.85rem;font-weight:700}[data-payout-form] select{width:100%;min-height:2.8rem;padding:.7rem .9rem;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:.7rem}[data-payout-form] select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}[data-payout-form] small{color:var(--ink-soft)}

/* Shared public-post and local-preview presentation. */
.feed-post .feed-post-author{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.feed-post .feed-post-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;margin:0;flex:none}
.feed-post .feed-post-body{white-space:pre-wrap;overflow-wrap:anywhere}
.feed-post .feed-post-image{display:block;max-width:100%;width:auto;height:auto;max-height:720px;object-fit:contain;margin:16px auto 0;border-radius:12px}
.feed-post .feed-post-image[hidden]{display:none}
.admin-tools{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.5rem}.admin-tools a{padding:.65rem .9rem;border:1px solid #cbdaf1;border-radius:999px;background:#fff;color:#143d72;text-decoration:none;font-weight:700}.admin-status-form{margin:0}.admin-status-form button{border:0;cursor:pointer;font:inherit}.admin-status-form button:disabled{opacity:.55;cursor:wait}

/* External destinations in social text always stop at a signed Deposito warning page. */
.social-external-link{color:#0b5fd1;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;overflow-wrap:anywhere}
.social-external-link:hover{color:#084694}.social-external-link:focus-visible,.external-warning a:focus-visible{outline:3px solid #7bb7ff;outline-offset:3px;border-radius:4px}
.external-warning{width:min(100% - 2rem,760px);margin:clamp(2rem,7vw,5rem) auto;min-width:0}.external-warning-card{min-width:0;padding:clamp(1.35rem,5vw,2.6rem);background:#fff;border:1px solid #dce5f3;border-radius:22px;box-shadow:0 18px 48px #0b214314}.external-warning h1{margin:.45rem 0 .8rem;font-size:clamp(1.7rem,4vw,2.35rem)}.external-warning p{color:var(--ink-soft);line-height:1.6}.external-warning-target{display:grid;gap:.45rem;min-width:0;margin:1.5rem 0;padding:1rem 1.2rem;background:#f3f7fe;border:1px solid #dce5f3;border-radius:14px}.external-warning-target>span{color:var(--ink-soft);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.external-warning-target strong,.external-warning-target code{min-width:0;overflow-wrap:anywhere;word-break:break-word}.external-warning-target strong{font-size:1.1rem}.external-warning-target code{font-size:.85rem;line-height:1.5}.external-warning-actions{display:flex;flex-wrap:wrap;gap:.8rem}.external-warning-actions a{min-height:44px;justify-content:center;text-align:center}
@media(max-width:480px){.external-warning-actions{flex-direction:column}.external-warning-actions a{width:100%}}

.registration-roles{border:0;margin:0;padding:0;min-width:0}.registration-roles legend{font-weight:700;margin-bottom:.65rem}.registration-role{display:flex!important;gap:.75rem;align-items:flex-start;padding:.8rem;border:1px solid var(--line);border-radius:.85rem;margin-bottom:.5rem;cursor:pointer;background:#fff}.registration-role input{width:1.2rem!important;height:1.2rem!important;flex:none;margin:.15rem 0 0!important}.registration-role span{min-width:0}.registration-role strong,.registration-role small{display:block}.registration-role small{font-weight:400;color:var(--ink-soft);line-height:1.45;margin-top:.25rem}.registration-role:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 2px #0b63e514}.registration-roles p{font-size:.85rem;color:var(--ink-soft)}
.follow-priority{display:inline-flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:.75rem 0;max-width:100%;font-size:.9rem}.follow-priority select{border-radius:.75rem;border:1px solid var(--line);padding:.55rem;background:#fff;color:var(--ink);min-height:44px;max-width:100%}.follow-priority[hidden]{display:none}

/* Keep the DepositoLive wordmark in its official case. */
.eyebrow.brand-name{text-transform:none}
.button-danger-secondary{color:var(--danger);border-color:#efb7c5;background:#fff7f9}.button-danger-secondary:hover{color:#941937;background:#ffedf2;border-color:var(--danger)}
