﻿@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#f3f5f6;background:#111719;font-synthesis:none;--muted:#93a0a2;--panel:#1a2224;--line:#2a3436;--lime:#d5f16b;--lime-dark:#b5d94e;--red:#fa7272;--green:#a8df79}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 14% 18%,#1e2a2b 0,transparent 34%),#111719}button,input{font:inherit}.topbar{height:76px;padding:0 max(6vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12}.brand{font:800 21px Manrope,sans-serif;letter-spacing:.07em;color:#f5f8f5;text-decoration:none}.brand span{color:var(--lime)}.reader-link,.back-link{font-size:13px;color:var(--lime);text-decoration:none}.layout{max-width:1120px;margin:0 auto;padding:85px 30px 70px;display:grid;grid-template-columns:.88fr 1.12fr;gap:28px 76px;align-items:start}.intro{padding:32px 0}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--lime);margin:0 0 16px}.intro h1,.reader-title h1{font:700 clamp(42px,6vw,66px)/1.02 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 22px}.muted{color:var(--muted);font-size:14px;line-height:1.7;max-width:390px}.notice{margin-top:36px;color:#c1cbca;font-size:12px}.notice-dot{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--lime)}.sale-panel,.reader-panel,.receipt{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 24px 70px #0002}.panel-heading,.receipt-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.panel-heading h2,.receipt h2{font:700 22px Manrope,sans-serif;margin:0}.receipt-icon{font-size:25px;color:var(--lime)}.products{display:grid;gap:11px}.product-option{width:100%;border:1px solid var(--line);background:#171e20;color:inherit;border-radius:12px;padding:17px 18px;display:flex;align-items:center;text-align:left;justify-content:space-between;cursor:pointer;transition:.15s}.product-option:hover{border-color:#78847d}.product-option.selected{border-color:var(--lime);background:#242e24;box-shadow:inset 0 0 0 1px var(--lime)}.product-name{font-weight:600}.product-sub{display:block;margin-top:5px;color:var(--muted);font-size:11px}.price{font:700 18px Manrope;color:var(--lime);white-space:nowrap}.sale-controls{display:flex;justify-content:space-between;align-items:center;margin:24px 0 18px;color:#dce1df;font-size:13px}.quantity{display:flex;align-items:center;gap:9px}.quantity button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#141a1c;color:white;cursor:pointer}.quantity input{width:38px;text-align:center;color:white;background:transparent;border:0;outline:0}.primary,.secondary{border:0;border-radius:9px;padding:13px 17px;font-size:13px;font-weight:700;cursor:pointer}.primary{background:var(--lime);color:#182019}.primary:hover{background:var(--lime-dark)}.primary:disabled{opacity:.45;cursor:wait}.sale-panel>.primary{width:100%}.secondary{background:#2b3739;color:#edf1ef;border:1px solid #3a494a}.message{min-height:18px;color:var(--red);font-size:12px;margin:11px 0 0}.receipt{grid-column:1/-1}.receipt-head{margin-bottom:22px}.receipt-head .eyebrow{margin-bottom:7px}.ticket-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.ticket{background:#f8f8f3;color:#182020;border-radius:10px;padding:18px;text-align:center;break-inside:avoid}.ticket h3{font:700 15px Manrope;margin:0}.ticket p{font-size:11px;color:#536061;margin:6px 0}.ticket img{width:150px;height:150px;display:block;margin:8px auto}.ticket-code{font:700 11px monospace;letter-spacing:.08em;word-break:break-all}.ticket-rule{border-top:1px dashed #abb5b2;margin-top:14px;padding-top:11px;font-size:10px;color:#596363}.hidden{display:none!important}.reader-page{background:radial-gradient(ellipse at 80% 15%,#1e292b 0,transparent 40%),#111719}.reader-layout{max-width:980px;margin:0 auto;padding:76px 30px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.reader-title{padding-top:25px}.reader-title .muted{max-width:330px}.reader-panel{padding:22px}.camera-wrap{height:230px;background:#101617;border:1px solid var(--line);border-radius:12px;position:relative;overflow:hidden;margin-bottom:12px}.camera-wrap video{width:100%;height:100%;object-fit:cover}.camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;gap:9px;justify-content:center;align-items:center;color:var(--muted)}.camera-placeholder span{font-size:35px;color:var(--lime)}.camera-placeholder b{font-size:13px;color:#e4e9e6}.camera-placeholder small{font-size:11px}.full{width:100%}.divider{display:flex;align-items:center;gap:11px;color:#849091;font-size:10px;margin:19px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}.manual-form{display:flex;gap:8px}.manual-form input{flex:1;min-width:0;background:#12191b;border:1px solid var(--line);border-radius:8px;padding:12px;color:white;outline:none;font:12px monospace}.manual-form input:focus{border-color:#94ac5d}.scan-result{padding:14px;border-radius:10px;margin-top:14px;font-size:13px;line-height:1.6}.scan-result.accepted{background:#20331f;color:#d5f0c0;border:1px solid #3d5a32}.scan-result.rejected{background:#371f21;color:#ffd3d3;border:1px solid #643638}.scan-result b{display:block;font-size:19px;margin-bottom:3px}.camera-note{font-size:11px;color:var(--muted);min-height:14px}.back-link{display:inline-block;margin-top:5px}
@media(max-width:760px){.layout,.reader-layout{grid-template-columns:1fr;padding:35px 18px;gap:22px}.intro{padding:10px 0}.intro h1,.reader-title h1{font-size:48px}.notice{margin-top:18px}.sale-panel,.reader-panel,.receipt{padding:21px}.reader-layout{padding-top:42px}.receipt{grid-column:auto}.topbar{padding:0 18px}}
@media print{@page{margin:10mm}body{background:#fff!important;color:#111!important}body *{visibility:hidden!important}#receipt,#receipt *{visibility:visible!important}#receipt[open]{display:block;position:absolute;inset:0 auto auto 0;margin:0;width:100%;max-width:none;max-height:none;overflow:visible;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff;color:#111}.sale-dialog .receipt-head,.sale-dialog-notice,.sale-dialog-actions{display:none!important}.sale-dialog .ticket-list{grid-template-columns:repeat(2,1fr);gap:8mm}.sale-dialog .ticket{border:1px solid #999;max-width:90mm;break-inside:avoid}.sale-dialog .ticket img{width:42mm;height:42mm}.sale-dialog .ticket-rule{color:#333}.ticket-position,.ticket-sale-ref{color:#444!important}}
.nav-links,.user-tools{display:flex;align-items:center;gap:20px}.user-label{font-size:11px;color:#b4c0c0}.logout-button{background:transparent;border:1px solid var(--line);color:#d4dcdc;border-radius:8px;padding:8px 11px;font-size:11px;cursor:pointer}.auth-page{display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,430px);padding:38px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px #0003}.auth-card>.brand{display:inline-block;margin-bottom:36px}.auth-card h1,.settings-heading h1{font:700 32px Manrope,sans-serif;margin:0 0 12px}.auth-card .muted{margin-bottom:25px}.auth-form,.auth-form label{display:grid;gap:10px}.auth-form{gap:16px}.auth-form label,.user-form label{font-size:12px;color:#c6d0d0}.auth-form input,.user-form input,.user-form select{width:100%;margin-top:7px;padding:12px;border-radius:8px;border:1px solid var(--line);background:#131a1c;color:#f3f5f6;outline:none}.auth-form input:focus,.user-form input:focus,.user-form select:focus{border-color:var(--lime)}.auth-form .primary{margin-top:5px}.settings-layout{max-width:900px;margin:0 auto;padding:62px 25px 80px;display:grid;gap:20px}.settings-heading{margin-bottom:12px}.settings-heading h1{font-size:42px}.settings-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px}.settings-panel h2{font:700 21px Manrope;margin:0 0 8px}.settings-panel>.muted{margin:0 0 20px}.price-list,.user-list{display:grid;gap:10px;margin-top:18px}.price-row,.user-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:11px;padding:13px 14px;background:#171e20}.price-row strong,.user-row strong{display:block;font-size:13px}.price-row small,.user-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.price-input{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.price-input input{width:90px;padding:9px;background:#111719;border:1px solid var(--line);border-radius:7px;color:white;text-align:right}.price-row .secondary,.user-actions button{padding:9px 11px;font-size:11px}.user-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-items:end;margin-top:21px}.user-form .primary{grid-column:1/-1}.user-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.danger-button{padding:9px 11px;border:1px solid #753c41;border-radius:8px;background:#3a2023;color:#ffc6ca;font-size:11px;cursor:pointer}.success-message{color:var(--green)}@media(max-width:600px){.user-label{display:none}.topbar{gap:10px}.nav-links,.user-tools{gap:10px}.settings-layout{padding:35px 16px}.settings-panel{padding:20px}.user-form{grid-template-columns:1fr}.user-form .primary{grid-column:auto}.price-row{flex-wrap:wrap}.price-row .secondary{margin-left:auto}.auth-card{padding:27px}}
.shop-page{background:radial-gradient(ellipse at 16% 24%,#203031 0,transparent 36%),#111719}.shop-secure{font-size:10px;letter-spacing:.15em;color:#aebbbc}.shop-layout{max-width:1060px;margin:0 auto;padding:74px 28px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.shop-intro h1{font:700 clamp(42px,6vw,62px)/1.04 Manrope,sans-serif;letter-spacing:-.05em;margin:0 0 20px}.shop-intro>.muted{max-width:390px}.shop-bullet{display:flex;align-items:center;gap:15px;margin-top:22px}.shop-bullet span{width:34px;height:34px;border:1px solid #3b4b4c;border-radius:50%;display:grid;place-items:center;color:var(--lime);font-size:10px}.shop-bullet p{font-size:13px;color:#d0d9d8}.shop-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:29px;box-shadow:0 24px 70px #0003}.shop-card h2{font:700 24px Manrope;margin:0 0 22px}.shop-product-wrap{display:grid;gap:8px}.shop-quantity{display:flex;align-items:center;justify-content:space-between;padding:0 13px 6px;color:var(--muted);font-size:11px}.shop-quantity .quantity{gap:11px}.shop-quantity .quantity span{min-width:18px;text-align:center;color:#f1f4f2}.shop-label{display:block;font-size:12px;color:#d7dfde;margin:21px 0 8px}.shop-email{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px;background:#131a1c;color:#f3f5f6;outline:none}.shop-email:focus{border-color:var(--lime)}.shop-total{display:flex;align-items:center;justify-content:space-between;margin:22px 0;color:#c4cecd;font-size:13px}.shop-total strong{font:700 21px Manrope;color:var(--lime)}.shop-card>.primary{width:100%}.shop-message{min-height:17px;color:var(--red);font-size:12px}.shop-fineprint{font-size:10px;line-height:1.6;color:#839091;margin:14px 0 0}.payment-status{margin:16px 0;padding:14px;border-radius:10px;font-size:12px;line-height:1.6}.payment-status.success{background:#20331f;color:#d5f0c0;border:1px solid #3d5a32}.payment-status.waiting{background:#262e25;color:#e4edc9;border:1px solid #58663b}.payment-status.rejected{background:#371f21;color:#ffd3d3;border:1px solid #643638}.store-qr-row{display:flex;align-items:center;gap:24px;margin-top:18px}.store-qr-row img{width:190px;height:190px;background:#fff;border-radius:10px;padding:10px}.store-url{color:var(--lime);font-size:13px;overflow-wrap:anywhere}.store-qr-row .muted{font-size:11px;margin:10px 0 15px}.download-qr{display:inline-block;text-decoration:none;font-size:11px;padding:10px 13px}@media(max-width:760px){.shop-layout{grid-template-columns:1fr;padding:40px 18px;gap:28px}.shop-intro h1{font-size:46px}.shop-intro{padding:0 4px}.shop-card{padding:22px}.store-qr-row{align-items:flex-start;flex-direction:column}}

.shop-product-option{cursor:pointer}.shop-product-check{width:17px;height:17px;flex:0 0 auto;margin:0 12px 0 0;accent-color:var(--lime)}.shop-product-label{flex:1;min-width:0}.shop-product-option .price{margin-left:12px}
.report-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.report-controls label{display:grid;gap:8px;color:#c6d0d0;font-size:12px}.report-controls input{padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#131a1c;color:#f3f5f6;color-scheme:dark}.report-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px}.report-totals article{display:grid;gap:9px;padding:16px;border:1px solid var(--line);border-radius:11px;background:#171e20}.report-totals span{font-size:11px;color:var(--muted)}.report-totals strong{font:700 22px Manrope;color:var(--lime)}.report-table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table th,.report-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}.report-table th{color:#aebbbc;font-weight:600}.report-table td:last-child,.report-table th:last-child{text-align:right;white-space:nowrap}.report-table td:nth-child(3),.report-table th:nth-child(3){text-align:center}.report-layout .settings-panel h2{margin-bottom:10px}@media(max-width:600px){.report-totals{grid-template-columns:1fr}.report-controls .primary{width:100%}}
.season-pass-form{display:grid;grid-template-columns:1fr 220px;gap:14px;align-items:end;margin-top:20px}.season-pass-form label{display:grid;gap:8px;color:#c6d0d0;font-size:12px}.season-pass-form input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#131a1c;color:#f3f5f6;color-scheme:dark}.season-pass-form .primary{grid-column:1/-1;justify-self:start}.season-pass-list{display:grid;gap:12px;margin-top:18px}.season-pass-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#171e20}.season-pass-info{display:grid;gap:7px;min-width:0}.season-pass-info strong{font:700 15px Manrope}.season-pass-info small{color:var(--muted);font-size:11px}.season-pass-info code{color:#d7dfde;font-size:11px;overflow-wrap:anywhere}.season-pass-qr{width:132px;height:132px;flex:0 0 auto;background:#fff;border-radius:8px;padding:7px}.season-pass-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.season-pass-actions .secondary,.season-pass-actions .danger-button{font-size:11px;text-decoration:none}.season-pass-cancelled{opacity:.65}.season-pass-cancelled .season-pass-qr{filter:grayscale(1)}@media(max-width:600px){.season-pass-form{grid-template-columns:1fr}.season-pass-form .primary{grid-column:auto;width:100%}.season-pass-row{align-items:flex-start}.season-pass-qr{width:94px;height:94px}}
.close-time-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.close-time-form label{display:grid;gap:8px;color:#c6d0d0;font-size:12px}.close-time-form input{padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#131a1c;color:#f3f5f6;color-scheme:dark}.close-time-form .primary{min-width:140px}
.sale-dialog{width:min(900px,calc(100vw - 28px));max-width:900px;max-height:calc(100dvh - 28px);overflow:auto;margin:auto;padding:26px;border:1px solid #54605b;border-radius:18px;background:#1a2224;color:#f3f5f6;box-shadow:0 28px 100px #000b}.sale-dialog::backdrop{background:#05090ad9;backdrop-filter:blur(5px)}.sale-dialog .receipt-head{align-items:center;margin-bottom:15px}.sale-dialog .eyebrow{margin-bottom:7px}.sale-dialog h2{font:700 24px Manrope,sans-serif;margin:0}.sale-summary{color:#d5f16b;font-size:12px;font-weight:700;margin:9px 0 0}.sale-confirm-icon{width:42px;height:42px;flex:0 0 auto;border:1px solid #48643c;border-radius:50%;display:grid;place-items:center;background:#20331f;color:#b9e795;font-size:22px}.sale-dialog-notice{margin:0 0 16px;color:#bfcac6;font-size:12px}.sale-dialog .ticket-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.sale-dialog .ticket{padding:15px}.ticket-position{font-size:9px!important;font-weight:800;letter-spacing:.14em;color:#536061!important;margin:0 0 8px!important}.ticket-sale-ref{font-size:9px;font-weight:700;letter-spacing:.04em;color:#596363;margin-top:7px}.sale-dialog-actions{position:sticky;bottom:-26px;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:14px 0 0;background:linear-gradient(180deg,#1a222400,#1a2224 22%);margin-top:16px}.sale-dialog-actions .primary,.sale-dialog-actions .secondary{font-size:12px}.sale-dialog-actions .primary{min-width:170px}.sale-dialog-actions .secondary{min-width:210px}
@media(max-width:600px){.sale-dialog{padding:18px;border-radius:14px}.sale-dialog .receipt-head{margin-bottom:12px}.sale-dialog h2{font-size:19px}.sale-dialog .ticket-list{grid-template-columns:1fr}.sale-dialog-actions{bottom:-18px;flex-direction:column}.sale-dialog-actions button{width:100%}.sale-confirm-icon{width:34px;height:34px}.sale-summary{font-size:11px}}

/* Gate simulator */
.gate-simulator-page{background:radial-gradient(ellipse at 80% 8%,#24332d 0,transparent 35%),#111719}.gate-layout{max-width:1180px;margin:0 auto;padding:64px 28px 80px;display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:start}.gate-intro{padding:32px 14px}.gate-intro h1{font:800 clamp(42px,6vw,64px)/1.02 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 18px}.gate-intro .muted{max-width:355px}.gate-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 24px 70px #0002}.gate-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.gate-topline h2{font:700 21px Manrope,sans-serif;margin:0}.gate-topline .eyebrow{margin-bottom:8px}.gate-ready,.sim-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #46534d;color:#c9d4d0;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800;letter-spacing:.1em;white-space:nowrap}.gate-ready i{width:7px;height:7px;background:#a8df79;border-radius:50%;box-shadow:0 0 10px #a8df79}.gate-ready.checking i{background:#f4c35e;box-shadow:0 0 10px #f4c35e}.gate-ready.gate-blocked i{background:#fa7272;box-shadow:0 0 10px #fa7272}.gate-machine{height:185px;margin:22px 0 14px;border:1px solid #303d3f;border-radius:14px;background:linear-gradient(180deg,#151d1f,#101617);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.gate-post{width:86px;height:102px;border-radius:11px;background:linear-gradient(145deg,#445253,#202a2b 68%);border:1px solid #75817d;box-shadow:0 12px 24px #0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:2}.gate-post b{font-size:8px;letter-spacing:.1em;color:#d5dfdb}.gate-light{width:10px;height:10px;background:#a8df79;border-radius:50%;box-shadow:0 0 12px #a8df79}.gate-walkway{height:82px;width:min(54%,280px);position:relative;border-top:2px solid #485552;border-bottom:2px solid #485552;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(90deg,#192123 0 24px,#1e2829 24px 48px)}.walk-label{position:absolute;top:-19px;left:6px;font-size:8px;letter-spacing:.15em;color:#91a09b}.walk-arrow{position:absolute;right:9px;color:#d5f16b;font-size:28px}.gate-arm{position:absolute;left:24%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:3}.arm-center{position:absolute;inset:18px;background:#d6d9d1;border:4px solid #414947;border-radius:50%;box-shadow:0 3px 10px #0008}.arm-blade{position:absolute;left:21px;top:19px;width:59px;height:8px;border-radius:5px;background:linear-gradient(180deg,#f3f3e7,#a9b0a4);transform-origin:4px 50%;box-shadow:0 2px 4px #0008}.arm-a{transform:rotate(0)}.arm-b{transform:rotate(120deg)}.arm-c{transform:rotate(240deg)}.gate-machine.opening-right .gate-arm{transform:translate(-50%,-50%) rotate(68deg)}.gate-machine.opening-left .gate-arm{transform:translate(-50%,-50%) rotate(-68deg)}.gate-machine.blocked .gate-light{background:#fa7272;box-shadow:0 0 12px #fa7272}.gate-decision{min-height:66px;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;gap:3px;background:#182022;border:1px solid #303b3c}.gate-decision strong{font-size:12px;letter-spacing:.04em}.gate-decision span{font-size:11px;line-height:1.5;color:#bac4c1;overflow-wrap:anywhere}.gate-decision.accepted{background:#20331f;border-color:#3d5a32;color:#d5f0c0}.gate-decision.rejected{background:#371f21;border-color:#643638;color:#ffd3d3}.gate-decision.checking{border-color:#72603c}.gate-scan-form{margin-top:17px}.gate-scan-form>label,.season-date-label,.gate-direction-label{display:block;color:#cbd4d1;font-size:11px;font-weight:600;margin-bottom:8px}.gate-scan-form>div{display:flex;gap:8px}.gate-scan-form input,.season-date{min-width:0;flex:1;padding:12px;border:1px solid var(--line);border-radius:8px;background:#111819;color:#f3f5f6;outline:none;font:12px monospace}.gate-scan-form input:focus,.season-date:focus{border-color:var(--lime)}.gate-scan-form button{white-space:nowrap;padding:11px 13px}.gate-direction-label{margin:15px 0 7px}.gate-direction{display:flex;gap:8px}.gate-direction label{cursor:pointer}.gate-direction input{position:absolute;opacity:0}.gate-direction span{display:block;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#151c1e;color:#aebbb6;font-size:10px}.gate-direction input:checked+span{border-color:var(--lime);color:var(--lime);background:#242e24}.gate-panel .message{color:#d5f16b}.test-ticket-panel,.gate-history-panel{grid-column:2}.test-ticket-panel>.muted{max-width:none;margin:12px 0}.sim-badge{color:#f3d591;border-color:#6f5d39}.sim-ticket-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.sim-ticket-actions button{font-size:10px;padding:9px 11px}.season-date-label{margin:10px 0 6px}.season-date{display:block;max-width:220px;font-family:inherit;color-scheme:dark}.sim-tickets{display:grid;gap:10px;margin-top:14px}.sim-ticket{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#141b1d}.sim-ticket>div{display:grid;gap:8px;min-width:0}.sim-ticket b{font-size:11px}.sim-ticket code,.history-row code{font:10px monospace;color:#c9d3cf;overflow-wrap:anywhere}.sim-ticket img{width:88px;height:88px;background:white;border-radius:6px;padding:4px}.sim-ticket .secondary{justify-self:start;font-size:10px;padding:8px 10px}.gate-history-panel .gate-topline{margin-bottom:15px}.gate-history-panel .secondary{font-size:10px;padding:8px 10px}.scan-history{display:grid;gap:7px;max-height:340px;overflow:auto}.history-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#151c1e}.history-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#20331f;color:#b9e795;font-weight:800}.history-rejected .history-icon{background:#371f21;color:#ffb0b0}.history-row>div{display:grid;gap:3px;min-width:0}.history-row b{font-size:10px}.history-row small{font-size:9px;color:var(--muted)}.history-row time{font-size:9px;color:#899692;white-space:nowrap}
@media(max-width:760px){.gate-layout{grid-template-columns:1fr;padding:34px 18px;gap:16px}.gate-intro{padding:8px 2px}.gate-panel,.test-ticket-panel,.gate-history-panel{grid-column:auto}.gate-scan-form>div{flex-direction:column}.gate-scan-form button{width:100%}.gate-machine{height:160px}.gate-post{width:67px;height:88px}.gate-walkway{width:55%}.history-row{grid-template-columns:25px minmax(0,1fr)}.history-row time{grid-column:2}}




