@import"https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Kanit,Segoe UI,sans-serif;color:var(--text-primary);background:var(--background);font-synthesis:none;text-rendering:optimizeLegibility;font-optical-sizing:auto;--primary-green: #007a3d;--background: #071a12;--background-secondary: #0b2418;--surface: #123322;--gold: #d4af37;--gold-light: #f4d76a;--text-primary: #f5f7f5;--text-secondary: #a9c5b2;--border: #244735;--hover: #19452e;--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--navy: #0b2418;--navy-soft: #123322;--ink: #f5f7f5;--muted: #a9c5b2;--line: #244735;--lime: #d4af37;--lime-dark: #f4d76a;--green: #22c55e;--red: #ef4444;--shadow: 0 12px 32px rgba(0, 0, 0, .2)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{color:var(--ink)}::selection{background:var(--gold);color:#071a12}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:#607086}.loader{width:19px;height:19px;display:inline-block;border:2px solid #d9e1e9;border-top-color:#7eaa35;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 78% 12%,rgba(199,241,104,.16),transparent 28%),#f1f4f6}.auth-card{width:min(100%,440px);background:#fff;padding:42px;border:1px solid #e9edf0;border-radius:20px;box-shadow:0 25px 70px #111d301c}.auth-card h1{margin:7px 0 3px;font-size:29px;letter-spacing:-.7px}.brand-mark{display:block;width:58px;height:58px;margin:0 auto 25px;border-radius:14px;background:#000;object-fit:contain}.eyebrow{margin:0 0 7px;color:#96a1ae;font:700 10px Manrope,Kanit,sans-serif;letter-spacing:1.35px;text-transform:uppercase}.muted{color:var(--muted)}.auth-card>.muted{margin:4px 0 25px;font-size:14px}.form-stack{display:flex;flex-direction:column;gap:16px}.form-stack label,.zone-form label{display:flex;flex-direction:column;gap:7px;color:#536276;font-size:13px;font-weight:600}.form-stack input,.form-stack select,.form-stack textarea,.zone-form input{width:100%;min-height:45px;padding:10px 12px;border:1px solid #dce3e9;border-radius:9px;background:#fff;outline:none;transition:border .18s,box-shadow .18s}.form-stack textarea{resize:vertical}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.zone-form input:focus{border-color:#9bc54c;box-shadow:0 0 0 3px #afda652e}.form-stack label small{color:#8491a0;font-weight:400;font-size:11px}.auth-form{gap:14px}.small-note{color:#99a3b1;font-size:11px;line-height:1.7;text-align:center;margin:24px 0 0}.setup-card{width:min(100%,530px)}.setup-card>h1{margin-bottom:12px}.setup-steps{display:flex;flex-direction:column;gap:12px;margin:24px 0}.setup-steps>div{display:flex;align-items:center;gap:13px;padding:12px;border-radius:9px;background:#f6f8f8;font-size:13px}.setup-steps>div>span{color:#97ba51;font:700 11px Manrope,sans-serif}.setup-steps code,.sql-copy code{color:#526276;font-size:11px}.icon-orb{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#eff7df;color:#6b922e;margin-bottom:23px}.alert{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border-radius:9px;font-size:12px;line-height:1.55}.alert-error{color:#a53636;background:#fff1f0;border:1px solid #f4d4d1}.alert-warning{color:#885d16;background:#fff8e7;border:1px solid #f0dfb3}.alert-success{color:#137553;background:#eaf8f0;border:1px solid #c8ead7}.sql-copy{display:flex;flex-direction:column;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#f8fafb;overflow-wrap:anywhere}.text-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:#66788d;font-size:12px;font-weight:600}.text-button:hover{color:#668d27}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;display:flex;flex-direction:column;width:252px;padding:25px 15px 16px;color:#d9e1ec;background:var(--navy)}.brand-lockup{display:flex;align-items:center;gap:11px;padding:0 11px 27px;border-bottom:1px solid rgba(255,255,255,.09)}.sidebar-logo{display:block;flex:0 0 46px;width:46px;height:46px;border-radius:10px;background:#000;object-fit:cover}.brand-lockup>div:last-child{display:flex;flex-direction:column;gap:3px}.brand-lockup strong{font:800 11px Manrope,sans-serif;letter-spacing:.7px;color:#fff}.brand-lockup small{font:600 9px Manrope,sans-serif;letter-spacing:1.6px;color:#8491a1}.crest,.match-crest{display:grid;place-items:center;color:var(--lime);font:800 12px Manrope,sans-serif;letter-spacing:-1px}.crest{width:39px;height:39px;border:1px solid rgba(201,243,106,.55);border-radius:12px}.crest span,.match-crest span{color:#fff}.sidebar-section-label{margin:25px 12px 11px;color:#75849a;font:700 9px Manrope,Kanit,sans-serif;letter-spacing:1.5px;text-transform:uppercase}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-link{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:43px;padding:0 12px;border:0;border-radius:9px;color:#a9b5c5;background:transparent;text-align:left;font-size:13px;transition:.16s ease}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link-active{color:var(--navy);background:var(--lime);font-weight:700}.nav-link-active:hover{color:var(--navy);background:#d7fb87}.nav-active-dot{width:5px;height:5px;margin-left:auto;border-radius:50%;background:#758e3a}.sidebar-bottom{margin-top:auto}.sidebar-help{display:flex;gap:9px;align-items:flex-start;padding:12px 10px;margin-bottom:15px;border-radius:9px;background:#ffffff0e;color:#91a0b2;font-size:10px;line-height:1.5}.sidebar-help svg{flex:0 0 auto;color:var(--lime)}.profile-menu{display:flex;align-items:center;gap:10px;width:100%;padding:12px 8px 2px;border:0;border-top:1px solid rgba(255,255,255,.1);color:#dce4ed;background:none;text-align:left}.avatar,.topbar-avatar,.person-avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-weight:700}.avatar{width:34px;height:34px;color:var(--navy);background:var(--lime)}.profile-copy{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.profile-copy strong{overflow:hidden;color:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.profile-copy small{color:#8796a8;font-size:10px}.profile-menu>svg{color:#8492a3}.main-column{display:flex;flex-direction:column;width:calc(100% - 252px);min-height:100vh;margin-left:252px}.topbar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;height:69px;padding:0 36px;border-bottom:1px solid #e8ecf0;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.breadcrumb{display:flex;align-items:center;gap:10px;color:#98a3b0;font-size:12px}.breadcrumb strong{color:#29384c;font-weight:600}.breadcrumb-sep{color:#c2cbd4}.topbar-actions{display:flex;align-items:center;gap:14px}.event-select-wrap{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:1px solid #e3e8ed;border-radius:8px;color:#778597;background:#fff}.event-select-wrap select{width:170px;border:0;outline:none;color:#38485e;background:transparent;font-size:11px}.topbar-avatar{width:32px;height:32px;color:#678732;background:#e9f4d8;font-size:13px}.icon-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #e8edf1;border-radius:9px;color:#728195;background:#fff}.icon-button:hover{color:var(--ink);background:#f5f7f8}.mobile-menu-button{display:none}.page-content{width:100%;max-width:1500px;flex:1;margin:0 auto;padding:32px 36px 48px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{margin:0;color:#1b293d;font-size:27px;font-weight:600;letter-spacing:-.5px}.page-heading .muted{margin:5px 0 0;font-size:12px}.page-heading-action{flex:0 0 auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 15px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:600;transition:.16s ease}.button-primary{color:#1b2b16;background:var(--lime)}.button-primary:hover:not(:disabled){background:#d8f795;transform:translateY(-1px)}.button-secondary{border-color:#dfe6ec;color:#46576d;background:#fff}.button-secondary:hover:not(:disabled){border-color:#b9c8d3;background:#f9fbfc}.button-ghost{border-color:transparent;color:#6c7b8e;background:transparent}.button-success{color:#fff;background:#178561}.button-success:hover:not(:disabled){background:#116d4f}.button-small{min-height:33px;padding:0 11px;font-size:11px}.button-wide{width:100%}.page-alert{margin-bottom:18px}.panel{min-width:0;border:1px solid #e9edf1;border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 21px 17px}.button-row{display:flex;align-items:center;gap:8px}.panel-heading h2{margin:0;color:#27374d;font-size:15px;font-weight:600}.panel-heading .eyebrow{margin-bottom:3px;font-size:9px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{position:relative;min-height:130px;padding:18px;overflow:hidden;border:1px solid #e8edf0;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.stat-card:after{position:absolute;right:-22px;bottom:-32px;width:95px;height:95px;border-radius:50%;background:var(--stat-glow, rgba(201,243,106,.18));content:""}.stat-card-top{display:flex;align-items:center;justify-content:space-between;color:#7b899b;font-size:11px}.stat-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:var(--stat-color, #698b32);background:var(--stat-bg, #f0f7df)}.stat-icon svg{width:17px;height:17px}.stat-card>strong{display:block;position:relative;z-index:1;margin-top:9px;color:#1d2b40;font:700 28px Manrope,Kanit,sans-serif;letter-spacing:-1px}.stat-card>small{display:block;position:relative;z-index:1;margin-top:2px;color:#9aa5b1;font-size:10px}.stat-lime{--stat-color: #719532;--stat-bg: #f1f8e3;--stat-glow: rgba(201,243,106,.22)}.stat-blue{--stat-color: #4c78a7;--stat-bg: #edf4fb;--stat-glow: rgba(111,168,218,.13)}.stat-green{--stat-color: #198661;--stat-bg: #e9f7f0;--stat-glow: rgba(69,196,133,.13)}.stat-orange{--stat-color: #b98337;--stat-bg: #fff5e8;--stat-glow: rgba(240,179,91,.14)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.9fr);gap:17px;margin-bottom:18px}.zone-panel{min-height:300px}.zone-list{display:flex;flex-direction:column;gap:15px;padding:0 21px 21px}.zone-stat-top{display:flex;align-items:center;gap:10px}.zone-stat-name{flex:1;color:#66768a;font-size:11px}.zone-stat-top>strong{color:#304057;font:700 13px Manrope,sans-serif}.zone-stat-top>strong small{color:#9aa4b0;font:400 10px Kanit,sans-serif}.zone-chip{--zone-color: #c9f56a;display:inline-grid;place-items:center;min-width:31px;height:26px;padding:0 7px;border:1px solid color-mix(in srgb,var(--zone-color),white 45%);border-radius:7px;color:#26333f;background:color-mix(in srgb,var(--zone-color),white 80%);font:700 10px Manrope,sans-serif}.zone-chip.large{min-width:45px;height:40px;font-size:12px}.progress-track{height:5px;margin:8px 0 4px 41px;overflow:hidden;border-radius:10px;background:#f0f2f4}.progress-track span{display:block;height:100%;border-radius:inherit;background:#c5ed6c}.zone-mode{display:block;margin-left:41px;color:#a1abb6;font-size:9px}.match-panel{position:relative;min-height:300px;overflow:hidden;border:0;color:#fff;background:#142239}.match-panel:before{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#152a41f2,#0f1b2cfa),radial-gradient(circle at 80% 20%,rgba(202,243,106,.22),transparent 38%);content:""}.match-panel-glow{position:absolute;top:-70px;right:-70px;width:220px;height:220px;border:1px solid rgba(202,243,106,.16);border-radius:50%;box-shadow:0 0 0 30px #caf36a06,0 0 0 60px #caf36a05}.match-content{position:relative;display:flex;flex-direction:column;align-items:flex-start;height:100%;min-height:300px;padding:21px}.match-tag{display:inline-flex;align-items:center;gap:6px;color:var(--lime);font:700 9px Manrope,sans-serif;letter-spacing:1.2px}.match-crest{width:58px;height:58px;margin-top:22px;border:1px solid rgba(202,243,106,.38);border-radius:17px;background:#ffffff0a;font-size:16px}.match-content h2{margin:13px 0 2px;font-size:17px;font-weight:600}.match-content>p{margin:0;color:#9cabbc;font-size:11px}.match-date{display:flex;align-items:center;gap:7px;margin-top:14px;color:#d1d9e2;font-size:10px}.match-content>.status-pill{margin-top:12px}.recent-panel{margin-bottom:10px}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{padding:10px 17px;border-top:1px solid #f0f2f4;border-bottom:1px solid #edf0f3;color:#9aa5b1;background:#fafbfc;text-align:left;font-size:10px;font-weight:600}td{padding:12px 17px;border-bottom:1px solid #f0f2f4;color:#59697d;font-size:11px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfd}.mono{font-family:SFMono-Regular,Consolas,monospace;letter-spacing:-.2px}.strong{color:#27374b;font-weight:600}.table-zone{color:#718f3b;font-weight:700}.table-subtext{display:block;margin-top:2px;color:#9aa5b1;font-size:10px}.status-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:20px;color:#6d7988;background:#f0f2f4;font-size:9px;font-weight:600}.status-active,.status-accepted,.status-issued{color:#387d54;background:#eaf6eb}.status-checked_in,.status-paid{color:#267b60;background:#e3f5ed}.status-draft,.status-pending{color:#926a2b;background:#fff4de}.status-cancelled,.status-cancelled_ticket,.status-rejected,.status-not_found{color:#a04c4c;background:#fdeceb}.status-already_used{color:#9b6b25;background:#fff2dc}.status-closed{color:#64748b;background:#edf0f4}.inline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:185px;padding:20px;text-align:center}.inline-empty strong{margin-top:10px;color:#43536a;font-size:12px}.inline-empty p{margin:4px 0 12px;color:#9ba6b2;font-size:10px}.empty-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;color:#7b9c43;background:#f1f7e7}.empty-event{min-height:55vh;border:1px dashed #d6dfe6;border-radius:14px;background:#fff}.empty-event h2{margin:17px 0 4px;font-size:19px}.empty-event p{margin:0 0 19px;color:#8997a6;font-size:12px}.events-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr);gap:17px;align-items:start}.events-list-panel,.zones-panel{min-height:350px}.count-badge{display:grid;place-items:center;min-width:27px;height:25px;border-radius:7px;color:#718f3b;background:#eff6e2;font:700 10px Manrope,sans-serif}.event-list{padding:0 12px 12px}.event-list-item{display:flex;align-items:center;gap:11px;width:100%;min-height:69px;padding:10px;border:1px solid transparent;border-bottom-color:#f0f2f4;border-radius:9px;background:#fff;text-align:left}.event-list-item:hover,.event-list-item.selected{border-color:#e3edcf;background:#fbfdf7}.event-date-box{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;width:43px;height:45px;border-radius:9px;color:#668a31;background:#eff7e1}.event-date-box strong{font:700 15px Manrope,sans-serif;line-height:1.1}.event-date-box small{font-size:9px}.event-list-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.event-list-copy strong{overflow:hidden;color:#38495e;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.event-list-copy small{color:#9aa5b1;font-size:10px}.event-arrow{color:#a6b0bc}.zone-rule-banner{display:flex;align-items:center;gap:10px;margin:0 20px 15px;padding:11px 12px;border:1px solid #e7efda;border-radius:9px;color:#74943e;background:#f8fbf2}.zone-rule-banner span{display:flex;flex-direction:column;gap:2px}.zone-rule-banner strong{font-size:10px}.zone-rule-banner small{color:#8f9d83;font-size:9px}.zone-form{display:flex;align-items:flex-end;gap:9px;padding:0 20px 16px}.zone-form label{flex:1;font-size:10px}.zone-form input{min-height:37px;padding:7px 9px;font-size:11px}.zone-form .color-input-label{flex:0 0 48px}.color-input-label input{padding:3px}.zone-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 20px 20px}.zone-card{display:flex;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid #edf0f2;border-radius:9px}.zone-card-copy{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.zone-card-copy strong{overflow:hidden;color:#4a5a6e;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.zone-card-copy small{color:#9aa5b1;font-size:9px}.zone-color-dot{width:9px;height:9px;border-radius:50%}.modal-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0e192a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:min(100%,520px);max-height:min(90vh,780px);padding:22px;overflow-y:auto;border:1px solid rgba(255,255,255,.5);border-radius:15px;background:#fff;box-shadow:0 24px 70px #08122038}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:21px}.modal-heading h2{margin:0;color:#213149;font-size:18px}.modal-heading p{margin:4px 0 0;color:#8491a0;font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-info{display:flex;align-items:center;gap:8px;padding:10px;border-radius:8px;color:#6e8e3a;background:#f4f9e9;font-size:10px}.data-panel{overflow:hidden}.toolbar{display:flex;align-items:center;gap:12px;padding:15px 18px}.search-box{display:flex;align-items:center;gap:8px;width:min(100%,340px);height:37px;padding:0 10px;border:1px solid #e3e8ed;border-radius:8px;color:#97a3b0;background:#fff}.search-box input{width:100%;border:0;outline:none;color:#39495f;background:transparent;font-size:11px}.search-box input::placeholder{color:#aab3bd}.small-text{color:#9ba6b1;font-size:10px}.toolbar>.small-text{margin-left:auto}.person-cell{display:flex;align-items:center;gap:8px}.person-avatar{width:27px;height:27px;color:#698c35;background:#edf5df;font-size:11px}.person-cell strong{color:#3f5065;font-size:11px}.ticket-quantity{display:inline-flex;align-items:center;gap:6px;color:#637b3c}.tickets-toolbar{flex-wrap:wrap}.filter-select{min-height:36px;padding:0 10px;border:1px solid #e3e8ed;border-radius:8px;color:#617187;background:#fff;font-size:11px}.tickets-toolbar>.small-text{margin-left:auto}.print-ticket-grid{display:none}.print-ticket-grid.preview-open{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:18px;padding:16px;background:#f4f6f8}.ticket-table-collapsed{display:none}.ticket-print-card{width:min(100%,900px);overflow:hidden;border:1px solid #dfe3e8;border-radius:10px;background:#fff;box-shadow:0 8px 24px #121f301f}.ticket-print-card.pdf-export-card{border:0;border-radius:0;box-shadow:none}.ticket-artwork{position:relative;width:100%;aspect-ratio:1659 / 591;overflow:hidden;background:#171717}.ticket-artwork>img{display:block;width:100%;height:100%;object-fit:fill}.ticket-artwork>strong{position:absolute;display:flex;align-items:center;overflow:hidden;color:#fff;font-family:Arial,sans-serif;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.65)}.ticket-art-seat{top:66%;left:18.4%;width:8.8%;height:18%;justify-content:center;font-size:clamp(18px,2.4vw,30px)}.ticket-art-seat-large{font-size:clamp(28px,4vw,48px)}.ticket-art-seat-medium{font-size:clamp(23px,3vw,36px)}.ticket-art-name{top:67.5%;left:28%;width:21%;height:7%;font-size:clamp(8px,1.2vw,15px)}.ticket-art-phone{top:81%;left:28%;width:21%;height:6%;font-size:clamp(8px,1.2vw,15px)}.ticket-barcode-sticker{position:absolute;top:50%;left:88.8%;display:grid;width:6%;height:70%;place-items:center;overflow:hidden;background:transparent;transform:translateY(-50%)}.ticket-barcode{display:block;width:400%;height:23%;overflow:visible;background:transparent;transform:rotate(90deg)}.loading-inline{display:flex;align-items:center;justify-content:center;gap:10px;min-height:200px;color:#8996a5;font-size:11px}.checkin-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:17px;align-items:start}.scanner-panel{padding:19px}.scanner-panel-top{display:flex;align-items:center;justify-content:space-between}.scanner-live{display:inline-flex;align-items:center;gap:7px;color:#34815e;font-size:10px;font-weight:600}.scanner-live i{width:7px;height:7px;border-radius:50%;background:#3eb77d;box-shadow:0 0 0 4px #e5f6ed}.scanner-illustration{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;margin:17px 0;overflow:hidden;border:1px solid #e7eee2;border-radius:12px;color:#8fac63;background:linear-gradient(145deg,#f9fbf6,#f1f6e9)}.scanner-illustration>p{margin:12px 0 0;color:#87947b;font-size:10px}.scanner-corners{position:absolute;top:32px;right:28%;bottom:32px;left:28%}.scanner-corners span{position:absolute;width:19px;height:19px;border-color:#a6cc64;border-style:solid}.scanner-corners span:nth-child(1){top:0;left:0;border-width:2px 0 0 2px;border-radius:5px 0 0}.scanner-corners span:nth-child(2){top:0;right:0;border-width:2px 2px 0 0;border-radius:0 5px 0 0}.scanner-corners span:nth-child(3){bottom:0;left:0;border-width:0 0 2px 2px;border-radius:0 0 0 5px}.scanner-corners span:nth-child(4){right:0;bottom:0;border-width:0 2px 2px 0;border-radius:0 0 5px}.scanner-divider{display:flex;align-items:center;gap:10px;margin:17px 0 11px;color:#a6b0bc;font-size:9px}.scanner-divider:before,.scanner-divider:after{flex:1;height:1px;background:#edf0f2;content:""}.manual-code-form{display:flex;gap:8px}.manual-code-input{display:flex;flex:1;align-items:center;gap:8px;min-width:0;height:41px;padding:0 10px;border:1px solid #e2e8ec;border-radius:8px;color:#8e9baa}.manual-code-input:focus-within{border-color:#a6cc64;box-shadow:0 0 0 3px #afda6524}.manual-code-input input{flex:1;width:100%;min-width:0;border:0;outline:none;color:#33445a;font:11px SFMono-Regular,Consolas,monospace}.manual-code-input input::placeholder{color:#aab4be}.clear-code{display:grid;place-items:center;padding:3px;border:0;color:#a5afb8;background:transparent}.scanner-footnote,.result-security{display:flex;align-items:center;gap:7px;margin-top:15px;color:#94a0ad;font-size:9px}.scanner-footnote svg,.result-security svg{color:#87a850}.result-panel{min-height:490px;padding-bottom:17px}.result-panel>.alert{margin:0 20px 12px}.result-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#8e9ba9;text-align:center}.result-placeholder-icon{display:grid;place-items:center;width:57px;height:57px;border:1px solid #e8eee1;border-radius:17px;color:#8eaa60;background:#f6f9f0}.result-placeholder strong{margin-top:13px;color:#59697d;font-size:12px}.result-placeholder p{margin:4px 0 0;font-size:10px}.validation-banner{display:flex;align-items:center;gap:12px;margin:0 20px 15px;padding:13px;border:1px solid;border-radius:10px}.validation-banner>div:last-child{display:flex;flex-direction:column;gap:3px}.validation-banner strong{font-size:12px}.validation-banner small{font-size:9px}.validation-symbol{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px}.validation-good{color:#19734f;border-color:#cbe9d6;background:#eff9f2}.validation-good .validation-symbol{color:#fff;background:#36a873}.validation-used{color:#8b6327;border-color:#efdfba;background:#fff9ed}.validation-used .validation-symbol{color:#946b2c;background:#f9e9c5}.validation-bad{color:#9c4343;border-color:#f0d2d0;background:#fff4f3}.validation-bad .validation-symbol{color:#fff;background:#d76a63}.result-ticket-code{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 20px;padding:11px 0;border-bottom:1px solid #edf0f2}.result-ticket-code small{color:#8c99a7;font-size:10px}.result-ticket-code strong{color:#283951;font-size:12px}.result-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;padding:15px 20px}.detail-item{display:flex;flex-direction:column;gap:4px;min-width:0}.detail-item small{color:#9ba6b1;font-size:9px}.detail-item strong{overflow-wrap:anywhere;color:#42536a;font-size:11px;font-weight:600}.confirm-checkin{width:calc(100% - 40px);margin:0 20px}.result-security{margin:15px 20px 0}.camera-overlay{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0b1524c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.camera-modal{width:min(100%,560px);padding:18px;border-radius:15px;background:#fff}.camera-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.camera-heading h2{margin:0;font-size:17px}.camera-heading .eyebrow{margin-bottom:3px}.camera-frame{position:relative;min-height:250px;overflow:hidden;border-radius:11px;background:#101923}.camera-frame video{display:block;width:100%;max-height:60vh;object-fit:cover}.scan-guide{position:absolute;top:50%;left:50%;width:72%;height:34%;border:2px solid rgba(202,243,106,.9);border-radius:10px;box-shadow:0 0 0 999px #050c1640;transform:translate(-50%,-50%)}.scan-guide span{position:absolute;left:5%;right:5%;top:50%;height:2px;background:#caf36ad9;box-shadow:0 0 12px #caf36acc}.camera-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:25px;color:#fff;background:#0c1623e0;text-align:center;font-size:12px}.camera-error small{color:#bbc5d0;font-size:10px}.camera-hint{display:flex;align-items:center;gap:7px;margin:12px 0 0;color:#78889b;font-size:10px}.camera-hint svg{color:#75963f}.report-stats{margin-top:5px}.app-footer{display:flex;justify-content:space-between;padding:16px 36px 18px;border-top:1px solid #e8ecf0;color:#a4aeb9;font:600 8px Manrope,IBM Plex Sans Thai,sans-serif;letter-spacing:.6px}.toast{position:fixed;z-index:100;right:24px;bottom:22px;display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #cce8d5;border-radius:10px;color:#23744f;background:#f0faf3;box-shadow:0 10px 28px #111d301f;font-size:12px}.mobile-backdrop,.mobile-bottom-nav{display:none}@media(max-width:1100px){.page-content{padding-right:25px;padding-left:25px}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(245px,.85fr)}.stats-grid{gap:10px}.stat-card{padding:15px}.events-layout{grid-template-columns:1fr}}@media(max-width:820px){.sidebar{width:260px;transform:translate(-105%);transition:transform .22s ease;box-shadow:15px 0 40px #06101e2e}.sidebar-open{transform:translate(0)}.mobile-backdrop{position:fixed;z-index:25;top:0;right:0;bottom:0;left:0;display:block;border:0;background:#0b14215c}.main-column{width:100%;margin-left:0}.mobile-menu-button{display:grid}.topbar{height:61px;padding:0 20px}.page-content{padding:25px 20px 76px}.dashboard-grid,.checkin-layout{grid-template-columns:1fr}.match-panel,.match-content{min-height:245px}.match-crest{width:48px;height:48px;margin-top:15px}.mobile-bottom-nav{position:fixed;z-index:22;right:0;bottom:0;left:0;display:flex;justify-content:space-around;padding:7px 5px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #e5e9ed;background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-bottom-nav button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:45px;padding:2px;border:0;border-radius:8px;color:#8b97a5;background:transparent;font-size:8px}.mobile-bottom-nav button.active{color:#668b31;background:#f4f8eb;font-weight:600}.app-footer{padding:13px 20px 69px}}@media(max-width:580px){.auth-page{padding:14px}.auth-card{padding:28px 23px;border-radius:16px}.auth-card h1{font-size:25px}.topbar{gap:10px;padding:0 13px}.breadcrumb{flex:1;gap:6px;font-size:10px}.breadcrumb>span:first-child{display:none}.breadcrumb-sep{display:none}.topbar-actions{gap:7px}.event-select-wrap{max-width:170px;min-height:33px;gap:5px;padding:0 7px}.event-select-wrap select{width:115px;font-size:9px}.topbar-avatar{width:29px;height:29px}.page-content{padding:21px 13px 72px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:17px}.page-heading h1{font-size:22px;line-height:1.3}.page-heading .muted{max-width:265px;font-size:10px;line-height:1.5}.page-heading-action .button{min-height:35px;padding:0 9px;gap:5px;font-size:9px;white-space:nowrap}.page-heading-action .button svg{width:14px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}.stat-card{min-height:112px;padding:13px}.stat-card-top{font-size:9px}.stat-icon{width:28px;height:28px}.stat-icon svg{width:15px;height:15px}.stat-card>strong{margin-top:7px;font-size:24px}.stat-card>small{font-size:9px}.dashboard-grid{gap:12px;margin-bottom:12px}.panel-heading{padding:16px 14px 13px}.panel-heading h2{font-size:13px}.zone-list{gap:13px;padding:0 14px 16px}.zone-stat-name{font-size:10px}.match-content{padding:17px}.recent-panel .panel-heading .text-button{font-size:10px}th{padding:9px 12px;font-size:9px}td{padding:10px 12px;font-size:10px}.events-layout{gap:12px}.events-list-panel,.zones-panel{min-height:auto}.event-list{padding:0 8px 10px}.event-list-item{gap:8px;min-height:62px;padding:7px}.event-list-item .status-pill{display:none}.zone-rule-banner{margin:0 13px 12px}.zone-cards{grid-template-columns:1fr;padding:0 13px 14px}.zone-form{flex-wrap:wrap;padding:0 13px 13px}.zone-form label{min-width:calc(50% - 7px)}.zone-form>button{width:100%}.toolbar{align-items:stretch;flex-wrap:wrap;padding:12px}.toolbar .search-box{width:100%}.toolbar>.small-text{margin-left:0}.filter-select{flex:1}.form-row{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal-card{width:100%;max-height:92dvh;padding:19px 16px calc(16px + env(safe-area-inset-bottom));border-radius:17px 17px 0 0}.modal-heading{margin-bottom:17px}.form-stack{gap:13px}.checkin-layout{gap:12px}.scanner-panel{padding:14px}.scanner-illustration{min-height:170px}.scanner-corners{top:24px;right:23%;bottom:24px;left:23%}.manual-code-form{flex-direction:column}.manual-code-form>.button{width:100%}.result-panel{min-height:350px}.result-placeholder{min-height:220px}.result-details{gap:12px 8px;padding:13px 14px}.result-ticket-code{margin:0 14px}.validation-banner{margin:0 14px 12px}.confirm-checkin{width:calc(100% - 28px);margin:0 14px}.result-security{margin:13px 14px 0}.camera-overlay{padding:0}.camera-modal{width:100%;padding:16px;border-radius:17px 17px 0 0;align-self:end}.camera-frame{min-height:230px}.app-footer{gap:10px;padding-right:13px;padding-left:13px;font-size:7px}.toast{right:12px;bottom:72px;left:12px;justify-content:center}}@media print{@page{size:180mm 64.1mm;margin:0}body{background:#fff}.sidebar,.topbar,.page-heading,.data-panel>.toolbar,.screen-only,.app-footer,.toast,.mobile-bottom-nav{display:none!important}.main-column{display:block;width:100%;margin:0}.page-content{max-width:none;padding:0}.panel{border:0;box-shadow:none}.print-ticket-grid{display:block}.print-ticket-grid.preview-open{display:block;padding:0;background:#fff}.ticket-print-card{display:flex;flex-direction:column;width:180mm;height:64.1mm;border:0;border-radius:0;box-shadow:none;page-break-after:always;break-after:page}.ticket-artwork{flex:0 0 auto;width:180mm;height:64.1mm;aspect-ratio:auto}.ticket-artwork>strong{text-shadow:0 .2mm .25mm rgba(0,0,0,.65)}.ticket-art-seat{font-size:13pt}.ticket-art-seat-large{font-size:26pt}.ticket-art-seat-medium{font-size:19pt}.ticket-art-name,.ticket-art-phone{font-size:7pt}.ticket-barcode{width:400%;height:23%}}body{color:var(--text-primary);background:var(--background)}.app-loading{color:var(--text-secondary)}.loader{border-color:var(--border);border-top-color:var(--gold)}.auth-page{background:radial-gradient(ellipse at 75% 18%,rgba(0,122,61,.24),transparent 35%),var(--background)}.auth-card,.panel,.stat-card,.modal-card,.camera-modal{color:var(--text-primary);border-color:var(--border);background:var(--surface)}.auth-card{box-shadow:0 25px 70px #00000059}.auth-card h1,.page-heading h1,.panel-heading h2,.modal-heading h2,.strong,.stat-card>strong{color:var(--text-primary)}.eyebrow{color:var(--gold)}.muted,.page-heading .muted,.modal-heading p,.small-note,.form-stack label,.zone-form label{color:var(--text-secondary)}.form-stack input,.form-stack select,.form-stack textarea,.zone-form input,.filter-select,.event-select-wrap,.search-box{color:var(--text-primary);border-color:var(--border);background:var(--background-secondary)}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.zone-form input:focus,.search-box:focus-within,.manual-code-input:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #d4af372e}.form-stack input::placeholder,.search-box input::placeholder{color:#819c8b}.setup-steps>div,.sql-copy{color:var(--text-secondary);border-color:var(--border);background:var(--background-secondary)}.alert-error{color:#ffb4ad;border-color:#713b37;background:#351d1b}.alert-warning{color:#f8d17a;border-color:#695322;background:#302712}.alert-success{color:#8ce6a8;border-color:#27643d;background:#153321}.text-button{color:var(--text-secondary)}.text-button:hover{color:var(--gold-light)}.sidebar{color:var(--text-secondary);border-right:1px solid var(--border);background:#0b2418}.brand-lockup{border-color:var(--border)}.brand-lockup strong{color:var(--text-primary)}.brand-lockup small,.profile-copy small{color:var(--text-secondary)}.sidebar-section-label{color:#789584}.nav-link{color:#a9c5b2}.nav-link:hover{color:#fff;background:var(--hover)}.nav-link-active,.nav-link-active:hover{color:#071a12;background:var(--gold)}.nav-active-dot{background:#071a12}.sidebar-help{color:var(--text-secondary);background:#ffffff0d}.profile-menu{color:var(--text-primary);border-color:var(--border)}.avatar,.topbar-avatar{color:#071a12;background:var(--gold)}.main-column{background:var(--background)}.topbar{border-color:var(--border);background:#071a12f0}.breadcrumb,.breadcrumb-sep{color:#819c8b}.breadcrumb strong,.event-select-wrap select{color:var(--text-primary)}.icon-button,.button-secondary{color:var(--text-primary);border-color:var(--border);background:var(--background-secondary)}.icon-button:hover,.button-secondary:hover:not(:disabled){color:#fff;border-color:#3d7052;background:var(--hover)}.button-primary{color:#071a12;background:var(--gold)}.button-primary:hover:not(:disabled){background:var(--gold-light)}.button-success{color:#071a12;background:var(--success)}.button-success:hover:not(:disabled){background:#16a34a}.button-ghost{color:var(--text-secondary)}.panel,.stat-card{box-shadow:var(--shadow)}.stat-card-top,.stat-card>small,.zone-stat-name,.zone-stat-top>strong small,.table-subtext,.small-text{color:var(--text-secondary)}.stat-icon{color:var(--gold-light);background:#d4af3724}.stat-lime,.stat-blue,.stat-green,.stat-orange{--stat-color: var(--gold-light);--stat-bg: rgba(212,175,55,.14);--stat-glow: rgba(212,175,55,.08)}.zone-stat-top>strong{color:var(--text-primary)}.zone-chip{border-color:color-mix(in srgb,var(--zone-color),#123322 35%);color:var(--text-primary);background:color-mix(in srgb,var(--zone-color),#123322 78%)}.progress-track{background:#244735}.progress-track span{background:var(--primary-green)}.zone-mode{color:var(--text-secondary)}.match-panel{background:#0b2418}.match-panel:before{background:linear-gradient(135deg,#0b2418f0,#071a12fa),radial-gradient(circle at 80% 20%,rgba(212,175,55,.18),transparent 38%)}.match-tag{color:var(--gold-light)}.match-crest{color:var(--gold-light);border-color:#d4af3773}.match-content>p,.match-date{color:var(--text-secondary)}th{color:var(--text-secondary);border-color:var(--border);background:var(--background-secondary)}td{color:#c5d7ca;border-color:var(--border)}tbody tr:hover{background:#19452e73}.table-zone{color:var(--gold-light)}.status-pill{color:var(--text-secondary);background:#244735}.status-active,.status-accepted,.status-issued,.status-checked_in,.status-paid{color:#8ce6a8;background:#153c25}.status-draft,.status-pending{color:#f8d17a;background:#382e15}.status-cancelled,.status-cancelled_ticket,.status-rejected,.status-not_found{color:#ffaaa3;background:#3a211f}.status-already_used{color:#f8d17a;background:#382e15}.status-closed{color:#b4c5ba;background:#26382e}.inline-empty strong,.empty-event h2{color:var(--text-primary)}.inline-empty p,.empty-event p{color:var(--text-secondary)}.empty-icon,.count-badge{color:var(--gold-light);background:#d4af3724}.empty-event{border-color:var(--border);background:var(--surface)}.event-list-item{border-bottom-color:var(--border);background:transparent}.event-list-item:hover,.event-list-item.selected{border-color:#38654a;background:var(--hover)}.event-date-box{color:var(--gold-light);background:#d4af3724}.event-list-copy strong,.zone-card-copy strong{color:var(--text-primary)}.event-list-copy small,.zone-card-copy small{color:var(--text-secondary)}.zone-rule-banner,.modal-info{color:var(--gold-light);border-color:#49602b;background:#d4af371a}.zone-rule-banner small{color:var(--text-secondary)}.zone-card{border-color:var(--border);background:var(--background-secondary)}.modal-backdrop{background:#000000b3}.modal-heading h2{color:var(--text-primary)}.person-avatar{color:var(--gold-light);background:#d4af3724}.person-cell strong{color:var(--text-primary)}.ticket-quantity{color:var(--gold-light)}.scanner-live{color:#8ce6a8}.scanner-live i{background:var(--success);box-shadow:0 0 0 4px #22c55e26}.scanner-illustration{border-color:var(--border);color:var(--gold);background:linear-gradient(145deg,#123322,#0b2418)}.scanner-illustration>p,.scanner-footnote,.result-security{color:var(--text-secondary)}.scanner-corners span{border-color:var(--gold)}.scanner-divider{color:var(--text-secondary)}.scanner-divider:before,.scanner-divider:after{background:var(--border)}.manual-code-input{color:var(--text-secondary);border-color:var(--border);background:var(--background-secondary)}.manual-code-input input{color:var(--text-primary);background:transparent}.result-placeholder{color:var(--text-secondary)}.result-placeholder-icon{color:var(--gold);border-color:var(--border);background:var(--background-secondary)}.result-placeholder strong{color:var(--text-primary)}.validation-good{color:#8ce6a8;border-color:#27643d;background:#153321}.validation-good .validation-symbol{background:#16803d}.validation-used{color:#f8d17a;border-color:#695322;background:#302712}.validation-bad{color:#ffb4ad;border-color:#713b37;background:#351d1b}.result-ticket-code{border-color:var(--border)}.result-ticket-code small,.detail-item small{color:var(--text-secondary)}.result-ticket-code strong,.detail-item strong{color:var(--text-primary)}.camera-modal{background:var(--surface)}.camera-heading h2{color:var(--text-primary)}.camera-hint{color:var(--text-secondary)}.app-footer{color:var(--text-secondary);border-color:var(--border)}.toast{color:#8ce6a8;border-color:#27643d;background:#153321}.mobile-bottom-nav{border-color:var(--border);background:#0b2418f7}.mobile-bottom-nav button{color:var(--text-secondary)}.mobile-bottom-nav button.active{color:var(--gold-light);background:#d4af371f}:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{color:#18253a;background:#fff}.print-ticket-grid.preview-open{background:#fff}}
