:root{--bg:#020403;--bg2:#070b09;--panel:#09100d;--panel2:#0d1512;--line:rgba(255,255,255,.09);--line2:rgba(204,255,0,.30);--text:#f3f7f5;--muted:#8f9d97;--lime:#caff00;--lime2:#93d600;--danger:#ff5d68;--ok:#37da7f;--warn:#ffd166;--sidebar:268px;--radius:20px;--shadow:0 24px 80px rgba(0,0,0,.42)}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(900px 520px at 92% -10%,rgba(202,255,0,.11),transparent 58%),radial-gradient(720px 480px at 4% 20%,rgba(35,91,62,.18),transparent 62%),var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:inherit}input,select,textarea,button{font:inherit}.shell{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:18px 0 56px}.top{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;padding:10px 0;border-bottom:1px solid var(--line)}.brand a,.admin-logo{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:950;text-transform:uppercase;letter-spacing:.03em}.brand a:before,.logo-orb{content:"";width:38px;height:38px;flex:0 0 38px;border-radius:13px;border:1px solid var(--line2);background:radial-gradient(circle at 42% 42%,rgba(202,255,0,.42),rgba(202,255,0,.05) 56%,transparent 72%);box-shadow:0 0 28px rgba(202,255,0,.18)}.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav a,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid var(--line);background:linear-gradient(180deg,#101814,#080d0b);color:var(--text);text-decoration:none;border-radius:12px;padding:10px 15px;font-weight:850;font-size:12px;cursor:pointer;transition:.18s ease}.nav a:hover,.btn:hover{border-color:var(--line2);color:var(--lime);transform:translateY(-1px)}.btn.lime{background:linear-gradient(180deg,var(--lime),var(--lime2));color:#071000;border-color:transparent;box-shadow:0 10px 30px rgba(202,255,0,.16)}.btn.red{background:rgba(255,93,104,.10);border-color:rgba(255,93,104,.38);color:#ffc1c6}.btn-lg{min-height:50px;padding:13px 22px}.page-hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;padding:38px;margin-bottom:18px;background:linear-gradient(110deg,rgba(8,15,12,.96),rgba(8,14,11,.72)),radial-gradient(circle at 84% 50%,rgba(202,255,0,.14),transparent 30%);box-shadow:var(--shadow)}.compact-hero{min-height:190px;display:flex;align-items:center}.page-hero h1{font-size:46px;line-height:1.05;margin:6px 0 12px}.page-hero p{max-width:720px;color:var(--muted);font-size:16px}.eyebrow{display:block;color:var(--lime);font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.card{grid-column:span 12;background:linear-gradient(180deg,rgba(11,18,15,.96),rgba(5,9,7,.96));border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card h1,.card h2,.card h3{margin:0 0 14px;letter-spacing:-.025em}.card h1{font-size:30px}.card h2{font-size:23px}.muted,.small{color:var(--muted)}.form{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.field{grid-column:span 6}.field.full{grid-column:span 12}.field.third{grid-column:span 4}.field label{display:block;color:#d2dbd7;font-size:12px;font-weight:850;margin:0 0 7px}input,select,textarea{width:100%;border:1px solid var(--line);background:#050a08;color:var(--text);border-radius:12px;padding:13px 14px;outline:none;transition:.18s ease}input:focus,select:focus,textarea:focus{border-color:var(--line2);box-shadow:0 0 0 4px rgba(202,255,0,.055)}textarea{min-height:112px;resize:vertical}.booking-card{padding:26px}.form-section-title{display:flex;align-items:center;gap:12px;margin:7px 0 2px;padding-top:11px;border-top:1px solid var(--line)}.form-section-title:first-of-type{border-top:0;padding-top:0}.form-section-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(202,255,0,.10);border:1px solid var(--line2);color:var(--lime);font-weight:950}.form-section-title b{display:block}.form-section-title small{display:block;color:var(--muted);font-size:11px}.price-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px;border-radius:16px;background:linear-gradient(120deg,rgba(202,255,0,.11),rgba(202,255,0,.025));border:1px solid var(--line2)}.price-summary>div>span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.price-summary [data-price-output]{font-size:28px;font-weight:950;color:var(--lime)}.price-summary [data-price-output] small{display:block;font-size:11px;color:var(--muted);font-weight:600}.price-summary p{margin:0;max-width:430px;color:var(--muted);font-size:12px}.price-error{color:var(--danger)!important;font-size:13px!important}.price-loader{display:inline-block;width:14px;height:14px;border:2px solid rgba(202,255,0,.25);border-top-color:var(--lime);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-submit{display:flex;justify-content:flex-end}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:15px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.022)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:900;background:rgba(255,255,255,.025)}.badge.ok{color:#9cffbd;border-color:rgba(55,218,127,.35)}.badge.warn{color:#ffe29b;border-color:rgba(255,209,102,.38)}.badge.danger{color:#ffb2b8;border-color:rgba(255,93,104,.38)}.notice{border:1px solid var(--line2);background:rgba(202,255,0,.075);padding:13px;border-radius:12px;margin:0 0 14px;color:#edffd0}.error{border-color:rgba(255,93,104,.38);background:rgba(255,93,104,.10);color:#ffd6da}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat{background:linear-gradient(180deg,#0d1612,#060a08);border:1px solid var(--line);border-radius:16px;padding:17px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.stat b{font-size:29px;display:block;margin-top:7px;color:#fff;text-transform:none}.login{max-width:440px;margin:7vh auto}.qrbox{background:#fff;padding:14px;border-radius:14px;display:inline-block}.actionsrow{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.language-switch{display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:10px;padding:3px}.language-switch a{padding:7px 9px;border-radius:7px;color:var(--muted);text-decoration:none;font-size:11px;font-weight:900}.language-switch a.active{background:var(--lime);color:#071007}
/* ADMIN */
.admin-layout{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:22px 16px;background:linear-gradient(180deg,#08100d,#030605);border-right:1px solid var(--line);z-index:50;display:flex;flex-direction:column}.admin-logo{padding:8px 8px 24px}.admin-logo b{display:block;font-size:14px}.admin-logo small{display:block;color:var(--lime);font-size:9px;letter-spacing:.12em;margin-top:2px}.admin-nav{display:flex;flex-direction:column;gap:6px;min-height:0;flex:1}.admin-nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 12px;border-radius:13px;color:#aab5b0;text-decoration:none;font-weight:780;font-size:12px;border:1px solid transparent;transition:.18s ease}.admin-nav-item:hover{background:rgba(255,255,255,.035);color:#fff}.admin-nav-item.active{background:linear-gradient(100deg,rgba(202,255,0,.16),rgba(202,255,0,.035));border-color:var(--line2);color:var(--lime)}.nav-icon{display:grid;place-items:center;width:24px;height:24px}.nav-icon svg,.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-section{margin:17px 11px 5px;color:#59655f;font-size:9px;font-weight:950;letter-spacing:.14em}.admin-sidebar-bottom{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.admin-main{grid-column:2;min-width:0}.admin-topbar{position:sticky;top:0;z-index:35;min-height:88px;display:flex;align-items:center;gap:14px;justify-content:space-between;padding:17px 28px;background:rgba(3,6,5,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.admin-topbar h1{font-size:22px;margin:2px 0 0}.top-actions{display:flex;align-items:center;gap:9px}.icon-btn{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#0b1210;color:#fff}.admin-content{padding:26px 28px 56px;max-width:1500px;width:100%;margin:0 auto}.admin-content>.card+.card{margin-top:16px}.sidebar-overlay{display:none}.scanner-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px}.scanner-card,.manual-card{min-width:0}.card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.camera-status{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:900;white-space:nowrap}.camera-status.on{color:var(--lime);border-color:var(--line2);background:rgba(202,255,0,.08)}.camera-stage{position:relative;overflow:hidden;aspect-ratio:16/9;max-height:520px;margin:17px 0;border-radius:18px;background:#020403;border:1px solid var(--line)}.camera-stage video{width:100%;height:100%;object-fit:cover;display:block}.camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:radial-gradient(circle at center,rgba(202,255,0,.06),transparent 45%),#030605;color:var(--muted);text-align:center;padding:25px}.camera-placeholder[hidden]{display:none}.camera-placeholder b{color:#dfe7e3}.camera-placeholder small{max-width:380px}.camera-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;border:1px solid var(--line2);color:var(--lime);font-size:35px;margin-bottom:4px}.scan-frame{position:absolute;inset:20% 29%;pointer-events:none}.scan-frame i{position:absolute;width:38px;height:38px;border-color:var(--lime);border-style:solid;filter:drop-shadow(0 0 7px rgba(202,255,0,.45))}.scan-frame i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px}.scan-frame i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0}.scan-frame i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px}.scan-frame i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0}.scanner-controls{display:flex;gap:9px;flex-wrap:wrap}.scanner-controls button:disabled{opacity:.45;cursor:not-allowed;transform:none}.camera-help{min-height:20px;margin-top:10px;color:#ffb8be;font-size:12px}.compact-form{margin-top:18px}.scan-result{margin-top:16px}.valid-result{border-color:rgba(55,218,127,.35)}
@media(max-width:1050px){.scanner-grid{grid-template-columns:1fr}.admin-content{padding:22px}.field.third{grid-column:span 6}.price-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:860px){.shell{width:calc(100% - 20px)}.top{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.field,.field.third{grid-column:span 12}.stats{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.page-hero{padding:27px}.page-hero h1{font-size:35px}.admin-layout{display:block}.admin-sidebar{transform:translateX(-105%);transition:.22s ease;box-shadow:24px 0 70px rgba(0,0,0,.5)}.sidebar-open .admin-sidebar{transform:translateX(0)}.sidebar-open .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:45}.admin-main{grid-column:auto}.icon-btn{display:grid;place-items:center;flex:0 0 42px}.admin-topbar{padding:14px 16px}.admin-topbar>div:nth-child(2){flex:1}.admin-content{padding:18px 14px 45px}.card{padding:17px}.card h1{font-size:25px}.table{min-width:680px}}
@media(max-width:520px){.stats{grid-template-columns:1fr}.nav a,.btn{font-size:11px;padding:9px 11px}.page-hero{padding:22px;border-radius:21px}.page-hero h1{font-size:30px}.booking-card{padding:16px}.price-summary [data-price-output]{font-size:24px}.form-submit .btn{width:100%}.camera-stage{aspect-ratio:4/5}.scan-frame{inset:25% 14%}.admin-topbar h1{font-size:18px}.admin-topbar .eyebrow{display:none}.top-actions .language-switch{display:none}}

/* ===== PORTAL LAYOUT REBUILD ===== */
.portal-layout{min-height:100vh;display:grid;grid-template-columns:272px minmax(0,1fr)}
.portal-sidebar{position:fixed;left:0;top:0;bottom:0;width:272px;z-index:100;display:flex;flex-direction:column;padding:22px 15px;background:linear-gradient(180deg,#09110e 0%,#030605 65%,#020302 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:20px 0 70px rgba(0,0,0,.26)}
.portal-logo{display:flex;align-items:center;gap:12px;padding:7px 9px 23px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:16px}
.portal-logo b{display:block;font-size:14px;letter-spacing:.05em}.portal-logo small{display:block;color:var(--lime);font-size:9px;letter-spacing:.15em;margin-top:2px}
.side-nav{display:flex;flex-direction:column;gap:5px;min-height:0;flex:1;overflow:auto;padding-right:2px}
.side-nav-item{display:flex;align-items:center;gap:12px;min-height:47px;padding:10px 12px;border:1px solid transparent;border-radius:13px;text-decoration:none;color:#a9b4af;font-size:12px;font-weight:800;transition:.18s}
.side-nav-item:hover{color:#fff;background:rgba(255,255,255,.035)}.side-nav-item.active{color:var(--lime);border-color:rgba(202,255,0,.27);background:linear-gradient(100deg,rgba(202,255,0,.15),rgba(202,255,0,.025));box-shadow:inset 3px 0 0 var(--lime)}
.side-nav-bottom{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.nav-icon{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px}.nav-icon svg,.icon-btn svg,.public-menu-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portal-main{grid-column:2;min-width:0}.portal-topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:84px;padding:15px 28px;background:rgba(2,5,4,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}
.topbar-title h1{margin:2px 0 0;font-size:23px}.portal-content{width:100%;max-width:1500px;margin:0 auto;padding:27px 28px 60px}.icon-btn{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#0b1210;color:#fff}.sidebar-overlay{display:none}
.client-portal .portal-sidebar{background:linear-gradient(180deg,#07120e,#030806 72%,#020403)}.client-portal .portal-content{max-width:1320px}
.public-top{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:900;letter-spacing:.04em}.brand b{color:var(--lime)}
.public-nav{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.public-nav>a{min-height:40px;display:inline-flex;align-items:center;padding:9px 12px;border-radius:11px;border:1px solid transparent;text-decoration:none;color:#bac4bf;font-size:11px;font-weight:850}.public-nav>a:hover{color:var(--lime);border-color:var(--line2);background:rgba(202,255,0,.04)}.public-menu-btn{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#0b1210;color:#fff}
.reservation-summary{padding:20px;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.18)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.summary-grid p{padding:12px;border:1px solid var(--line);border-radius:12px;margin:0}.summary-grid b,.summary-grid span{display:block}.summary-grid b{font-size:10px;color:var(--muted);text-transform:uppercase;margin-bottom:5px}
@media(max-width:900px){.portal-layout{display:block}.portal-sidebar{transform:translateX(-105%);transition:.22s}.sidebar-open .portal-sidebar{transform:translateX(0)}.sidebar-open .sidebar-overlay{display:block;position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.68)}.portal-main{grid-column:auto}.icon-btn{display:grid;place-items:center}.portal-topbar{padding:13px 15px}.portal-content{padding:18px 14px 48px}.summary-grid{grid-template-columns:1fr 1fr}.public-menu-btn{display:grid;place-items:center}.public-nav{display:none;position:absolute;left:16px;right:16px;top:76px;z-index:80;padding:12px;border:1px solid var(--line);border-radius:16px;background:#07100d;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.public-nav.open{display:flex}.public-nav>a{width:100%}}
@media(max-width:540px){.summary-grid{grid-template-columns:1fr}.topbar-title h1{font-size:18px}.portal-topbar .eyebrow{display:none}.portal-content{padding:14px 10px 40px}}

/* ===== FINAL VISUAL FIX: PORTAL + COMPACT TICKET ===== */
body.area-client,body.area-admin{overflow-x:hidden}
.portal-layout{min-height:100vh;display:grid!important;grid-template-columns:248px minmax(0,1fr)!important}
.portal-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:248px!important;z-index:100!important;display:flex!important;flex-direction:column!important;padding:18px 14px!important;background:linear-gradient(180deg,#07100d 0%,#030705 70%,#010302 100%)!important;border-right:1px solid rgba(255,255,255,.08)!important;box-shadow:18px 0 55px rgba(0,0,0,.30)!important}
.portal-logo{display:flex!important;align-items:center!important;gap:11px!important;padding:7px 8px 20px!important;margin:0 0 14px!important;border-bottom:1px solid rgba(255,255,255,.07)!important;text-decoration:none!important}
.portal-logo .logo-orb{width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:11px!important}
.portal-logo b{display:block!important;font-size:13px!important;line-height:1.1!important}.portal-logo small{display:block!important;color:var(--lime)!important;font-size:8px!important;letter-spacing:.14em!important;margin-top:3px!important}
.side-nav{display:flex!important;flex-direction:column!important;gap:5px!important;min-height:0!important;flex:1!important;overflow:auto!important}
.side-nav-item{display:flex!important;align-items:center!important;gap:11px!important;min-height:44px!important;padding:9px 11px!important;border:1px solid transparent!important;border-radius:12px!important;text-decoration:none!important;color:#aeb9b4!important;font-size:11px!important;font-weight:800!important}
.side-nav-item:hover{background:rgba(255,255,255,.035)!important;color:#fff!important}.side-nav-item.active{color:var(--lime)!important;border-color:rgba(202,255,0,.24)!important;background:linear-gradient(100deg,rgba(202,255,0,.14),rgba(202,255,0,.02))!important;box-shadow:inset 3px 0 0 var(--lime)!important}
.side-nav-bottom{margin-top:auto!important;padding-top:10px!important;border-top:1px solid rgba(255,255,255,.07)!important}.nav-section{margin:15px 10px 4px!important}
.portal-main{grid-column:2!important;min-width:0!important}.portal-topbar{position:sticky!important;top:0!important;z-index:60!important;min-height:72px!important;padding:12px 22px!important;background:rgba(2,5,4,.90)!important;backdrop-filter:blur(16px)!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
.portal-topbar h1{font-size:20px!important;margin:1px 0 0!important}.portal-content{width:100%!important;max-width:1380px!important;margin:0 auto!important;padding:22px 22px 48px!important}.client-portal .portal-content{max-width:1240px!important}

.ticket-page{display:grid;gap:14px;padding-bottom:22px}
.ticket-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:0}
.ticket-heading h1{margin:4px 0 5px!important;font-size:26px!important}.ticket-heading p{margin:0!important;font-size:12px!important}.ticket-statuses{display:flex;gap:7px;flex-wrap:wrap}
.ticket-main-card{overflow:hidden;border:1px solid #203029;border-radius:18px;background:linear-gradient(145deg,#07100d,#030705);box-shadow:0 18px 55px rgba(0,0,0,.38)}
.ticket-route-head{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(260px,1.4fr) minmax(140px,.8fr);align-items:center;gap:20px;padding:20px 24px;border-bottom:1px dashed #26352e;background:linear-gradient(90deg,rgba(202,255,0,.055),transparent 30%,transparent 70%,rgba(202,255,0,.035))}
.route-place{display:grid;gap:3px}.route-place span,.detail-grid span,.ticket-footer-row span,.scan-result-grid span,.verified-code-line span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#7f9088;text-transform:uppercase}.route-place strong{font-size:26px;line-height:1.05;text-transform:uppercase}.route-place small{font-size:11px;color:#91a098}.route-place.destination{text-align:right}
.route-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;color:#aebcb5;font-size:10px}.route-line i{height:1px;background:linear-gradient(90deg,#33423b,#caff00,#33423b);position:relative}.route-line i:before,.route-line i:after{content:"";position:absolute;top:50%;width:7px;height:7px;border:2px solid var(--lime);border-radius:50%;background:#06100c;transform:translateY(-50%)}.route-line i:before{left:0}.route-line i:after{right:0}
.ticket-body-grid{display:grid;grid-template-columns:minmax(0,1.7fr) 300px}.ticket-details{padding:24px}.detail-section+.detail-section{margin-top:20px;padding-top:18px;border-top:1px solid #1c2923}.detail-section h2{margin:0 0 13px!important;font-size:16px!important}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.detail-grid>div{display:grid;gap:4px;padding:12px 13px;border:1px solid #1c2923;border-radius:12px;background:#060b09}.detail-grid strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.ticket-qr-panel{padding:24px;border-left:1px solid #1c2923;background:rgba(8,14,11,.78)}.ticket-qr-panel h2{margin:4px 0 12px!important;font-size:18px!important}.ticket-qrbox{width:216px!important;max-width:100%!important;padding:14px!important;margin:0 auto!important;border-radius:16px!important;background:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 12px 32px rgba(0,0,0,.45)!important}.ticket-qrbox canvas,.ticket-qrbox img{display:block!important;width:188px!important;height:188px!important;max-width:100%!important}
.manual-code-block{margin-top:14px}.manual-code-block label{display:block;margin-bottom:7px;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#9fada6}.manual-code-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.manual-code-row code{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid #2a3932;border-radius:11px;background:#020504;color:#dfff86;font:700 13px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.05em}.icon-copy-btn{border:1px solid #2a3932;border-radius:11px;background:#0a120f;color:#dce6e1}.manual-code-block small{display:block;margin-top:7px;color:#7f8e87;font-size:10px}.ticket-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:13px}.ticket-actions .btn{min-height:40px!important;padding:9px 12px!important;font-size:11px!important}.validation-note{margin-top:13px;padding:11px 12px;border:1px solid #26352e;border-radius:12px;background:#06100c}.validation-note strong{font-size:11px;color:var(--lime)}.validation-note p{margin:4px 0 0;font-size:10px}
.ticket-footer-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #1c2923;background:#030604}.ticket-footer-row>div{display:grid;gap:4px;padding:14px 17px;border-right:1px solid #1c2923}.ticket-footer-row>div:last-child{border-right:0}.ticket-footer-row strong{font-size:11px}.ticket-cancel-form{display:flex;justify-content:flex-end}.ticket-cancel-form .btn{min-height:40px!important;padding:9px 13px!important;font-size:11px!important}

.scanner-grid{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr)!important;gap:16px!important}.camera-stage{max-height:440px!important}.scan-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

@media(max-width:980px){.ticket-body-grid{grid-template-columns:1fr!important}.ticket-qr-panel{border-left:0!important;border-top:1px solid #1c2923!important}.ticket-route-head{grid-template-columns:1fr!important}.route-place.destination{text-align:left!important}.route-line{order:3}.ticket-footer-row{grid-template-columns:repeat(2,1fr)!important}.scanner-grid{grid-template-columns:1fr!important}}
@media(max-width:900px){.portal-layout{display:block!important}.portal-sidebar{transform:translateX(-105%);transition:.22s ease}.sidebar-open .portal-sidebar{transform:translateX(0)}.portal-main{grid-column:auto!important}.icon-btn{display:grid!important;place-items:center!important}.portal-content{padding:16px 12px 38px!important}.portal-topbar{min-height:66px!important;padding:10px 12px!important}.ticket-heading{display:grid!important}.ticket-statuses{justify-content:flex-start}.detail-grid{grid-template-columns:1fr!important}}
@media(max-width:560px){.ticket-route-head,.ticket-details,.ticket-qr-panel{padding:16px!important}.route-place strong{font-size:22px!important}.ticket-qrbox{width:196px!important}.ticket-qrbox canvas,.ticket-qrbox img{width:168px!important;height:168px!important}.ticket-footer-row{grid-template-columns:1fr!important}.ticket-footer-row>div{border-right:0!important}.ticket-heading h1{font-size:21px!important}.portal-topbar h1{font-size:17px!important}}

/* ===== ADMIN QR RESULT - CLEAN DRIVER VIEW ===== */
.scan-ticket{margin-top:18px;border:1px solid rgba(55,218,127,.28);border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#07100d,#020504);box-shadow:0 20px 65px rgba(0,0,0,.40)}
.scan-save-notice{padding:11px 18px;background:rgba(55,218,127,.11);border-bottom:1px solid rgba(55,218,127,.24);color:#a9ffc5;font-size:12px;font-weight:800}
.scan-ticket-header{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(55,218,127,.08),transparent 54%)}
.scan-ticket-valid-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:rgba(55,218,127,.13);border:1px solid rgba(55,218,127,.40);color:#7dffa8;font-size:29px;font-weight:950;box-shadow:0 0 28px rgba(55,218,127,.10)}
.scan-ticket-title h2{margin:2px 0 3px!important;font-size:25px!important;letter-spacing:.03em}.scan-ticket-title p{margin:0;color:var(--muted);font-size:12px}.scan-ticket-badges{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.scan-route-card{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(200px,1.3fr) minmax(130px,.8fr);align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line);background:rgba(202,255,0,.025)}
.scan-route-place{display:grid;gap:2px}.scan-route-place span,.scan-info-grid span,.scan-code-box span{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#7e8f87}.scan-route-place strong{font-size:23px;line-height:1.1;text-transform:uppercase}.scan-route-place small{font-size:10px;color:var(--muted)}.scan-route-place.destination{text-align:right}
.scan-route-center{display:grid;gap:7px}.scan-route-date{display:flex;align-items:center;justify-content:center;gap:8px;color:#cbd6d0;font-size:11px}.scan-route-date span{color:var(--lime);font-weight:850}.scan-route-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;color:var(--lime)}.scan-route-line i{height:1px;background:linear-gradient(90deg,#28362f,var(--lime),#28362f)}
.scan-ticket-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr)}.scan-ticket-details{padding:22px}.scan-ticket-details h3,.scan-ticket-action-panel h3{margin:0 0 13px;font-size:16px}
.scan-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.scan-info-grid>div{display:grid;gap:4px;min-width:0;padding:12px 13px;border:1px solid #1b2923;border-radius:12px;background:#050a08}.scan-info-grid strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.scan-ticket-action-panel{padding:22px;border-left:1px solid var(--line);background:rgba(7,13,10,.76)}.scan-code-box{display:grid;gap:5px;padding:14px;margin-bottom:18px;border:1px solid rgba(202,255,0,.28);border-radius:14px;background:linear-gradient(120deg,rgba(202,255,0,.10),rgba(202,255,0,.02))}.scan-code-box strong{color:var(--lime);font:900 23px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
.scan-action-form{display:grid;gap:8px}.scan-action-form label{margin:4px 0 0;font-size:11px}.scan-action-form select{min-height:46px}.scan-action-form .btn{width:100%;margin-top:8px}
@media(max-width:980px){.scan-ticket-layout{grid-template-columns:1fr}.scan-ticket-action-panel{border-left:0;border-top:1px solid var(--line)}.scan-route-card{grid-template-columns:1fr}.scan-route-place.destination{text-align:left}.scan-route-center{order:3}.scan-route-date{justify-content:flex-start}.scan-route-line{max-width:280px}.scan-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.scan-ticket{border-radius:18px}.scan-ticket-header{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:16px}.scan-ticket-valid-icon{width:44px;height:44px;border-radius:14px;font-size:23px}.scan-ticket-title h2{font-size:21px!important}.scan-ticket-title p{font-size:11px}.scan-ticket-badges{grid-column:1/-1;justify-content:flex-start;padding-left:57px}.scan-route-card{padding:15px 16px;gap:13px}.scan-route-place strong{font-size:20px}.scan-ticket-details,.scan-ticket-action-panel{padding:16px}.scan-info-grid{grid-template-columns:1fr}.scan-info-grid>div{padding:11px 12px}.scan-code-box strong{font-size:21px}.scan-action-form .btn{min-height:48px}.scanner-controls .btn{flex:1 1 130px}}
