/* IPN TV · Account (1.6): one member area for tickets, orders, raffles, programs and Mr & Miss Iran; sign-in pages. Light & night, LTR & RTL, phone-first. */
.ac-body, .au-body {
  --a-bg: #F6F3FB; --a-card: #FFFFFF; --a-ink: #1A1430; --a-ink2: #4A4366; --a-muted: #736C8E; --a-line: rgba(40,20,80,.09); --a-sunk: #F1EDF8;
  --a-rose: #E11D48; --a-amber: #F59E0B; --a-violet: #7C3AED; --a-teal: #0D9488; --a-grad: linear-gradient(120deg, #E11D48, #F97316);
  --a-shadow: 0 1px 2px rgba(30,15,60,.04), 0 12px 32px -18px rgba(30,15,60,.25);
  --paper: var(--a-card); --line: var(--a-line); --ink: var(--a-ink); --ink-2: var(--a-ink2); --muted: var(--a-muted); --sunk: var(--a-sunk);
  margin: 0; background: var(--a-bg); color: var(--a-ink);
}
html[data-mode="dark"] .ac-body, html[data-mode="dark"] .au-body {
  --a-bg: #0E0B22; --a-card: #17132F; --a-ink: #F3F0FF; --a-ink2: #CBC4E6; --a-muted: #9A92BC; --a-line: rgba(255,255,255,.08); --a-sunk: #1F1A3D;
  --a-shadow: 0 1px 2px rgba(0,0,0,.3), 0 18px 40px -22px rgba(0,0,0,.8);
}
.ac-body .ic, .au-body .ic { width: 18px; height: 18px; flex: none; }

/* ---- buttons, fields ---- */
.ac-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 18px; border-radius: 14px; border: 1.5px solid transparent; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s, background .2s, border-color .2s; white-space: nowrap; }
.ac-btn:hover { transform: translateY(-1px); }
.ac-btn--primary { background: var(--a-grad); color: #fff; box-shadow: 0 12px 26px -14px rgba(225,29,72,.9); }
.ac-btn--ghost { background: var(--a-card); color: var(--a-ink); border-color: var(--a-line); }
.ac-btn--ghost:hover { border-color: color-mix(in srgb, var(--a-rose) 45%, var(--a-line)); }
.ac-btn--light { background: #fff; color: #1A1430; }
.ac-btn--glass { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.25); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ac-btn--danger { background: #DC2626; color: #fff; }
.ac-btn--sm { height: 36px; padding: 0 13px; font-size: 13.5px; border-radius: 11px; }
.ac-btn--block { width: 100%; }
.ac-field { display: grid; gap: 6px; min-width: 0; }
.ac-field > span { font-weight: 700; font-size: 13.5px; color: var(--a-ink2); }
.ac-field input, .ac-field select, .ac-field textarea { width: 100%; height: 48px; padding: 0 14px; border-radius: 13px; border: 1.5px solid var(--a-line); background: var(--a-card); color: var(--a-ink); font: inherit; font-size: 15.5px; transition: border-color .2s, box-shadow .2s; }
.ac-field input:focus, .ac-field select:focus { outline: none; border-color: var(--a-violet); box-shadow: 0 0 0 4px color-mix(in srgb, var(--a-violet) 16%, transparent); }
.ac-field small { color: var(--a-muted); font-size: 12.5px; }
.ac-form { display: grid; gap: 14px; }
.ac-form--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ac-form--inline { grid-template-columns: minmax(0, 320px) auto; align-items: end; }
.ac-span2 { grid-column: 1 / -1; }
.ac-hint { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--a-muted); font-size: 13px; }
.ac-muted { color: var(--a-muted); } .ac-small { font-size: 13px; } .ac-r { text-align: end; } .ac-strong { font-weight: 800; }

/* ---- layout ---- */
.ac { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 100svh; }
.ac-side { position: sticky; top: 0; height: 100svh; display: flex; flex-direction: column; gap: 14px; padding: 18px 14px; background: var(--a-card); border-inline-end: 1px solid var(--a-line); overflow-y: auto; }
.ac-side__top { display: flex; align-items: center; justify-content: space-between; }
.ac-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; color: var(--a-ink); }
.ac-brand .logo { height: 30px; } .ac-brand .logo--word { font-size: 15px; }
.ac-brand > span { font-size: 13px; color: var(--a-rose); letter-spacing: .04em; text-transform: uppercase; }
html[dir="rtl"] .ac-brand > span { text-transform: none; letter-spacing: 0; font-size: 14px; }
.ac-side__x { display: none; }
.ac-who { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 18px; background: linear-gradient(135deg, color-mix(in srgb, var(--a-violet) 12%, transparent), color-mix(in srgb, var(--a-rose) 10%, transparent)); }
.ac-av { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 14px; background: var(--a-grad); color: #fff; font-weight: 900; font-size: 18px; }
.ac-who__t { display: grid; min-width: 0; line-height: 1.35; }
.ac-who__t strong { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-who__t small { font-size: 12px; color: var(--a-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-nav { display: grid; gap: 2px; }
.ac-nav a, .ac-nav button { display: flex; align-items: center; gap: 11px; width: 100%; height: 44px; padding: 0 12px; border: 0; border-radius: 12px; background: none; color: var(--a-ink2); font: inherit; font-weight: 700; font-size: 14.5px; cursor: pointer; text-align: start; }
.ac-nav a:hover, .ac-nav button:hover { background: var(--a-sunk); color: var(--a-ink); }
.ac-nav a.is-on { background: var(--a-ink); color: var(--a-card); }
html[data-mode="dark"] .ac-nav a.is-on { background: #fff; color: #17132F; }
.ac-nav a.is-on .ic { color: inherit; }
.ac-nav__h { margin: 14px 12px 4px; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--a-muted); }
html[dir="rtl"] .ac-nav__h { letter-spacing: 0; text-transform: none; font-size: 12.5px; }
.ac-nav__prog .ic { color: var(--pc); }
.ac-nav__prog span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-nav__sub { display: grid; gap: 2px; margin: 2px 0 6px; padding-inline-start: 22px; border-inline-start: 2px solid var(--a-line); margin-inline-start: 20px; }
.ac-nav__sub a { height: 38px; font-size: 13.5px; font-weight: 600; }
.ac-side__foot { margin-top: auto; display: grid; gap: 4px; padding-top: 12px; border-top: 1px solid var(--a-line); }
.ac-side__foot a { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 10px; color: var(--a-muted); font-weight: 600; font-size: 14px; }
.ac-side__foot a:hover { color: var(--a-ink); background: var(--a-sunk); }
.ac-wrap { min-width: 0; display: flex; flex-direction: column; }
.ac-top { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 8px; height: 68px; padding: 0 clamp(16px, 3vw, 32px); background: color-mix(in srgb, var(--a-bg) 82%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--a-line); }
.ac-top__t { flex: 1; font-size: 21px; font-weight: 900; letter-spacing: -.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[dir="rtl"] .ac-top__t { letter-spacing: 0; }
.ac-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; border: 1px solid var(--a-line); background: var(--a-card); color: var(--a-ink); cursor: pointer; }
.ac-lang { font-size: 13px; font-weight: 800; }
.ac-burger { display: none; }
.ac-top__site { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border-radius: 13px; background: var(--a-ink); color: var(--a-card); font-weight: 700; font-size: 14px; }
html[data-mode="dark"] .ac-top__site { background: #fff; color: #17132F; }
.ac-main { display: grid; gap: 18px; align-content: start; padding: clamp(16px, 3vw, 32px); padding-bottom: 60px; width: 100%; max-width: none; }
.ac-tabs { display: none; }
.ac-scrim { display: none; }

/* ---- flash ---- */
.ac-flash { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; font-weight: 600; font-size: 14.5px; background: #EEF2FF; color: #312E81; }
.ac-flash .ac-btn { margin-inline-start: auto; }
.ac-flash--success { background: #ECFDF5; color: #065F46; } .ac-flash--error { background: #FEF2F2; color: #991B1B; } .ac-flash--warn { background: #FFFBEB; color: #92400E; }
html[data-mode="dark"] .ac-flash { background: #1E1B4B; color: #E0E7FF; } html[data-mode="dark"] .ac-flash--success { background: #052E25; color: #A7F3D0; }
html[data-mode="dark"] .ac-flash--error { background: #3B0D0D; color: #FECACA; } html[data-mode="dark"] .ac-flash--warn { background: #3A2606; color: #FDE68A; }

/* ---- cards ---- */
.ac-card { padding: 20px; border-radius: 22px; background: var(--a-card); border: 1px solid var(--a-line); box-shadow: var(--a-shadow); min-width: 0; }
.ac-p0 { padding: 0; overflow-x: auto; }
.ac-card__h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.ac-card__h h2, .ac-h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 17px; font-weight: 800; }
.ac-card__h h2 { margin: 0; }
.ac-card__h h2 .ic, .ac-h3 .ic { width: 20px; height: 20px; color: var(--a-rose); }
.ac-card__h a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 13.5px; color: var(--a-violet); }
.ac-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ac-grid > .ac-card:not(.ac-span2) { grid-column: span 1; }
.ac-grid > .ac-span2 { grid-column: span 2; }
.ac-empty { display: grid; justify-items: center; gap: 10px; padding: 26px 10px; text-align: center; color: var(--a-muted); }
.ac-empty > .ic { width: 40px; height: 40px; color: var(--a-violet); }
.ac-empty--big { padding: 50px 20px; } .ac-empty--big h2 { color: var(--a-ink); font-size: 20px; }

/* hero */
.ac-hero { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: clamp(22px, 3vw, 34px); border-radius: 28px; overflow: hidden; color: #fff; isolation: isolate;
  background: radial-gradient(40rem 22rem at 0% 0%, rgba(244,63,94,.55), transparent 65%), radial-gradient(36rem 22rem at 100% 100%, rgba(139,92,246,.65), transparent 65%), linear-gradient(135deg, #1B1040, #0B0A1F); }
.ac-hero__glow { position: absolute; inset: auto -10% -70% auto; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(245,158,11,.35), transparent 70%); z-index: -1; }
.ac-hero__t { display: grid; gap: 8px; max-width: 620px; }
.ac-hero__k { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #FFD27A; }
.ac-hero h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 900; letter-spacing: -.02em; }
html[dir="rtl"] .ac-hero h2 { letter-spacing: 0; }
.ac-hero p { color: rgba(255,255,255,.82); }
.ac-hero__acts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.ac-cd { display: flex; gap: 8px; }
.ac-cd span { display: grid; justify-items: center; min-width: 70px; padding: 10px 8px; border-radius: 16px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ac-cd b { font-size: 28px; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1.1; }
.ac-cd small { font-size: 11.5px; opacity: .75; }

/* stats */
.ac-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ac-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ac-stat { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 16px; border-radius: 20px; background: var(--a-card); border: 1px solid var(--a-line); box-shadow: var(--a-shadow); overflow: hidden; color: var(--a-ink); }
.ac-stat::after { content: ""; position: absolute; inset: auto -40px -60px auto; width: 130px; height: 130px; border-radius: 50%; background: var(--k); opacity: .1; }
.ac-stat__ic { grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--k), var(--k2)); box-shadow: 0 10px 20px -12px var(--k); }
.ac-stat strong { font-size: 24px; font-weight: 900; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-stat small { color: var(--a-muted); font-size: 13px; }
.ac-stat--rose { --k: #E11D48; --k2: #FB7185; } .ac-stat--violet { --k: #7C3AED; --k2: #C084FC; } .ac-stat--amber { --k: #D97706; --k2: #FBBF24; } .ac-stat--teal { --k: #0D9488; --k2: #2DD4BF; }

/* found ticket / tip */
.ac-found { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; border-color: color-mix(in srgb, var(--a-amber) 50%, var(--a-line)); background: linear-gradient(135deg, color-mix(in srgb, var(--a-amber) 10%, var(--a-card)), var(--a-card)); }
.ac-found__ic, .ac-tip__ic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--a-amber); color: #fff; }
.ac-found__t p { color: var(--a-ink2); margin-top: 4px; }
.ac-found__f { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.ac-found__f .ac-field { flex: 1 1 240px; }
.ac-tip { display: flex; align-items: center; gap: 14px; color: var(--a-ink); }
.ac-tip__ic { background: var(--a-violet); }
.ac-tip > span:nth-child(2) { display: grid; flex: 1; } .ac-tip small { color: var(--a-muted); }

/* event rows, programs, raffles */
.ac-evrow { display: flex; align-items: center; gap: 14px; padding: 10px; border-radius: 16px; color: var(--a-ink); transition: background .2s; }
.ac-evrow:hover { background: var(--a-sunk); }
.ac-evrow img { flex: none; width: 92px; height: 60px; border-radius: 12px; object-fit: cover; box-shadow: 0 0 0 3px color-mix(in srgb, var(--acc) 40%, transparent); }
.ac-evrow__t { display: grid; flex: 1; min-width: 0; } .ac-evrow__t strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ac-evrow__t small { color: var(--a-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-pill { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 11px; border-radius: 999px; background: var(--a-sunk); font-size: 12.5px; font-weight: 800; white-space: nowrap; }
.ac-pill .ic { width: 14px; height: 14px; }
.ac-pill--ok { background: #ECFDF5; color: #047857; } html[data-mode="dark"] .ac-pill--ok { background: #052E25; color: #6EE7B7; }
.ac-prog { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 14px; color: var(--a-ink); }
.ac-prog:hover { background: var(--a-sunk); }
.ac-prog__ic { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 13px; background: color-mix(in srgb, var(--pc, var(--a-violet)) 14%, transparent); color: var(--pc, var(--a-violet)); }
.ac-prog > span:nth-child(2) { display: grid; flex: 1; min-width: 0; } .ac-prog small { color: var(--a-muted); font-size: 12.5px; }
.ac-raf { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--a-line); }
.ac-raf:last-child { border-bottom: 0; }
.ac-raf__ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: color-mix(in srgb, var(--acc) 15%, transparent); color: var(--acc); }
.ac-raf__t { display: grid; flex: 1; min-width: 0; } .ac-raf__t small { color: var(--a-muted); font-size: 12.5px; }
.ac-evgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ac-evgrid .evc { background: var(--a-card); border-color: var(--a-line); color: var(--a-ink); }

/* tickets list */
.ac-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ac-seg { display: inline-flex; padding: 4px; border-radius: 14px; background: var(--a-card); border: 1px solid var(--a-line); }
.ac-seg a { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border-radius: 11px; font-weight: 700; font-size: 14px; color: var(--a-ink2); }
.ac-seg a.is-on { background: var(--a-ink); color: var(--a-card); }
html[data-mode="dark"] .ac-seg a.is-on { background: #fff; color: #17132F; }
.ac-tgroup { border-radius: 24px; background: var(--a-card); border: 1px solid var(--a-line); box-shadow: var(--a-shadow); overflow: hidden; }
.ac-tgroup__h { display: flex; gap: 16px; align-items: center; padding: 14px; background: linear-gradient(90deg, color-mix(in srgb, var(--acc) 12%, transparent), transparent); }
.ac-tgroup__h img { width: 120px; height: 76px; border-radius: 14px; object-fit: cover; flex: none; }
.ac-tgroup__cat { color: var(--acc); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
html[dir="rtl"] .ac-tgroup__cat { text-transform: none; letter-spacing: 0; font-size: 13px; }
.ac-tgroup__h h2 { font-size: 19px; font-weight: 800; margin: 2px 0 4px; }
.ac-tgroup__h p { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; color: var(--a-muted); font-size: 13.5px; }
.ac-tgroup__h p .ic { width: 15px; height: 15px; }
.ac-tlist { display: grid; gap: 10px; padding: 14px; }
.ac-tk { position: relative; display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 16px; border: 1.5px dashed var(--a-line); color: var(--a-ink); transition: border-color .2s, background .2s; }
.ac-tk:hover { border-color: var(--acc, var(--a-violet)); background: var(--a-sunk); }
.ac-tk__stub { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 13px; background: var(--acc, var(--a-violet)); color: #fff; }
.ac-tk__t { display: grid; flex: 1; min-width: 0; line-height: 1.35; } .ac-tk__t small { color: var(--a-muted); font-size: 13px; }
.ac-tk__t code { font-size: 12px; color: var(--a-violet); }
.ac-tk__m { display: grid; justify-items: end; gap: 6px; }
.ac-tk.is-used, .ac-tk.is-cancelled, .ac-tk.is-refunded, .ac-tk.is-transferred { opacity: .62; }
.ac-src { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 999px; font-size: 11.5px; font-weight: 800; background: #EEF2FF; color: #3730A3; }
.ac-src--gift { background: #FDF2F8; color: #9D174D; } .ac-src--raffle { background: #FFFBEB; color: #92400E; } .ac-src--external { background: #ECFEFF; color: #155E75; } .ac-src--comp { background: #F0FDF4; color: #166534; }
.ac-st { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 999px; font-size: 11.5px; font-weight: 800; background: var(--a-sunk); color: var(--a-ink2); }
.ac-st--valid, .ac-st--paid { background: #ECFDF5; color: #047857; } .ac-st--used { background: #EFF6FF; color: #1D4ED8; } .ac-st--pending { background: #FFFBEB; color: #92400E; }
.ac-st--cancelled, .ac-st--refunded, .ac-st--expired, .ac-st--disputed { background: #FEF2F2; color: #B91C1C; } .ac-st--review { background: #FFF7ED; color: #C2410C; }
html[data-mode="dark"] .ac-src, html[data-mode="dark"] .ac-st { filter: brightness(.9) saturate(1.2); }

/* ticket */
.ac-ticket-wrap { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 22px; align-items: start; }
.ac-ticket { position: relative; border-radius: 28px; background: var(--a-card); box-shadow: 0 30px 70px -40px rgba(30,10,60,.6); border: 1px solid var(--a-line); overflow: hidden; }
.ac-ticket__top { position: relative; height: 170px; color: #fff; }
.ac-ticket__top img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ac-ticket__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,8,30,.15), rgba(10,8,30,.85)), linear-gradient(90deg, color-mix(in srgb, var(--acc) 50%, transparent), transparent); }
.ac-ticket__head { position: absolute; inset: auto 18px 16px; display: grid; gap: 4px; }
.ac-ticket__head h2 { font-size: 21px; font-weight: 900; line-height: 1.25; }
.ac-ticket__head p { font-size: 13.5px; opacity: .9; }
.ac-ticket__qr { display: grid; justify-items: center; gap: 10px; padding: 22px 18px 16px; }
.ac-qr { width: min(260px, 70vw); aspect-ratio: 1; padding: 14px; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.ac-qr svg { width: 100%; height: 100%; display: block; }
.ac-qr svg rect[fill="#ffffff"], .ac-qr svg path[fill="#ffffff"] { fill: #fff; }
.ac-ticket__code { font-size: 18px; font-weight: 800; letter-spacing: .08em; color: var(--a-ink); }
.ac-ticket__hint { display: flex; align-items: center; gap: 6px; color: var(--a-muted); font-size: 12.5px; }
.ac-ticket__ext { color: var(--a-muted); font-size: 12px; }
.ac-ticket__state { display: grid; justify-items: center; gap: 6px; padding: 30px 10px; color: var(--a-muted); }
.ac-ticket__state .ic { width: 48px; height: 48px; }
.ac-ticket__state strong { font-size: 18px; color: var(--a-ink); }
.ac-ticket__cut { position: relative; height: 24px; margin: 0 -1px; }
.ac-ticket__cut::before { content: ""; position: absolute; inset: 50% 22px auto; border-top: 2px dashed var(--a-line); }
.ac-ticket__cut::after { content: ""; position: absolute; inset: 0 -14px; background: radial-gradient(circle at 0 50%, var(--a-bg) 12px, transparent 13px), radial-gradient(circle at 100% 50%, var(--a-bg) 12px, transparent 13px); }
.ac-ticket__dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0; padding: 4px 22px 22px; }
.ac-ticket__dl dt { font-size: 11.5px; font-weight: 800; color: var(--a-muted); text-transform: uppercase; letter-spacing: .06em; }
html[dir="rtl"] .ac-ticket__dl dt { text-transform: none; letter-spacing: 0; font-size: 12.5px; }
.ac-ticket__dl dd { margin: 2px 0 0; font-weight: 700; font-size: 15px; }
.ac-ticket__dl dd small { color: var(--a-muted); font-weight: 500; }
.ac-ticket__seat dd { color: var(--acc); font-size: 16px; }
.ac-ticket.is-used .ac-ticket__qr, .ac-ticket.is-cancelled .ac-ticket__qr { opacity: .8; }
.ac-ticket__qr--solo { margin: 10px 0; }
.ac-ticket__mini { text-align: center; color: var(--a-ink2); font-size: 14px; }
.ac-ticket-side { display: grid; gap: 16px; }
.ac-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ac-actions--row { display: flex; flex-wrap: wrap; }
.ac-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.ac-chips span { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 11px; background: var(--a-sunk); font-weight: 700; font-size: 13.5px; }
.ac-rules, .ac-check { display: grid; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.ac-rules li, .ac-check li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; }
.ac-rules .ic { color: #10B981; margin-top: 3px; }
.ac-check li { color: var(--a-muted); } .ac-check li.is-ok { color: var(--a-ink); } .ac-check li.is-ok .ic { color: #10B981; }
.ac-transfer summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.ac-transfer summary::-webkit-details-marker { display: none; }
.ac-transfer summary > span { display: grid; flex: 1; } .ac-transfer summary small { color: var(--a-muted); }
.ac-transfer[open] summary { margin-bottom: 14px; }
.ac-transfer form { display: grid; gap: 12px; }

/* tables / receipt */
.ac-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.ac-table th { padding: 12px 16px; text-align: start; font-size: 12px; font-weight: 800; color: var(--a-muted); text-transform: uppercase; letter-spacing: .05em; border-bottom: 1px solid var(--a-line); }
html[dir="rtl"] .ac-table th { text-transform: none; letter-spacing: 0; font-size: 13px; }
.ac-table td { padding: 12px 16px; border-bottom: 1px solid var(--a-line); }
.ac-table tfoot td { border-bottom: 0; padding-block: 7px; color: var(--a-ink2); }
.ac-table .ac-total td { font-size: 18px; font-weight: 900; color: var(--a-ink); border-top: 2px solid var(--a-line); padding-top: 12px; }
.ac-dot { display: inline-block; width: 10px; height: 10px; margin-inline-end: 8px; border-radius: 50%; background: var(--c); }
.ac-receipt { display: grid; gap: 16px; padding: clamp(18px, 3vw, 28px); border-radius: 26px; background: var(--a-card); border: 1px solid var(--a-line); box-shadow: var(--a-shadow); }
.ac-receipt__h { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 2px dashed var(--a-line); }
.ac-receipt__h h2 { font-size: 22px; font-weight: 900; margin: 8px 0 4px; } .ac-receipt__h p { color: var(--a-muted); }
.ac-receipt__code { display: grid; justify-items: end; text-align: end; } .ac-receipt__code strong { font-size: 22px; letter-spacing: .06em; } .ac-receipt__code small { color: var(--a-muted); }

/* claim, programs */
.ac-steps { margin: 12px 0 18px; padding-inline-start: 20px; display: grid; gap: 6px; color: var(--a-ink2); }
.ac-claim__code { padding: 16px; margin-bottom: 18px; border-radius: 16px; background: var(--a-sunk); }
.ac-proghero { position: relative; min-height: 200px; display: flex; align-items: flex-end; padding: 24px; border-radius: 26px; overflow: hidden; color: #fff; isolation: isolate; }
.ac-proghero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.ac-proghero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 20%, rgba(10,8,30,.85)), linear-gradient(90deg, color-mix(in srgb, var(--acc) 45%, transparent), transparent 70%); }
.ac-proghero__in { display: grid; gap: 6px; } .ac-proghero h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 900; } .ac-proghero .ac-pill { background: rgba(255,255,255,.18); color: #fff; width: max-content; }
.ac-progmenu { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.ac-progmenu a { display: inline-flex; align-items: center; gap: 8px; flex: none; height: 42px; padding: 0 16px; border-radius: 13px; background: var(--a-card); border: 1px solid var(--a-line); font-weight: 700; font-size: 14px; color: var(--a-ink2); }
.ac-progmenu a.is-on { background: var(--a-ink); color: var(--a-card); }
.ac-prose { line-height: 1.8; } .ac-prose > * + * { margin-top: 10px; } .ac-prose h2 { font-size: 22px; }
.ac-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.ac-tile { position: relative; display: grid; gap: 10px; padding: 16px; border-radius: 18px; background: var(--a-sunk); color: var(--a-ink); transition: transform .25s var(--ease), background .2s; }
.ac-tile:hover { transform: translateY(-2px); background: color-mix(in srgb, #D97706 12%, var(--a-sunk)); }
.ac-tile > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: linear-gradient(135deg, #D97706, #FBBF24); color: #fff; }
.ac-tile__go { position: absolute; inset: 14px 14px auto auto; width: 15px !important; height: 15px !important; color: var(--a-muted); }
html[dir="rtl"] .ac-tile__go { inset: 14px auto auto 14px; }
.ac-danger { border-color: rgba(220,38,38,.3); }

/* ---- auth pages ---- */
.au { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); min-height: 100svh; }
.au-art { position: relative; overflow: hidden; color: #fff; isolation: isolate; }
.au-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.au-art__veil { position: absolute; inset: 0; z-index: -1; background: linear-gradient(160deg, rgba(225,29,72,.55), rgba(11,10,31,.75) 55%, rgba(124,58,237,.6)); }
.au-art__in { position: absolute; inset: auto 0 0; display: grid; gap: 18px; padding: clamp(28px, 5vw, 64px); }
.au-art__kick { display: inline-flex; align-items: center; gap: 8px; width: max-content; padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); font-weight: 700; font-size: 13.5px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.au-art h2 { max-width: 16ch; font-size: clamp(30px, 3.6vw, 48px); font-weight: 900; letter-spacing: -.03em; line-height: 1.05; }
html[dir="rtl"] .au-art h2 { letter-spacing: 0; line-height: 1.4; }
.au-art ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.au-art li { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: 15.5px; }
.au-art li i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.16); }
.au-main { display: flex; flex-direction: column; align-items: center; padding: 22px clamp(16px, 4vw, 48px); }
.au-top { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 480px; }
.au-brand .logo { height: 34px; }
.au-tools { display: flex; gap: 8px; }
.au-card { display: grid; gap: 16px; width: 100%; max-width: 480px; margin: auto 0; padding: clamp(22px, 4vw, 34px) 0; }
.au-head { display: grid; gap: 8px; }
.au-head__ic { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: var(--a-grad); color: #fff; box-shadow: 0 14px 28px -14px #E11D48; }
.au-head__ic .ic { width: 26px; height: 26px; }
.au-head__ic--mail { background: linear-gradient(135deg, #7C3AED, #22D3EE); box-shadow: 0 14px 28px -14px #7C3AED; }
.au-head h1 { font-size: clamp(26px, 3vw, 32px); font-weight: 900; letter-spacing: -.02em; }
html[dir="rtl"] .au-head h1 { letter-spacing: 0; }
.au-head p { color: var(--a-muted); }
.au-form { display: grid; gap: 14px; }
.au-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.au-field { display: grid; gap: 6px; min-width: 0; }
.au-field > span:first-child { display: flex; justify-content: space-between; font-weight: 700; font-size: 13.5px; color: var(--a-ink2); }
.au-field > span:first-child a { color: var(--a-violet); font-weight: 600; }
.au-field small { color: var(--a-muted); font-size: 12.5px; }
.au-input { position: relative; display: flex; align-items: center; }
.au-input > .ic { position: absolute; inset-inline-start: 14px; color: var(--a-muted); pointer-events: none; }
.au-input input { width: 100%; height: 52px; padding: 0 14px; padding-inline-start: 44px; border-radius: 14px; border: 1.5px solid var(--a-line); background: var(--a-card); color: var(--a-ink); font: inherit; font-size: 16px; transition: border-color .2s, box-shadow .2s; }
.au-input input:focus { outline: none; border-color: var(--a-violet); box-shadow: 0 0 0 4px color-mix(in srgb, var(--a-violet) 16%, transparent); }
.au-eye { position: absolute; inset-inline-end: 6px; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 10px; background: none; color: var(--a-muted); cursor: pointer; }
.au-code { height: 64px !important; text-align: center; font-size: 30px !important; font-weight: 800; letter-spacing: .45em; padding: 0 !important; border-radius: 16px; border: 1.5px solid var(--a-line); background: var(--a-card); color: var(--a-ink); width: 100%; }
.au-meter { display: block; height: 5px; border-radius: 5px; background: var(--a-sunk); overflow: hidden; }
.au-meter i { display: block; height: 100%; width: 0; border-radius: 5px; background: #DC2626; transition: width .3s, background .3s; }
.au-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--a-ink2); cursor: pointer; }
.au-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--a-rose); flex: none; }
.au-check a { color: var(--a-violet); text-decoration: underline; }
.au-hint { display: flex; gap: 8px; align-items: center; margin: -4px 0 0; font-size: 12.5px; color: var(--a-muted); }
.au-more { border-radius: 16px; border: 1.5px dashed var(--a-line); padding: 12px 14px; }
.au-more summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.au-more summary::-webkit-details-marker { display: none; }
.au-more summary > span { display: grid; flex: 1; } .au-more summary small { color: var(--a-muted); font-size: 12.5px; }
.au-more summary > .ic:first-child { color: #10B981; }
.au-more[open] summary { margin-bottom: 12px; }
.au-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.au-note { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: color-mix(in srgb, #D97706 10%, var(--a-card)); color: var(--a-ink2); font-size: 13.5px; }
.au-note .ic { color: #D97706; margin-top: 2px; }
.au-alt { text-align: center; color: var(--a-muted); font-size: 14.5px; }
.au-alt a, .au-link { color: var(--a-violet); font-weight: 700; background: none; border: 0; cursor: pointer; font: inherit; padding: 0; display: inline-flex; align-items: center; gap: 6px; }
.au-foot { font-size: 12px; color: var(--a-muted); text-align: center; }

/* ---- responsive ---- */
@media (max-width: 1100px) {
  .ac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-grid > .ac-span2 { grid-column: 1 / -1; }
  .ac-evgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-ticket-wrap { grid-template-columns: 1fr; justify-items: center; } .ac-ticket { width: 100%; max-width: 460px; } .ac-ticket-side { width: 100%; max-width: 460px; }
}
@media (max-width: 900px) {
  .ac { grid-template-columns: 1fr; }
  .ac-side { position: fixed; z-index: 80; inset: 0 auto 0 0; width: min(320px, 86vw); transform: translateX(-105%); transition: transform .35s var(--ease); box-shadow: 0 0 60px rgba(0,0,0,.3); }
  html[dir="rtl"] .ac-side { inset: 0 0 0 auto; transform: translateX(105%); }
  .ac-side.is-open { transform: none; }
  .ac-side__x { display: grid; }
  .ac-scrim:not([hidden]) { display: block; position: fixed; z-index: 70; inset: 0; background: rgba(10,8,30,.5); }
  .ac-burger { display: grid; }
  .ac-top { height: 60px; }
  .ac-top__t { font-size: 18px; }
  .ac-top__site span { display: none; } .ac-top__site { width: 42px; padding: 0; justify-content: center; }
  .ac-main { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .ac-tabs { position: fixed; z-index: 60; inset: auto 10px calc(10px + env(safe-area-inset-bottom)) 10px; display: grid; grid-template-columns: repeat(4, 1fr); padding: 6px; border-radius: 22px; background: color-mix(in srgb, var(--a-card) 88%, transparent); border: 1px solid var(--a-line); box-shadow: 0 18px 40px -16px rgba(20,10,50,.45); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
  .ac-tabs a { display: grid; justify-items: center; gap: 3px; padding: 7px 4px; border-radius: 16px; font-size: 11.5px; font-weight: 700; color: var(--a-muted); }
  .ac-tabs a.is-on { background: var(--a-ink); color: var(--a-card); }
  html[data-mode="dark"] .ac-tabs a.is-on { background: #fff; color: #17132F; }
  .ac-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .au { grid-template-columns: 1fr; }
  .au-art { min-height: 200px; }
  .au-art__in { position: relative; padding: 70px 22px 24px; gap: 12px; }
  .au-art h2 { font-size: 24px; }
  .au-art ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .au-art li { font-size: 13px; } .au-art li i { width: 32px; height: 32px; }
  .au-main { padding-top: 0; } .au-top { display: none; }
}
@media (max-width: 600px) {
  .ac-grid, .ac-evgrid, .ac-form--grid, .ac-form--inline { grid-template-columns: 1fr; }
  .ac-hero { padding: 20px; border-radius: 22px; }
  .ac-cd { width: 100%; } .ac-cd span { flex: 1; min-width: 0; } .ac-cd b { font-size: 22px; }
  .ac-stat { padding: 12px; column-gap: 10px; } .ac-stat__ic { width: 38px; height: 38px; } .ac-stat strong { font-size: 19px; }
  .ac-stats--3 { grid-template-columns: 1fr; }
  .ac-tgroup__h img { width: 80px; height: 56px; } .ac-tgroup__h h2 { font-size: 16.5px; }
  .ac-tk { flex-wrap: wrap; } .ac-tk__m { width: 100%; justify-items: start; grid-auto-flow: column; justify-content: start; }
  .ac-actions { grid-template-columns: 1fr; }
  .ac-ticket__dl { grid-template-columns: 1fr 1fr; padding-inline: 16px; }
  .ac-table th:nth-child(3), .ac-table td:nth-child(3) { display: none; }
  .ac-receipt .ac-table th:nth-child(3), .ac-receipt .ac-table td:nth-child(3) { display: table-cell; }
  .ac-tiles { grid-template-columns: 1fr 1fr; }
  .au-row { grid-template-columns: 1fr; }
}
@media print {
  .ac-side, .ac-top, .ac-tabs, .ac-ticket-side, .ac-actions, .ac-flash, .au-art, .au-top, .au-alt { display: none !important; }
  .ac { display: block; } .ac-main { padding: 0; } .ac-body { background: #fff; }
  .ac-ticket, .ac-receipt { box-shadow: none; border: 1px solid #ddd; max-width: 480px; margin: 0 auto; }
  .ac-ticket__cut::after { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ac-side { transition: none; } .ac-btn, .ac-tile { transition: none; } }

/* ---- 1.7 · Readability in light and night ---- */
.ac-body, .au-body { --a-link: #6D28D9; --a-brand: #E11D48; }
html[data-mode="dark"] .ac-body, html[data-mode="dark"] .au-body { --a-link: #B9A3FF; --a-brand: #FB7185; }
.ac-card__h a, .ac-tk__t code, .au-field > span:first-child a, .au-check a, .au-alt a, .au-link { color: var(--a-link); }
.ac-brand > span:last-child { color: var(--a-brand); }
/* past, used and refunded tickets: dim the picture, keep the words readable */
.ac-tk.is-used, .ac-tk.is-cancelled, .ac-tk.is-refunded, .ac-tk.is-transferred { opacity: 1; }
.ac-tk.is-used .ac-tk__stub, .ac-tk.is-cancelled .ac-tk__stub, .ac-tk.is-refunded .ac-tk__stub, .ac-tk.is-transferred .ac-tk__stub { filter: grayscale(1); opacity: .5; }
.ac-tk.is-used .ac-tk__t strong, .ac-tk.is-cancelled .ac-tk__t strong, .ac-tk.is-refunded .ac-tk__t strong, .ac-tk.is-transferred .ac-tk__t strong { color: var(--a-ink2); }
/* status and source badges get dark variants at night */
html[data-mode="dark"] .ac-st--valid, html[data-mode="dark"] .ac-st--paid { background: #053B2C; color: #6EE7B7; }
html[data-mode="dark"] .ac-st--used { background: #102A5C; color: #A5C8FF; }
html[data-mode="dark"] .ac-st--pending { background: #3B2A06; color: #FCD34D; }
html[data-mode="dark"] .ac-st--cancelled, html[data-mode="dark"] .ac-st--refunded, html[data-mode="dark"] .ac-st--expired, html[data-mode="dark"] .ac-st--disputed { background: #4A0F14; color: #FCA5A5; }
html[data-mode="dark"] .ac-st--review { background: #43200A; color: #FDBA74; }
html[data-mode="dark"] .ac-src--ipn { background: #24205A; color: #C7C3FF; }
html[data-mode="dark"] .ac-src--gift { background: #4A1030; color: #F9A8D4; }
html[data-mode="dark"] .ac-src--raffle { background: #3B2A06; color: #FCD34D; }
html[data-mode="dark"] .ac-src--external { background: #0B3640; color: #7DE3F4; }
html[data-mode="dark"] .ac-src--comp { background: #0B3A22; color: #86EFAC; }
/* the close button of the side menu is for phones only */
@media (min-width: 901px) { .ac-side__x { display: none !important; } }
.ac-tgroup__cat, .ac-body .evc__cat, .ac-body .evc__go { color: color-mix(in srgb, var(--acc, var(--a-violet)) 70%, #000); }
html[data-mode="dark"] .ac-tgroup__cat, html[data-mode="dark"] .ac-body .evc__cat, html[data-mode="dark"] .ac-body .evc__go { color: color-mix(in srgb, var(--acc, var(--a-violet)) 60%, #fff); }

/* 1.9 · team members: enter the Studio from the account; classic team sign-in link */
.ac-nav a.ac-nav__studio { margin-bottom: 8px; height: auto; min-height: 50px; padding: 8px 12px; background: linear-gradient(135deg, #1E1B4B, #4C1D95); color: #fff; box-shadow: 0 12px 26px -16px rgba(76,29,149,.9); flex-wrap: wrap; }
.ac-nav a.ac-nav__studio:hover { background: linear-gradient(135deg, #312E81, #6D28D9); color: #fff; }
.ac-nav a.ac-nav__studio .ic { color: #C4B5FD; }
.ac-nav a.ac-nav__studio small { margin-inline-start: auto; padding: 2px 8px; border-radius: 99px; background: rgba(255,255,255,.15); font-size: 11px; }
.au-classic { margin: 6px 0 0; text-align: center; font-size: 12.5px; }
.au-classic a { display: inline-flex; align-items: center; gap: 6px; color: var(--a-muted); }
.au-classic .ic { width: 14px; height: 14px; }
.ac-ver { display: block; margin-top: 6px; font-size: 11.5px; color: var(--a-muted); }
.ac-ver b { font-weight: 800; }
