:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#15251e;background:#eef2ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{min-height:100dvh;max-width:540px;margin:auto;padding:24px 18px 28px;display:flex;flex-direction:column;gap:17px}header{display:flex;align-items:center;gap:11px;padding:8px 4px 19px;border-bottom:1px solid #d7dfd9}.brand-mark{height:43px;width:43px;border-radius:13px;background:#183e2a;color:#e6c982;font-family:Georgia,serif;font-size:29px;display:grid;place-items:center}.brand{font-family:Georgia,serif;letter-spacing:.2em;font-weight:700;font-size:19px}.subbrand{font-size:9px;letter-spacing:.23em;color:#6d7c72;margin-top:3px}.panel{background:#fff;border:1px solid #e1e7e1;border-radius:22px;padding:23px;box-shadow:0 10px 30px #1739260c}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:#a78039}h1{font-family:Georgia,serif;font-size:30px;line-height:1.05;margin:10px 0 22px}h2{font-family:Georgia,serif;font-size:26px;margin:9px 0 17px}p{color:#617166;line-height:1.5;font-size:14px}label{display:block;font-size:12px;font-weight:700;color:#526157;margin:15px 0 0}input,select{width:100%;margin-top:8px;padding:15px 14px;border:1px solid #d7dfd9;border-radius:12px;background:#f9fbf9;color:#1b2b21;font:inherit;font-size:16px}input:focus,select:focus{outline:2px solid #c4aa71;border-color:#c4aa71}button{border:0;cursor:pointer;font:inherit;font-weight:700}button:disabled{opacity:.55;cursor:not-allowed}.primary,.secondary,.light{border-radius:12px;padding:15px 17px;font-size:14px}.primary{background:#204a31;color:#fff}.secondary{background:#eef3ef;color:#204a31}.light{background:#fff;color:#204a31;min-width:100%}.login .primary{width:100%;margin-top:22px}.topline{display:flex;justify-content:space-between;align-items:center;color:#637569;font-size:12px;padding:0 4px}.link{color:#28583a;background:transparent;padding:6px}.viewfinder{background:#0e1813;min-height:260px;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#c3d0c5}.viewfinder #qr-reader{width:100%;min-height:210px}.viewfinder video{max-height:340px;object-fit:cover}.viewfinder-label{font-size:12px;padding:14px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.divider{text-align:center;color:#9aaba0;font-size:10px;letter-spacing:.12em;font-weight:800;margin:23px 0 9px}.full{width:100%;margin-top:14px}.error{color:#a22323;background:#fff2f0;border-radius:10px;padding:12px;font-size:13px;margin-top:14px}.result{text-align:center;border-radius:22px;padding:33px 24px 24px;box-shadow:0 10px 30px #1739260c}.success{background:#d8f5df;color:#0e5129}.failure{background:#fbe0dd;color:#9e2424}.result-icon{height:78px;width:78px;display:grid;place-items:center;margin:0 auto 22px;border-radius:50%;background:#fff9;font-size:52px;font-weight:600}.result .eyebrow{color:inherit}.ticket{background:#fff9;border-radius:14px;padding:20px;margin:20px 0;text-align:left;color:#1a3523;line-height:1.7}.ticket strong{font-family:Georgia,serif;font-size:21px}.seat{display:flex;justify-content:space-between;border-top:1px solid #d8e4d9;margin-top:12px;padding-top:12px;font-size:12px}.seat b{display:block;font-size:21px}footer{margin-top:auto;text-align:center;color:#a4b0a7;font-size:9px;font-weight:800;letter-spacing:.14em;padding:14px}@media(max-width:380px){.actions{grid-template-columns:1fr}.panel{padding:18px}}.concert-info{display:flex;flex-direction:column;gap:3px;margin-top:16px;padding:15px;border-radius:13px;background:#f3f7f3;color:#204a31}.concert-info strong{font-family:Georgia,serif;font-size:19px}.concert-info span{font-size:13px;color:#6d7c72}
