:root{--navy:#2d3389;--red:#ed1935;--ink:#17223a;--muted:#65728a;--line:#dfe4ef}*{box-sizing:border-box}body{margin:0;background:#f3f5fa;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px}.header{background:#fff;border-top:5px solid var(--navy);border-bottom:1px solid var(--line);padding:18px max(22px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.header img{width:270px;height:75px;object-fit:contain}.header nav{display:flex;gap:15px;align-items:center}.wrap{max-width:1244px;padding:35px 22px;margin:auto;min-height:70vh}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:27px;margin-bottom:22px;box-shadow:0 5px 24px #192a4d04}.auth{max-width:510px;margin:35px auto}.auth.wide{max-width:810px}h1{font-size:clamp(27px,3.6vw,43px);line-height:1.13;letter-spacing:-1px;margin:12px 0 24px}h2{font-size:26px;margin:0 0 15px}h3{font-size:18px;margin:15px 0}p{line-height:1.65;color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;color:var(--navy);letter-spacing:1.5px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.heading h1{margin-bottom:15px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center;padding:40px 5px 55px}.hero h1{font-size:clamp(34px,5vw,62px)}.hero p{max-width:540px}.heroimage img{width:100%;height:340px;object-fit:cover;border-radius:24px}.steps,.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.facts{display:flex;gap:30px;flex-wrap:wrap}.stat span{display:block;color:var(--muted);font-size:13px;min-height:36px}.stat strong{display:block;font-size:29px;margin-top:8px;color:var(--navy)}.money .stat strong{font-size:24px}label{display:block;font-size:13px;font-weight:650;margin-bottom:18px}input,select,textarea{font:inherit;color:var(--ink);width:100%;padding:12px;border:1px solid #ccd4e3;border-radius:8px;background:white;margin-top:7px}input:focus,select:focus,textarea:focus{outline:2px solid #bcc2ed;border-color:var(--navy)}input[type=color]{height:48px;padding:5px}input[type=file]{font-size:13px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.btn,button{display:inline-block;padding:12px 18px;background:var(--navy);border:1px solid var(--navy);border-radius:8px;color:#fff;text-decoration:none;font:inherit;font-weight:650;font-size:13px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:var(--navy);border-color:#ccd4e3}.danger{background:#fff0f3;color:#bc1531;border-color:#f4c3cd}.quiet{background:transparent;color:var(--navy);border:0;padding:5px}.navlink,.textlink{color:var(--navy);font-weight:650;text-decoration:none}.inline{display:inline-block;margin:4px}.inline label{display:inline-block}.alert{background:#e7f2ee;border:1px solid #bbdbcc;border-radius:10px;padding:16px;margin-bottom:20px;color:#185a42}.alert.error{background:#fff0f3;border-color:#f3c5ce;color:#9f1630}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}.tabs a{padding:11px 14px;border-radius:8px;border:1px solid var(--line);background:white;color:var(--muted);font-size:13px;text-decoration:none}.tabs .selected{background:var(--navy);color:white;border-color:var(--navy)}.filter{display:flex;gap:12px;align-items:flex-end;margin:20px 0}.filter label{margin:0;flex:1}.filter button{margin-bottom:1px;min-height:44px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}td,th{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:11px;text-transform:uppercase;background:#f8f9fc}small{font-size:11px;color:var(--muted)}.badge{display:inline-block;padding:6px 10px;border-radius:6px;background:#e9edf6;color:#42516a;font-size:11px;font-weight:700}.paid,.verified{background:#dcf4e8;color:#167246}.review{background:#fff1d7;color:#976716}.cancelled,.unverified{background:#ffeaee;color:#ae1834}.actions{display:flex;gap:12px;flex-wrap:wrap}.preserve{white-space:pre-wrap;color:var(--ink)}.hint{font-size:12px}.thumb{height:190px;max-width:100%;border-radius:12px;object-fit:cover;margin-top:15px}.trap{position:absolute;left:-9999px}.scanner{max-width:650px;margin:auto}#reader{margin:20px 0}#reader video{border-radius:12px}.manual{display:flex;gap:10px;margin:20px 0;align-items:center}.manual input{margin:0}#scan-result{padding:18px;border-radius:10px;margin:20px 0;white-space:pre-line}.scan-ok{background:#dcf4e8;color:#165e3c}.scan-fail{background:#ffeaee;color:#a5132c}#confirm-entry{background:#12683d;border-color:#12683d;width:100%}.ticketcard{--ticket-bg:#fff;--ticket-text:#17223a;--ticket-accent:#2d3389;background:var(--ticket-bg);color:var(--ticket-text);border-top:12px solid var(--ticket-accent);border-radius:20px;display:grid;grid-template-columns:1fr 280px;overflow:hidden}.ticketmain{padding:35px}.ticketlogo{max-width:370px;width:100%;height:120px;object-fit:contain}.tickethero{display:flex;gap:28px;align-items:center;margin:25px 0}.eventphoto{width:225px;height:225px;border-radius:15px;object-fit:cover}.tickethero h1{font-size:35px}.ticketcard .eyebrow,.ticketcard strong{color:var(--ticket-accent)}.ticketstub{border-left:2px dashed #aaa;padding:45px 22px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px}.ticketstub img{width:215px;height:215px;background:white}.ticketcard small,.ticketcard p{color:inherit}footer{text-align:center;color:var(--muted);padding:30px;font-size:12px}[hidden]{display:none!important}@media(max-width:760px){.header{padding:12px}.header img{width:180px;height:55px}.header nav{gap:7px}.navlink{font-size:12px}.hero{grid-template-columns:1fr;padding-top:15px;gap:20px}.heroimage img{height:260px}.wrap{padding:24px 12px}.card{padding:20px}.formgrid,.stats,.steps{grid-template-columns:1fr}.filter{flex-wrap:wrap}.filter label{min-width:160px}.heading{align-items:flex-start}.ticketcard{grid-template-columns:1fr}.ticketmain{padding:20px}.tickethero{flex-direction:column;align-items:flex-start}.eventphoto{width:100%;height:260px}.ticketstub{border-left:0;border-top:2px dashed #aaa}.header .btn{padding:9px}.stat span{min-height:auto}.manual{flex-wrap:wrap}.auth{margin:15px auto}.money .stat strong{font-size:27px}}@media print{.header,footer,.tabs,.btn,button{display:none}.wrap{padding:0}.ticketcard{grid-template-columns:1fr 230px}.tickethero{flex-direction:row}.eventphoto{width:180px;height:180px}.ticketstub{border-left:2px dashed #aaa;border-top:0}}
