:root{--sans:var(--ui-font,system-ui, sans-serif);--heading:var(--sans);--mono:ui-monospace, SFMono-Regular, Consolas, monospace;font-family:var(--sans);color:var(--ui-text,#132544);background:var(--ui-canvas,#f2f7fd);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}html,body{min-width:0;min-height:100%;margin:0}body,#root{min-height:100dvh}#root{width:100%;text-align:initial;margin:0}button,input,select,textarea{font-family:inherit}h1,h2,h3{font-family:var(--heading);color:inherit}p{margin:0}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--ui-font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--ui-primary:#0668f9;--ui-primary-hover:#0054d1;--ui-primary-soft:#eaf2ff;--ui-canvas:#f2f7fd;--ui-surface:#fff;--ui-surface-soft:#f5f8fd;--ui-border:#dfe8f4;--ui-text:#132544;--ui-secondary:#405b80;--ui-muted:#627794;--ui-sidebar:#0b1930;--ui-sidebar-surface:#192b45;--ui-success:#087b4e;--ui-success-soft:#e7f7ef;--ui-warning:#a25d08;--ui-warning-soft:#fff5e6;--ui-danger:#ce3150;--ui-danger-soft:#fff0f3;--ui-purple:#7742c7;--ui-purple-soft:#f1eaff;--ui-radius:12px;--ui-control-radius:8px;--ui-shadow:0 4px 18px #16345c0a;--ui-dialog-shadow:0 24px 80px #0b193038;--ui-focus:0 0 0 3px #0668f929;--ui-sidebar-width:238px;--ui-page-space:20px;--ui-topbar-height:56px}html[data-native-platform=ios] :is(.teacher-mobile-console,.school-login,.mobile-container,.tm-dialog) :is(input:not([type=checkbox]):not([type=radio]),textarea,select){font-size:16px!important}.client-downloads-trigger{color:#086bdb;white-space:nowrap;cursor:pointer;background:#ffffffeb;border:1px solid #c1dbf5;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font:600 15px/1.4 PingFang SC,Microsoft YaHei,sans-serif;transition:background .18s,border-color .18s;display:inline-flex;box-shadow:0 3px 12px #2165a10d}.client-downloads-trigger:hover{background:#fff;border-color:#2286ed}.client-downloads-trigger:focus-visible,.client-downloads-dialog :is(button,a):focus-visible{outline-offset:4px;outline:3px solid #0073ec}.client-downloads-dialog{box-sizing:border-box;overscroll-behavior:contain;color:#123766;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;text-align:left;background:#f8fbff;border:1px solid #e0eafa;border-radius:20px;width:min(744px,100vw - 40px);max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:32px;font:14px/1.6 PingFang SC,Microsoft YaHei,sans-serif;position:fixed;overflow:auto;box-shadow:0 24px 100px #0e2f5b40}.client-downloads-dialog *,.client-downloads-dialog :before,.client-downloads-dialog :after{box-sizing:border-box}.client-downloads-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c254561}.client-downloads-close{color:#516b8d;cursor:pointer;background:#edf3fb;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;top:16px;right:16px}.client-downloads-close:hover{background:#e0ebf9}.client-downloads-heading{align-items:center;gap:14px;margin-bottom:26px;padding-right:28px;display:flex}.client-downloads-emblem{color:#0875ee;background:#eaf3ff;border:1px solid #d4e6ff;border-radius:15px;flex-shrink:0;place-items:center;width:54px;height:54px;display:grid}.client-downloads-heading h2{color:#0c3265;letter-spacing:1px;margin:0 0 3px;font-size:24px;font-weight:650;line-height:1.4}.client-downloads-heading p{color:#627997;margin:0;font-size:13px}.client-downloads-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.client-downloads-card{background:#fff;border:1px solid #dce7f5;border-radius:13px;flex-direction:column;min-width:0;padding:21px;display:flex}.client-downloads-platform{align-items:center;gap:10px;display:flex}.client-downloads-platform>svg{color:#0975eb;flex-shrink:0}.client-downloads-card--macos .client-downloads-platform>svg{color:#243d60}.client-downloads-card--android .client-downloads-platform>svg{color:#25845a}.client-downloads-card--ios .client-downloads-platform>svg{color:#496bb1}.client-downloads-platform h3{color:#133962;margin:0;font-size:18px;font-weight:650;line-height:1.5}.client-downloads-badge{color:#56728e;white-space:nowrap;background:#eff5fd;border-radius:5px;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:10px;line-height:1.8}.client-downloads-badge.is-pending{color:#8d5705;background:#fff4df}.client-downloads-requirement{color:#526b89;margin:12px 0 0;font-size:12px;line-height:1.6}.client-downloads-meta{color:#69809a;margin:4px 0 10px;font-size:12px}.client-downloads-note{color:#60758f;flex:1;min-height:38px;margin:0 0 16px;font-size:12px;line-height:1.65}.client-downloads-note.is-pending{color:#8d5705}.client-downloads-ios-qr{align-items:center;gap:12px;margin:0 0 16px;padding-top:2px;display:flex}.client-downloads-ios-qr img{width:112px;height:112px;image-rendering:pixelated;background:#fff;border:1px solid #e0e8f2;border-radius:8px;flex:none;padding:3px}.client-downloads-ios-qr p{color:#60758f;margin:0;font-size:11px;line-height:1.8}.client-downloads-ios-qr strong{color:#234875;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.client-downloads-ios-qr span{display:block}.client-downloads-action{color:#fff;cursor:pointer;background:#0875ee;border:1px solid #0875ee;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:42px;padding:9px 8px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.6;text-decoration:none;display:flex}.client-downloads-action:hover{color:#fff;background:#0063d1;border-color:#0063d1;text-decoration:none}.client-downloads-action:disabled{color:#65788f;cursor:default;background:#eef2f7;border-color:#dfe7f1}.client-downloads-footer{color:#627997;text-align:center;margin:22px 0 0;font-size:12px}.client-downloads-status{text-align:center;color:#60758f;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:190px;margin:0;padding:24px 0;display:flex}.client-downloads-status p{margin:0}.client-downloads-status button{color:#076bd8;font:inherit;cursor:pointer;background:#fff;border:1px solid #bcd9fa;border-radius:7px;padding:8px 20px}.client-downloads-spinner{color:#0875ee;animation:.8s linear infinite client-downloads-spin}@keyframes client-downloads-spin{to{transform:rotate(360deg)}}@media (width<=600px){.client-downloads-dialog{border-radius:17px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px 18px}.client-downloads-heading{gap:11px;margin-bottom:20px}.client-downloads-heading h2{font-size:21px}.client-downloads-heading p{font-size:12px}.client-downloads-emblem{border-radius:12px;width:46px;height:46px}.client-downloads-grid{grid-template-columns:minmax(0,1fr);gap:12px}.client-downloads-card{padding:18px}.client-downloads-note{min-height:0}.client-downloads-footer{margin-top:18px;font-size:11px}}@media (prefers-reduced-motion:reduce){.client-downloads-trigger{transition:none}.client-downloads-spinner{animation:none}}body,html{touch-action:manipulation;background-color:#111225;width:100%;max-width:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}.mobile-container{box-sizing:border-box;width:100%;max-width:100%;min-height:100vh;padding:20px;overflow-x:clip}.wallet-payment-code{text-align:center}.wallet-payment-code img{border-radius:12px;width:min(288px,100%);height:auto;margin:16px auto;display:block}.wallet-payment-code p{color:#bbc7d8;font-size:14px;line-height:1.6}.login-page{box-sizing:border-box;isolation:isolate;background:#111225;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px 18px;display:flex;position:relative;overflow:hidden auto}.login-page:before{content:"";z-index:1;-webkit-backdrop-filter:blur(1px);background:linear-gradient(120deg,#02061733,#ffffff14);position:absolute;inset:0}.mobile-login-bg{z-index:0;object-fit:cover;object-position:center center;pointer-events:none;width:100vw;max-width:none;height:100dvh;display:block;position:fixed;inset:0;transform:scale(1.01)}@media (aspect-ratio<=4/5){.mobile-login-bg,.donation-login-bg{object-position:center center}}.login-box{z-index:2;box-sizing:border-box;background:#fff;border-radius:14px;flex:none;width:min(100%,520px);padding:28px 20px 24px;position:relative;box-shadow:0 18px 54px #00000042}.login-brand{text-align:center;margin-bottom:18px}.login-brand span{color:#06c;font-size:13px;font-weight:800}.login-brand h2{color:#222;margin:6px 0 0;font-size:22px;font-weight:900}.login-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.login-role-card{color:#334155;text-align:left;box-sizing:border-box;background:#f8fbff;border:1px solid #dbe3ef;border-radius:14px;align-content:center;gap:6px;min-height:82px;padding:12px;display:grid}button.login-role-card{cursor:pointer;font:inherit}.login-role-card strong,.login-role-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.login-role-card strong{color:#111827;font-size:20px;font-weight:900}.login-role-card span{color:#64748b;font-size:13px;font-weight:700}.login-role-card.is-active{background:linear-gradient(135deg,#06c,#008ef5);border-color:#06c}.login-role-card.is-active strong,.login-role-card.is-active span{color:#fff}.login-stall-form{gap:16px;display:grid}.login-stall-form .form-group{margin-bottom:0}.login-stall-form .btn-primary{border-radius:10px;min-height:50px;font-weight:800}.form-group{margin-bottom:20px}.form-group label{color:#666;margin-bottom:8px;font-size:14px;display:block}.form-group input{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;padding:12px;font-size:16px}.btn-primary{color:#fff;cursor:pointer;background-color:#06c;border:none;border-radius:8px;width:100%;padding:14px;font-size:16px;font-weight:600}.btn-primary:disabled{background-color:#99c2eb}.error-msg{color:#d32f2f;text-align:center;background-color:#ffebee;border-radius:6px;margin-bottom:20px;padding:10px;font-size:14px}.success-msg{color:#2e7d32;text-align:center;background-color:#e8f5e9;border-radius:6px;margin-bottom:20px;padding:10px;font-size:14px}.report-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.booth-info .booth-id{color:#06c;margin-right:8px;font-size:20px;font-weight:700}.booth-info .booth-name{color:#333;font-size:16px}.btn-link{color:#06c;cursor:pointer;background:0 0;border:none;font-size:14px}.current-total-box{color:#fff;text-align:center;background:linear-gradient(135deg,#06c,#004c99);border-radius:12px;margin-bottom:24px;padding:20px}.current-total-box p{opacity:.9;margin:0 0 10px;font-size:14px}.current-total-box .amount{font-size:32px;font-weight:700}.input-display{color:#111827;background:#fff;border-radius:12px;align-items:center;margin-bottom:20px;padding:20px;display:flex;box-shadow:0 2px 8px #0000000d}.input-display .currency{color:#333;margin-right:10px;font-size:24px}.input-display .value{color:#111827;background:0 0;font-size:36px;font-weight:700}.input-display .value.empty{color:#ccc;font-size:20px;font-weight:400}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.keypad .key{color:#333;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:20px 0;font-size:24px;font-weight:500;box-shadow:0 2px 4px #0000000d}.keypad .key:active{background:#e0e0e0}.keypad .key:disabled{opacity:.5}.submit-btn{padding:16px;font-size:18px}.history-list{background:#fff;border-radius:12px;padding:15px}.history-item{border-bottom:1px solid #eee;padding:12px 0}.history-item:last-child{border-bottom:none}.history-time{color:#888;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.history-amount{color:#333;font-size:16px;font-weight:500}.history-amount .increment{color:#2e7d32;margin-left:8px;font-size:14px}.history-amount .increment.negative{color:#d32f2f}.history-amount .increment.is-voided{color:#888;text-decoration:line-through}.history-amount small{color:#888;margin-top:6px;font-size:12px;font-weight:400;display:block}.manual-badge{color:#e65100;background:#fff3e0;border-radius:4px;padding:2px 6px;font-size:10px}.cashier-page{color:#e1e0fb;letter-spacing:0;background:#111225;width:100%;max-width:100vw;min-height:100vh;padding:18px 16px 26px;overflow-x:hidden}.cashier-page *,.cashier-page :before,.cashier-page :after{box-sizing:border-box}.cashier-page button,.cashier-page input{font:inherit}.cashier-topbar,.cashier-booth,.cashier-section-head,.cashier-mini-stats,.payment-segment,.quick-amounts,.quick-notes,.quick-products,.recent-ledger-row{align-items:center;display:flex}.cashier-topbar{justify-content:space-between;gap:14px;margin-bottom:16px}.cashier-top-actions{flex:none;align-items:center;gap:12px;display:flex}.cashier-booth{gap:10px;min-width:0}.cashier-booth>span{color:#00f1fd;font-family:SF Mono,Menlo,monospace;font-size:22px;font-weight:900}.cashier-booth div{min-width:0}.cashier-booth strong,.cashier-booth small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cashier-booth strong{color:#e1e0fb;font-size:17px}.cashier-booth small{color:#8f91aa;margin-top:2px;font-size:12px}.cashier-page .btn-link{color:#00f1fd;font-weight:800}.cashier-ledger-card,.cashier-panel{background:#1d1e32c7;border:1px solid #ffffff1a;border-radius:18px;width:100%;max-width:100%;box-shadow:0 18px 54px #00000047}.cashier-ledger-card{background:linear-gradient(135deg,#0066ccf2,#004c99e0);grid-template-columns:1.2fr 1fr;gap:14px;margin-bottom:14px;padding:18px;display:grid}.cashier-ledger-card.is-compact{grid-template-columns:1fr}.cashier-ledger-card span{color:#ffffffc7;font-size:13px}.cashier-ledger-card strong{color:#fff;white-space:nowrap;margin-top:6px;font-size:clamp(28px,8vw,40px);font-weight:900;line-height:1;display:block}.cashier-mini-stats{justify-content:end;gap:10px}.cashier-mini-stats p{text-align:center;background:#ffffff1f;border-radius:14px;min-width:86px;margin:0;padding:12px 10px}.cashier-mini-stats b,.cashier-mini-stats span{display:block}.cashier-mini-stats b{color:#fff;white-space:nowrap;font-size:17px}.cashier-mini-stats span{margin-top:4px;font-size:11px}.cashier-panel{margin-bottom:14px;padding:16px}.cashier-section-head{justify-content:space-between;gap:12px;margin-bottom:12px}.cashier-section-head h2{color:#e1e0fb;margin:0;font-size:18px}.cashier-section-head button{color:#00f1fd;background:#00f1fd1a;border:1px solid #00f1fd47;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.cashier-section-head button:disabled{opacity:.5}.cashier-amount-display{background:#0b0c1fb8;border:1px solid #ffcaf442;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-height:78px;margin-bottom:12px;padding:12px;display:flex}.cashier-amount-value{flex:auto;align-items:baseline;gap:10px;min-width:0;display:flex}.cashier-amount-value span{color:#ffabf3;font-size:32px;font-weight:900}.cashier-amount-value strong{color:#ffabf3;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(36px,12vw,56px);line-height:1;overflow:hidden}.cashier-amount-value strong.is-empty{color:#e1e0fb6b;font-size:clamp(28px,8vw,40px)}.cashier-amount-actions{flex:0 0 72px;gap:7px;display:grid}.cashier-amount-actions button{color:#fff;border:0;border-radius:9px;min-height:35px;font-size:15px;font-weight:900}.cashier-amount-actions button:disabled{opacity:.48}.amount-confirm-btn{background:linear-gradient(135deg,#00f1fd,#0074d9)}.amount-clear-btn{background:linear-gradient(135deg,#ff8b82,#d84232)}.quick-amounts,.quick-notes,.quick-products,.payment-segment{flex-wrap:wrap;gap:8px}.quick-amounts{margin-bottom:14px}.quick-products{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;width:100%;display:grid}.quick-amounts button,.quick-notes button,.quick-products button,.payment-segment button{color:#e1e0fb;background:#323348c7;border:1px solid #ffffff1a;border-radius:12px;min-width:0;font-weight:800}.quick-amounts button{flex:1 0 74px;min-height:42px}.cashier-field{gap:8px;margin-bottom:14px;display:grid}.cashier-field label{color:#d0c6ab;font-size:13px;font-weight:800}.cashier-field input{color:#e1e0fb;box-sizing:border-box;background:#0b0c1fad;border:1px solid #d0c6ab57;border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 12px}.quick-notes button,.quick-products button{color:#d0c6ab;padding:8px 12px;font-size:13px}.quick-note-chip,.quick-product-chip{background:#323348c7;border:1px solid #ffffff1a;border-radius:10px;min-width:0;position:relative;overflow:hidden}.quick-product-chip.is-active{background:#00f1fd21;border-color:#00f1fd80;box-shadow:inset 0 0 0 1px #00f1fd1f}.quick-note-chip button,.quick-product-chip button{background:0 0;border:0;border-radius:0}.quick-note-chip button:first-child,.quick-product-chip button:first-child{padding-right:8px}.quick-product-chip button:first-child{text-align:center;justify-content:center;align-items:center;gap:4px;width:100%;min-width:0;min-height:50px;padding:7px 8px;display:flex}.quick-product-chip button:first-child span{justify-items:center;gap:2px;width:100%;min-width:0;display:grid}.quick-product-chip strong,.quick-product-chip small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.quick-product-chip strong{color:#e1e0fb;font-size:13px;line-height:1.15}.quick-product-chip small{color:#ffabf3;font-size:11px;line-height:1.1}.quick-product-chip em{color:#00f1fd;background:#00f1fd2e;border-radius:999px;flex:none;padding:2px 5px;font-size:11px;font-style:normal;font-weight:900;line-height:1.15}.quick-note-chip button:last-child{color:#ffb4ab;border-left:1px solid #ffffff1a;min-width:34px;padding:8px 9px}.payment-segment{margin-bottom:14px}.payment-segment button{flex:72px;min-width:0;min-height:42px}.payment-segment button.is-active{color:#00f1fd;background:#00f1fd2e;border-color:#00f1fd94}.wallet-pay-box{background:#00f1fd14;border:1px solid #00f1fd38;border-radius:14px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.wallet-pay-user{align-items:center;gap:12px;display:flex}.wallet-pay-user b{color:#00373a;background:#00f1fd;border-radius:999px;flex:none;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.wallet-pay-user div{flex:1;min-width:0}.wallet-pay-user strong,.wallet-pay-user small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.wallet-pay-user strong{color:#e1e0fb;font-size:17px}.wallet-pay-user small{color:#d0c6ab;margin-top:3px;font-size:12px}.wallet-pay-user button,.wallet-pay-empty button,.wallet-manual-field button{color:#00f1fd;background:#00f1fd21;border:1px solid #00f1fd61;border-radius:10px;padding:9px 12px;font-weight:900}.wallet-pay-empty{align-items:center;gap:12px;display:flex}.wallet-pay-empty button{color:#00373a;background:#00f1fd;min-height:46px}.wallet-pay-empty span{color:#d0c6ab;font-size:13px}.wallet-manual-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.wallet-manual-field input{color:#e1e0fb;background:#0b0c1fad;border:1px solid #d0c6ab4d;border-radius:10px;outline:none;min-height:42px;padding:0 10px}.cashier-keypad{gap:9px}.cashier-keypad .key{background:#fffffff2;min-height:58px}.cashier-submit{color:#00373a;background:#00f1fd;border-radius:14px;min-height:58px;font-size:20px;box-shadow:0 0 22px #00f1fd3d}.recent-ledger-list{gap:10px;display:grid}.recent-ledger-row{background:#3233488a;border-radius:14px;gap:10px;padding:12px}.recent-ledger-row>div{flex:1;min-width:0}.recent-ledger-row strong,.recent-ledger-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.recent-ledger-row strong{color:#e1e0fb}.recent-ledger-row small{color:#d0c6ab;margin-top:3px;font-size:12px}.recent-ledger-row>span{color:#ffabf3;white-space:nowrap;font-size:17px;font-weight:900}.recent-ledger-row button{color:#ffb4ab;background:#ffb4ab1a;border:1px solid #ffb4ab4d;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:800}.recent-ledger-row em{color:#8f91aa;font-size:13px;font-style:normal}.recent-ledger-row.is-voided{opacity:.58}.empty-ledger{color:#8f91aa;text-align:center;margin:0;padding:20px 0}.scanner-overlay{z-index:50;background:#000000c7;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.scanner-modal{background:#1d1e32;border:1px solid #ffffff1f;border-radius:18px;width:min(440px,100%);padding:16px;box-shadow:0 20px 70px #00000073}.cashier-settings-modal{width:min(560px,100%);max-height:calc(100dvh - 36px);overflow-y:auto}.scanner-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.scanner-head strong{color:#e1e0fb}.scanner-head button{color:#e1e0fb;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9px;padding:8px 12px}.scanner-modal video{aspect-ratio:1;object-fit:cover;background:#050814;border-radius:14px;width:100%}.qr-scanner-overlay{z-index:1500}.qr-scanner-modal{box-sizing:border-box;max-height:calc(100dvh - 40px);overflow-y:auto}.qr-scanner-modal button{touch-action:manipulation;min-height:44px}.qr-scanner-preview{background:#111225;border-radius:14px;place-items:center;min-height:110px;display:grid}.qr-scanner-preview>p{text-align:center;margin:0;padding:16px}.qr-scanner-preview video[hidden]{display:none}.qr-scanner-preview.is-ready{min-height:0}.qr-scanner-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.qr-scanner-actions button{min-width:0;font:inherit;font-size:14px}.qr-scanner-modal.is-native-capture .qr-scanner-actions{grid-template-columns:minmax(0,1fr)}.qr-scanner-native-note{text-align:center;margin:10px 0 0;font-size:13px}.qr-scanner-modal .donation-account-entry input{min-height:48px}@media (width<=359px){.qr-scanner-modal .donation-account-entry{grid-template-columns:1fr}}.cashier-settings-section{gap:12px;display:grid}.settings-block{background:#0b0c1f57;border:1px solid #ffffff1a;border-radius:14px;gap:10px;padding:12px;display:grid}.cashier-settings-title{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.cashier-settings-title strong{color:#e1e0fb;font-size:17px}.cashier-settings-title small{color:#8f91aa;text-align:right;font-size:12px}.settings-segment{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-segment button,.settings-wide-action,.settings-password-form button,.settings-logout-btn{color:#e1e0fb;background:#323348c7;border:1px solid #ffffff1f;border-radius:10px;min-height:42px;font-weight:900}.settings-segment button.is-active,.settings-wide-action{color:#00f1fd;background:#00f1fd24;border-color:#00f1fd70}.settings-disabled-note{color:#d0c6ab;text-align:center;border:1px dashed #ffffff2e;border-radius:10px;place-items:center;min-height:42px;font-weight:900;display:grid}.settings-toggle-list{gap:8px;display:grid}.settings-toggle{color:#e1e0fb;background:#ffffff0d;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:0 10px;font-weight:800;display:flex}.settings-toggle input{accent-color:#00f1fd;flex:none;width:22px;height:22px}.settings-password-form input{color:#e1e0fb;background:#0b0c1fad;border:1px solid #d0c6ab4d;border-radius:10px;outline:none;width:100%;min-height:42px;padding:0 10px}.settings-password-form button{color:#fff;background:linear-gradient(135deg,#00f1fde6,#0074d9e6);border-color:#00f1fd70}.settings-password-form button:disabled{opacity:.56}.settings-info-grid{background:#ffffff0d;border-radius:10px;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px 10px;padding:10px;display:grid}.settings-info-grid span{color:#8f91aa;font-size:13px;font-weight:800}.settings-info-grid strong{color:#e1e0fb;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings-logout-btn{color:#ffb4ab;background:#d8423247;border-color:#ff8b825c}.product-editor-list{gap:9px;display:grid}.product-editor-row,.product-editor-add{grid-template-columns:minmax(0,1fr) 96px 68px;align-items:center;gap:8px;display:grid}.product-editor-row input,.product-editor-add input{color:#e1e0fb;box-sizing:border-box;background:#0b0c1fad;border:1px solid #d0c6ab4d;border-radius:10px;outline:none;width:100%;min-height:42px;padding:0 10px}.product-editor-row button,.product-editor-add button{color:#fff;border:0;border-radius:10px;min-height:42px;font-weight:900}.product-editor-row button{background:#d84232c2}.product-editor-add{border-top:1px solid #ffffff1a;padding-top:12px}.product-editor-add button{background:linear-gradient(135deg,#00f1fd,#0074d9)}.product-editor-empty{color:#8f91aa;text-align:center;border:1px dashed #ffffff29;border-radius:12px;margin:0;padding:14px}.face-capture-btn{margin-top:12px}.face-photo-input{display:none}.face-photo-btn{color:#00f1fd;background:#00f1fd1f;border:1px solid #00f1fd73;border-radius:12px;width:100%;min-height:48px;margin-top:10px;font-weight:900}.face-photo-btn:disabled{opacity:.55}.face-camera-fallback{gap:10px;display:grid}.face-match-list{gap:8px;margin-top:12px;display:grid}.face-match-list button{color:#e1e0fb;text-align:left;background:#00f1fd14;border:1px solid #00f1fd47;border-radius:12px;gap:4px;padding:12px;display:grid}.face-match-list strong,.face-match-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.face-match-list small{color:#d0c6ab}.wallet-password-modal{gap:14px;display:grid}.wallet-password-summary{background:#0b0c1fad;border:1px solid #ffcaf442;border-radius:14px;gap:6px;padding:14px;display:grid}.wallet-password-summary b,.wallet-password-summary span,.wallet-password-summary strong{display:block}.wallet-password-summary b{color:#e1e0fb;font-size:20px}.wallet-password-summary span{color:#d0c6ab;font-size:13px}.wallet-password-summary strong{color:#ffabf3;font-size:42px;line-height:1}.wallet-password-field{color:#d0c6ab;gap:8px;font-size:13px;font-weight:800;display:grid}.wallet-password-field input{color:#e1e0fb;letter-spacing:.12em;background:#0b0c1fad;border:1px solid #d0c6ab57;border-radius:12px;outline:none;min-height:54px;padding:0 14px;font-size:22px}.donation-login-page{box-sizing:border-box;color:#1f2937;isolation:isolate;background-color:#102338;align-content:center;place-items:center;min-height:100dvh;padding:28px 18px;display:grid;position:relative;overflow:hidden auto}.donation-login-bg{z-index:0;object-fit:cover;object-position:center center;pointer-events:none;width:100vw;max-width:none;height:100dvh;display:block;position:fixed;inset:0;transform:scale(1.01)}.donation-login-page *,.donation-login-page :before,.donation-login-page :after{box-sizing:border-box}.donation-login-backdrop{z-index:1;-webkit-backdrop-filter:blur(1px);background:linear-gradient(120deg,#02061729,#ffffff14);position:absolute;inset:0}.donation-login-card{z-index:2;background:#fffffff0;border:1px solid #ffffffb8;border-radius:8px;gap:16px;width:min(430px,100%);padding:28px 26px 24px;display:grid;position:relative;box-shadow:0 22px 70px #0000004d}.donation-login-brand{text-align:center}.donation-login-brand img{opacity:1;filter:none;mix-blend-mode:normal;width:min(210px,78%);margin:0 auto 10px;display:block}.donation-login-brand span{color:#00a3c2;font-size:12px;font-weight:900}.donation-login-brand h1{color:#4b5563;letter-spacing:0;margin:6px 0 0;font-size:24px;font-weight:900}.donation-login-brand p{color:#6b7280;margin:7px 0 0;font-size:13px;font-weight:700}.donation-login-field{color:#6b7280;gap:7px;font-size:13px;font-weight:800;display:grid}.donation-login-field input{color:#374151;background:#fff;border:1px solid #d7dde7;border-radius:4px;outline:0;width:100%;min-height:42px;padding:0 12px;scroll-margin:120px 0;font-size:14px;font-weight:700}.donation-login-field input::placeholder{color:#b3bac5}.donation-login-captcha-row{grid-template-columns:minmax(0,1fr) 118px;align-items:end;gap:12px;scroll-margin:120px 0;display:grid}.donation-login-captcha{color:#2563eb;background:#ecf9df;border:1px solid #9aca85;border-radius:0;width:118px;height:42px;padding:0;font-size:13px;font-weight:900;overflow:hidden}.donation-login-captcha img{object-fit:cover;width:100%;height:100%;display:block}.donation-login-remember{color:#409eff;align-items:center;gap:8px;width:fit-content;font-size:14px;font-weight:700;display:inline-flex}.donation-login-remember input{accent-color:#409eff;width:14px;height:14px}.donation-login-submit{color:#fff;background:#409eff;border:0;border-radius:4px;min-height:44px;font-size:15px;font-weight:900}.donation-login-submit:disabled,.donation-login-captcha:disabled{cursor:not-allowed;opacity:.62}@media (width<=560px){.login-page,.donation-login-page{padding:max(14px, env(safe-area-inset-top)) 14px max(28px, env(safe-area-inset-bottom))}.donation-login-page{align-content:start;place-items:start center}.login-box{width:min(100%,520px)}.cashier-page{padding:16px 14px 24px}.cashier-ledger-card{grid-template-columns:1fr}.cashier-ledger-card strong{font-size:36px}.cashier-mini-stats{justify-content:stretch}.cashier-mini-stats p{flex:1;min-width:0}.cashier-amount-value strong{font-size:38px}.cashier-amount-value strong.is-empty{font-size:32px}.cashier-amount-actions{flex-basis:66px}.quick-products{gap:6px}.scanner-overlay{align-items:flex-start;overflow-y:auto}.donation-login-card{gap:14px;width:min(100%,430px);padding:24px 18px 20px}.donation-login-brand img{width:min(190px,74%)}.donation-login-captcha-row{grid-template-columns:minmax(0,1fr) 106px;gap:10px}.donation-login-captcha{width:106px}}@media (width<=420px){.cashier-ledger-card{grid-template-columns:1fr}.cashier-mini-stats{justify-content:stretch}.cashier-mini-stats p{flex:1}.wallet-pay-empty,.wallet-pay-user{flex-direction:column;align-items:stretch}.wallet-manual-field,.product-editor-row,.product-editor-add{grid-template-columns:1fr}.cashier-settings-title{flex-direction:column;align-items:flex-start}.cashier-settings-title small{text-align:left}}.wallet-self-page{color:#e1e0fb;background:#111225;min-height:100vh}.wallet-self-page .report-header{color:#e1e0fb}.wallet-self-page .wallet-self-header{justify-content:center}.wallet-self-page .report-header h3{margin:0;font-size:18px}.wallet-self-card{background:#1d1e32d1;border:1px solid #ffffff1a;border-radius:16px;gap:14px;margin-bottom:14px;padding:16px;display:grid;box-shadow:0 18px 54px #00000042}.wallet-self-card label{color:#d0c6ab;gap:8px;font-size:13px;font-weight:800;display:grid}.wallet-self-card input{color:#e1e0fb;box-sizing:border-box;background:#0b0c1fad;border:1px solid #d0c6ab57;border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 12px}.wallet-password-card h3{color:#e1e0fb;margin:0;font-size:18px}.wallet-self-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.wallet-self-actions button{color:#00f1fd;background:#00f1fd21;border:1px solid #00f1fd61;border-radius:12px;min-height:46px;font-weight:900}.wallet-self-user{background:#0b0c1f9e;border:1px solid #ffcaf43d;border-radius:14px;gap:6px;padding:14px;display:grid}.wallet-self-user strong,.wallet-self-user span,.wallet-self-user b,.wallet-self-user em{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.wallet-self-user strong{color:#e1e0fb;font-size:18px}.wallet-self-user span{color:#d0c6ab;font-size:13px}.wallet-self-user b{color:gold;font-size:24px}.wallet-self-user em{color:#ffabf3;font-size:13px;font-style:normal;font-weight:800}.wallet-self-list{color:#e1e0fb;background:#1d1e32d1}.wallet-self-list>p{color:#8f91aa;text-align:center;margin:0;padding:18px 0}.wallet-self-list .history-item{border-bottom-color:#ffffff14}.wallet-self-list .history-time,.wallet-self-list .history-amount small{color:#d0c6ab}.wallet-self-list .history-amount{color:#e1e0fb}.wallet-self-list .history-amount .increment{float:right;color:#35f29b;font-weight:900}.wallet-self-list .history-amount .increment.negative{color:#ffabf3}.wallet-self-list .history-item.is-voided{opacity:.58}.wallet-history-list-head{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.wallet-history-list-head h3{color:#e1e0fb;align-items:baseline;gap:10px;margin:0;font-size:18px;display:flex}.wallet-history-list-head small{color:#b0b7d0;font-size:13px;font-weight:400}.wallet-history-filters{gap:6px;display:flex}.wallet-history-filters button{color:#e1e0fb;min-width:60px;min-height:44px;font:inherit;cursor:pointer;touch-action:manipulation;background:#252b43;border:1px solid #454e69;border-radius:10px;padding:8px 14px;font-size:14px}.wallet-history-filters button[aria-pressed=true]{color:#00f1fd;background:#00f1fd21;border-color:#00f1fd}.wallet-history-page :focus-visible{outline-offset:3px;outline:3px solid #7cf5fb}.wallet-history-page .history-amount,.wallet-history-page .history-amount small{overflow-wrap:anywhere}.wallet-history-page .wallet-history-limit{padding:14px 0 0;font-size:13px}.face-enroll-page{color:#e1e0fb;background:#111225;min-height:100vh}.face-enroll-page .report-header{color:#e1e0fb}.face-enroll-page .report-header h3{margin:0;font-size:18px}.face-enroll-card{background:#1d1e32d1;border:1px solid #ffffff1a;border-radius:18px;gap:14px;padding:16px;display:grid;box-shadow:0 18px 54px #00000042}.face-enroll-user{background:#0b0c1f9e;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.face-enroll-user b{color:#00373a;background:#00f1fd;border-radius:999px;flex:none;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.face-enroll-user div{flex:1;min-width:0}.face-enroll-user strong,.face-enroll-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.face-enroll-user strong{color:#e1e0fb;font-size:18px}.face-enroll-user span{color:#d0c6ab;margin-top:3px;font-size:13px}.face-enroll-card video{aspect-ratio:1;object-fit:cover;background:#050814;border-radius:16px;width:100%}.face-enroll-card video.is-camera-blocked{display:none}.donation-pad-page{box-sizing:border-box;color:#e1e0fb;background:radial-gradient(circle at 12% 8%,#00f1fd1f,#0000 28%),radial-gradient(circle at 88% 20%,#ffabf324,#0000 30%),#111225;min-height:100vh;padding:clamp(18px,3vw,34px);font-family:Be Vietnam Pro,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.donation-pad-page *,.donation-pad-page :before,.donation-pad-page :after{box-sizing:border-box}.donation-pad-shell{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(18px,2.4vw,28px);width:min(1180px,100%);min-height:calc(100vh - clamp(36px,6vw,68px));margin:0 auto;display:grid}.donation-pad-panel{-webkit-backdrop-filter:blur(22px);background:#1d1e32b8;border:1px solid #ffffff1f;border-radius:22px;min-width:0;box-shadow:0 22px 70px #00000057}.donation-pad-form{padding:clamp(22px,3vw,34px)}.donation-pad-header{grid-template-columns:minmax(0,1fr) minmax(210px,280px) auto;align-items:center;gap:14px;margin-bottom:28px;display:grid}.donation-pad-title{min-width:0}.donation-pad-header h1{color:#e1e0fb;white-space:normal;margin:0;font-size:clamp(34px,3.5vw,48px);font-weight:900;line-height:1.08}.donation-pad-title p{color:#d0c6ab;margin:8px 0 0;font-size:13px;font-weight:800}.donation-pad-total{background:#ffcaf41a;border:1px solid #ffcaf447;border-radius:16px;width:min(280px,100%);min-width:0;padding:16px 18px}.donation-pad-total span{color:#d0c6ab;font-size:13px;font-weight:800;display:block}.donation-pad-total strong{color:#ffabf3;text-shadow:0 0 18px #ffabf366;margin-top:8px;font-size:clamp(28px,3vw,38px);line-height:1;display:block}.donation-pad-actions{gap:8px;width:96px;display:grid}.donation-pad-account,.donation-pad-logout{color:#d0c6ab;text-align:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:42px;padding:0 10px;font-weight:900;display:flex}.donation-pad-account{color:#e1e0fb;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.15;overflow:hidden}.donation-pad-logout:hover{color:#ffb4ab;border-color:#ffb4ab5c}.donation-pad-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px;display:grid}.donation-pad-fields .donation-pad-note-field{grid-column:1/-1}.donation-pad-fields label{color:#d0c6ab;gap:10px;font-size:15px;font-weight:800;display:grid}.donation-pad-fields input{color:#e1e0fb;background:#0b0c1f9e;border:1px solid #d0c6ab5c;border-radius:12px;outline:none;min-height:58px;padding:0 16px;font-size:20px}.donation-pad-fields input:focus{border-color:#00f1fda6;box-shadow:0 0 0 3px #00f1fd1f}.donation-mode-switch{background:#0b0c1f80;border:1px solid #ffffff1f;border-radius:14px;gap:8px;margin:0 0 20px;padding:5px;display:flex}.donation-mode-switch button{color:#c5c5df;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:14px 8px;font-size:17px;font-weight:800}.donation-mode-switch button.is-active{color:#061b25;background:#00dbe9}.donation-mode-switch button:disabled{cursor:default;opacity:.65}.donation-class-scan{grid-template-columns:minmax(0,1fr) 76px;align-items:end;gap:10px;display:grid}.donation-pad-fields input{box-sizing:border-box;width:100%;min-width:0}.donation-scan-button{color:#00e7f0;cursor:pointer;background:#00dbe91f;border:1px solid #00dbe9;border-radius:12px;min-height:58px;font-size:16px;font-weight:800}.donation-scan-button span{font-size:21px;line-height:1.1;display:block}.donation-student-card{background:#00dbe90f;border:1px solid #00dbe94d;border-radius:12px;grid-column:1/-1;gap:12px;padding:16px;display:grid}.donation-student-card strong,.donation-student-card span{overflow-wrap:anywhere;display:block}.donation-student-card strong{color:#e1e0fb;font-size:19px}.donation-student-card span{color:#b6b9d1;margin-top:4px;font-size:14px}.donation-balance{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.donation-balance b{color:#fda4e4;font-size:19px}.donation-secondary{color:#d9def2;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:8px;padding:10px 12px}.donation-mode-hint{color:#aeb3cd;margin:12px 0 16px;font-size:14px}.donation-pending{color:#fbbf24;gap:8px;margin:12px 0;display:grid}.donation-pending button,.donation-account-entry button{color:#00e7f0;cursor:pointer;background:#00dbe914;border:1px solid #00dbe9;border-radius:10px;padding:12px}.donation-account-entry{grid-template-columns:minmax(0,1fr) 100px;align-items:end;gap:10px;margin-top:18px;display:grid}.donation-account-entry label{color:#d9def2;gap:8px;font-size:14px;display:grid}.donation-account-entry input{box-sizing:border-box;color:#fff;background:#111225;border:1px solid #555b75;border-radius:8px;width:100%;min-width:0;padding:12px;font-size:17px}.donation-scanner p,.donation-detail p{color:#c1c6dd;overflow-wrap:anywhere;line-height:1.7}.donation-detail{max-height:85dvh;overflow-y:auto}.donation-pad-row.is-voided{opacity:.65}.donation-pad-row.is-voided>span{text-decoration:line-through}.donation-pad-amount{background:#0b0c1f94;border:1px solid #ffcaf442;border-radius:18px;align-items:baseline;gap:14px;min-height:110px;margin-bottom:18px;padding:22px;display:flex}.donation-pad-amount span{color:#ffabf3;font-size:clamp(34px,4.6vw,58px);font-weight:900}.donation-pad-amount strong{color:#ffabf3;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 20px #ffabf35c;min-width:0;font-size:clamp(48px,8vw,90px);font-weight:900;line-height:1;overflow:hidden}.donation-pad-amount strong.is-empty{color:#e1e0fb6b;text-shadow:none;font-size:clamp(34px,5vw,56px)}.donation-keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.donation-keypad button{color:#e1e0fb;background:#323348d1;border:0;border-radius:14px;min-height:clamp(58px,8vh,78px);font-size:clamp(24px,3.2vw,34px);font-weight:900;box-shadow:inset 0 0 0 1px #ffffff14}.donation-keypad button:active{background:#00f1fd33;transform:translateY(1px)}.donation-keypad button:disabled{opacity:.55}.donation-key-wide{grid-column:span 1;color:#d0c6ab!important;font-size:clamp(18px,2.4vw,24px)!important}.donation-key-submit{grid-column:span 2;color:#00373a!important;background:#00f1fd!important;font-size:clamp(22px,2.8vw,30px)!important;box-shadow:0 0 22px #00f1fd42!important}.donation-key-cancel{grid-column:1/-1;color:#d0c6ab!important;min-height:56px!important;font-size:clamp(18px,2.2vw,24px)!important}.donation-pad-recent{flex-direction:column;min-height:0;padding:clamp(20px,2.4vw,28px);display:flex}.donation-pad-section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.donation-pad-section-title h2{color:#e1e0fb;margin:0;font-size:clamp(24px,3vw,34px)}.donation-pad-section-title span{color:#00f1fd;font-size:14px;font-weight:900}.donation-pad-list{flex:1;align-content:start;gap:12px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.donation-pad-row{background:#3233488f;border-radius:14px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.donation-pad-row.is-editing{border:1px solid #00f1fd73;box-shadow:0 0 18px #00f1fd2e}.donation-pad-row b{color:#380038;background:linear-gradient(135deg,#ffabf3,#00f1fd);border-radius:999px;place-items:center;width:48px;height:48px;font-size:20px;display:grid}.donation-pad-row strong,.donation-pad-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.donation-pad-row strong{color:#e1e0fb;font-size:18px}.donation-pad-row small{color:#d0c6ab;margin-top:4px;font-size:13px}.donation-pad-row>span{color:#ffabf3;white-space:nowrap;font-size:20px;font-weight:900}.donation-pad-row-actions{grid-column:2/-1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.donation-pad-row-actions button{color:#00f1fd;white-space:nowrap;background:#00f1fd1a;border:1px solid #00f1fd59;border-radius:10px;min-height:42px;padding:0 12px;font-size:15px;font-weight:900}.donation-pad-row-actions button.is-danger{color:#ffb4ab;background:#ffb4ab1f;border-color:#ffb4ab5c}.donation-pad-row-actions button:disabled{opacity:.5}.donation-pad-empty{color:#d0c6ab;text-align:center;border:1px dashed #d0c6ab59;border-radius:16px;place-items:center;min-height:220px;display:grid}:root{--mobile-safe-top:max(16px, env(safe-area-inset-top));--mobile-safe-right:max(16px, env(safe-area-inset-right));--mobile-safe-bottom:max(20px, env(safe-area-inset-bottom));--mobile-safe-left:max(16px, env(safe-area-inset-left));--mobile-content-max:720px;--mobile-tablet-max:1080px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#111225;min-width:0;min-height:100%}body{overscroll-behavior-x:none;min-width:0;min-height:100dvh;overflow-x:hidden}button,input,select,textarea{touch-action:manipulation}button{-webkit-tap-highlight-color:#00f1fd29}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #00f1fdc2}.mobile-container,.login-page,.donation-login-page{min-height:100dvh;padding-top:var(--mobile-safe-top);padding-right:var(--mobile-safe-right);padding-bottom:var(--mobile-safe-bottom);padding-left:var(--mobile-safe-left)}.login-box,.wallet-self-page,.face-enroll-page{width:min(100%, var(--mobile-content-max));margin-inline:auto}.login-role-card,.btn-primary,.btn-secondary,.btn-link,.cashier-section-head button,.payment-segment button,.quick-amounts button,.quick-notes button,.quick-products button,.wallet-pay-user button,.wallet-pay-empty button,.wallet-manual-field button,.recent-ledger-row button,.settings-segment button,.settings-wide-action,.settings-password-form button,.settings-logout-btn,.face-match-list button,.wallet-self-actions button{min-height:44px}.form-group input,.cashier-field input,.wallet-manual-field input,.wallet-self-card input,.wallet-password-field input,.settings-password-form input,.settings-block select,.settings-block input{min-height:48px}.scanner-overlay{padding-top:var(--mobile-safe-top);padding-right:var(--mobile-safe-right);padding-bottom:var(--mobile-safe-bottom);padding-left:var(--mobile-safe-left)}.scanner-modal{max-height:calc(100dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom));overscroll-behavior:contain;overflow-y:auto}.scanner-head button{min-width:72px;min-height:44px}.cashier-page{width:min(100%, var(--mobile-tablet-max));padding-top:max(18px, env(safe-area-inset-top));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(26px, env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));margin-inline:auto}.cashier-page .cashier-topbar{min-height:48px}.cashier-page .cashier-top-actions{gap:4px}.cashier-page .btn-link{min-width:56px;padding:8px 10px}.wallet-self-page,.face-enroll-page{padding-top:var(--mobile-safe-top);padding-bottom:var(--mobile-safe-bottom)}@media (width>=600px){.login-box{padding:34px 32px 30px}.wallet-self-page,.face-enroll-page{padding-left:clamp(24px,5vw,72px);padding-right:clamp(24px,5vw,72px)}.wallet-self-card,.wallet-self-list,.face-enroll-card{border-radius:20px;padding:22px}.cashier-page{padding-top:28px;padding-bottom:36px}.cashier-panel{padding:20px}.quick-products{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=900px){.cashier-page{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-content:start;gap:16px;display:grid}.cashier-page>.cashier-topbar,.cashier-page>.cashier-ledger-card{grid-column:1/-1}.cashier-page>.cashier-panel:not(.recent-ledger){grid-column:1;margin-bottom:0}.cashier-page>.recent-ledger{grid-column:2;margin-bottom:0}.cashier-ledger-card{padding:22px}.cashier-ledger-card strong{font-size:clamp(34px,4vw,48px)}}@media (orientation:landscape) and (height<=640px){.login-page{justify-content:flex-start}.login-box{margin-block:16px}.cashier-page{padding-top:14px;padding-bottom:18px}.cashier-topbar,.cashier-ledger-card,.cashier-panel{margin-bottom:10px}.cashier-keypad .key{min-height:48px}.scanner-modal video{aspect-ratio:16/9;max-height:44dvh}}@media (width<=380px){.login-page,.donation-login-page,.cashier-page{padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left))}.login-box{padding:24px 16px 20px}.login-role-card{min-height:76px;padding:10px}.login-role-card strong{font-size:18px}.cashier-topbar{gap:8px}.cashier-booth>span{font-size:19px}.cashier-booth strong{font-size:15px}.cashier-top-actions{gap:0}.cashier-page .btn-link{min-width:48px;padding-inline:6px;font-size:13px}.cashier-panel{border-radius:14px;padding:12px}.cashier-amount-display{padding:10px}.cashier-amount-value span{font-size:26px}.cashier-amount-value strong,.cashier-amount-value strong.is-empty{font-size:32px}.cashier-amount-actions{flex-basis:62px}.cashier-keypad{gap:6px}.cashier-keypad .key{min-height:52px;font-size:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=880px){.donation-pad-shell{grid-template-columns:minmax(0,1fr)}.donation-pad-fields{grid-template-columns:1fr}.donation-pad-header{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.donation-pad-title{grid-column:1/-1}.donation-pad-fields .donation-pad-note-field{grid-column:auto}.donation-pad-header h1{font-size:clamp(34px,9vw,48px)}.donation-pad-total{width:100%}}.mobile-container.login-page{--login-blue:#0769f5;--login-ink:#071c47;--login-muted:#8799b7;min-height:100svh;padding:max(36px, 7.1svh, env(safe-area-inset-top)) max(7.65vw, env(safe-area-inset-right)) max(90px, 12svh, env(safe-area-inset-bottom)) max(7.65vw, env(safe-area-inset-left));isolation:isolate;color:var(--login-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#bedfee;flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(28px,5svh,48px);display:flex;position:relative;overflow:clip}.mobile-container.login-page:before{content:none}.login-page .mobile-login-bg{z-index:-1;object-fit:cover;object-position:center;filter:blur(1.4px)saturate(.82)brightness(1.05);width:100%;height:100%;min-height:100svh;position:absolute;inset:0;transform:none}.login-page .login-school-brand{z-index:1;aspect-ratio:929/543;filter:drop-shadow(0 0 6px #fff)drop-shadow(0 0 12px #ffffffe6);flex:none;align-items:center;width:clamp(138px,36.4vw,180px);display:flex;position:relative}.login-page .login-school-brand img{width:100%;max-width:none;height:auto;display:block}.mobile-container.login-page .login-box{z-index:2;box-sizing:border-box;-webkit-backdrop-filter:blur(16px);background:#f8fcfff0;border:1px solid #fffffff2;border-radius:20px;flex:none;width:min(100%,440px);margin:0;padding:26px 13px 20px;position:relative;box-shadow:0 16px 44px #1047641f,inset 0 1px #fff}.login-page .login-brand{text-align:center;margin:0 0 16px}.login-page .login-eyebrow{color:#0060d9;letter-spacing:.4px;justify-content:center;align-items:center;gap:9px;margin:0;font-size:14px;font-weight:650;line-height:20px;display:flex}.login-page .login-eyebrow:before,.login-page .login-eyebrow:after{content:"";border-top:1px solid var(--login-blue);width:19px}.login-page .login-brand h1{color:var(--login-ink);letter-spacing:1px;margin:6px 0 0;font-size:25px;font-weight:800;line-height:30px}.login-page .login-heading-rule{background:var(--login-blue);border-radius:3px;width:29px;height:3px;margin:8px auto 0}.login-page .login-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px;display:grid}.login-page .login-role-card{color:#394866;min-width:0;min-height:76px;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff80;border:1px solid #d6dfef;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:15px 10px 12px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.login-page .login-role-icon{flex:none;width:27px;height:27px}.login-page .login-role-copy{gap:3px;min-width:0;display:grid}.login-page .login-role-card strong{color:inherit;font-size:16px;font-weight:750;line-height:23px}.login-page .login-role-copy>span{color:var(--login-muted);font-size:12px;font-weight:500;line-height:18px}.login-page .login-role-indicator{color:#ccd7e9;width:18px;height:18px;position:absolute;top:7px;right:7px}.login-page .login-role-card.is-active{background-blend-mode:lighten;color:#fff;background:#0769f5 url(/assets/mobile-login-blue-D3FLRwfw.webp) 50%/cover no-repeat;border-color:#fffffff2;box-shadow:0 5px 13px #1385f140,0 0 0 1px #0769f51f}.login-page .login-role-card.is-active .login-role-copy>span{color:#d6ecff}.login-page .login-role-card.is-active .login-role-indicator{color:#fff}.login-page .login-stall-form{gap:12px;margin-inline:5px;display:grid}.login-page .login-stall-form .form-group{margin:0}.mobile-container.login-page .form-group label{color:var(--login-ink);letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:650;line-height:16px;display:block}.login-page .login-input-wrap{box-sizing:border-box;background:#ffffff87;border:1px solid #d4deef;border-radius:8px;align-items:center;min-width:0;height:44px;transition:border-color .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 5px 12px #4d77a108}.login-page .login-input-wrap:focus-within{border-color:var(--login-blue);box-shadow:0 0 0 3px #0769f51f}.login-page .login-input-icon{box-sizing:content-box;color:#8a9bb8;border-right:1px solid #e8edf6;flex:none;width:17px;height:17px;margin-left:12px;padding-right:11px}.mobile-container.login-page .form-group input{border-radius:inherit;width:100%;min-width:0;height:100%;min-height:0;color:var(--login-ink);font:400 16px/1.4 var(--ui-font);box-shadow:none;background:0 0;border:0;outline:0;flex:1;padding:0 9px;display:block}.mobile-container.login-page .form-group input::placeholder{color:#8b9bb6;opacity:1;font-size:13px}.login-page .login-password-toggle{color:#7184a6;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 40px;align-self:stretch;place-items:center;min-height:44px;margin:-1px -1px -1px 0;padding:0;display:grid}.login-page .login-password-toggle svg{width:19px;height:19px}.login-page .login-submit{background-blend-mode:lighten;color:#fff;width:100%;min-height:52px;font:750 17px/1.5 var(--ui-font);letter-spacing:1px;cursor:pointer;background:#0769f5 url(/assets/mobile-login-blue-D3FLRwfw.webp) 50%/cover no-repeat;border:1px solid #fffffff2;border-radius:11px;justify-content:center;align-items:center;gap:10px;margin-top:2px;padding:10px 16px;transition:box-shadow .18s,transform .18s,opacity .18s;display:flex;box-shadow:0 7px 18px #006fe83d,0 0 0 1px #0769f524}.login-page .login-submit svg{flex:none;width:22px;height:22px}.login-page .login-submit-spinner{animation:1s linear infinite login-spin}.mobile-container.login-page .error-msg{color:#bc304b;text-align:left;overflow-wrap:anywhere;background:#fff0f3;border:1px solid #efcbd4;border-radius:8px;margin:0;padding:9px 10px;font-size:13px;line-height:1.5}.login-page .login-footer-art{z-index:0;object-fit:contain;pointer-events:none;width:100%;height:auto;display:block;position:absolute;bottom:0;left:0;right:0}.login-page button:focus-visible{outline:2px solid var(--login-blue);outline-offset:3px}.login-page button:active:not(:disabled){transform:translateY(1px)}.login-page button:disabled{opacity:.7;cursor:wait}@media (hover:hover){.login-page .login-role-card:hover:not(:disabled){border-color:var(--login-blue);box-shadow:0 4px 14px #0769f524}.login-page .login-submit:hover:not(:disabled){box-shadow:0 9px 24px #006fe857}}@media (width>=600px){.mobile-container.login-page{padding-right:max(30px, env(safe-area-inset-right));padding-left:max(30px, env(safe-area-inset-left));gap:40px}.mobile-container.login-page .login-box{border-radius:24px;padding:34px 22px 26px}.login-page .login-role-card{min-height:86px}}@media (width<=359px){.mobile-container.login-page{padding-right:max(18px, env(safe-area-inset-right));padding-left:max(18px, env(safe-area-inset-left))}.login-page .login-role-card{gap:6px;padding-inline:7px}.login-page .login-role-card strong{font-size:15px}.login-page .login-role-icon{width:23px;height:23px}.login-page .login-password-toggle{flex-basis:36px}}@media (height<=650px){.mobile-container.login-page{padding-top:max(24px, env(safe-area-inset-top));gap:22px}.login-page .login-school-brand{width:126px}}@media (orientation:landscape) and (height<=600px){.mobile-container.login-page{gap:18px}.login-page .login-school-brand{width:116px}}@keyframes login-spin{to{transform:rotate(360deg)}}.login-page .login-teacher-entry{color:#245baa;cursor:pointer;background:#ffffffb8;border:1px solid #cbdcf3;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:calc(100% - 10px);min-height:40px;margin:13px 5px 0;padding:6px 12px;font:600 13px/1.5 -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;display:flex}.login-page .login-workspace-entries{grid-template-columns:1fr;margin:13px 5px 0;display:grid}.login-page .login-workspace-entries .login-teacher-entry{gap:8px;width:100%;min-height:44px;margin:0;padding-inline:12px;font-size:14px}.login-page .login-workspace-entries .login-teacher-entry>span{white-space:nowrap}.login-page .login-workspace-entries .login-teacher-entry>svg{flex-shrink:0}@media (width<=350px){.login-page .login-workspace-entries .login-teacher-entry>svg:last-child{display:none}}.merchant-shell{--mobile-nav-height:calc(67px + max(6px, env(safe-area-inset-bottom,0px)));min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));color:#e2e8f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f172a}.merchant-shell.nav-has-notice{padding-bottom:calc(134px + env(safe-area-inset-bottom,0px))}.mobile-bottom-nav,.mobile-bottom-nav *{box-sizing:border-box}.mobile-bottom-nav{z-index:1200;padding:6px max(8px, env(safe-area-inset-right,0px)) max(6px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b1424;border-top:1px solid #2b3d59;position:fixed;inset:auto 0 0;box-shadow:0 -4px 18px #030a198a}.mobile-bottom-nav-inner{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1080px;margin:0 auto;display:grid}.mobile-nav-item{color:#94a3b8;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:48px;min-height:60px;padding:6px 4px;font:12px/1.3 system-ui,PingFang SC,sans-serif;text-decoration:none;display:flex}.mobile-nav-item:hover{color:#d9f6fa;background:#172b42}.mobile-nav-item.is-active{color:#67dbe8;background:#183447;font-weight:650}.mobile-nav-item[aria-disabled=true]:not(.is-active){opacity:.5}.mobile-nav-item:focus-visible{outline-offset:-3px;outline:3px solid #7cf5fb}.mobile-nav-notice{color:#ffdda9;background:#433526;border-radius:8px;max-width:1080px;margin:-2px auto 6px;padding:10px 12px;font:13px/1.5 system-ui}.merchant-shell .trade-footer{padding-bottom:4px}.merchant-shell input,.merchant-shell textarea,.merchant-shell select,.merchant-shell form{scroll-margin-block:20px 110px}.merchant-profile{align-items:center;gap:16px;margin-bottom:24px;display:flex}.merchant-profile>div{overflow-wrap:anywhere;min-width:0}.merchant-profile p{color:#b0b7d0;margin-top:6px}.merchant-menu{gap:10px;display:grid}.merchant-menu button{color:#e6edfc;text-align:left;background:#252b43;border:1px solid #454e69;justify-content:space-between;align-items:center;min-height:58px;padding:12px 16px;display:flex}.merchant-menu button>span:last-child{color:#a0c9dc}.merchant-section{margin:18px 0}.merchant-form-grid{gap:12px;display:grid}.merchant-form-grid .trade-field{min-width:0}.merchant-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.merchant-inline-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.merchant-inline-actions button{min-height:48px}.merchant-password-form .trade-field{margin:12px 0}@media (width>=760px){.merchant-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (height<=480px) and (orientation:landscape){.mobile-nav-item{flex-direction:row;gap:8px;min-height:48px}.merchant-shell{--mobile-nav-height:calc(55px + max(6px, env(safe-area-inset-bottom,0px)));padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}}.trade-page{--trade-bg:#0f172a;--trade-surface:#172238;--trade-surface-raised:#202e46;--trade-border:#30415c;--trade-border-strong:#415776;--trade-muted:#94a3b8;--trade-accent:#22b8cf;--trade-accent-soft:#67dbe8;--trade-primary:#2563eb;--trade-primary-hover:#2f6bff;--trade-amount:#f6c85f;--trade-ink:#e2e8f0;width:min(100%,1100px);padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));min-height:100dvh;color:var(--trade-ink);background:var(--trade-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;margin:0 auto;font:16px/1.5 system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.trade-page,.trade-page *,.trade-camera,.trade-camera *{box-sizing:border-box}.trade-page h1,.trade-page h2,.trade-page h3,.trade-camera h2{color:inherit;letter-spacing:0;margin:0}.trade-page h1{font-size:clamp(22px,4vw,28px);font-weight:750;line-height:1.35}.trade-page h2,.trade-camera h2{font-size:18px;font-weight:650;line-height:1.5}.trade-page h3{font-size:20px;font-weight:650}.trade-page button,.trade-camera button{font:inherit;cursor:pointer;touch-action:manipulation;border-radius:12px;min-width:48px;min-height:48px}.trade-page button:disabled{opacity:.48;cursor:default}.trade-page :focus-visible,.trade-camera :focus-visible{outline-offset:3px;outline:3px solid #7cf5fb}.trade-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.trade-header>div{min-width:0}.trade-header-centered{text-align:center;justify-content:center}.trade-header-centered>div{width:100%}.trade-brand{color:var(--trade-muted);letter-spacing:.1em;font-size:12px}.trade-header h1{margin:4px 0 6px}.trade-header p{color:var(--trade-muted);overflow-wrap:anywhere;font-size:14px}.trade-header p span{color:var(--trade-accent);font-variant-numeric:tabular-nums;margin-left:8px}.trade-text-btn{color:var(--trade-accent);background:0 0;border:0;padding:10px 8px}.trade-stats{border:1px solid var(--trade-border);background:var(--trade-surface);border-radius:16px;grid-template-columns:1.15fr .85fr 1fr;gap:12px;margin-bottom:22px;padding:16px 12px;display:grid;box-shadow:0 10px 28px #030a1938}.trade-overview{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr))}.trade-stats>div{min-width:0}.trade-stats span{color:var(--trade-muted);margin-bottom:4px;font-size:12px;display:block}.trade-stats strong{color:var(--trade-amount);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(16px,3vw,22px)}.trade-stats>div:nth-child(2) strong{color:var(--trade-accent-soft)}.trade-stats small{color:var(--trade-muted);font-size:12px;font-weight:400}.trade-layout{align-items:start;gap:16px;display:grid}.trade-card{border:1px solid var(--trade-border);background:var(--trade-surface);border-radius:20px;min-width:0;padding:20px;box-shadow:0 12px 32px #030a1933}.trade-section-title{align-items:center;gap:10px;margin-bottom:16px;display:flex}.trade-section-title h2{flex:1}.trade-step{color:var(--trade-accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.trade-chip{color:#95f7fa;white-space:nowrap;background:#133a43;border:1px solid #2a6370;border-radius:6px;padding:3px 7px;font-size:12px}.trade-scan{width:100%;color:var(--trade-accent);background:#142e3d;border:1px solid #376372;flex-direction:column;align-items:center;gap:14px;padding:30px 12px;display:flex}.trade-scan strong{color:var(--trade-ink);font-size:19px}.trade-scan span{color:#bdcedb;font-size:13px}.trade-student{align-items:center;gap:12px;padding:8px 0 14px;display:flex}.trade-avatar{color:#b5f9fa;background:#1e4957;border-radius:14px;flex:0 0 48px;place-items:center;height:48px;font-size:24px;display:grid}.trade-student>div{overflow-wrap:anywhere;flex:1;min-width:0}.trade-student p{color:var(--trade-muted);margin:3px 0 8px;font-size:13px}.trade-student span:not(.trade-avatar){color:var(--trade-muted);font-size:13px}.trade-student b{color:var(--trade-ink);font-size:16px}.trade-alternatives{border-top:1px solid var(--trade-border);margin-top:18px;padding-top:8px}.trade-alternatives summary{color:var(--trade-muted);cursor:pointer;min-height:48px;padding:12px 0}.trade-alternatives label{color:var(--trade-muted);margin-bottom:8px;font-size:13px;display:block}.trade-input-action{gap:8px;display:flex}.trade-input-action input{flex:1;min-width:0}.trade-input-action button{color:var(--trade-ink);background:#21495a;border:1px solid #477184;padding:8px 12px}.trade-tip{border-top:1px solid var(--trade-border);margin-top:20px;padding-top:16px}.trade-tip>span{color:#e2e9f6;font-size:13px}.trade-tip p,.trade-footnote{color:var(--trade-muted);margin-top:6px;font-size:13px;line-height:1.7}.trade-page input:not([type=checkbox]),.trade-page select,.trade-page textarea{border:1px solid var(--trade-border-strong);min-height:48px;color:var(--trade-ink);font:inherit;background:#0d1728;border-radius:10px;width:100%;padding:12px}.trade-page input:focus,.trade-page select:focus,.trade-page textarea:focus{border-color:var(--trade-accent);outline:none;box-shadow:0 0 0 3px #22b8cf2e}.trade-page input::placeholder{color:#718198}.trade-money-field{align-items:center;gap:8px;padding:6px 0 16px;display:flex}.trade-money-field>span{color:var(--trade-amount);font-size:28px}.trade-money-field input{font-variant-numeric:tabular-nums;min-width:0;font-weight:700;color:var(--trade-amount)!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:4px 0!important;font-size:clamp(32px,7vw,42px)!important}.trade-field{color:var(--trade-muted);font-size:14px;display:block}.trade-field>span{color:#aab3c9;margin-left:6px;font-size:12px}.trade-field input,.trade-field textarea{margin-top:8px;display:block}.trade-products{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.trade-products button{background:var(--trade-surface-raised);border:1px solid var(--trade-border-strong);color:var(--trade-ink);flex:28%;min-width:0;padding:8px 4px}.trade-products span,.trade-products b{font-size:12px;display:block}.trade-products b{color:var(--trade-amount)}.trade-products button{position:relative}.trade-products .trade-product-selected{border-color:var(--trade-accent);background:#183849;box-shadow:0 0 0 1px #22b8cf24}.trade-product-quantity{color:#071923;background:var(--trade-accent-soft);border-radius:6px;padding:1px 5px;font-size:11px;font-weight:750;position:absolute;top:3px;right:6px}.trade-calculation{color:var(--trade-muted);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0 0 4px;font-size:13px;line-height:1.5}.trade-keypad{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.trade-keypad button{color:var(--trade-ink);background:var(--trade-surface-raised);border:1px solid var(--trade-border-strong);border-radius:14px;place-items:center;min-height:54px;padding:4px;font-size:24px;font-weight:500;display:grid;box-shadow:inset 0 1px #ffffff08}.trade-keypad .trade-calculator-function,.trade-keypad .trade-calculator-operator{color:var(--trade-accent-soft)}.trade-keypad .trade-calculator-function{font-size:20px}.trade-keypad .trade-calculator-operator{font-size:29px}.trade-keypad .trade-calculator-equals{background:var(--trade-primary);border-color:var(--trade-primary);color:#f8fafc;font-size:30px;box-shadow:0 8px 18px #2563eb3d}.trade-keypad button:active:not(:disabled){background:#2a415f}.trade-keypad .trade-calculator-equals:active:not(:disabled){background:#1d4ed8}.trade-primary{background:var(--trade-primary);color:#f8fafc;border:0;width:100%;padding:14px 16px;box-shadow:0 8px 18px #2563eb38;min-height:54px!important;font-weight:700!important}.trade-primary:hover:not(:disabled){background:var(--trade-primary-hover)}.trade-primary:active:not(:disabled){background:#1d4ed8}.trade-error{color:#ffd4d9;overflow-wrap:anywhere;background:#472534;border:1px solid #9b5261;border-radius:10px;margin:12px 0;padding:12px;font-size:14px}.trade-notice{color:#ffdda9;background:#3d3227;border:1px solid #7e684c;border-radius:10px;margin-bottom:16px;padding:12px}.trade-confirm{text-align:center;width:100%;max-width:580px;margin:0 auto}.trade-confirm form{text-align:left}.trade-eyebrow{color:var(--trade-accent);margin:4px 0 10px;font-size:13px;display:block}.trade-confirm-money{color:var(--trade-amount);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:18px 0 8px;font-size:clamp(36px,8vw,54px);font-weight:750;line-height:1.4}.trade-detail{text-align:left;border-top:1px solid var(--trade-border);margin:24px 0}.trade-detail>div{border-bottom:1px solid var(--trade-border);justify-content:space-between;align-items:start;gap:16px;padding:12px 0;display:flex}.trade-detail dt{color:var(--trade-muted);flex:0 0 80px;font-size:14px}.trade-detail dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.trade-detail small{color:var(--trade-muted);font-size:12px;display:block}.trade-number{font-variant-numeric:tabular-nums;font-size:12px}.trade-confirm .trade-primary{margin-top:16px}.trade-confirm>.trade-text-btn{margin-top:8px}.trade-confirm-item{color:var(--trade-muted);overflow-wrap:anywhere;margin-top:12px;font-size:14px}.trade-success-symbol,.trade-pending-symbol{color:#9df3d1;background:#174d43;border:1px solid #3d8c73;border-radius:50%;place-items:center;width:70px;height:70px;margin:8px auto 18px;display:grid}.trade-pending-symbol{color:#abdefa;background:#1e3b54;border-color:#477796;font-size:38px}.trade-recent{margin-top:26px}.trade-recent-row{border-bottom:1px solid var(--trade-border);justify-content:space-between;gap:12px;padding:14px 0;display:flex}.trade-recent-row>div{overflow-wrap:anywhere;min-width:0}.trade-recent-row strong{font-size:14px}.trade-recent-row span{color:var(--trade-muted);margin-top:4px;font-size:12px;display:block}.trade-recent-row b{color:var(--trade-amount);white-space:nowrap;font-variant-numeric:tabular-nums}.trade-footer{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.trade-footer button{color:var(--trade-muted);font-size:13px}.trade-cash-info{padding:18px 0}.trade-cash-info p{color:var(--trade-muted);margin-top:12px}.trade-camera-overlay{z-index:1500;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));color:#f5f7ff;background:#080a15f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.trade-camera{background:#1b1e33;border:1px solid #363b54;border-radius:20px;width:100%;max-width:560px;max-height:100%;padding:20px;overflow:auto}.trade-camera video{object-fit:cover;background:#080b16;border-radius:12px;width:100%;height:min(50dvh,400px);display:block}.trade-camera p{color:#b0b7d0;margin-top:16px;font-size:14px}.trade-filters{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.trade-filters label{color:var(--trade-muted);flex:130px;font-size:13px}.trade-filters input,.trade-filters select{margin-top:6px}.trade-record{margin:12px 0}.trade-record .trade-section-title{margin:0}.trade-record .trade-detail{margin:12px 0}.trade-record .trade-chip{white-space:normal}.trade-record-actions{gap:8px;margin-top:12px;display:flex}.trade-refund-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.trade-refund-types button{min-width:0;padding-inline:8px}.trade-refund-form{margin-block:16px;scroll-margin-top:16px}.trade-refund-form .trade-section-title{margin-bottom:8px}.trade-refund-form .trade-primary{margin-top:16px}.trade-refund-reasons{flex-wrap:wrap;gap:8px;margin-block:10px;display:flex}.trade-refund-reasons button{padding:8px 12px;font-size:13px}.trade-refund-types [aria-pressed=true],.trade-refund-reasons [aria-pressed=true]{border-color:var(--trade-primary);color:var(--trade-primary);box-shadow:0 0 0 1px var(--trade-primary)}.trade-refund-total{color:var(--trade-muted);justify-content:space-between;align-items:center;gap:12px;margin:16px 0;display:flex}.trade-refund-total strong{color:var(--trade-primary);font-variant-numeric:tabular-nums;font-size:26px}.trade-refund-summary{color:var(--trade-muted);margin:10px 0 0;font-size:13px}.trade-refund-form .trade-record-actions{flex-wrap:wrap}.trade-secondary{color:#c7edf3;background:#1b3049;border:1px solid #47627f;padding:10px 16px}.trade-record summary{cursor:pointer;color:#b0b7d0;min-height:48px;padding:12px 0}.trade-empty{text-align:center;color:var(--trade-muted);border:1px dashed var(--trade-border);border-radius:16px;padding:44px 20px}.trade-pagination{justify-content:space-between;align-items:center;gap:8px;margin-top:20px;display:flex}.mobile-network-notice{z-index:1800;color:#36261c;padding:max(10px, env(safe-area-inset-top)) 16px 10px;text-align:center;background:#f2d7a3;font:14px/1.5 system-ui;position:sticky;top:0}.mobile-loading{color:#d5e2f2;place-items:center;min-height:100dvh;display:grid}.trade-amount-first-page{padding-bottom:112px}.trade-layout-amount-first .trade-amount>.trade-section-title{margin-bottom:4px}.trade-layout-amount-first .trade-money-field{padding-block:0 12px}.trade-layout-amount-first .trade-money-field input{line-height:1.15;padding-block:0!important;font-size:clamp(42px,9vw,56px)!important}.trade-amount-aside{gap:16px;min-width:0;display:grid}.trade-amount-aside .trade-products{margin-bottom:0}.trade-payment-guide ol{color:var(--trade-muted);margin:12px 0 0;padding-left:24px}.trade-payment-guide li{padding:4px 0 4px 4px}.trade-payment-guide li::marker{color:var(--trade-accent);font-weight:650}.trade-checkout-bar{z-index:1150;inset:auto 0 var(--mobile-nav-height,73px);padding:12px max(16px, env(safe-area-inset-right,0px)) 12px max(16px, env(safe-area-inset-left,0px));border-top:1px solid var(--trade-border);background:#111d31;position:fixed;box-shadow:0 -8px 24px #030a1970}.trade-checkout-bar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1068px;margin:0 auto;display:flex}.trade-checkout-bar-inner>div{min-width:0}.trade-checkout-bar span{color:var(--trade-muted);font-size:12px;display:block}.trade-checkout-bar strong{color:var(--trade-amount);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:24px;font-weight:750;display:block}.trade-checkout-bar .trade-primary{flex-shrink:0;width:clamp(140px,45%,300px)}.trade-checkout-dialog{width:min(520px,100% - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));color:var(--trade-ink);border:1px solid var(--trade-border);background:var(--trade-surface);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:24px;margin:auto;padding:24px;overflow-y:auto;box-shadow:0 24px 64px #05091680}.trade-checkout-dialog::backdrop{background:#050812c7}.trade-checkout-dialog .trade-section-title{justify-content:space-between;gap:16px}.trade-checkout-dialog .trade-section-title>div{flex:1;min-width:0}.trade-checkout-dialog .trade-eyebrow{margin:0 0 4px}.trade-checkout-dialog .trade-section-title>button{align-self:start}.trade-identify-total{text-align:center;border-block:1px solid var(--trade-border);overflow-wrap:anywhere;margin-bottom:20px;padding:16px 0}.trade-identify-total>span{color:var(--trade-muted);font-size:13px}.trade-identify-total>strong{font-variant-numeric:tabular-nums;font-size:clamp(32px,8vw,44px);font-weight:750;line-height:1.4;display:block}.trade-identify-total>p{color:var(--trade-muted);margin-top:4px;font-size:13px}.trade-identify-methods{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.trade-identify-methods button{min-width:0;color:var(--trade-accent);background:#172f3c;border:1px solid #477184;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px 12px;display:flex}.trade-identify-methods strong{color:var(--trade-ink);font-size:16px}.trade-identify-methods span{color:var(--trade-muted);font-size:12px}.trade-identify-methods button:hover{border-color:var(--trade-accent);background:#1b3e4c}.trade-identify-submit{margin-top:16px}.trade-change-method{margin:8px auto 0;display:block}.trade-identify-loading{text-align:center;color:#cbedf9;padding:28px 12px}.trade-camera-preview{border:1px solid var(--trade-border);background:#080b16;border-radius:12px;place-items:center;height:min(38dvh,360px);display:grid;overflow:hidden}.trade-camera-preview video{object-fit:cover;width:100%;height:100%;display:block}.trade-camera-preview video[hidden]{display:none}.trade-camera-preview>p{color:#e2e8f0;text-align:center;margin:0;padding:16px}.trade-camera-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0;display:grid}.trade-camera-actions button{width:100%;padding:10px 8px}.trade-inline-camera>p{color:var(--trade-muted);margin-block:12px;font-size:13px}.trade-inline-camera>button{width:100%}.trade-checkout-dialog>.trade-footnote{border-top:1px solid var(--trade-border);margin-top:20px;padding-top:16px}@media (width>=760px){.trade-layout-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.trade-card{padding:24px}.trade-identity{position:sticky;top:24px}}@media (width<=420px){.trade-checkout-dialog{border-radius:20px;width:calc(100% - 24px);padding:16px}}@media (width<=359px){.trade-page{padding-inline:12px}.trade-card{padding:16px}.trade-stats,.trade-header{gap:8px}.trade-header>button{font-size:13px}.trade-detail dt{flex-basis:66px}.trade-checkout-bar strong{font-size:20px}.trade-identify-methods{gap:8px}.trade-identify-methods button{padding-inline:8px}}@media (height<=480px) and (orientation:landscape){.trade-page{padding-top:12px}.trade-header{margin-bottom:12px}.trade-stats{margin-bottom:14px}.trade-camera video{height:42dvh}.trade-identity{position:static}.trade-checkout-dialog{padding:16px}.trade-inline-camera video{max-height:32dvh}}@media (prefers-reduced-motion:reduce){.trade-page *,.trade-camera *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.trade-collection-entry{text-align:left;color:#2062b7;cursor:pointer;background:#f1f7ff;border:1px solid #dbeafe;border-radius:18px;align-items:center;gap:12px;width:100%;min-height:64px;margin:0 0 16px;padding:14px 19px;font-family:inherit;display:flex}.trade-collection-entry>span:first-of-type{flex:1}.trade-collection-entry strong{font-size:15px;display:block}.trade-collection-entry small{color:#7192bb;margin-top:5px;font-size:11px;display:block}.merchant-shell-booth{background:#0b1323}html:has(.merchant-shell-booth){scrollbar-width:none}html:has(.merchant-shell-booth)::-webkit-scrollbar{display:none}.trade-page.booth-page{--trade-bg:#0b1323;--trade-surface:#111d30;--trade-border:#2c435e;--trade-muted:#b3bfd7;--trade-accent:#17d7ff;--trade-ink:#f6f7fd;background:var(--booth-background) calc(100% + 60px) top / clamp(480px, 83vw, 916px) auto no-repeat;padding:max(20px, env(safe-area-inset-top)) max(clamp(16px, 4.8vw, 42px), env(safe-area-inset-right)) 24px max(clamp(16px, 4.8vw, 42px), env(safe-area-inset-left))}.booth-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.booth-header>div{min-width:0}.booth-brand{color:#c0c9df;letter-spacing:.12em;font-size:clamp(13px,2.1vw,18px);line-height:1.35;display:block}.booth-header h1{margin:4px 0 5px;font-size:clamp(28px,4.9vw,40px);font-weight:750;line-height:1.25}.booth-header p{color:var(--trade-muted);overflow-wrap:anywhere;margin:0;font-size:clamp(14px,2.3vw,20px);line-height:1.4}.booth-header p span{margin-inline:6px}.booth-refresh{color:var(--trade-accent);background:#082b4080;border:1px solid #00a9d4;flex-shrink:0;justify-content:center;align-items:center;gap:9px;padding:8px 18px;display:flex;box-shadow:inset 0 0 12px #08a5d10d;min-width:98px!important;font-weight:650!important}.booth-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.booth-stat{background:#14203580;border:1px solid #344e6b;border-radius:17px;align-items:center;gap:14px;min-width:0;min-height:100px;padding:18px;display:flex;box-shadow:inset 0 1px #a4c9ff05}.booth-stat>div{min-width:0}.booth-stat>div>span{color:var(--trade-muted);margin-bottom:4px;font-size:clamp(12px,2.1vw,18px);line-height:1.2;display:block}.booth-stat strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(18px,3.1vw,28px);font-weight:750;line-height:1.2;display:block}.booth-stat-icon{border-radius:13px;flex-shrink:0;place-items:center;width:52px;height:58px;display:grid}.booth-icon-revenue{color:#2daeff;background:#123c62a6;border:1px solid #1e527b80}.booth-icon-cost{color:#ffc14f;background:#493c26a6}.booth-icon-profit{color:#85aaff;background:#213961a6}.booth-stat-cost strong{color:#ffbd62}.booth-stat-profit strong{color:#ff7b9d}.booth-panel{background:linear-gradient(125deg,#152a4094,#111b2dab 65%,#13253bad);border:1px solid #2d4866;border-radius:19px;min-width:0;margin-bottom:16px;padding:20px;box-shadow:inset 0 1px 1px #80b7ff0a,0 8px 24px #050b1726}.booth-section-heading{align-items:center;gap:16px;min-width:0;margin-bottom:16px;display:flex}.booth-panel[aria-labelledby=booth-info-title] .booth-section-heading{margin-bottom:14px}.booth-section-heading h2{flex:1;font-size:clamp(20px,3.1vw,26px);font-weight:700;line-height:1.4}.booth-section-icon{color:#16bfff;background:#0a38588c;border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.booth-heading-copy{flex:1;min-width:0}.booth-heading-copy p{color:var(--trade-muted);margin:2px 0 0;font-size:clamp(13px,2.1vw,18px)}.booth-count{color:#42e1ff;font-variant-numeric:tabular-nums;background:#06344980;border:1px solid #1ab0cf;border-radius:10px;flex-shrink:0;align-self:flex-start;padding:5px 14px;font-size:clamp(14px,2.3vw,20px);line-height:1.5}.booth-details{background:#18223485;border:1px solid #35475f;border-radius:16px;margin:0;padding:0 18px}.booth-details>div{border-bottom:1px solid #34445d;justify-content:space-between;align-items:start;gap:18px;min-height:52px;padding:11px 0;font-size:clamp(14px,2.3vw,20px);line-height:1.4;display:flex}.booth-details>div:last-child{border-bottom:0}.booth-details dt{color:var(--trade-muted);flex-shrink:0;align-items:center;gap:16px;display:flex}.booth-details dt svg{flex-shrink:0}.booth-details dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.booth-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.booth-product{background:#1826388c;border:1px solid #3c4e67;border-radius:16px;min-width:0;min-height:88px;padding:14px 20px;position:relative}.booth-product h3{overflow-wrap:anywhere;padding-right:23px;font-size:clamp(16px,2.3vw,20px);font-weight:650;line-height:1.4}.booth-product p{color:var(--trade-accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:3px 0 0;font-size:clamp(18px,2.5vw,22px);font-weight:650;line-height:1.25}.booth-product-remove{color:#b6c3da;background:0 0;border:0;place-items:center;width:48px;height:48px;padding:0;display:grid;position:absolute;top:0;right:0}.booth-product-remove svg{fill:#64718e}.booth-product-remove:hover{color:#ffbbc9}.booth-form{background:#17273b99;border:1px solid #35495f;border-radius:17px;margin-top:16px;padding:20px}.booth-form h3{color:#4bddff;align-items:center;gap:14px;margin-bottom:8px;font-size:clamp(18px,2.4vw,21px);line-height:1.4;display:flex}.booth-form h3 svg{color:#24c8fc;flex-shrink:0}.booth-form-grid{gap:10px 22px;display:grid}.booth-page .trade-field{min-width:0;font-size:clamp(14px,2.2vw,19px);line-height:1.4}.booth-page input:not([type=checkbox]),.booth-page select{background:#0c172aa6;border-color:#51647f;border-radius:10px;min-height:48px;padding:9px 16px;font-size:clamp(16px,2.3vw,20px)}.booth-page input::placeholder{color:#8e9db8}.booth-form input,.booth-form select{margin-top:4px}.booth-primary{color:#051d2b;background:linear-gradient(110deg,#36e0f4,#12afff);border:1px solid #67eaff;justify-content:center;align-items:center;gap:13px;width:100%;margin-top:14px;padding:10px 16px;display:flex;box-shadow:0 3px 16px #00bcff1c,inset 0 1px #b8f9ff70;min-height:50px!important;font-size:clamp(16px,2.3vw,20px)!important;font-weight:750!important}.booth-product-form .booth-primary{min-height:58px!important}.booth-primary:hover:not(:disabled){filter:brightness(1.1)}.booth-refresh:hover:not(:disabled){background:#0a3b50b3}.booth-notice{color:#b9f8fb;background:#10394a;border:1px solid #226a7b;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px}.booth-cancel-edit{color:var(--trade-accent);background:0 0;border:0;margin:8px auto 0;padding:8px 16px;display:block}.booth-records-label{color:var(--trade-muted);margin:8px 0;font-size:clamp(14px,2.1vw,18px);line-height:1.4}.booth-cost-record+.booth-cost-record{border-top:1px solid #2e425c;margin-top:14px;padding-top:14px}.booth-cost-row{grid-template-columns:70px minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.booth-record-icon{color:#62aeff;background:#102c4a80;border:1px solid #204e7e;border-radius:16px;place-items:center;width:70px;height:70px;display:grid}.booth-cost-copy{overflow-wrap:anywhere;min-width:0}.booth-cost-copy h3{margin-bottom:4px;font-size:clamp(17px,2.3vw,20px);font-weight:650;line-height:1.4}.booth-cost-copy p{color:var(--trade-muted);margin:2px 0;font-size:clamp(13px,2.1vw,18px);line-height:1.4}.booth-cost-copy time{color:#8f9fbb;font-variant-numeric:tabular-nums;margin-top:3px;font-size:clamp(12px,1.9vw,16px);line-height:1.35;display:block}.booth-cost-side>strong{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(20px,2.6vw,24px);font-weight:750;line-height:1.3;display:block}.booth-cost-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:6px;display:flex}.booth-cost-actions button{border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 12px;font-size:clamp(13px,1.8vw,16px);font-weight:600;display:flex}.booth-edit-button{color:#2faeff;background:#07305280;border:1px solid #1665a2}.booth-delete-button{color:#ff6e84;background:#44203480;border:1px solid #ab3d53}.booth-delete-confirmation{margin-top:12px}.booth-empty{color:var(--trade-muted);margin-block:10px;font-size:14px}.merchant-shell-booth .mobile-bottom-nav{background:#0b1529ed;border-color:#2c3c5b}.merchant-shell-booth .mobile-nav-item{border:1px solid #0000;font-size:clamp(12px,2.2vw,18px)}.merchant-shell-booth .mobile-nav-item svg{width:30px;height:30px}.merchant-shell-booth .mobile-nav-item.is-active{color:#08d8ff;background:#07354c99;border-color:#0085ae;box-shadow:inset 0 0 14px #00caff14}@media (width>=580px){.booth-form-grid{grid-template-columns:1.15fr 1fr}.booth-field-full{grid-column:1/-1}.booth-panel[aria-labelledby=booth-costs-title] .booth-section-heading{margin-bottom:4px}.booth-cost-form{margin-top:4px}.booth-cost-form .trade-field{line-height:1.2}.booth-page .booth-cost-form input:not([type=checkbox]),.booth-page .booth-cost-form select{min-height:44px;padding-block:8px;line-height:1.2}.booth-cost-form .booth-primary{margin-top:12px;padding-block:8px;line-height:1.2;min-height:48px!important}}@media (width>=640px){.booth-products{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=830px){.booth-stat{gap:20px;min-height:106px;padding:20px}.booth-stat-icon{width:60px;height:60px}.booth-stat>div>span{font-size:20px}.booth-stat strong{font-size:30px}.booth-refresh{min-width:124px!important;font-size:20px!important}}@media (width<=639px){.booth-cost-row{grid-template-columns:48px minmax(0,1fr);gap:10px 12px}.booth-record-icon{border-radius:12px;width:48px;height:54px}.booth-record-icon svg{width:28px}.booth-cost-side{grid-column:2}.booth-cost-side>strong{text-align:left}.booth-cost-actions{justify-content:flex-start}}@media (width<=579px){.booth-stat{border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;min-height:124px;padding:12px 10px}.booth-stat-icon{border-radius:8px;width:32px;height:32px}.booth-stat-icon svg{width:23px;height:23px}.booth-stat>div>span{white-space:nowrap;font-size:12px}.booth-stats{gap:8px}.booth-stat strong{font-size:19px}.booth-panel{border-radius:17px;padding:16px}.booth-section-heading{align-items:flex-start;gap:10px;margin-bottom:14px}.booth-section-icon{border-radius:8px;width:34px;height:34px}.booth-section-icon svg{width:29px;height:29px}.booth-count{border-radius:8px;padding:3px 9px}.booth-details{border-radius:12px;padding-inline:12px}.booth-details>div{gap:10px;min-height:44px;padding-block:10px}.booth-details dt{gap:9px}.booth-details dt svg{width:18px;height:18px}.booth-form{border-radius:13px;padding:14px}.booth-products{gap:10px}.booth-product{border-radius:13px;padding:14px}.booth-product h3{padding-right:22px}.booth-header{gap:10px}.booth-refresh{gap:5px;padding-inline:10px;min-width:82px!important;font-size:14px!important}.booth-refresh svg{width:22px}}@media (width<=359px){.trade-page.booth-page{padding-inline:12px}.booth-stat strong{font-size:17px}.booth-panel{padding:12px}.booth-heading-copy p{font-size:12px}.booth-form{padding:12px}}@media (height<=480px) and (orientation:landscape){.booth-header{margin-bottom:12px}.booth-page .booth-header h1{font-size:28px}.merchant-shell-booth .mobile-nav-item{font-size:14px}}.qr-scanner-overlay{--scan-blue:#0866ff;--scan-ink:#142c4f;--scan-muted:#617592;z-index:1500;box-sizing:border-box;background:#13243f85;justify-content:center;align-items:center;padding:16px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;display:flex;position:fixed;inset:0}.qr-scanner-overlay *{box-sizing:border-box}.qr-scanner-overlay .qr-scanner-modal{overscroll-behavior:contain;width:min(440px,100%);max-height:calc(100dvh - 32px);color:var(--scan-ink);background:#fff;border:1px solid #e5edf8;border-radius:24px;padding:20px;overflow-y:auto;box-shadow:0 20px 60px #12274c26}.qr-scanner-modal .qr-scanner-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.qr-scanner-heading h2{color:var(--scan-ink);margin:0;font-size:18px;font-weight:700;line-height:1.5}.qr-scanner-modal button{font:inherit;cursor:pointer;touch-action:manipulation;min-height:44px;font-size:14px}.qr-scanner-modal button:disabled{opacity:.5;cursor:default}.qr-scanner-modal button:focus-visible,.qr-scanner-modal input:focus-visible{outline-offset:3px;outline:3px solid #9cc7ff}.qr-scanner-modal .qr-scanner-close{color:#56718f;background:#f2f6fb;border:0;border-radius:12px;flex-shrink:0;place-items:center;width:44px;padding:0;display:grid}.qr-scanner-modal .qr-scanner-description{color:var(--scan-muted);margin:0 0 16px;font-size:14px;line-height:1.65}.qr-scanner-view{color:#fff;background:#111c30;border-radius:18px;place-items:center;width:100%;height:clamp(180px,38dvh,320px);display:grid;position:relative;overflow:hidden}.qr-scanner-view video{object-fit:cover;width:100%;height:100%;display:block}.qr-scanner-view video[hidden]{display:none}.qr-scanner-camera-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:18px;display:flex}.qr-scanner-camera-state>svg{color:#b3c6e2}.qr-scanner-camera-state p{color:#fff;margin:0;font-size:14px;line-height:1.6}.qr-scanner-camera-state button{color:#fff;background:#263954;border:1px solid #647793;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:8px 16px;display:flex}.qr-scanner-viewfinder{aspect-ratio:1;border:1px solid #fff5;width:min(68%,220px);position:absolute;box-shadow:0 0 0 400px #08142450}.qr-scanner-viewfinder i{border:3px solid #fff;width:24px;height:24px;position:absolute}.qr-scanner-viewfinder i:first-child{border-bottom:0;border-right:0;border-radius:6px 0 0;top:-2px;left:-2px}.qr-scanner-viewfinder i:nth-child(2){border-bottom:0;border-left:0;border-radius:0 6px 0 0;top:-2px;right:-2px}.qr-scanner-viewfinder i:nth-child(3){border-top:0;border-left:0;border-radius:0 0 6px;bottom:-2px;right:-2px}.qr-scanner-viewfinder i:nth-child(4){border-top:0;border-right:0;border-radius:0 0 0 6px;bottom:-2px;left:-2px}.qr-scanner-viewfinder>span{background:#75d9ff;height:2px;position:absolute;top:50%;left:4%;right:4%;box-shadow:0 0 12px #75d9ff}.qr-scanner-modal .qr-scanner-live{color:var(--scan-muted);justify-content:center;align-items:center;gap:7px;margin:10px 0 0;font-size:12px;line-height:1.6;display:flex}.qr-scanner-live>span{background:#0aba88;border-radius:50%;width:6px;height:6px}.qr-scanner-modal .qr-scanner-camera-error{color:var(--scan-muted);margin:12px 0 0;font-size:13px;line-height:1.65}.qr-scanner-methods{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.qr-scanner-methods button{color:#215ba4;background:#f5f9ff;border:1px solid #dce7f6;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-width:0;padding:12px 6px;display:flex}.qr-scanner-modal .qr-scanner-back{color:var(--scan-blue);background:0 0;border:0;align-items:center;gap:6px;margin:-4px 0 12px;padding:0 2px;display:flex}.qr-scanner-form{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.qr-scanner-form label{color:var(--scan-ink);margin:0;font-size:14px;font-weight:600;line-height:1.6;display:block}.qr-scanner-form input{width:100%;min-width:0;min-height:54px;color:var(--scan-ink);font:inherit;background:#f9fbff;border:1px solid #cbd9eb;border-radius:12px;padding:13px 14px;font-size:16px;line-height:1.5;display:block}.qr-scanner-form input::placeholder{color:#74869e;opacity:1}.qr-scanner-modal .qr-scanner-submit{border:1px solid var(--scan-blue);background:var(--scan-blue);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:50px;margin-top:4px;font-weight:600;display:flex}.qr-scanner-modal .qr-scanner-error{color:#ad3540;overflow-wrap:anywhere;background:#fff2f3;border:1px solid #ffdde0;border-radius:11px;margin:14px 0 0;padding:11px 13px;font-size:13px;line-height:1.65}@media (height<=500px){.qr-scanner-overlay{padding:10px}.qr-scanner-overlay .qr-scanner-modal{border-radius:18px;max-height:calc(100dvh - 20px);padding:14px 18px}.qr-scanner-modal .qr-scanner-description{margin-bottom:10px;font-size:13px}.qr-scanner-view{height:150px}}@media (width<=359px){.qr-scanner-overlay{padding:12px}.qr-scanner-overlay .qr-scanner-modal{padding:16px}.qr-scanner-methods{gap:8px}.qr-scanner-methods button{flex-direction:column;gap:5px;padding:9px 5px}.qr-scanner-form input{padding-inline:10px;font-size:16px}}.buyer-app{--buyer-blue:#0866ff;--buyer-ink:#142c4f;--buyer-muted:#7c91af;--buyer-line:#e5edf8;min-height:100dvh;color:var(--buyer-ink);background:#f5f9fd;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px}.buyer-app *{box-sizing:border-box}.buyer-header{align-items:center;gap:12px;max-width:560px;min-height:82px;margin:auto;padding:19px 20px 12px;display:flex}.buyer-header>img{object-fit:contain;mix-blend-mode:multiply;width:44px;height:34px}.buyer-header strong{letter-spacing:.02em;font-size:17px;display:block}.buyer-header span{color:var(--buyer-muted);margin-top:3px;font-size:12px;display:block}.buyer-header-actions{margin-left:auto}.buyer-app button{cursor:pointer;touch-action:manipulation;font-family:inherit}.buyer-app button:disabled{opacity:.55;cursor:wait}.buyer-app button:focus-visible,.buyer-app input:focus-visible{outline-offset:3px;outline:3px solid #9cc7ff}.buyer-icon{color:var(--buyer-ink);background:0 0;border:0;place-items:center;width:42px;min-height:44px;display:grid}.buyer-content{max-width:560px;margin:0 auto;padding:10px 16px 105px}.buyer-app h1{letter-spacing:.01em;margin:6px 0 12px;font-size:25px;line-height:1.35}.buyer-app h2{margin:0 0 16px;font-size:17px}.buyer-app p{line-height:1.65}.buyer-kicker{letter-spacing:.16em;color:var(--buyer-blue);font-size:10px;font-weight:700}.buyer-card{border:1px solid var(--buyer-line);background:#fff;border-radius:24px;margin:0 0 16px;padding:22px;box-shadow:0 5px 18px #244b8610}.buyer-login{padding-top:35px}.buyer-login>h1{margin-top:9px;font-size:32px}.buyer-login>p{color:var(--buyer-muted);margin-bottom:25px}.buyer-app label{flex-direction:column;gap:10px;margin-bottom:20px;font-size:13px;font-weight:600;display:flex}.buyer-app label input{width:100%;min-height:52px;color:var(--buyer-ink);font:inherit;background:#f9fbff;border:1px solid #dce7f5;border-radius:12px;padding:13px 15px;font-family:inherit;font-size:17px;font-weight:400;line-height:1.4}.buyer-app input::placeholder{color:#a1b0c4}.buyer-app .buyer-amount-input{font-variant-numeric:tabular-nums;min-height:78px;font-size:36px;font-weight:700}.buyer-primary,.buyer-secondary{border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;padding:13px 18px;font-size:16px;font-weight:600;line-height:1.4;display:flex}.buyer-primary{border:1px solid var(--buyer-blue);background:var(--buyer-blue);color:#fff;box-shadow:0 5px 12px #0866ff1a}.buyer-secondary{color:#215ba4;background:#f2f7ff;border:1px solid #dfebfe;margin-top:12px}.buyer-text{min-height:44px;color:var(--buyer-blue);background:0 0;border:0;padding:8px 5px;font-size:13px}.buyer-card>.buyer-text{margin:4px auto 0;display:block}.buyer-error,.buyer-info{overflow-wrap:anywhere;border-radius:13px;margin:0 0 15px;padding:12px 15px;font-size:13px}.buyer-error{color:#b43b42;background:#fff0f1;border:1px solid #ffe0e4}.buyer-info{color:#2465b4;background:#edf5ff}.buyer-muted{color:var(--buyer-muted);margin-bottom:0;font-size:12px}.buyer-school-note{text-align:center;margin-top:26px;font-size:12px}.buyer-wallet-hero{color:#fff;background:radial-gradient(at 100% 0,#74b3ff66 0,#0000 52%),linear-gradient(120deg,#1574ff,#1850d5);border-radius:20px;margin:0 0 14px;padding:16px 20px;position:relative;overflow:hidden}.buyer-wallet-hero:after{content:"";pointer-events:none;border:1px solid #fff2;border-radius:50%;width:220px;height:220px;position:absolute;top:-105px;right:-70px}.buyer-wallet-identity{color:#e2efff;justify-content:space-between;gap:14px;font-size:12px;display:flex}.buyer-wallet-identity>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buyer-wallet-identity>b{overflow-wrap:anywhere;flex-shrink:0;max-width:45%}.buyer-wallet-balance{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:13px;display:flex}.buyer-wallet-balance p{color:#e2efff;margin:0 0 2px;font-size:12px}.buyer-wallet-balance strong{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1.2;display:block}.buyer-wallet-balance>span{color:#e2efff;padding-bottom:5px;font-size:12px}.buyer-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.buyer-section-heading h2{margin:0}.buyer-tag{color:#4683c2;background:#edf5ff;border-radius:7px;padding:3px 8px;font-size:11px;line-height:1.5;display:inline-flex}.buyer-qr-panel{text-align:center;padding-top:10px}.buyer-qr-image{aspect-ratio:1;background:#fff;place-items:center;max-width:240px;margin:auto;display:grid}.buyer-qr-image img{width:100%;max-width:240px;height:auto;display:block}.buyer-qr-placeholder{color:#a6b9d4;flex-direction:column;align-items:center;gap:17px;font-size:12px;display:flex}.buyer-qr-placeholder>span{padding:0 20px}.buyer-qr-time{color:var(--buyer-muted);font-size:11px;display:block}.buyer-code-card>p{text-align:center;margin-top:0}.buyer-scan-button{min-height:56px;margin-bottom:16px}.buyer-scan-button>svg:last-child{margin-left:auto}.buyer-scan-button>svg:first-child{margin-right:auto}.buyer-bottom-nav{z-index:40;border-top:1px solid var(--buyer-line);max-width:560px;padding:9px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;margin:auto;display:flex;position:fixed;bottom:0;left:0;right:0}.buyer-bottom-nav button{color:#8ba0ba;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:4px;min-height:50px;padding:4px;font-size:11px;display:flex}.buyer-bottom-nav [aria-current=page]{color:var(--buyer-blue)}.buyer-wallet-app{--buyer-nav-height:72px}.buyer-wallet-app>.buyer-header{min-height:70px;padding-top:13px;padding-bottom:10px}.buyer-wallet-app>.buyer-content{width:100%;padding-bottom:calc(var(--buyer-nav-height) + env(safe-area-inset-bottom,0px) + 24px)}.buyer-wallet-app.is-checkout>.buyer-content{padding-bottom:24px}.buyer-wallet-app .buyer-bottom-nav{min-height:var(--buyer-nav-height);z-index:80}.buyer-wallet-app .buyer-code-card{border-radius:22px;padding:14px 16px 16px}.buyer-pay-methods{grid-template-columns:1fr 1fr;gap:10px;display:grid}.buyer-pay-methods>a,.buyer-pay-methods>button{min-height:70px;color:var(--buyer-blue);text-align:left;background:#f2f7ff;border:1px solid #dbe8ff;border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:10px 7px;text-decoration:none;display:flex}.buyer-pay-methods .buyer-code-method{color:#fff;border-color:var(--buyer-blue);background:var(--buyer-blue)}.buyer-pay-methods svg{flex-shrink:0}.buyer-pay-methods strong{font-size:14px;line-height:1.5;display:block}.buyer-pay-methods small{opacity:.85;font-size:11px;line-height:1.6;display:block}.buyer-pay-methods>a:focus-visible{outline-offset:3px;outline:3px solid #9cc7ff}.buyer-wallet-notice{color:#855715;background:#fff8e9;border:1px solid #f5e5c5;border-radius:10px;align-items:flex-start;gap:7px;margin-top:12px;padding:9px 10px;display:flex}.buyer-wallet-notice svg{flex-shrink:0;margin-top:1px}.buyer-wallet-notice p{margin:0;font-size:12px;line-height:1.6}.buyer-code-heading{text-align:center;margin-top:18px;scroll-margin-top:16px}.buyer-code-heading h2{margin:0 0 5px;font-size:16px}.buyer-code-heading p{color:#607796;margin:0;font-size:12px}.buyer-code-card .buyer-qr-panel{padding-top:3px}.buyer-code-card .buyer-qr-image{width:min(100%,240px)}.buyer-code-card .buyer-qr-time{color:#667c99;margin-top:2px;font-size:11px;line-height:1.6}.buyer-code-assurance{color:#56718f;justify-content:center;align-items:center;gap:5px;margin:12px 0 0;font-size:12px;display:flex}.buyer-code-assurance svg{color:#07a975;flex-shrink:0}@media (width<=359px){.buyer-pay-methods{gap:7px}.buyer-pay-methods>a,.buyer-pay-methods>button{gap:6px}.buyer-pay-methods small{font-size:10px}.buyer-wallet-app .buyer-code-card{padding-inline:12px}}.buyer-request-card,.buyer-pending-banner{color:#8d6325;text-align:left;background:#fffaf0;border:1px solid #f8deb0;border-radius:17px;align-items:center;gap:12px;width:100%;margin-bottom:14px;padding:16px;display:flex}.buyer-request-card>span{flex:1}.buyer-request-card small{color:#ac936d;margin-top:6px;font-size:11px;font-weight:400;display:block}.buyer-request-card b{text-align:right;font-variant-numeric:tabular-nums;font-size:21px}.buyer-pending-banner{font-size:13px}.buyer-pending-banner>svg:last-child{width:19px;margin-left:auto}.buyer-page-heading{justify-content:space-between;align-items:center;gap:12px;margin:10px 2px 20px;display:flex}.buyer-page-heading h1{margin-bottom:0}.buyer-result{text-align:center;padding-top:32px}.buyer-result>svg{color:#0abf88;margin-bottom:16px}.buyer-result p{color:var(--buyer-muted);font-size:13px}.buyer-result-amount{font-variant-numeric:tabular-nums;font-size:38px;font-weight:700;line-height:1.3;display:block}.buyer-result-amount small{color:var(--buyer-muted);margin-left:8px;font-size:12px;font-weight:400}.buyer-app dl{margin:24px 0}.buyer-app dl>div{border-bottom:1px solid #f0f4fa;justify-content:space-between;gap:18px;padding:10px 0;font-size:12px;line-height:1.7;display:flex}.buyer-app dt{color:var(--buyer-muted);flex-shrink:0}.buyer-app dd{text-align:right;overflow-wrap:anywhere;margin:0}.buyer-locked-amount{border-block:1px solid #edf2fa;margin:20px 0 15px;padding:22px 0}.buyer-locked-amount>strong{letter-spacing:-.025em;font-size:43px;display:block}.buyer-locked-amount>span{color:var(--buyer-muted);font-size:12px}.buyer-locked-amount>p{font-size:14px}.buyer-balance-note{color:#607e9f;margin-bottom:24px;font-size:12px}.buyer-bill{border-bottom:1px solid #edf2f9;justify-content:space-between;gap:18px;padding:17px 0;display:flex}.buyer-bill:last-of-type{border-bottom:0}.buyer-bill>div:last-child{text-align:right}.buyer-bill strong{font-size:14px}.buyer-bill small{color:var(--buyer-muted);margin-top:4px;font-size:11px;line-height:1.7;display:block}.buyer-bill b{font-variant-numeric:tabular-nums;font-size:19px;display:block}.buyer-bill .buyer-tag{margin-top:7px}.buyer-credit{color:#07a975!important}.buyer-empty{color:var(--buyer-muted);text-align:center;padding:20px 0;font-size:13px}.buyer-profile-icon{color:var(--buyer-blue);margin-bottom:14px}.buyer-danger{color:#cf404e;background:#fff7f8;border-color:#ffe0e4}.collection-page .buyer-content{padding-bottom:108px}.collection-tabs{background:#eaf1fb;border-radius:13px;gap:5px;margin-bottom:18px;padding:5px;display:flex}.collection-tabs button{color:#6e84a3;background:0 0;border:0;border-radius:10px;flex:1;min-height:43px;font-size:14px;font-weight:600}.collection-tabs [aria-selected=true]{color:var(--buyer-blue);background:#fff;box-shadow:0 2px 9px #264b7b0c}.collection-divider{color:#91a5be;justify-content:center;padding-top:21px;font-size:11px;display:flex}.collection-wait{color:#8e6c32;background:#fff8e9;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-bottom:22px;padding:10px;font-size:12px;display:flex}.collection-order{text-align:center}.collection-order>p{font-size:14px}.collection-url{color:#8096b1;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:11px}@media (width>=700px){.buyer-login{padding-top:65px}.buyer-content{padding-inline:24px}}@media (width<=350px){.buyer-header{padding-inline:14px}.buyer-content{padding-inline:12px}.buyer-card{border-radius:20px;padding:17px}.buyer-section-heading{flex-direction:column;align-items:flex-start}}@media (height<=500px) and (width>=600px){.buyer-header{min-height:62px;padding-top:9px}.buyer-login{padding-top:9px}.buyer-login>p,.buyer-school-note{display:none}.buyer-login>h1{font-size:24px}}.collection-no-payment>svg{color:#b78326}html,body,#root{background:var(--ui-canvas)}body{font-family:var(--ui-font)}.merchant-shell,.merchant-shell.merchant-shell-booth{background:var(--ui-canvas);color:var(--ui-text)}.trade-page,.trade-page.booth-page,.trade-checkout-dialog{--trade-bg:var(--ui-canvas);--trade-surface:var(--ui-surface);--trade-border:var(--ui-border);--trade-muted:var(--ui-muted);--trade-accent:var(--ui-primary);--trade-ink:var(--ui-text);color:var(--ui-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--ui-font)}.trade-page,.trade-page.booth-page{width:min(100%,1100px);padding-inline:max(16px, env(safe-area-inset-left));background:var(--ui-canvas)}.mobile-container:not(.login-page){background:var(--ui-canvas);width:min(100%,1100px);color:var(--ui-text);font:16px/1.5 var(--ui-font);margin-inline:auto}.trade-page h1,.booth-header h1{font:700 28px/1.3 var(--ui-font);letter-spacing:0;color:var(--ui-text)}.trade-page h2,.trade-page h3,.trade-camera h2{color:var(--ui-text);font-weight:650}.trade-header,.booth-header{margin-bottom:20px}.booth-brand,.trade-brand{color:var(--ui-muted);letter-spacing:0;font-size:12px}.booth-header p,.trade-header p{color:var(--ui-muted);font-size:14px}.trade-page button,.trade-camera button{border-radius:var(--ui-control-radius)}.trade-page .trade-card,.booth-page .booth-panel,.booth-page .booth-stat,.wallet-self-card,.face-enroll-card,.donation-pad-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow)}.trade-page .trade-stats{border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow);padding:16px}.trade-page .trade-stats strong,.booth-stat strong{color:var(--ui-text);font-variant-numeric:tabular-nums}.booth-page .booth-stat>div>span{color:var(--ui-muted);font-size:13px}.booth-page .booth-stat-icon{background:var(--ui-primary-soft);width:48px;height:48px;color:var(--ui-primary);border:0;border-radius:50%}.booth-page .booth-icon-cost{background:var(--ui-warning-soft);color:var(--ui-warning)}.booth-page .booth-icon-profit{background:var(--ui-success-soft);color:var(--ui-success)}.booth-page .booth-panel-icon{background:var(--ui-primary-soft);color:var(--ui-primary)}.booth-page :is(.booth-count,.booth-refresh,.booth-chip){color:var(--ui-primary);border-color:var(--ui-border);background:var(--ui-primary-soft);box-shadow:none}.booth-page :is(.booth-info-list,.booth-form,.booth-product-form,.booth-cost-form,.booth-info,.booth-product,.booth-cost-row){background:var(--ui-surface-soft);color:var(--ui-text);border-color:var(--ui-border)}.booth-page :is(.booth-info-row,.booth-form-title,.booth-costs-label,.booth-cost-empty,.booth-cost-row small){color:var(--ui-muted);border-color:var(--ui-border)}.booth-page :is(.booth-info-row strong,.booth-info-row dd,.booth-product strong,.booth-cost-row strong){color:var(--ui-text)}.booth-page .booth-product b{color:var(--ui-primary)}.booth-page .booth-details{background:var(--ui-surface-soft);border-color:var(--ui-border);border-radius:var(--ui-control-radius)}.booth-page .booth-details>div{border-color:var(--ui-border);font-size:16px}.booth-page .booth-section-icon{color:var(--ui-primary);background:var(--ui-primary-soft)}.booth-page .booth-form h3,.booth-page .booth-form h3 svg{color:var(--ui-primary);font-size:18px}.booth-page .trade-field,.booth-page .booth-heading-copy p,.booth-page .booth-records-label{font-size:14px}.booth-page input:not([type=checkbox]),.booth-page select{font-size:16px}.booth-page .booth-primary{font-size:16px!important}.booth-page .booth-notice{color:var(--ui-primary);background:var(--ui-primary-soft);border-color:var(--ui-border)}.booth-page .booth-product-remove{color:var(--ui-muted);background:var(--ui-surface)}.trade-page :is(.trade-secondary,.trade-input-action button),.booth-page :is(.booth-refresh,.booth-edit-cost){color:var(--ui-primary);background:var(--ui-primary-soft);border:1px solid var(--ui-border)}.trade-page :is(.trade-primary,.booth-primary),.booth-page .booth-primary{background:var(--ui-primary);color:#fff;border:1px solid var(--ui-primary);box-shadow:none}.trade-page :is(.trade-primary,.booth-primary):hover:not(:disabled){background:var(--ui-primary-hover)}.trade-page :is(.trade-scan,.trade-identify-methods button){background:var(--ui-primary-soft);border-color:var(--ui-border);color:var(--ui-primary)}.trade-page :is(.trade-scan span,.trade-tip>span,.trade-field>span,.trade-identify-loading,.trade-record summary){color:var(--ui-muted)}.trade-page .trade-avatar{background:var(--ui-primary-soft);color:var(--ui-primary)}.trade-page .trade-chip{color:var(--ui-primary);background:var(--ui-primary-soft);border-color:var(--ui-border)}.trade-page input:not([type=checkbox]),.trade-page select,.trade-page textarea,.mobile-container:not(.login-page) :is(input:not([type=checkbox]),select,textarea),.donation-pad-page input,.scanner-modal input{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border);border-radius:var(--ui-control-radius);font-family:var(--ui-font)}.trade-page input::placeholder,.mobile-container input::placeholder,.donation-pad-page input::placeholder{color:var(--ui-muted);opacity:1}.trade-page .trade-money-field>span,.trade-page .trade-products b,.trade-page .trade-confirm-total,.trade-page .trade-identify-total>strong{color:var(--ui-primary)}.trade-page .trade-products button{color:var(--ui-text);background:var(--ui-surface-soft);border-color:var(--ui-border)}.trade-page .trade-products .trade-product-selected{background:var(--ui-primary-soft);border-color:var(--ui-primary)}.trade-page .trade-product-quantity{background:var(--ui-primary);color:#fff}.trade-page .trade-keypad button{background:var(--ui-surface-soft);color:var(--ui-text);border-color:var(--ui-border);border-radius:var(--ui-control-radius)}.trade-page .trade-keypad :is(.trade-calculator-function,.trade-calculator-operator){color:var(--ui-primary)}.trade-page .trade-keypad .trade-calculator-equals{color:#fff;background:var(--ui-primary);border-color:var(--ui-primary)}.trade-page .trade-keypad button:active:not(:disabled){background:var(--ui-primary-soft)}.trade-page .trade-keypad .trade-calculator-equals:active:not(:disabled){background:var(--ui-primary-hover)}.trade-page .trade-checkout-bar{background:var(--ui-surface);box-shadow:0 -4px 18px #16345c0d}.trade-checkout-dialog{border-color:var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-dialog-shadow);border-radius:16px}.trade-checkout-dialog::backdrop,.scanner-overlay,.trade-camera-overlay{background:#0b19308c}.scanner-modal,.trade-camera{color:var(--ui-text);border:1px solid var(--ui-border);background:var(--ui-surface);font-family:var(--ui-font);box-shadow:var(--ui-dialog-shadow);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:16px}.scanner-modal :is(p,label),.trade-camera p{color:var(--ui-muted)}.scanner-modal :is(strong,h2,h3),.wallet-password-summary b{color:var(--ui-text)}.scanner-modal .scanner-head button{color:var(--ui-primary);background:var(--ui-primary-soft);border-color:var(--ui-border)}.qr-scanner-modal .qr-scanner-actions button{color:var(--ui-primary);background:var(--ui-primary-soft);border-color:var(--ui-border);border-radius:var(--ui-control-radius)}.qr-scanner-modal .donation-account-entry button{color:#fff;background:var(--ui-primary);border-color:var(--ui-primary);border-radius:var(--ui-control-radius);font:inherit}.qr-scanner-modal .qr-scanner-preview>p{color:#e2e8f0}.trade-page .trade-error,.mobile-container .error-msg,.donation-pad-page .error-msg,.scanner-modal .error-msg{color:var(--ui-danger);background:var(--ui-danger-soft);border-color:#f5ccd5}.trade-page .trade-notice,.mobile-nav-notice{color:var(--ui-warning);background:var(--ui-warning-soft);border-color:#eed8b6}.mobile-container .success-msg,.donation-pad-page .success-msg,.trade-page .trade-success-symbol{color:var(--ui-success);background:var(--ui-success-soft);border-color:#bedecf}.trade-page .trade-pending-symbol{color:var(--ui-primary);background:var(--ui-primary-soft);border-color:var(--ui-border)}.mobile-loading{color:var(--ui-muted);background:var(--ui-canvas);font-family:var(--ui-font)}.merchant-shell .mobile-bottom-nav{background:var(--ui-surface);border-color:var(--ui-border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-shadow:0 -4px 18px #16345c0d}.merchant-shell .mobile-nav-item{min-height:60px;color:var(--ui-muted);font:12px/1.3 var(--ui-font);border-radius:var(--ui-control-radius);background:0 0;border:0;gap:5px;padding:6px 4px}.merchant-shell .mobile-nav-item.is-active{color:var(--ui-primary);background:var(--ui-primary-soft);font-weight:650}.merchant-shell .mobile-nav-item:hover{color:var(--ui-primary);background:var(--ui-surface-soft)}.merchant-shell .mobile-nav-item svg{width:24px;height:24px}.merchant-shell .merchant-profile p{color:var(--ui-muted)}.merchant-shell .merchant-menu button{color:var(--ui-text);background:var(--ui-surface-soft);border-color:var(--ui-border)}.merchant-shell .merchant-menu button>span:last-child{color:var(--ui-primary)}.mobile-container .report-header{color:var(--ui-text)}.mobile-container .report-header h3{color:var(--ui-text);font:700 24px/1.3 var(--ui-font)}.mobile-container :is(.wallet-self-card label,.form-group label,.wallet-self-user p,.wallet-self-user small,.wallet-self-card p,.wallet-self-actions p,.wallet-payment-code p){color:var(--ui-muted)}.mobile-container :is(.wallet-self-user,.history-item,.face-enroll-user){background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}.mobile-container :is(.history-time,.history-amount small,.wallet-self-list p,.wallet-self-user span){color:var(--ui-muted)}.mobile-container :is(.wallet-self-user strong,.wallet-password-card h3,.face-enroll-user strong,.history-amount strong){color:var(--ui-text)}.mobile-container .history-amount .increment{color:var(--ui-success)}.mobile-container .history-amount .increment.negative{color:var(--ui-danger)}.mobile-container .manual-badge{color:var(--ui-warning);background:var(--ui-warning-soft)}.mobile-container .btn-primary,.scanner-modal .btn-primary{color:#fff;border-color:var(--ui-primary);border-radius:var(--ui-control-radius);background:var(--ui-primary);box-shadow:none;font-weight:600}.mobile-container .btn-secondary,.scanner-modal .btn-secondary,.mobile-container .wallet-self-actions button,.wallet-history-filters button{color:var(--ui-primary);border-color:var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-primary-soft);box-shadow:none}.mobile-container .btn-link{color:var(--ui-primary)}.wallet-history-filters button.is-active{color:#fff;background:var(--ui-primary)}.donation-pad-page{background:var(--ui-canvas);color:var(--ui-text);font-family:var(--ui-font)}.donation-pad-page .donation-pad-header h1{color:var(--ui-text);font:700 28px/1.3 var(--ui-font)}.donation-pad-page .donation-pad-section-title h2{color:var(--ui-text);font-size:18px}.donation-pad-page :is(.donation-pad-total,.donation-pad-amount,.donation-student-card){border-color:var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-primary-soft)}.donation-pad-page :is(.donation-pad-total strong,.donation-pad-amount span,.donation-pad-amount strong,.donation-pad-section-title>span,.donation-balance b){color:var(--ui-primary);text-shadow:none}.donation-pad-page :is(.donation-pad-total span,.donation-pad-fields label,.donation-mode-hint,.donation-pad-account,.donation-pad-row small,.donation-pad-empty,.donation-student-card span){color:var(--ui-muted);font-weight:500}.donation-pad-page .donation-student-card strong{color:var(--ui-text)}.donation-pad-page .donation-mode-switch{background:var(--ui-surface-soft);border-color:var(--ui-border);border-radius:var(--ui-control-radius)}.donation-pad-page .donation-mode-switch button{color:var(--ui-secondary);border-radius:6px;font-size:15px;font-weight:600}.donation-pad-page .donation-mode-switch button.is-active{background:var(--ui-primary);color:#fff}.donation-pad-page :is(.donation-scan-button,.donation-secondary,.donation-pad-logout,.donation-pending button,.donation-account-entry button,.donation-pad-row-actions button){background:var(--ui-primary-soft);color:var(--ui-primary);border-color:var(--ui-border);border-radius:var(--ui-control-radius);box-shadow:none}.donation-pad-page .donation-keypad button{border-color:var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-surface-soft);color:var(--ui-text);box-shadow:none}.donation-pad-page .donation-keypad .donation-key-submit{color:#fff!important;background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;box-shadow:none!important}.donation-pad-page .donation-keypad .donation-key-wide{color:var(--ui-muted)!important}.donation-pad-page .donation-pad-row{background:var(--ui-surface-soft);border:1px solid var(--ui-border);border-radius:var(--ui-control-radius)}.donation-pad-page .donation-pad-row b,.donation-pad-page .donation-pad-row strong{color:var(--ui-text)}.donation-pad-page .donation-pad-row>span{color:var(--ui-primary)}.donation-pad-page .donation-pad-row-actions .is-danger{color:var(--ui-danger);background:var(--ui-danger-soft)}:is(.login-page,.admin-login-page){font-family:var(--ui-font)}.login-page .btn-primary,.admin-login-page .admin-login-submit{background:var(--ui-primary);color:#fff;border-radius:var(--ui-control-radius);box-shadow:none}.login-page .form-group input,.admin-login-page .admin-login-field{border-radius:var(--ui-control-radius)}.trade-page :focus-visible,.trade-camera :focus-visible,.mobile-container :focus-visible,.donation-pad-page :focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}@media (width<=600px){.trade-page h1,.booth-header h1,.donation-pad-page .donation-pad-header h1{font-size:24px}.booth-page .booth-panel{padding:16px}}html[data-lrt-desktop]{--desktop-bar-height:34px}.desktop-dialog,.desktop-dialog *,.desktop-dialog :before,.desktop-dialog :after{box-sizing:border-box}html[data-lrt-desktop] #root{padding-top:var(--desktop-bar-height)}html[data-lrt-desktop] .admin-console.admin-unified-theme{min-height:calc(100dvh - var(--desktop-bar-height))}html[data-lrt-desktop] .admin-console.admin-unified-theme .admin-sidebar{top:var(--desktop-bar-height);height:calc(100dvh - var(--desktop-bar-height));max-height:calc(100dvh - var(--desktop-bar-height))}.desktop-statusbar{z-index:1000;height:var(--desktop-bar-height);color:#dce6f4;background:#102747;align-items:center;gap:12px;padding:0 14px;font:12px/1.4 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;display:flex;position:fixed;inset:0 0 auto}.desktop-statusbar button{color:inherit;white-space:nowrap;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:3px;padding:2px 6px}.desktop-statusbar button:hover{background:#254366}.desktop-statusbar .desktop-service-address{text-overflow:ellipsis;max-width:270px;overflow:hidden}.desktop-session-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.desktop-connection{white-space:nowrap}.desktop-connection:before{content:"";background:#c2cedc;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.desktop-connection.is-connected:before{background:#6bdfb0}.desktop-connection.is-disconnected:before{background:#ffb36b}.desktop-version{color:#a2b6d0}.desktop-dialog-backdrop{z-index:4000;background:#0c1c3180;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.desktop-dialog{color:#142744;background:#fff;border:1px solid #d3dfed;border-radius:10px;width:min(560px,100%);max-height:calc(100dvh - 48px);font:14px/1.5 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;overflow:auto;box-shadow:0 20px 60px #0a192e40}.desktop-dialog-header{border-bottom:1px solid #e2e8f1;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.desktop-dialog-header h2{margin:0;font-size:18px}.desktop-dialog-close{color:#5e718b;cursor:pointer;background:0 0;border:0;border-radius:4px;width:30px;height:30px;font-size:26px;line-height:1}.desktop-dialog-close:hover{background:#edf3fa}.desktop-command-palette{width:min(660px,100%)}.desktop-command-context{color:#697b94;margin:12px 20px 0;font-size:12px}.desktop-command-search-row{border-bottom:1px solid #e2e8f1;align-items:center;gap:12px;padding:12px 20px;display:flex}.desktop-command-search-row input{color:#142744;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:6px 0;font-size:16px}.desktop-dialog kbd{color:#526782;white-space:nowrap;background:#f2f6fa;border:1px solid #d7e1ed;border-radius:4px;padding:3px 6px;font:600 11px/1.4 Consolas,monospace}.desktop-command-list{max-height:min(440px,50dvh);padding:8px;overflow:auto}.desktop-command-list button{color:#213952;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:42px;padding:8px 12px;display:flex}.desktop-command-list button:hover,.desktop-command-list button.is-active{color:#125fc1;background:#e9f2ff}.desktop-command-empty{color:#697b94;text-align:center;margin:24px}.desktop-command-footer{color:#697b94;border-top:1px solid #e2e8f1;padding:10px 20px;font-size:12px}.desktop-dialog form{padding:20px}.desktop-field-label{margin-bottom:8px;font-weight:600;display:block}.desktop-connection-options{border:0;gap:10px;margin:0 0 18px;padding:0;display:flex}.desktop-connection-options label{cursor:pointer;border:1px solid #bbcadd;border-radius:6px;flex:1;align-items:center;gap:10px;padding:12px;display:flex}.desktop-connection-options label.is-selected{background:#edf5ff;border-color:#1463cf}.desktop-connection-options input{accent-color:#1463cf;margin:0}.desktop-connection-options strong,.desktop-connection-options small{display:block}.desktop-connection-options small{color:#627590;margin-top:2px;font-size:11px}.desktop-text-input:read-only{color:#526782;background:#f2f6fa}.desktop-text-input,.desktop-select{color:#142744;background:#fff;border:1px solid #bbcadd;border-radius:6px;width:100%;min-height:42px;padding:0 12px}.desktop-text-input:focus,.desktop-select:focus{outline-offset:1px;outline:2px solid #93bffc}.desktop-field-help{color:#627590;margin:8px 0 18px;font-size:12px;line-height:1.7}.desktop-setting-section{background:#f6f9fc;border:1px solid #d9e3ef;border-radius:7px;gap:9px;padding:14px;display:grid}.desktop-setting-section h3{margin:0;font-size:14px}.desktop-secondary-button,.desktop-primary-button{cursor:pointer;border-radius:6px;min-height:38px;padding:0 14px;font-weight:600}.desktop-secondary-button{color:#244667;background:#fff;border:1px solid #b4c6dc}.desktop-primary-button{color:#fff;background:#1463cf;border:1px solid #1463cf}.desktop-primary-button:hover{background:#0e52b4}.desktop-primary-button:disabled,.desktop-secondary-button:disabled{opacity:.6;cursor:wait}.desktop-settings-message{color:#155db5;overflow-wrap:anywhere;margin:14px 0 0;font-size:13px}.desktop-settings-message.is-error{color:#b42318}.desktop-settings-message.is-success{color:#147348}.desktop-dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.desktop-shortcuts-list{gap:2px;padding:14px 20px 20px;display:grid}.desktop-shortcuts-list>div{align-items:center;gap:15px;min-height:40px;display:flex}.desktop-shortcuts-list kbd{text-align:center;min-width:130px}.desktop-toast{z-index:4100;color:#1a426e;background:#f3f8ff;border:1px solid #c5d7ee;border-radius:7px;max-width:min(520px,100% - 44px);padding:12px 16px;position:fixed;bottom:22px;right:22px;box-shadow:0 6px 20px #112c4e24}@media (width<=1050px){.desktop-statusbar time,.desktop-version{display:none}.desktop-statusbar{gap:6px;padding:0 8px}.desktop-statusbar .desktop-service-address{max-width:200px}}
