:root{
  --navy:#251532;
  --blue:#7a3f92;
  --blue2:#9c5bb4;
  --coral:#f20f58;
  --ink:#2c2135;
  --surface:#f8f5fa;
  --line:#e5dcea;
  --green:#16865c;
  --amber:#c97815;
  --red:#b53b4c;
  --shadow:0 22px 55px rgba(50,24,61,.12);
}

body{background:radial-gradient(circle at 88% 0,rgba(156,91,180,.15),transparent 30rem),var(--surface)}
.site-header,.admin-header{border-bottom-color:var(--coral);background:#fff;box-shadow:0 5px 20px rgba(44,33,53,.08)}
.site-header{height:78px}
.kupo-brand{display:flex;align-items:center;gap:11px;color:#111!important;text-decoration:none}
.kupo-brand img,.site-header .kupo-brand img,.admin-header .kupo-brand img{width:48px;height:48px;object-fit:contain;object-position:center;display:block;flex:0 0 48px}
.kupo-brand span{display:grid;line-height:1.05}
.kupo-brand strong{color:#111;font-size:1.22rem;letter-spacing:.015em}
.kupo-brand small{margin-top:4px;color:#755f7e;font-size:.61rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.site-header .back-link,.admin-header .admin-nav a{color:#111}
.hero h1 span,.eyebrow,.section-number{color:#8b4aa1}
.intro-card{border-top-color:var(--coral)}
.event-meta>div:first-child{border-top:3px solid var(--coral)}
.application-form .section-number{display:inline-flex;align-items:center;color:#693078;background:#f8effa;border:1px solid #dec8e5;border-left:4px solid #9c5bb4;border-radius:8px;padding:7px 11px;font-size:.9rem;line-height:1.1;letter-spacing:.1em;font-weight:850}
.application-form .choice:has(input:checked){border-color:#8b4aa1;background:#faf4fc;box-shadow:0 0 0 3px rgba(139,74,161,.1)}
.application-form .choice input,.agreement input{accent-color:#8b4aa1}
.button.primary{background:var(--coral);color:#271630;box-shadow:0 8px 20px rgba(243,201,94,.24)}
.button.primary:hover{background:#f7d777}
.button.secondary{background:#f5edf8;color:#6f3583;border-color:#ddc9e4}
.ticket-required-banner{display:flex;align-items:center;gap:14px;width:100%;padding:16px 20px;border-radius:18px;background:#8b3652;color:#fff;box-shadow:0 10px 26px rgba(139,54,82,.18)}
.ticket-required-banner strong{flex:0 0 auto;padding-right:14px;border-right:1px solid rgba(255,255,255,.38);font-size:.76rem;line-height:1;text-transform:uppercase;letter-spacing:.1em}
.ticket-required-banner span{font-size:.92rem;line-height:1.45;font-weight:700}
.ticket-required-banner span small{display:block;margin-top:3px;color:#ffe7ef;font-size:.82rem;font-weight:600}
.waitlist-banner{background:#8b3652;box-shadow:0 12px 28px rgba(139,54,82,.2)}
.waitlist-banner strong{color:#8b3652}
.event-selector{margin-top:28px;padding:22px;border-radius:16px;background:linear-gradient(135deg,#f8effa,#fffaf0);border:1.5px solid #d9c1e2}
.event-selector>span{font-size:1.05rem;color:var(--navy)}
select{width:100%;border:1.5px solid #cbbbd2;background:#fff;border-radius:11px;padding:14px;color:var(--ink);outline:none;font:inherit}
select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(122,63,146,.12)}
.applications-closed-card{border-top-color:var(--coral)}
.applications-closed-card .closed-icon{background:#f7eff9;color:#7a3f92}
.optional-label{background:#f5eaf8;color:#6f3583}
.confirmation-number{background:linear-gradient(120deg,#21122d,#3a1f4b)}
.admin-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-nav a{display:inline-flex;padding:8px 11px;border-radius:8px;text-decoration:none;font-weight:700}
.admin-nav a:hover{background:#f8edf2}
.event-chip{display:inline-flex;max-width:260px;padding:5px 9px;border-radius:999px;background:#f4ebf7;color:#6d357f;font-size:.7rem;font-weight:800;white-space:normal}
.management-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(24px,4vw,38px);box-shadow:0 10px 30px rgba(50,24,61,.06)}
.management-card textarea{min-height:250px}
.management-card .actions{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}
.management-card .actions .button{min-width:170px}
.management-note{padding:15px 17px;border-left:4px solid var(--coral);background:#fff9e9;border-radius:0 10px 10px 0;color:#5e4a1d;line-height:1.55}
.login-card .kupo-brand{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 14px;margin-bottom:25px}
.patron-choice{display:flex;align-items:center;gap:13px;margin-top:24px;padding:17px 18px;border:1.5px solid var(--line);border-radius:13px;background:#fcfafc;cursor:pointer}
.patron-choice:has(input:checked){border-color:#8b4aa1;background:#faf4fc;box-shadow:0 0 0 3px rgba(139,74,161,.1)}
.patron-choice input{width:20px;height:20px;accent-color:#8b4aa1;flex:0 0 auto}
.patron-choice span{color:#5d5063;font-size:.88rem;line-height:1.45}
.patron-choice strong{display:block;color:var(--navy);font-size:.95rem}
@media(max-width:650px){.kupo-brand small{display:none}.ticket-required-banner{align-items:flex-start;flex-direction:column}.ticket-required-banner strong{padding:0 0 8px;border-right:0;border-bottom:1px solid rgba(255,255,255,.38)}.admin-nav{gap:3px}.admin-nav span{display:none}}
@media(max-width:720px){.back-link:after{content:'KupoCon'}}
