:root{
  --bg:#f5f7fb; --ink:#111827; --muted:#667085; --card:#ffffff; --line:#e4e7ec;
  --accent:#6c5ce7; --accent2:#00b894; --danger:#d92d20; --soft:#f0edff;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}.shell{width:min(1120px,calc(100% - 32px));margin:auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(245,247,251,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,231,236,.8)}
.nav{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:-.03em}.nav-link,.ghost{font-size:14px;font-weight:600;color:var(--muted)}
.hero{padding:72px 0 44px}.eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--accent);margin-bottom:12px}.hero h1{font-size:clamp(42px,8vw,80px);line-height:.98;letter-spacing:-.06em;margin:0;max-width:900px}.hero h1 span{color:var(--accent)}.hero p{font-size:18px;line-height:1.6;color:var(--muted);max-width:640px;margin-top:24px}
.section{padding:24px 0 72px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px}.section-head h2,.signup-card h2,.admin-card h2{margin:0;font-size:28px;letter-spacing:-.04em}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-card{background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(16,24,40,.05);transition:.18s transform,.18s box-shadow}.event-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(16,24,40,.09)}.event-art{height:200px;padding:22px;display:flex;align-items:flex-end;background:linear-gradient(135deg,var(--accent),#9b8cff);color:white}.event-art.alt{background:linear-gradient(135deg,#00b894,#55efc4)}.event-art .date-pill{background:rgba(255,255,255,.17);backdrop-filter:blur(6px);padding:8px 10px;border-radius:10px;font-weight:700;font-size:13px}.event-body{padding:20px}.event-body h3{margin:0 0 8px;font-size:21px;letter-spacing:-.03em}.meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:14px}.price{font-size:24px;font-weight:800;margin:18px 0 12px}.cta{display:block;text-align:center;background:var(--ink);color:#fff;padding:13px 16px;border-radius:12px;font-weight:700}
.footer{padding:28px 0 44px;color:var(--muted);font-size:13px}.hidden{display:none!important}.empty{background:var(--card);border:1px dashed var(--line);border-radius:18px;padding:36px;text-align:center;color:var(--muted)}
.event-page{padding:42px 0 72px;display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:start}.event-detail-card,.signup-card,.admin-card{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 30px rgba(16,24,40,.05)}.event-detail-card{overflow:hidden}.detail-art{min-height:330px;padding:30px;display:flex;align-items:flex-end;background:linear-gradient(135deg,var(--accent),#9b8cff);color:white}.detail-art h1{font-size:clamp(38px,6vw,64px);line-height:1;letter-spacing:-.055em;margin:0}.detail-content{padding:28px}.detail-content p{color:var(--muted);line-height:1.65}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.stat{background:#f9fafb;border:1px solid var(--line);padding:14px;border-radius:14px}.stat strong{display:block;font-size:16px}.stat span{font-size:12px;color:var(--muted)}
.signup-card{padding:28px;position:sticky;top:92px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.form-grid.compact{margin-top:16px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:12px 13px;font:inherit;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(108,92,231,.12)}.check{flex-direction:row;align-items:flex-start;font-weight:500;color:var(--muted);line-height:1.4}.check input{width:18px;margin-top:2px}.primary,.ghost{border:0;cursor:pointer}.primary{background:var(--ink);color:white;border-radius:12px;padding:13px 16px;font-weight:800;font-size:14px}.ghost{background:transparent}.message{margin-top:16px;border-radius:12px;padding:12px 14px;font-size:14px}.message.ok{background:#ecfdf3;color:#027a48}.message.err{background:#fef3f2;color:#b42318}.payment-box{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.pay-btn{display:block;margin-top:10px;text-align:center;padding:13px 16px;border-radius:12px;font-weight:800}.pay-btn.paypal{background:#0070ba;color:white}.pay-btn.revolut{background:#111;color:white}.code-box{margin-top:12px;background:#f9fafb;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13px}.code-box strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.organizer-page{padding:42px 0 72px}.admin-card{padding:24px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inline-form{display:flex;gap:10px;margin-top:18px}.inline-form input{flex:1}.event-admin-item{border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:10px}.event-admin-item strong{display:block}.event-admin-item span{font-size:13px;color:var(--muted)}.attendees-card{margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:12px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700}.badge.pending{background:#fffaeb;color:#b54708}.badge.paid{background:#ecfdf3;color:#027a48}.mini-btn{border:1px solid var(--line);background:#fff;padding:7px 9px;border-radius:9px;cursor:pointer;font-weight:700}
@media(max-width:860px){.event-grid{grid-template-columns:1fr 1fr}.event-page,.admin-grid{grid-template-columns:1fr}.signup-card{position:static}.detail-art{min-height:260px}}
@media(max-width:600px){.shell{width:min(100% - 22px,1120px)}.nav{height:60px}.hero{padding:48px 0 28px}.hero p{font-size:16px}.event-grid{grid-template-columns:1fr}.event-art{height:180px}.event-page{padding-top:22px}.detail-stats{grid-template-columns:1fr}.signup-card,.admin-card{padding:20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.inline-form{flex-direction:column}.section-head{align-items:flex-start;flex-direction:column}.section-head select{width:100%}}
