@font-face{font-family:Inter;src:url('/static/vendor/inter-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('/static/vendor/inter-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url('/static/vendor/inter-600.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url('/static/vendor/inter-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--bg:#101014;--surface:#19191f;--surface-raised:#202027;--line:#2b2a34;--muted:#b1aebf;--text:#faf9fd;--purple:#ad6cff;--purple-bright:#9747f6;--green:#4cda9a;--amber:#efb95b;--red:#ff6a79;--radius:12px;font-family:Inter,'Segoe UI',sans-serif;color:var(--text);font-size:15px;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;border:1px solid #35333f;background:#141419;color:var(--text);border-radius:7px;min-height:43px;padding:10px 12px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #a65eff17}input::placeholder{color:#a398b1}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--purple)}input[type=number]{appearance:textfield}label{display:block;font-weight:500;font-size:14px;margin-bottom:8px}svg.lucide{width:19px;height:19px;flex-shrink:0}button:focus-visible,a:focus-visible{outline:2px solid var(--purple);outline-offset:4px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.04em}h1{font-size:32px;line-height:1.3;font-weight:600}h2{font-size:19px;font-weight:600}h3{font-size:16px;font-weight:600}small{font-size:13px}strong{font-weight:600}[hidden]{display:none!important}.muted{color:var(--muted)}.purple-text{color:var(--purple)}.green-text{color:var(--green)}.amber-text{color:var(--amber)}.red-text{color:var(--red)}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:600;color:var(--muted)}.live-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--green);box-shadow:0 0 8px #4cda9a33;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;font-size:28px;font-weight:700;letter-spacing:-1.2px;white-space:nowrap}.brand img{width:33px;height:30px}.brand-dot{color:var(--purple)}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;z-index:30;background:#141419;border-right:1px solid var(--line);padding:30px 18px 0;display:flex;flex-direction:column}.sidebar .brand{padding:0 10px}.workspace-label{font-size:11px;color:#a69caf;letter-spacing:1.4px;margin:34px 10px 10px;display:flex;justify-content:space-between;align-items:center}.workspace-label span{font-size:10px;letter-spacing:1px;color:#baa0db;border:1px solid #493b60;padding:1px 5px;border-radius:4px}.venue{padding:11px 9px;border:1px solid var(--line);background:#1b1a21;border-radius:9px;display:flex;align-items:center;gap:10px}.venue-icon{height:33px;width:33px;display:grid;place-items:center;background:#30233f;color:#c794ff;border-radius:7px}.venue strong{font-size:14px}.venue small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.venue>svg{margin-left:auto;width:13px;color:var(--muted)}.nav-label{font-size:11px;color:#aba2b7;letter-spacing:1.5px;padding:26px 11px 10px}.second-label{padding-top:22px}.nav-item{height:40px;margin-bottom:3px;padding:0 12px;display:flex;gap:12px;align-items:center;border:1px solid transparent;border-radius:7px;color:#aaa8b5;font-size:13.5px;position:relative;transition:background .15s,color .15s}.nav-item:hover{background:#22212a;color:#e9e5f3}.nav-item svg{width:17px;height:17px}.nav-item.active{color:#c79bff;background:linear-gradient(95deg,#50307766,#3c28563d);border-color:#6e42974d}.nav-item.active::before{content:'';height:14px;width:3px;background:#b37aff;position:absolute;left:-19px;border-radius:0 3px 3px 0}.nav-count{margin-left:auto;color:#c6a3f1;background:#a16bf226;font-size:12px;border:1px solid #8750bd33;border-radius:4px;min-width:20px;text-align:center}.sidebar nav{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#37313e transparent}.sidebar-bottom{margin-top:auto;padding-top:24px}.operation-status{display:flex;gap:8px;align-items:center;font-size:12px;color:#b2afbd;padding:13px 10px}.operation-status>svg{margin-left:auto;width:14px;color:var(--green)}.profile{display:flex;align-items:center;gap:9px;padding:19px 0;border-top:1px solid var(--line);margin-top:5px}.avatar{width:33px;height:33px;background:#362840;color:#d3adff;border:1px solid #654878;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;flex-shrink:0}.avatar.small{width:30px;height:30px;font-size:13px}.profile strong{font-size:13px;display:block}.profile small{font-size:11px;color:var(--muted);display:block}.profile form{margin-left:auto}.icon-button{background:none;border:0;display:inline-flex;align-items:center;justify-content:center;padding:8px;position:relative;border-radius:6px;color:var(--muted)}.icon-button:hover{background:#ffffff09;color:var(--text)}.icon-button svg{width:18px;height:18px}.app-shell{margin-left:232px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#141419b3}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:13px;white-space:nowrap}.breadcrumb>span{color:var(--muted)}.breadcrumb strong{font-weight:500}.breadcrumb>svg{height:12px;width:12px;color:#65616f}.topbar-right{display:flex;align-items:center;gap:18px}.event-select{border:1px solid #34303c;display:flex;align-items:center;border-radius:7px;padding-left:11px;gap:5px;background:#1b1a22}.event-select>svg{width:14px;height:14px;color:var(--purple)}.event-select select{border:0;min-height:34px;font-size:12px;background:transparent;max-width:230px;padding:7px}.live-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.5px;color:#6fdda8;font-weight:600;background:#15372b70;border:1px solid #29503c70;padding:5px 9px;border-radius:5px;white-space:nowrap}.topbar-divider{height:20px;width:1px;background:var(--line)}.notification-dot{height:4px;width:4px;background:var(--purple);border-radius:50%;position:absolute;right:9px;top:7px;box-shadow:0 0 0 2px #141419}.main{padding:30px 32px 0;max-width:1800px;margin:auto;min-height:calc(100vh - 76px)}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px}.page-heading .eyebrow{font-size:11px;letter-spacing:1.6px;color:#9e89b4;margin-bottom:7px}.page-heading h1{font-size:30px;font-weight:600;letter-spacing:-1px}.heading-dot{color:var(--purple);margin-left:2px}.page-heading p{color:var(--muted);font-size:13px;margin-top:6px}.heading-actions{display:flex;align-items:center;gap:12px}.date-label{display:flex;align-items:center;gap:7px;color:#a3a0ae;font-size:12px}.date-label svg{width:14px;height:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;border-radius:7px;min-height:36px;padding:9px 13px;border:1px solid transparent;white-space:nowrap;transition:filter .2s,background .2s}.button:hover{filter:brightness(1.16)}.button svg{width:14px;height:14px}.button.primary{background:linear-gradient(115deg,#a969f9,#8a47dd);border-color:#b47aef88;color:white;box-shadow:0 3px 15px #8d44e31a}.button.secondary{background:#1d1c24;border-color:#38333f;color:#d6d1df}.button.ghost{background:transparent;border-color:var(--line);color:#aaa5b7}.button.danger{background:#51242b;border-color:#74343f;color:#ffb1bb}.button.sm{padding:5px 9px;min-height:29px;font-size:12px}.button.full{width:100%}.text-link{color:#c093f2;font-size:12px;display:inline-flex;align-items:center;gap:4px}.text-link svg{width:12px;height:12px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-title h2{font-size:15px;letter-spacing:-.2px}.section-title p{font-size:12px;color:var(--muted);margin-top:3px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(120deg,#1b1a22,#18181e);overflow:hidden}.panel-pad{padding:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card{padding:18px 19px 14px;position:relative;min-height:139px;background:linear-gradient(120deg,#1d1c25,#19191f);border:1px solid var(--line);border-radius:11px;overflow:hidden}.stat-card.featured{background:linear-gradient(115deg,#382548,#251d35 80%);border-color:#6b428e80}.stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.stat-label{color:#aeabbc;font-size:12px;font-weight:500}.stat-top .icon-box{height:28px;width:28px;border-radius:7px}.stat-top svg{height:15px;width:15px}.icon-box{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;flex-shrink:0}.icon-box.purple{color:#bf8aff;background:#a96aff18;border:1px solid #a96aff20}.icon-box.green{color:var(--green);background:#4cda9a12;border:1px solid #4cda9a1c}.icon-box.amber{color:var(--amber);background:#efb95b12;border:1px solid #efb95b1c}.icon-box.gray{color:#ada6bd;background:#77708018;border:1px solid #77708020}.stat-value{font-size:32px;line-height:1;font-weight:600;letter-spacing:-1px;display:flex;align-items:baseline;gap:6px}.stat-value .unit{font-size:21px;color:#bea7d6;letter-spacing:-.5px}.stat-bottom{margin-top:12px;font-size:11px;color:#a69eb5;display:flex;align-items:center;gap:5px}.stat-bottom svg{width:11px;height:11px}.stat-bottom .badge{font-size:10px;padding:1px 4px}.stat-value + .progress{margin-top:13px}.progress{height:5px;width:100%;border-radius:99px;background:#39313f;overflow:hidden}.progress span{height:100%;display:block;border-radius:99px;background:linear-gradient(90deg,#9453e3,#c181ff);transition:width .45s}.progress.amber span{background:linear-gradient(90deg,#b98536,#efb95b)}.progress.red span{background:linear-gradient(90deg,#c34b64,#ff6a79)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:20px}.chart-panel{padding:21px 21px 16px;min-height:314px}.chart-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:12px}.chart-heading h2{font-size:15px;letter-spacing:-.3px}.chart-heading p{font-size:12px;color:var(--muted);margin-top:4px}.chart-controls{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted)}.chart-controls select{min-height:27px;padding:3px 8px;font-size:11px;width:auto;background:#222029;border-color:#39313f}.legend-dot{width:6px;height:6px;background:var(--purple);display:inline-block;border-radius:50%;margin-right:4px}.chart-wrap{height:223px;position:relative;width:100%}.area-panel{padding:20px}.area-list{display:grid;gap:14px}.area-item{padding-bottom:14px;border-bottom:1px solid #2d2934}.area-item:last-child{padding-bottom:0;border-bottom:0}.area-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.area-heading .icon-box{width:31px;height:31px;border-radius:7px}.area-heading .icon-box svg{width:16px;height:16px}.area-heading h3{font-size:13px;letter-spacing:0}.area-heading p{font-size:12px;color:#9b93a8;margin-top:1px}.area-percent{margin-left:auto;font-size:14px;color:#cf9fff;font-weight:600}.area-foot{display:flex;justify-content:space-between;color:#a49bad;font-size:11px;margin-top:7px}.alert-strip{display:flex;gap:9px;align-items:center;background:#3d301d55;border:1px solid #65502f80;padding:11px 12px;border-radius:8px;margin-top:15px;color:#e9bd79}.alert-strip svg{width:16px;height:16px;flex-shrink:0}.alert-strip strong{display:block;font-size:12px}.alert-strip small{color:#a9977d;font-size:11px;display:block;margin-top:1px}.alert-strip.critical{background:#49232c60;border-color:#733344;color:var(--red)}.alert-strip.normal{background:#19352b55;border-color:#2e5343;color:var(--green)}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:20px;margin-top:20px}.table-panel .section-title{padding:19px 20px 15px;margin:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap;text-align:left}th{font-size:11px;font-weight:500;color:#b1a6c0;background:#17161d99;border-top:1px solid #2b2732;border-bottom:1px solid #2b2732;padding:11px 19px}td{padding:13px 19px;border-bottom:1px solid #2b273270;color:#b6afc1}tr:last-child td{border-bottom:0}td strong{color:#e5deef;font-size:12px;font-weight:500}td .time{color:#aaa1b9;font-variant-numeric:tabular-nums}.table-number{display:flex;align-items:center;gap:9px}.table-number>svg{color:#9d72cd;width:15px;height:15px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:3px 6px;line-height:1.3;font-size:11px;font-weight:500;white-space:nowrap}.badge.green{color:#70dba7;background:#214b3b66;border:1px solid #356d4e44}.badge.purple{color:#c294ff;background:#57377c44;border:1px solid #7a50aa44}.badge.amber{color:#eac284;background:#59442044;border:1px solid #876b3844}.badge.red{color:#f38d9d;background:#5b2d3944;border:1px solid #8a3a5044}.badge.gray{color:#a6a0b1;background:#3e394844;border:1px solid #51495e44}.badge svg{height:10px;width:10px}.table-footer{border-top:1px solid var(--line);padding:12px 20px;display:flex;justify-content:space-between;font-size:11px;color:#aaa0b9}.queue-summary{padding:20px;display:flex;flex-direction:column}.queue-summary-top{display:flex;gap:10px;align-items:center;padding-bottom:17px;border-bottom:1px solid #332c3e}.queue-summary-top .icon-box{width:33px;height:33px}.queue-summary-top h2{font-size:15px}.queue-summary-top p{font-size:11px;color:var(--muted);margin-top:2px}.queue-summary-top .badge{margin-left:auto}.queue-numbers{display:flex;justify-content:space-between;padding:20px 0 17px;gap:10px}.queue-numbers strong{display:block;font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-1px}.queue-numbers span{display:block;font-size:11px;color:#b3a7c2;margin-top:4px}.queue-numbers .divider{width:1px;background:var(--line);margin:5px}.queue-peek{display:flex;align-items:center;justify-content:space-between;border:1px solid #40334f;background:#a161d708;padding:11px;border-radius:7px;font-size:12px;margin-bottom:15px}.queue-peek span{color:#b3a7c2;font-size:11px}.queue-summary .button{margin-top:auto}.app-footer{padding:26px 0 20px;display:flex;justify-content:space-between;align-items:center;color:#a398b1;font-size:11px}.app-footer>span{display:flex;align-items:center;gap:7px}.app-footer img{width:13px;opacity:.7}.footer-separator{color:#41394c;margin:0 3px}.connection-banner{background:#493219;color:#f2ce91;border:1px solid #8d6634;padding:12px 15px;border-radius:8px;font-size:14px;margin-bottom:20px;display:flex;gap:10px;align-items:center}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;gap:12px;border-bottom:1px solid var(--line)}.search-input{position:relative;max-width:310px;flex:1}.search-input svg{width:14px;height:14px;position:absolute;left:11px;top:12px;color:var(--muted)}.search-input input{padding-left:33px;min-height:37px;font-size:12px}.toolbar-actions{display:flex;align-items:center;gap:8px}.toolbar select{min-height:36px;padding:6px 10px;width:auto;font-size:12px}.action-group{display:flex;gap:6px;align-items:center}.empty-state{padding:70px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-state p{color:var(--muted);max-width:420px;font-size:14px}.loading-state{padding:120px 20px;display:flex;flex-direction:column;align-items:center;gap:15px;color:var(--muted)}.spinner{display:inline-block;width:22px;height:22px;border:2px solid #44314e;border-top-color:var(--purple);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{position:fixed;left:250px;top:-60px;z-index:100;background:var(--purple);padding:10px}.skip-link:focus{top:10px}.mobile-only,.mobile-nav{display:none}dialog{background:#1c1923;color:var(--text);border:1px solid #51405f;border-radius:15px;width:min(570px,calc(100% - 28px));padding:25px;max-height:90dvh;box-shadow:0 24px 120px #0009}dialog::backdrop{background:#08070bbd;backdrop-filter:blur(4px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.modal-heading .eyebrow{font-size:10px;color:#9f7fbb;margin-bottom:5px}.modal-heading h2{font-size:22px}#modal-fields{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .span-full{grid-column:1/-1}.checkbox-label{display:flex;align-items:center;gap:9px;margin:0;font-size:13px;color:#b3a8be}.check-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.form-error{background:#5b263c55;color:#ff9fb2;border:1px solid #84425766;border-radius:7px;padding:11px 12px;font-size:13px;margin:14px 0}.form-note{font-size:12px;color:#b5a8c1;line-height:1.7}.modal-qr{text-align:center}.modal-qr .qr-image{margin:15px auto}.qr-image{display:block;background:white;border-radius:8px;width:210px;height:210px;padding:8px}.big-queue{font-size:39px;letter-spacing:-1.5px;font-weight:600;color:#cf9bff;margin:12px 0}.queue-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.current-ticket{padding:25px;background:radial-gradient(ellipse at top right,#793bb633,transparent 75%),#1c1725;position:relative}.current-ticket .big-queue{font-size:45px;margin:16px 0 8px}.current-ticket .action-group{margin-top:25px;flex-wrap:wrap}.queue-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.queue-mini-stat{padding:20px}.queue-mini-stat strong{display:block;font-size:29px;font-weight:600;margin-top:8px;letter-spacing:-1px}.queue-mini-stat p{font-size:12px;color:var(--muted)}.queue-table td{padding-top:16px;padding-bottom:16px}.boxoffice-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.4fr);gap:20px}.boxoffice-queue{padding:20px}.queue-person{display:flex;align-items:center;gap:9px;padding:13px 10px;border-bottom:1px solid #302737;font-size:13px}.queue-person .badge{margin-left:auto}.queue-person.active{background:#8956bc22;border:1px solid #8851b86b;border-radius:7px;margin-top:8px}.queue-person svg{width:15px;color:#b581ed}.sale-panel{padding:22px}.sale-panel .section-title{margin-bottom:22px}.ticket-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 23px}.ticket-option{background:#221d2a;border:1px solid #3d3249;border-radius:9px;padding:15px 10px;text-align:left;position:relative}.ticket-option.selected{background:#4b286e44;border-color:var(--purple);box-shadow:0 0 0 1px #a661ed33}.ticket-option>svg{color:#bc8aef;margin-bottom:16px}.ticket-option strong,.ticket-option small{display:block}.ticket-option strong{font-size:12px;min-height:30px}.ticket-option small{margin-top:8px;color:#aaa0b6;font-size:12px}.sale-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sale-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #3b2e46;margin-top:24px;padding-top:20px;color:#ada1b9}.sale-total strong{font-size:27px;color:#eee7f6;letter-spacing:-1px}.sale-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:15px}.scanner-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,.8fr);gap:22px;max-width:1050px;margin:auto}.scanner-panel{padding:22px}.scanner-view{aspect-ratio:1.25;background:radial-gradient(circle,#43245655,transparent 70%),#111014;border:1px solid #3c2c49;border-radius:12px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:17px 0}.scanner-placeholder{text-align:center;color:#b993d6}.scanner-placeholder>svg{width:50px;height:50px;margin-bottom:12px;opacity:.8}.scanner-placeholder p{font-size:13px;color:#877393}.scan-frame{position:absolute;inset:20%;pointer-events:none;border:1px solid #ba7ce34d;border-radius:12px;box-shadow:0 0 45px #9a48cf18}.scan-frame::before,.scan-frame::after{content:'';position:absolute;width:25px;height:25px;border-color:#d0a1fa;border-style:solid}.scan-frame::before{top:-1px;left:-1px;border-width:3px 0 0 3px;border-radius:10px 0 0}.scan-frame::after{bottom:-1px;right:-1px;border-width:0 3px 3px 0;border-radius:0 0 10px}.scanner-controls{display:flex;gap:10px}.scanner-controls .button{flex:1;min-height:43px}.manual-scan{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.manual-scan summary{cursor:pointer;color:#b6a4c6;font-size:13px}.manual-scan form{margin-top:14px}.manual-scan .button{margin-top:10px;width:100%}.scan-result{padding:30px;text-align:center;min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #3c3247;background:#1d1923;border-radius:12px;gap:12px}.scan-result.success{border-color:#3a9c68;background:radial-gradient(ellipse at top,#205f3d55,transparent 80%),#14251b}.scan-result.denied{border-color:#c14c62;background:radial-gradient(ellipse at top,#72263855,transparent 80%),#2a171e}.result-icon{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#40304e;color:#bf8fed}.success .result-icon{background:var(--green);color:#10341e}.denied .result-icon{background:var(--red);color:#4f1420}.result-icon svg{width:32px;height:32px}.scan-result h2{font-size:26px}.success h2{color:#6fe7a7}.denied h2{color:#ff899e}.scan-result p{color:#b2a5bb;font-size:14px}.scan-result strong{font-size:19px}.scan-recent{margin-top:20px;padding:20px}.scan-history-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #302535;font-size:12px;align-items:center}.scan-history-item>svg{height:15px;width:15px}.scan-history-item small{color:var(--muted);margin-left:auto;font-size:11px}.scanner-settings{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.transfer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.transfer-panel{padding:22px}.transfer-panel form{display:grid;gap:15px;margin-top:20px}.alert-list{display:grid;gap:10px}.alert-list .alert-strip{margin:0}.metric-inline{display:flex;justify-content:space-between;margin-top:20px;align-items:center}.metric-inline strong{font-size:32px}.metric-inline span{color:var(--muted);font-size:13px}.report-filters{display:flex;flex-wrap:wrap;gap:12px;padding:18px}.report-filters label{font-size:12px;color:var(--muted)}.report-filters>div{flex:1;min-width:140px}.report-filters input,.report-filters select{min-height:36px;font-size:12px}.report-filters .button{align-self:flex-end}.report-meta{display:flex;justify-content:space-between;gap:15px;padding:17px 20px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-section{padding:24px}.settings-section p{color:var(--muted);font-size:13px;margin-top:8px;margin-bottom:22px}.settings-section form{display:grid;gap:17px}.settings-section textarea{resize:vertical;min-height:100px}.setting-info{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.setting-info strong{color:#c8bdd4;font-weight:500}.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:9px}.tab{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:6px;font-size:13px}.tab.active{background:#61338b33;color:#c898f5}.tab:hover{background:#7f4fa322}.inline-empty{text-align:center;color:var(--muted);padding:35px!important;white-space:normal;font-size:13px}.inline-info{padding:14px 17px;background:#241b2e;border:1px solid #493055;border-radius:8px;color:#b59ac7;font-size:13px;margin-bottom:20px}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1.12fr 1fr}.login-story{position:relative;overflow:hidden;min-height:100dvh;padding:45px 54px;background:radial-gradient(ellipse at 10% 10%,#7d35b522,transparent 50%),radial-gradient(ellipse at 80% 85%,#7f2bb033,transparent 60%),#16101e;border-right:1px solid #36243f;display:flex;flex-direction:column}.login-story::after{content:'';position:absolute;inset:0;opacity:.2;background-image:linear-gradient(#a776bf17 1px,transparent 1px),linear-gradient(90deg,#a776bf17 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(transparent,#000)}.login-story .brand{z-index:1}.login-copy{position:relative;z-index:2;margin:auto 0;padding-top:70px;padding-bottom:120px}.login-copy .eyebrow{display:flex;gap:8px;align-items:center;color:#baa3c8;font-size:11px;letter-spacing:2px}.login-copy h1{font-size:clamp(42px,4.8vw,72px);font-weight:600;letter-spacing:-3.5px;line-height:1.1;margin-top:28px}.login-copy h1 span{background:linear-gradient(90deg,#cc9fff,#9b4ce1);background-clip:text;color:transparent}.login-copy p{font-size:15px;color:#a697b2;line-height:1.9;margin-top:26px}.story-tags{display:flex;gap:20px;font-size:12px;color:#c6b7d1;margin-top:35px}.story-tags span{display:flex;gap:7px;align-items:center}.story-tags svg{color:#b57fe5;width:15px;height:15px}.login-story>small{color:#665570;font-size:10px;letter-spacing:2px;z-index:1}.login-orbit{position:absolute;width:550px;height:550px;right:-310px;bottom:-160px;transform:rotate(-25deg);opacity:.65}.orbit{position:absolute;inset:0;border:1px solid #b079d744;border-radius:50%;box-shadow:inset 0 0 60px #7135b116}.orbit.two{inset:55px}.orbit.three{inset:110px}.login-orbit img{position:absolute;inset:190px;width:180px;height:160px;filter:drop-shadow(0 0 40px #a85add88)}.login-form-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 40px;position:relative;background:radial-gradient(ellipse at 50% 25%,#34223e16,transparent 70%),#121015}.login-form{width:100%;max-width:355px}.login-form>.icon-box{margin-bottom:24px;width:45px;height:45px;border-radius:12px}.login-form>.eyebrow{font-size:10px;color:#9776ab;letter-spacing:1.7px}.login-form h2{font-size:28px;font-weight:600;letter-spacing:-1px;margin:10px 0}.login-form>p{color:var(--muted);font-size:13px}.login-form form{margin-top:34px}.login-form label{color:#bdb3c7;font-size:13px}.input-icon{position:relative;margin-bottom:21px}.input-icon>svg{position:absolute;left:13px;top:14px;width:16px;height:16px;color:#796987}.input-icon input{padding-left:39px;background:#1b1720;border-color:#392f42;min-height:45px;font-size:14px}.input-icon>.icon-button{position:absolute;right:5px;top:5px}.input-icon>#password{padding-right:40px}.login-submit{width:100%;margin-top:4px;min-height:45px;justify-content:space-between;padding:12px 16px}.login-security{display:flex;gap:7px;align-items:center;justify-content:center;font-size:11px;color:#76677f;margin-top:24px}.login-security svg{height:13px;width:13px}.login-foot{font-size:11px;color:#615769;position:absolute;bottom:35px}.public-wrap{max-width:500px;margin:0 auto;min-height:100dvh;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:25px;text-align:center}.public-wrap .brand{font-size:27px}.public-panel{padding:30px 24px;width:100%}.public-panel>.icon-box{margin:0 auto 20px}.public-panel h2{font-size:25px}.public-panel>p{color:var(--muted);font-size:14px;margin-top:10px}.public-panel form{margin-top:25px;text-align:left}.public-panel form>label{margin-top:18px}.public-panel .button{width:100%;margin-top:20px}.privacy-note{color:var(--muted);font-size:12px;margin-top:17px}.public-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px 0;margin-top:20px;border-block:1px solid var(--line)}.public-stats strong{display:block;font-size:22px}.public-stats span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.public-panel>small{display:block;color:var(--muted);font-size:11px;margin-top:25px}.display-wrap{padding:40px 6vw;text-align:center;min-height:100dvh;background:radial-gradient(ellipse at center,#56317c22,transparent 70%)}.display-wrap header{display:flex;justify-content:space-between;align-items:center;margin-bottom:70px}.display-wrap h1{font-size:42px;margin:15px 0 40px}.display-wrap>.panel{padding:40px}.display-wrap>.panel>p{color:var(--muted);font-size:17px;margin-top:15px}.display-number{font-size:clamp(32px,7vw,100px);font-weight:600;color:#cb9cfa;letter-spacing:-3px;margin-top:15px}.display-waiting{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin:30px 0}.display-waiting span{padding:20px;font-size:22px}.print-wrap{display:flex;align-items:center;justify-content:center;gap:20px;flex-direction:column;min-height:100dvh}.print-label{background:white;color:black;border:1px solid #bbb;padding:25px;text-align:center;min-width:300px;border-radius:10px}.print-mark{width:35px;float:left}.print-label p{font-size:13px;margin:10px 0}.print-label .qr-image{margin:auto}.print-label h1{font-size:27px;margin:10px 0}.print-label span{font-size:12px}#toasts{position:fixed;right:25px;bottom:25px;z-index:100;max-width:min(420px,calc(100vw - 40px));display:grid;gap:8px}.toast{background:#263b31;color:#b7edce;border:1px solid #4d7f62;border-radius:8px;padding:13px 18px;box-shadow:0 4px 30px #0006;font-size:14px;animation:toast-in .2s ease-out}.toast.error{background:#422633;color:#ffb5c2;border-color:#83455a}@keyframes toast-in{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:1600px){.main{padding:38px 40px 0}.topbar{padding-inline:40px}.stat-card{min-height:155px;padding:22px}.stat-value{font-size:37px}.stat-label{font-size:14px}.chart-wrap{height:280px}.chart-panel{min-height:370px}.area-item{padding-block:10px 20px}.area-heading h3{font-size:15px}.dashboard-grid,.bottom-grid{grid-template-columns:1.8fr 1fr}.queue-summary{padding:24px}.queue-numbers{padding:26px 0}td{padding-block:17px}th{padding-block:14px}.nav-item{font-size:14px;height:43px}}
@media(max-width:1200px){.sidebar{width:205px;padding-inline:13px}.sidebar .brand{font-size:26px}.app-shell{margin-left:205px}.nav-item{font-size:13px;gap:10px}.nav-item.active::before{left:-14px}.main{padding:25px 22px 0}.topbar{padding:0 22px}.topbar-right{gap:12px}.event-select select{max-width:175px}.date-label{display:none}.stats-grid{gap:12px}.stat-card{padding:15px;min-height:134px}.stat-value{font-size:29px}.dashboard-grid,.bottom-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:16px}.chart-panel{padding:18px 16px}.chart-controls{gap:7px}.chart-controls .legend{display:none}.area-panel{padding:18px}.table-wrap td,.table-wrap th{padding-inline:14px}.ticket-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.breadcrumb>span,.breadcrumb>svg{display:none}.dashboard-grid,.bottom-grid{grid-template-columns:1fr}.area-list{grid-template-columns:1fr 1fr}.area-item{border:0;padding-bottom:0}.area-panel .alert-strip{margin-top:20px}.bottom-grid .queue-summary{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:135px}.queue-grid,.boxoffice-grid,.settings-grid,.transfer-grid{grid-template-columns:1fr}.scanner-layout{grid-template-columns:1fr 1fr}.scanner-panel,.scan-result{padding:18px}.page-heading h1{font-size:27px}.heading-actions{gap:8px}.topbar-right{gap:9px}.topbar-divider{display:none}.app-footer>span:last-child{display:none}.login-story{padding:35px}.login-copy h1{font-size:50px;letter-spacing:-2px}.story-tags{flex-direction:column;gap:12px}.login-form-wrap{padding:35px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:245px;box-shadow:20px 0 80px #0009}.sidebar.open{transform:translateX(0)}.app-shell{margin-left:0}.topbar{height:65px;padding:0 18px}.mobile-only{display:inline-flex}.breadcrumb{gap:6px}.breadcrumb strong{font-size:12px}.topbar-right>.avatar,.topbar-right>.icon-button{display:none}.event-select select{max-width:150px;font-size:11px}.event-select>svg{display:none}.event-select{padding-left:4px}.topbar-right .live-badge{padding:5px 6px;font-size:10px}.main{padding:24px 18px 80px}.page-heading{align-items:flex-start;margin-bottom:22px}.page-heading .eyebrow{font-size:10px}.page-heading h1{font-size:28px}.page-heading p{font-size:12px;max-width:220px;line-height:1.7}.heading-actions{padding-top:20px}.heading-actions .button{font-size:0;gap:0;padding:8px;min-height:33px}.heading-actions .button svg{width:16px;height:16px}.heading-actions .primary{font-size:12px;gap:5px}.stats-grid{gap:11px;margin-bottom:17px}.stat-card{padding:15px 14px;min-height:133px}.stat-label{font-size:11px}.stat-value{font-size:30px}.stat-top{margin-bottom:14px}.stat-top .icon-box{width:26px;height:26px}.stat-bottom{font-size:10px}.chart-panel{padding:18px 14px}.chart-heading h2{font-size:14px}.chart-heading p{font-size:11px}.chart-wrap{height:220px}.chart-controls select{max-width:105px}.area-panel{padding:18px}.area-heading{gap:7px}.area-heading h3{font-size:12px}.area-heading p{font-size:11px}.area-percent{font-size:12px}.area-heading .icon-box{width:27px;height:27px}.area-list{gap:18px}.area-foot{font-size:10px}.bottom-grid{margin-top:16px}.table-panel .section-title{padding:17px 15px}.table-wrap td,.table-wrap th{padding:12px 14px}.table-wrap{scrollbar-width:thin}.app-footer{padding:25px 0 8px;font-size:10px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:65px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #3b2e45;background:#17131ef5;backdrop-filter:blur(15px);z-index:40;justify-content:space-around}.mobile-nav a,.mobile-nav button{font-size:11px;background:none;border:0;color:#92859f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:65px}.mobile-nav .active{color:#c797f9}.mobile-nav svg{width:20px;height:20px}#toasts{bottom:80px;right:18px}.toolbar{flex-wrap:wrap;padding:14px}.toolbar-actions{flex-wrap:wrap}.toolbar .search-input{max-width:none;min-width:180px}.toolbar select{font-size:12px}.queue-mini-stats{gap:11px}.current-ticket{padding:22px}.queue-mini-stat{padding:16px}.boxoffice-grid{gap:16px}.boxoffice-queue{padding:17px}.sale-panel{padding:18px}.sale-form-grid{grid-template-columns:1fr}.ticket-option{padding:13px}.ticket-option strong{font-size:13px;min-height:25px}.ticket-options{margin-bottom:20px}.sale-buttons{align-items:flex-start;flex-direction:column}.sale-buttons .button{width:100%;min-height:43px}.scanner-layout{grid-template-columns:1fr;max-width:460px}.scanner-view{aspect-ratio:1.15}.scan-result{min-height:220px}.scanner-settings{grid-template-columns:1fr}.scanner-settings .checkbox-label{padding:5px}.report-filters>div{min-width:120px}.form-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-form-wrap{min-height:100dvh;padding:50px 30px 90px}.login-form{max-width:380px}.login-form h2{font-size:30px}.login-form-wrap::before{content:'K4 Flow.';color:#dbc2f4;font-size:26px;letter-spacing:-1px;font-weight:700;position:absolute;left:30px;top:25px}.login-form>.icon-box{margin-top:50px}.login-foot{bottom:25px;font-size:11px}.display-wrap{padding:25px 20px}.display-wrap header{margin-bottom:45px}.display-wrap h1{font-size:30px}.display-wrap>.panel{padding:30px 15px}.display-number{letter-spacing:-1px}.public-panel{padding:25px 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.sheet-wrap{padding:30px;max-width:1100px;margin:auto}.sheet-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}.sheet-toolbar p{color:var(--muted);font-size:14px;margin-top:7px}.label-sheet{display:grid;grid-template-columns:repeat(3,1fr);background:white;color:black}.sheet-label{border:1px dashed #999;break-inside:avoid;padding:15px;display:flex;flex-direction:column;align-items:center;text-align:center}.sheet-label img{width:135px;height:135px}.sheet-label p{font-size:11px;margin-top:4px}.sheet-label strong{font-size:16px}.sheet-label h3{font-size:15px}
@media print{body{background:white!important;color:black}.no-print,#toasts{display:none!important}.print-wrap{min-height:0}.print-label{border:1px dashed black;border-radius:0;break-inside:avoid}.print-label .qr-image{width:190px;height:190px}.sheet-wrap{padding:0}.sheet-label{min-height:220px}.sheet-label img{width:130px;height:130px}.label-sheet{grid-template-columns:repeat(3,1fr)}}

/* Readability: stronger type and contrast across operational screens. */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}th,.eyebrow,.nav-label,.workspace-label{font-weight:600}.stat-label{color:#c3bacf}.stat-top{gap:9px;min-height:30px}.stat-label{line-height:1.45}.stat-bottom{line-height:1.55;min-height:17px}.nav-item{color:#bdb5ca;min-height:42px}.profile strong{font-weight:600}.badge{font-weight:600}.button.sm{min-height:33px}.table-wrap td{line-height:1.6}th{letter-spacing:.35px}.form-note{line-height:1.8}.area-foot,.area-heading p{color:#b2a6bf}.page-heading p{color:#b4aabe}.eyebrow{color:#b0a0bd}.chart-controls{color:#b6aac4}.chart-heading p{color:#b4a6c1}.stat-card{min-height:153px}.stat-value{font-weight:600}.stat-top .icon-box{margin-left:auto}.app-footer{color:#a79ab7}.table-footer{color:#a99db8}.input-icon>svg{color:#a895bb}.privacy-note,.login-security,.login-foot{color:#a79ab7}
@media(min-width:1201px){.sidebar{width:244px}.app-shell{margin-left:244px}.nav-item{gap:10px;padding-inline:10px}.sidebar .brand{padding-inline:7px}.profile{gap:8px}.profile small{font-size:11px}.profile strong{font-size:12px}.stat-card{padding-inline:17px}.stat-label{font-size:12px}.chart-wrap{height:245px}}
@media(max-width:760px){.nav-item{min-height:45px}.main{padding-inline:16px}.stat-card{padding:15px 12px;min-height:155px}.stat-label{font-size:11px}.stat-top{align-items:flex-start;min-height:36px}.stat-top .icon-box{width:24px;height:24px}.stat-top .icon-box svg{width:14px;height:14px}.stat-value{font-size:31px}.stat-bottom{font-size:10px}.button.sm{min-height:38px}.mobile-nav a,.mobile-nav button{font-size:11px}.mobile-nav{height:70px}.topbar{padding-inline:12px}.breadcrumb strong{font-size:11px}.event-select select{max-width:145px}.live-badge{font-size:9px}.area-list{grid-template-columns:1fr}.area-item{border-bottom:1px solid var(--line);padding-bottom:15px}.area-item:last-child{border-bottom:0;padding-bottom:0}.area-heading h3{font-size:14px}.area-heading p{font-size:12px}.area-percent{font-size:14px}.area-foot{font-size:11px}.page-heading p{font-size:12px;max-width:235px}.chart-wrap{height:235px}.scanner-placeholder p{font-size:13px}.form-note{font-size:12px}.scanner-controls .button{min-height:47px}}

.nav-item{font-size:14px}.section-title h2,.chart-heading h2{font-size:15px}.table-wrap table{font-size:13px}.table-wrap td strong{font-size:13px}.table-wrap th{font-size:12px}.button{font-size:13px}.button.sm{font-size:12px}.stat-label{font-weight:500}.queue-numbers strong>span{display:inline;font:inherit;color:inherit;margin:0}.queue-numbers strong>small{font-size:12px;color:#c0b3cc}.chart-heading h2,.section-title h2{font-weight:600}.area-heading h3{font-size:14px}.area-heading p{font-size:12px}.topbar .breadcrumb{font-size:13px}.topbar .event-select select{font-size:12px}.page-heading .eyebrow{font-size:11px}.stat-value{font-size:34px}.modal-heading h2{font-size:24px}label{font-size:14px}.form-note{font-size:12px}.toolbar .search-input input{font-size:13px}.queue-peek span{font-size:12px}.queue-summary-top p{font-size:12px}.queue-numbers span{font-size:12px}.badge{font-size:11px}.table-footer{font-size:11px}
@media(max-width:760px){.topbar .event-select select{font-size:11px;max-width:140px}.topbar .breadcrumb{font-size:11px}.topbar-right{gap:6px}.topbar .live-badge{font-size:8px}.page-heading h1{font-size:29px}.heading-actions .primary{font-size:12px}.stat-value{font-size:32px}.stat-label{font-size:11px}.table-wrap th{font-size:11px}.table-wrap td{font-size:13px}.chart-heading h2{font-size:14px}.chart-heading p{font-size:11px}.chart-controls select{font-size:11px}}

/* Arrival and individual QR stay centered and readable on every screen. */
.public-panel .qr-image{display:block;margin:22px auto;max-width:100%;height:auto}.public-panel{text-align:center}.public-panel #public-join{text-align:center}

.settings-tabs{flex-wrap:wrap}.settings-section .button{margin-top:18px}.settings-section p+p{margin-top:16px}

/* Arrival details retain the existing public layout; counter advice stays beside the current person. */
#arrival-details {border-top:1px solid var(--line);padding-top:24px;margin-top:24px;text-align:left}
#arrival-details h3 {font-size:19px}
#arrival-details input {width:100%;margin-top:7px}
#arrival-details .form-note {line-height:1.6;margin-top:12px}
#arrival-details button {white-space:normal;min-height:46px}
.counter-position {display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 10px}
.counter-position span {display:grid;gap:6px;font-size:14px;color:var(--muted)}
.counter-position strong {font-size:25px;color:var(--text)}
.counter-advisory {border:1px solid #b58a3f;border-radius:10px;padding:16px;margin-top:16px;background:#b58a3f12;text-align:left}
.counter-advisory strong {color:#f1c46d;font-size:16px}
.counter-advisory p {font-size:14px;line-height:1.6;margin:9px 0}
.counter-advisory .button {margin-top:8px;white-space:normal}

/* Explicit option colors avoid white text on the Windows native white picker. */
.event-select select option,.event-select select optgroup {color:#21182c;background:#f5f1fa}
.event-select select option:checked {color:#fff;background:#7540b3}
.events-list .action-group {flex-wrap:wrap;gap:6px}
.events-list .table-wrap table {min-width:620px;table-layout:fixed;width:100%}
.events-list th:nth-child(1) {width:35%}
.events-list th:nth-child(2) {width:14%}
.events-list th:nth-child(3) {width:15%}
.events-list th:nth-child(4) {width:36%}
.events-list .event-summary {white-space:normal;overflow-wrap:anywhere}
.events-list .event-summary small {display:block;margin-top:7px;line-height:1.5}
@media(min-width:1000px){.topbar .event-select select {max-width:340px;width:clamp(230px,26vw,340px);font-size:13px}}
