html,body,#root{height:100%}body{margin:0}img{max-width:100%}[hidden]{display:none!important}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}#root{display:contents}:root{--surface:#faf5f5;--surface-raised:#fff;--surface-sunken:#f3eaea;--line:#ebdada;--ink:#1c1b1f;--ink-muted:#5f5a5a;--ink-subtle:#6e6767;--primary:#b71c24;--primary-pressed:#8e141a;--on-primary:#fff;--primary-soft:#fdecec;--on-primary-soft:#8e141a;--gold:#ffc94a;--success:#1e7b4b;--success-soft:#e3f3ea;--warning:#6b3a00;--warning-soft:#fff4e3;--danger:#b3261e;--focus:#1c1b1f;--scrim:#1c1b1f73;--shadow-card:0 1px 2px #1c1b1f0f, 0 4px 12px #1c1b1f0f;--shadow-sheet:0 -4px 24px #1c1b1f1f;--sans:"Be Vietnam Pro","Segoe UI",Roboto,system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--control-md:44px;--control-sm:32px;--touch-min:44px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface:#161213;--surface-raised:#211b1c;--surface-sunken:#2b2324;--line:#3a3132;--ink:#f5efef;--ink-muted:#b9aeae;--ink-subtle:#998e8e;--primary:#ff7a7d;--primary-pressed:#ff9c9e;--on-primary:#2b0a0c;--primary-soft:#3a1416;--on-primary-soft:#ffc2c3;--success:#4cc38a;--success-soft:#12301f;--warning:#ffc94a;--warning-soft:#33240a;--danger:#ff8a80;--focus:#f5efef;--scrim:#0009;--shadow-card:0 1px 2px #0006, 0 4px 12px #0000004d;--shadow-sheet:0 -4px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--surface:#161213;--surface-raised:#211b1c;--surface-sunken:#2b2324;--line:#3a3132;--ink:#f5efef;--ink-muted:#b9aeae;--ink-subtle:#998e8e;--primary:#ff7a7d;--primary-pressed:#ff9c9e;--on-primary:#2b0a0c;--primary-soft:#3a1416;--on-primary-soft:#ffc2c3;--success:#4cc38a;--success-soft:#12301f;--warning:#ffc94a;--warning-soft:#33240a;--danger:#ff8a80;--focus:#f5efef;--scrim:#0009;--shadow-card:0 1px 2px #0006, 0 4px 12px #0000004d;--shadow-sheet:0 -4px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:22px}.app{grid-template-columns:232px 1fr;min-height:100%;display:grid}aside{background:var(--surface-raised);border-right:1px solid var(--line);padding-block:var(--space-6);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:var(--space-4);gap:var(--space-5);flex-direction:column;display:flex}.brand{flex-direction:column;gap:2px;display:flex}.brand b{color:var(--primary);font-size:22px;font-weight:700;line-height:28px}.brand span{font-size:14px;font-weight:600;line-height:20px}.brand small{color:var(--ink-subtle);font-size:12px;line-height:16px}nav{flex-direction:column;gap:2px;display:flex;overflow-y:auto}nav button,.subnav button{all:unset;box-sizing:border-box;cursor:pointer;min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink-muted);align-items:center;gap:var(--space-3);font-size:15px;transition:background .15s;display:flex}nav button:hover,.subnav button:hover{background:var(--surface-sunken);color:var(--ink)}nav button:focus-visible,.subnav button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.grp svg{flex:none}.grp .lbl{flex:1}.grp.on{color:var(--ink);font-weight:600}.grp.on>svg{color:var(--primary)}.grp[aria-current=page]{background:var(--primary-soft);color:var(--on-primary-soft)}.grp[aria-current=page]>svg{color:var(--on-primary-soft)}.chev{place-items:center;transition:transform .15s;display:grid}.chev svg{width:20px;height:20px}.grp[aria-expanded=false] .chev{transform:rotate(-90deg)}.sub{margin:2px 0 var(--space-1);flex-direction:column;gap:2px;display:flex}.kid{justify-content:space-between;font-size:14px;padding-left:48px!important}.kid[aria-current=page],.subnav .kid[aria-current=page]{background:var(--primary-soft);color:var(--on-primary-soft);font-weight:600}.subnav{display:none}nav .cnt,.subnav .cnt{color:var(--ink-subtle);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}nav button[aria-current=page] .cnt{color:var(--on-primary-soft)}.role{gap:var(--space-1);color:var(--ink-subtle);flex-direction:column;margin-top:auto;font-size:13px;display:flex}main{padding-block:var(--space-6) var(--space-12,48px);padding-left:var(--space-6);padding-right:max(24px,env(safe-area-inset-right,0px));gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.banner{color:var(--warning);background:var(--warning-soft);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:14px;line-height:20px}.head{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;display:flex}h1{text-wrap:balance;margin:0;font-size:26px;font-weight:700;line-height:32px}.sub{color:var(--ink-muted);margin:var(--space-1) 0 0;max-width:72ch;font-size:14px;line-height:20px}.tools{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--space-3);min-height:var(--control-md);font-size:15px}textarea{padding:var(--space-2) var(--space-3)}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--primary)}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{font:inherit;cursor:pointer;border-radius:var(--radius-md);min-height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.btn:hover{background:var(--surface-sunken)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);border-radius:var(--radius-lg)}.btn.primary:hover{background:var(--primary-pressed);border-color:var(--primary-pressed)}.btn.sm{min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:13px}.btn:disabled{opacity:.4;cursor:not-allowed}.kpis{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kpi{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-5);gap:var(--space-1);flex-direction:column;display:flex}.kpi b{font-variant-numeric:tabular-nums;font-size:26px;line-height:32px}.kpi span{color:var(--ink-muted);font-size:14px;line-height:20px}.kpi.warn b{color:var(--warning)}.kpi.bad b{color:var(--danger)}.kpis3{grid-template-columns:repeat(3,minmax(0,1fr))}.seat{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.seatbar{border-radius:var(--radius-xs);background:var(--surface-sunken);width:80px;height:8px;display:block;overflow:hidden}.seatbar i{background:var(--success);height:100%;display:block}.seatbar i.full{background:var(--warning)}.progress{align-items:center;gap:var(--space-3);flex-wrap:wrap;font-size:15px;display:flex}.seatbar.wide{width:200px;height:10px}.tasks{padding:0 var(--space-4) var(--space-2);margin:0;list-style:none}.tasks li{border-top:1px solid var(--line);padding:var(--space-3) 0}.tasks li:first-child{border-top:0}.tasks label{gap:var(--space-3);cursor:pointer;align-items:flex-start;font-size:14px;line-height:20px;display:flex}.tasks input{margin-top:2px}.tasks input:checked+span b{color:var(--ink-subtle);text-decoration:line-through}.grid2{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.panel{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;overflow:hidden}.panel h2{padding:var(--space-4) var(--space-4) var(--space-3);margin:0;font-size:18px;font-weight:600;line-height:24px}.scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px;line-height:20px}th,td{text-align:left;padding:var(--space-3);border-top:1px solid var(--line);white-space:nowrap;vertical-align:middle}th{color:var(--ink-muted);background:var(--surface-sunken);border-top:0;font-size:12px;font-weight:600;line-height:16px}tbody tr:hover td{background:var(--surface)}.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--ink-subtle)}.pill{padding:3px var(--space-2);border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--on-primary-soft);white-space:nowrap;align-items:center;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.pill.ok{background:var(--success-soft);color:var(--success)}.pill.warn{background:var(--warning-soft);color:var(--warning)}.pill.bad{color:var(--danger);background:0 0;border:1px solid;padding:2px 7px}.pill.bad:before{content:"!";margin-right:4px;font-weight:700}.pill.n{background:var(--surface-sunken);color:var(--ink-muted)}.env{padding:1px var(--space-2);border-radius:var(--radius-pill);white-space:nowrap;border:1px solid;font-size:12px;font-weight:600;line-height:16px}.env.PROD{color:var(--primary)}.env.NON-PROD{color:var(--ink-muted)}.bars{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);flex-direction:column;display:flex}.bar{gap:var(--space-3);grid-template-columns:120px 1fr 32px;align-items:center;font-size:14px;display:grid}.bar i{border-radius:var(--radius-xs);background:var(--primary);height:10px;display:block}.bar em{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-muted);font-style:normal}.list{padding:0 var(--space-4) var(--space-3);margin:0;list-style:none}.list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line);font-size:14px;line-height:20px;display:flex}.list li:first-child{border-top:0}.empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--ink-subtle)}.scrim{background:var(--scrim);padding:var(--space-4);z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-sheet);width:min(560px,100%);max-height:90vh;padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex;overflow:auto}.modal h3{margin:0;font-size:22px;font-weight:700;line-height:28px}.form{gap:var(--space-3) var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form label{gap:var(--space-1);color:var(--ink-muted);flex-direction:column;min-width:0;font-size:13px;line-height:18px;display:flex}.form label b{color:var(--ink);font-size:15px;font-weight:600}.form label.full{grid-column:1/-1}.actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.err{color:var(--danger);font-size:14px}.stock{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.stock h4{margin:0;font-size:17px;font-weight:600;line-height:24px}.err:not(:empty):before{content:"! ";font-weight:700}.toast{right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--surface);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);z-index:30;box-shadow:var(--shadow-sheet);font-size:14px;position:fixed}@media (width<=1023px){.kpis,.kpis3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}}.mbar,.tabbar{display:none}.avatar{all:unset;cursor:pointer;border-radius:var(--radius-pill);background:var(--primary-soft);width:40px;height:40px;color:var(--on-primary-soft);place-items:center;font-size:14px;font-weight:700;display:grid}.avatar:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (width<=820px){.app{display:block}aside{display:none}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface-raised);position:fixed;inset:0 0 auto}.mbar{top:env(safe-area-inset-top,0px);z-index:9;justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--surface-raised);border-bottom:1px solid var(--line);min-height:56px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;position:sticky}.mbrand{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.mbrand b{color:var(--primary);font-size:18px;line-height:24px}.mbrand span{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.subnav:not([hidden]){gap:var(--space-2);top:calc(56px + env(safe-area-inset-top,0px));z-index:8;background:var(--surface);padding-block:var(--space-2);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));scrollbar-width:none;display:flex;position:sticky;overflow-x:auto}.subnav .kid{white-space:nowrap;min-height:var(--control-sm);border-radius:var(--radius-pill);background:var(--surface-raised);border:1px solid var(--line);flex:none;font-size:14px;padding:0 var(--space-4)!important}.subnav .kid[aria-current=page]{border-color:#0000}.subnav .cnt{display:none}.tabbar{z-index:9;background:var(--surface-raised);box-shadow:var(--shadow-sheet);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{all:unset;cursor:pointer;height:64px;color:var(--ink-subtle);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;font-size:12px;font-weight:600;line-height:16px;display:flex}.tabbar button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 2px;overflow:hidden}.tabbar button[aria-current=page]{color:var(--primary)}.tabbar button[aria-current=page] svg{background:var(--primary-soft);border-radius:var(--radius-pill);box-sizing:content-box;padding:2px 14px}.tabbar button:focus-visible{outline:2px solid var(--focus);outline-offset:-4px;border-radius:var(--radius-md)}main{padding-block:var(--space-4) calc(64px + env(safe-area-inset-bottom,0px) + var(--space-6));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));gap:var(--space-4)}h1{font-size:22px;line-height:28px}.banner{font-size:13px;line-height:18px}.head{flex-direction:column;align-items:stretch}.tools{flex-wrap:wrap;display:flex}.tools>input,.tools>label{flex:100%}.tools>select,.tools>.btn{flex:40%}.tools label select{flex:1}input,select,textarea{font-size:16px}.kpis{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.kpis3{grid-template-columns:1fr}.kpi{padding:var(--space-3) var(--space-4)}.kpi b{overflow-wrap:anywhere;font-size:22px;line-height:28px}.kpi span{font-size:13px;line-height:18px}.grid2{grid-template-columns:1fr}.panel h2{font-size:17px}.scroll{overflow:visible}table.cards,table.cards tbody,table.cards tr,table.cards td{width:100%;display:block}table.cards thead{display:none}table.cards tbody tr{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}table.cards tbody tr:first-child{border-top:0}table.cards tbody tr:hover td{background:0 0}table.cards td{white-space:normal;overflow-wrap:anywhere;border:0;min-height:26px;padding:3px 0 3px 38%;position:relative}table.cards td:before{content:attr(data-label);width:calc(38% - 12px);color:var(--ink-subtle);font-size:13px;line-height:20px;font-family:var(--sans);letter-spacing:0;font-weight:400;position:absolute;top:3px;left:0}table.cards td:first-child{padding-left:0;padding-bottom:var(--space-1);font-size:15px;font-weight:600;display:block}table.cards td:first-child:before{content:none}table.cards td[data-label=""]{gap:var(--space-2);padding:var(--space-2) 0 0;flex-wrap:wrap;display:flex!important}table.cards td[data-label=""]:before{content:none}table.cards td[data-label=""]:empty{display:none!important}table.cards td.empty{padding-left:0;display:block}table.cards td.empty:before{content:none}table.cards .btn.sm{min-height:var(--touch-min,44px);padding:0 var(--space-4);font-size:14px}.scrim{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:92vh;padding-block:var(--space-3) calc(var(--space-5) + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));animation:.2s ease-out sheet-up}.modal:before{content:"";border-radius:var(--radius-pill);background:var(--line);flex:none;align-self:center;width:40px;height:4px}.modal h3{font-size:20px;line-height:26px}.modal .actions .btn{flex:1 1 0;min-height:48px}.form{grid-template-columns:1fr}.toast{left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(64px + env(safe-area-inset-bottom,0px) + var(--space-3));text-align:center}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet-list{flex-direction:column;gap:2px;display:flex}.sheet-item{all:unset;cursor:pointer;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink);font-size:15px;display:flex}.sheet-item svg{color:var(--ink-muted);flex:none}.sheet-item span{flex-direction:column;display:flex}.sheet-item small{color:var(--ink-subtle);font-size:12px}.sheet-item:hover{background:var(--surface-sunken)}.sheet-item[aria-current=page]{background:var(--primary-soft);color:var(--on-primary-soft)}.sheet-item[aria-current=page] svg{color:var(--on-primary-soft)}.sheet-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sheet-acc{gap:var(--space-3);padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);flex-direction:column;font-size:14px;display:flex}.sheet-acc label{gap:var(--space-1);color:var(--ink-muted);flex-direction:column;font-size:13px;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.login{min-height:100%;padding-block:var(--space-8);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));justify-content:center;display:flex}.login-wrap{gap:var(--space-5);flex-direction:column;width:min(440px,100%);display:flex}.login-brand{align-items:baseline;gap:var(--space-2);justify-content:center;display:flex}.login-brand b{color:var(--primary);font-size:30px;font-weight:700;line-height:36px}.login-brand span{font-size:17px;font-weight:600;line-height:24px}.login-card{background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.login-card h1{font-size:22px;line-height:28px}.login-card p{margin:0}.login-foot{text-align:center;color:var(--ink-subtle);margin:0;font-size:13px;line-height:18px}.lform{gap:var(--space-2);flex-direction:column;display:flex}.lform label{margin-top:var(--space-2);font-size:14px;font-weight:600;line-height:20px}.lform input{width:100%;min-height:52px}.lform .btn.primary{margin-top:var(--space-3)}.btn.block{width:100%;min-height:52px}.pw{position:relative}.pw input{width:100%;padding-right:56px}.eye{all:unset;border-radius:var(--radius-sm);width:44px;height:44px;color:var(--ink-muted);cursor:pointer;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.eye:hover{color:var(--ink);background:var(--surface-sunken)}.eye:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.otp{font-family:var(--mono);letter-spacing:.4em;text-align:center;font-size:26px}.hint{color:var(--ink-subtle);font-size:13px;line-height:18px}.small{font-size:14px;line-height:20px}.row{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.linkbtn{all:unset;cursor:pointer;color:var(--primary);border-radius:var(--radius-xs);font-size:14px;font-weight:600}.linkbtn:hover{text-decoration:underline}.linkbtn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.demo{background:var(--warning-soft);color:var(--warning);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:14px}.demo summary{cursor:pointer;font-weight:600}.demo ul{margin:var(--space-2) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.demo li{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.demo .linkbtn{color:var(--warning);font-family:var(--mono);font-size:13px}.demo-hint{color:var(--ink-subtle);font-size:13px;line-height:18px}.steps{padding-left:var(--space-5);gap:var(--space-4);flex-direction:column;margin:0;font-size:15px;display:flex}.steps li{gap:var(--space-2);flex-direction:column;display:flex}.steps li::marker{color:var(--primary);font-weight:700}.qr{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;align-self:flex-start;min-width:208px;min-height:208px}.qr img,.qr canvas{display:block}.secret{color:var(--ink-muted);font-size:14px;line-height:20px}.secret .mono{color:var(--ink);letter-spacing:.05em;word-break:break-all;font-size:15px}.codes{padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);gap:var(--space-2) var(--space-4);grid-template-columns:1fr 1fr;margin:0;font-size:16px;list-style:none;display:grid}.check{gap:var(--space-2);align-items:flex-start;font-size:15px;display:flex}.check input{margin-top:2px}.who{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line);flex-direction:column;flex:none;margin-top:auto;font-size:14px;line-height:20px;display:flex}.who-id{align-items:center;gap:var(--space-3);min-width:0;display:flex}.who-txt{flex-direction:column;min-width:0;display:flex}.who-txt b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.who-txt span{color:var(--ink-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:16px;overflow:hidden}.who-role{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-muted);align-self:flex-start;font-size:12px;font-weight:600;line-height:16px}.who-acts{flex-direction:column;gap:2px;display:flex}.who-act{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:var(--space-3);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink-muted);font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.who-act svg{color:var(--ink-subtle);flex:none}.who-act:hover{background:var(--surface-sunken);color:var(--ink)}.who-act:hover svg{color:var(--ink-muted)}.who-act.out:hover{background:var(--primary-soft);color:var(--on-primary-soft)}.who-act.out:hover svg{color:var(--on-primary-soft)}.who-act:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.avatar.sm{cursor:default;flex:none;width:36px;height:36px;font-size:13px}@media (width<=820px){.who{display:none}.login{padding-block:var(--space-5)}.login-card{padding:var(--space-5)}}.app{min-height:100%}aside{gap:var(--space-4);height:100vh;position:sticky;top:0;overflow:hidden}aside nav{flex:auto;min-height:0}.spinner{padding:var(--space-8);text-align:center;color:var(--ink-subtle)}.inline-err{background:var(--surface-raised);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:14px}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.check-grid{flex-direction:column;gap:6px;max-height:40vh;display:flex;overflow:auto}.check-grid label{color:var(--ink);align-items:center;gap:8px;font-size:15px;display:flex}a.link{color:var(--primary);font-weight:600;text-decoration:none}a.link:hover{text-decoration:underline}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.steps li{display:list-item}.steps li>*+*{margin-top:var(--space-2)}.steps li>b{display:inline}.steps .qr{width:fit-content;display:block}.btn{gap:6px}.btn svg{flex:none}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);flex-wrap:wrap;display:flex}.panel-head h2{padding:0}.panel-head input{min-height:var(--control-sm);flex:0 240px;min-width:0;font-size:14px}.count{color:var(--ink-subtle);font-variant-numeric:tabular-nums;margin-left:4px;font-size:13px;font-weight:600}.pager{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--line);color:var(--ink-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-size:13px;line-height:18px;display:flex}.pager-size{align-items:center;gap:var(--space-2);display:flex}.pager-size select{min-height:var(--control-sm);padding:0 var(--space-2);font-size:13px}.pager-nav{align-items:center;gap:var(--space-2);display:flex}.icon-btn{all:unset;box-sizing:border-box;cursor:pointer;width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);place-items:center;display:grid}.icon-btn:hover:not(:disabled){background:var(--surface-sunken)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (width<=820px){aside{height:auto;position:static}.pager-size{display:none}.icon-btn{width:var(--touch-min);height:var(--touch-min)}.panel-head input{min-height:var(--control-md);flex:100%;font-size:16px}}.two{flex-direction:column;min-width:0;display:flex}.two>small{color:var(--ink-subtle);text-overflow:ellipsis;max-width:36ch;font-size:12px;line-height:16px;overflow:hidden}td.num,th.num{text-align:right}tr.clickable{cursor:pointer}tr.clickable:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}tr.clickable[aria-selected=true] td{background:var(--primary-soft)}th.go,td.go{width:1%;color:var(--ink-subtle);padding-left:0}td.go svg{display:block}tr.clickable:hover td.go{color:var(--primary)}.tbar{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.tbar input{min-height:var(--control-sm);flex:0 320px;min-width:0;font-size:14px}.tabs{gap:var(--space-1);border-bottom:1px solid var(--line);scrollbar-width:none;margin-bottom:calc(-1 * var(--space-2));display:flex;overflow-x:auto}.tabs button{all:unset;box-sizing:border-box;cursor:pointer;min-height:var(--control-md);padding:0 var(--space-4);color:var(--ink-muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;font-size:15px;font-weight:600;display:flex}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.tabs button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:var(--radius-sm)}.tabs .count{border-radius:var(--radius-pill);background:var(--surface-sunken);margin-left:0;padding:0 6px;font-size:12px}.tabs button[aria-selected=true] .count{background:var(--primary-soft);color:var(--on-primary-soft)}.scrim.side{justify-content:flex-end;align-items:stretch;padding:0}.drawer{background:var(--surface-raised);width:min(600px,100%);height:100%;box-shadow:var(--shadow-sheet);outline:none;flex-direction:column;animation:.18s ease-out drawer-in;display:flex}@keyframes drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--line);display:flex}.drawer-title{min-width:0}.drawer-head h3{overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700;line-height:28px}.drawer-head h3 .mono{font-size:18px}.drawer-sub{align-items:center;gap:var(--space-2);margin-top:var(--space-1);color:var(--ink-muted);flex-wrap:wrap;font-size:14px;display:flex}.drawer-body{padding:var(--space-4) var(--space-6) var(--space-6);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-top:1px solid var(--line);background:var(--surface-raised);flex-wrap:wrap;display:flex}.drawer-foot .btn.sm{min-height:var(--control-md);padding:0 var(--space-4);border-radius:var(--radius-md);font-size:15px}.drawer-foot>.btn:first-child{margin-right:auto}.dsec{gap:var(--space-2);flex-direction:column;display:flex}.dsec-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.dsec h4{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-subtle);margin:0;font-size:13px;font-weight:600;line-height:18px}.kv{border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;margin:0;display:flex;overflow:hidden}.kv>div{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);grid-template-columns:150px 1fr;font-size:14px;line-height:20px;display:grid}.kv>div:first-child{border-top:0}.kv dt{color:var(--ink-subtle)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.dlist{border:1px solid var(--line);border-radius:var(--radius-md);margin:0;padding:0;list-style:none}.dlist li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);font-size:14px;line-height:20px;display:flex}.dlist li:first-child{border-top:0}.dnone{margin:0;font-size:14px}.drawer .form{grid-template-columns:1fr 1fr}@media (width<=1180px){th.hide-md,td.hide-md{display:none}}@media (width<=820px){td.hide-md{display:block!important}td.go,th.go{display:none!important}.tbar input{min-height:var(--control-md);flex:100%;font-size:16px}.two>small{max-width:none}.scrim.side{align-items:flex-end}.drawer{border-radius:var(--radius-xl) var(--radius-xl) 0 0;height:auto;max-height:92vh;animation:.2s ease-out sheet-up}.drawer-head,.drawer-body,.drawer-foot{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.drawer-foot{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.drawer-foot .btn{flex:40%}.drawer-foot>.btn:first-child{margin-right:0}.kv>div{grid-template-columns:120px 1fr}.drawer .form{grid-template-columns:1fr}}.t-short{display:none}td.wrap{white-space:normal;overflow-wrap:anywhere;min-width:260px}@media (width<=1280px){td{white-space:normal}td .mono,td .pill,td .env,td .btn,td .seat{white-space:nowrap}td .two>small{white-space:normal;max-width:none}.seat .pill{display:none}.seatbar{width:56px}}@media (width<=820px){.t-full{display:none}.t-short{display:inline}.tabs button{padding:0 var(--space-2);flex:1 1 0;justify-content:center}td.wrap{min-width:0}td .seat{white-space:normal;flex-wrap:wrap}.seat .pill{display:inline-flex}.kpis3{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);gap:0;overflow:hidden}.kpis3 .kpi{box-shadow:none;justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--line);border-radius:0;flex-direction:row-reverse}.kpis3 .kpi:first-child{border-top:0}.kpis3 .kpi b{white-space:nowrap;font-size:17px;line-height:24px}}td.wrap .mono{white-space:normal;overflow-wrap:anywhere}@media (width<=820px){td.num,th.num{text-align:left}}.banner.row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.banner .linkbtn{color:var(--warning);text-decoration:underline}.tbar select{min-height:var(--control-sm);padding:0 var(--space-2);font-size:14px}.form .fgroup{margin:var(--space-2) 0 0;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-subtle);border-top:1px solid var(--line);padding-top:var(--space-3);grid-column:1/-1;font-size:13px;font-weight:600;line-height:18px}.form .fgroup:first-child{border-top:0;margin-top:0;padding-top:0}.form .fgroup .muted{text-transform:none;letter-spacing:0;font-weight:400}.warn-list li{justify-content:flex-start}.warn-list .pill{margin-right:var(--space-1)}@media (width<=820px){.tbar select{min-height:var(--control-md);flex:40%;font-size:16px}}.panel.pad{padding:var(--space-4)}.pwcheck{margin:0 0 var(--space-2);color:var(--ink-subtle);flex-wrap:wrap;gap:4px 12px;padding:0;font-size:13px;list-style:none;display:flex}.pwcheck li.ok{color:var(--success);font-weight:600}a.btn.block{text-decoration:none}.picker{min-width:0;display:block;position:relative}.picker input{width:100%;padding-right:36px}.picker-caret,.picker-clear{width:28px;height:28px;color:var(--ink-muted);border-radius:var(--radius-xs);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.picker-caret svg{transform:rotate(90deg)}.picker-clear{cursor:pointer}.picker-clear:hover{background:var(--surface-sunken);color:var(--ink)}.picker-list{z-index:60;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:300px;box-shadow:var(--shadow-sheet);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.picker-list li{border-radius:var(--radius-xs);cursor:pointer;text-align:left;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.picker-list li b{align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.picker-list li small{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.picker-list li.hi{background:var(--surface-sunken)}.picker-list li[aria-selected=true] b{color:var(--primary)}.picker-list .picker-empty{color:var(--ink-muted);cursor:default}.head .tools .picker{flex:0 360px;width:360px}@media (width<=820px){.head .tools .picker{flex:100%;width:auto}.picker-list{max-height:50vh}}.check-search{width:100%}.sel-bar{gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface-sunken);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;font-size:14px;display:flex}td.pick{width:40px}.tbar{align-items:center}.tbar .tbar-check{white-space:nowrap;color:var(--ink-muted);align-items:center;gap:8px;margin-left:auto;font-size:14px;display:flex}.tbar .tbar-check input{flex:none;width:18px;height:18px;min-height:0;margin:0}.kpis.k5{grid-template-columns:repeat(5,minmax(0,1fr))}.kpis:has(>:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}a.kpi{color:inherit;text-decoration:none;transition:box-shadow .15s}a.kpi:hover{box-shadow:var(--shadow-sheet)}a.kpi:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (width<=1280px){.kpis:has(>:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.kpis:has(>:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}}.list a{color:var(--ink);font-weight:500;text-decoration:none}.list a:hover{color:var(--primary);text-decoration:underline}
