:root{--ink:#141625;--muted:#697386;--line:#e6e8ef;--bg:#f6f7fb;--p:#6d28d9;--b:#2563eb;--ok:#087443;--bad:#b42318;--warn:#b54708}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.top{height:72px;display:flex;align-items:center;padding:0 6%;border-bottom:1px solid var(--line);background:#fff;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand span{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:linear-gradient(135deg,var(--p),var(--b));color:white;font-size:12px}.top nav{margin-left:auto;display:flex;gap:22px;font-size:13px;color:var(--muted)}.wrap{min-height:calc(100vh - 130px);padding-bottom:60px}footer{border-top:1px solid var(--line);padding:24px 6%;font-size:11px;color:#98a2b3}.hero{min-height:590px;padding:80px 8%;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;background:radial-gradient(circle at 80% 20%,#e7e2ff 0,transparent 28%),linear-gradient(#fff,#fafaff)}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.8px;color:var(--p)}h1{font-size:54px;line-height:1.04;letter-spacing:-2.6px;margin:14px 0 22px}h1 em{font-style:normal;background:linear-gradient(90deg,var(--p),var(--b));-webkit-background-clip:text;color:transparent}.hero p,.lead{font-size:16px;line-height:1.7;color:var(--muted);max-width:620px}.hero-ticket{width:360px;height:420px;margin:auto;border-radius:22px;padding:25px;background:linear-gradient(150deg,#161328,#5121a5 55%,#1e5ed7);color:#fff;box-shadow:0 35px 80px #2f247033;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(2deg)}.hero-ticket h2{font-size:38px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border:1px solid #d4d7df;border-radius:9px;background:#fff;font-weight:800;font-size:12px;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--p),var(--b));color:white;border:0}.btn.light{background:#fff;color:#222}.btn.big{padding:14px 21px;font-size:13px}.section-head{display:flex;align-items:end;justify-content:space-between;padding:75px 8% 28px}.section-head h2{margin:7px 0 0;font-size:34px}.grid{display:grid}.cards{grid-template-columns:repeat(3,1fr);gap:20px;padding:0 8% 70px}.event-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.event-art{height:190px;background:linear-gradient(135deg,#1f1738,#7045d8,#2276d8);display:flex;justify-content:flex-end;align-items:flex-start;padding:16px;color:#fff;font-size:10px;font-weight:900;letter-spacing:1.5px}.pad{padding:18px}.pad small,.meta span{color:var(--muted);font-size:11px}.pad h3{margin:8px 0}.pad p{font-size:12px;color:var(--muted)}.dark{margin:0 8%;border-radius:20px;padding:50px;background:linear-gradient(120deg,#19162e,#312e81,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:space-between}.dark p{color:#d3d7e5;max-width:650px}.page-title{padding:70px 8% 30px;background:var(--bg)}.page-title h1{font-size:46px}.search{display:flex;gap:10px;max-width:650px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d4d7df;border-radius:8px;background:#fff;font:inherit;font-size:13px}.event-detail{display:grid;grid-template-columns:1fr 390px;gap:60px;padding:70px 8%}.event-detail h1{font-size:50px}.meta{display:grid;gap:8px}.buybox,.card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:24px}.ticket-type{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-top:1px solid var(--line)}.ticket-type div{display:grid;gap:5px}.ticket-type small,.ticket-type span{font-size:10px;color:var(--muted)}.ticket-type select{width:70px}.checkout{display:grid;grid-template-columns:1fr 350px;gap:30px;max-width:1080px;margin:55px auto;padding:0 25px}.form{display:grid;gap:15px}.form label{font-size:11px;font-weight:800;display:grid;gap:7px}.form hr{border:0;border-top:1px solid var(--line);width:100%}.payment-box{background:var(--bg);border-radius:10px;padding:18px;font-size:12px}.summary{height:max-content;position:sticky;top:20px}.row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;font-size:12px}.total{font-size:17px}.confirmation{max-width:900px;margin:60px auto;padding:0 25px}.order-info{display:grid;gap:8px;margin:25px 0}.tickets{grid-template-columns:repeat(2,1fr);gap:15px}.ticket-pass{border:1px dashed #9da3b2;border-radius:13px;padding:22px;display:grid;gap:10px}.ticket-pass b{font-family:monospace}.digital-ticket{max-width:500px;margin:60px auto;padding:34px;border:1px solid var(--line);border-radius:20px;text-align:center;box-shadow:0 20px 60px #11182712}.digital-ticket h1{font-size:34px}.qr{width:220px;min-height:220px;margin:25px auto;display:grid;place-items:center}.code{font-family:monospace;font-size:15px}.status-pill{padding:5px 9px;border-radius:20px}.valid{background:#ecfdf3;color:#027a48}.used{background:#fff4e5;color:#b54708}.auth{max-width:440px;margin:70px auto}.auth h1{font-size:38px}.install{max-width:620px;margin:55px auto;padding:20px}.install h1{font-size:36px}.flash{margin:15px auto;padding:12px 15px;border-radius:9px;max-width:1100px;font-size:12px}.flash.success{background:#ecfdf3;color:#027a48}.flash.error{background:#fef3f2;color:#b42318}.dash-head{display:flex;justify-content:space-between;align-items:end;padding:50px 6% 25px}.dash-head h1{font-size:38px;margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 6% 25px}.stats>div{border:1px solid var(--line);border-radius:12px;padding:20px}.stats small{display:block;color:var(--muted);font-size:10px}.stats b{font-size:24px;display:block;margin-top:8px}.admin-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 6%}.admin-links a{display:grid;gap:8px}.admin-links span{font-size:11px;color:var(--muted)}.two-col{display:grid;grid-template-columns:380px 1fr;gap:20px;padding:0 6%}.table-card{margin:0 6%;overflow:auto}.two-col .table-card{margin:0}.table-card table{width:100%;border-collapse:collapse;font-size:12px}.table-card td,.table-card th{padding:13px;border-top:1px solid var(--line);text-align:left}.table-card th{font-size:9px;color:var(--muted);text-transform:uppercase}.table-card td small{display:block;color:var(--muted);margin-top:4px}.form.wide{margin:0 6%}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.ticket-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:8px}.mini-list{display:grid;gap:8px}.mini-list div{display:flex;justify-content:space-between;background:var(--bg);padding:12px;border-radius:8px;font-size:12px}.muted{font-size:11px;color:var(--muted)}.scanner,.scan-result{max-width:560px;margin:55px auto;text-align:center}.scanner h1,.scan-result h1{font-size:38px}.scanner video{width:100%;border-radius:12px;background:#111;min-height:160px;margin:12px 0}.scan-badge{display:inline-block;padding:12px 18px;border-radius:30px;font-size:12px;font-weight:900;letter-spacing:1px}.scan-badge.good{background:#ecfdf3;color:var(--ok)}.scan-badge.bad{background:#fef3f2;color:var(--bad)}.scan-badge.warn{background:#fffaeb;color:var(--warn)}.empty{padding:30px;border:1px dashed #c9ccd5;border-radius:12px;color:var(--muted);font-size:12px}
@media(max-width:850px){h1{font-size:42px}.top nav{gap:10px}.hero{grid-template-columns:1fr;padding:60px 7%}.hero-ticket{margin-top:40px;width:300px;height:350px}.cards{grid-template-columns:1fr 1fr;padding:0 7% 60px}.event-detail,.checkout,.two-col{grid-template-columns:1fr}.buybox,.summary{position:static}.stats,.admin-links{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.table-card{margin:0 4%}.dark{display:block}.dark .btn{margin-top:15px}}@media(max-width:560px){.top{padding:0 4%}.top nav a:first-child{display:none}.cards,.tickets,.stats,.admin-links{grid-template-columns:1fr}.hero h1{font-size:39px}.event-detail{padding:50px 6%}.event-detail h1{font-size:39px}.section-head{padding:55px 7% 25px}.dark{margin:0 5%;padding:32px}.dash-head{padding:35px 4% 20px;display:block}.dash-head>div+*{margin-top:15px}.ticket-row{grid-template-columns:1fr}.form.wide{margin:0 4%}}
@media print{.top,footer,.btn{display:none!important}.wrap{padding:0}.card{box-shadow:none}}
