/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-border-style:solid}::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.inline{display:inline}.border{border-style:var(--tw-border-style);border-width:1px}.\[env\:esp32dev-cellular\]{env:esp32dev-cellular}.\[env\:esp32dev-wifi\]{env:esp32dev-wifi}}@font-face{font-family:Kh Content;src:url(/fonts/Content-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Kh Content;src:url(/fonts/Content-Bold.ttf)format("truetype");font-style:normal;font-weight:600 900;font-display:swap}:root{--ink:#17233c;--muted:#778296;--blue:#1676e8;--blue-dark:#0f5fc5;--pale:#eef6ff;--line:#e6eaf0;--green:#18a96b;--orange:#f6a326;--purple:#7759d9;--red:#e75252}*{box-sizing:border-box}html{background:#fff}body{color:var(--ink);background:#fff;margin:0;font-family:Kh Content,Content,Khmer OS Content,Noto Sans Khmer,Khmer UI,sans-serif}button,input,a{font:inherit}button{color:inherit}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline-offset:2px;outline:3px solid #1676e840}.brand,.brand-button{color:var(--ink);align-items:center;gap:11px;display:flex}.brand{letter-spacing:-.5px;font-family:Segoe UI,sans-serif;font-size:21px;font-weight:750}.brand>span:last-child>span{color:var(--blue)}.brand-button,.side-brand{cursor:pointer;background:0 0;border:0;padding:0}.brand-mark{border:3px solid var(--blue);border-radius:50%;width:31px;height:31px;position:relative}.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";border:2px solid var(--blue);border-radius:50%;position:absolute}.brand-mark:before{inset:5px}.brand-mark:after{inset:10px}.brand-mark span{background:#fff;width:6px;height:6px;top:9px;right:-5px}.customer-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:74px;padding:0 clamp(24px,7vw,112px);display:flex}.top-actions{align-items:center;gap:12px;display:flex}.admin-link{color:#53637a;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 15px;font-size:11px;font-weight:700}.admin-link:hover{color:var(--blue);background:var(--pale)}.language{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:14px;padding:9px 14px 9px 18px;font-size:12px;display:flex}.language i{color:#8d96a5;font-style:normal}.machine-band{background:linear-gradient(120deg,#f5f9ff 0%,#edf6ff 100%);border-bottom:1px solid #dfeaf7;justify-content:space-between;align-items:center;gap:24px;padding:30px clamp(24px,7vw,112px);display:flex}.eyebrow{color:#5f6c82;margin:0 0 8px;font-size:11px;font-weight:600}.eyebrow span{background:var(--blue);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.machine-band h1{letter-spacing:-.3px;margin:0;font-size:25px;line-height:1.35}.address{color:#7b8698;margin:6px 0 0;font-size:11px}.machine-identity{align-items:center;gap:20px;display:flex}.machine-number{text-align:right;border-right:1px solid #d9e4f1;padding-right:20px}.machine-number small{color:#7a8596;font-size:9px;display:block}.machine-number strong{color:var(--blue);margin-top:2px;font:800 24px/1 Segoe UI,sans-serif;display:block}.status-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:6px;width:max-content;padding:6px 10px;font-size:9px;font-weight:750;display:inline-flex}.status-badge i{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #0000000b}.status-badge.available{color:#168458;background:#e3f7ee}.status-badge.running{color:#1670d2;background:#e9f3ff}.status-badge.maintenance{color:#a66b14;background:#fff3dc}.status-badge.offline{color:#7d8798;background:#edf0f4}.machine-identity>.status-badge{padding:9px 15px;font-size:11px}.service-section{flex:1;width:min(1120px,86vw);margin:0 auto;padding:40px 0 36px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.section-heading p,.step-label{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:9px;font-weight:800}.section-heading h2{margin:0;font-size:20px}.capacity{color:#8a94a5;font-size:10px}.capacity strong{color:#526077;margin-left:7px}.program-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.program-card{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;grid-template-rows:auto 1fr auto;min-height:238px;padding:24px;transition:all .2s;display:grid;position:relative;box-shadow:0 5px 18px #1b305506}.program-card:hover{border-color:#b8d9fb;transform:translateY(-2px);box-shadow:0 10px 30px #2265b314}.program-card.selected{border:2px solid var(--blue);padding:23px;box-shadow:0 10px 30px #1676e81c}.program-icon{width:43px;height:43px;color:var(--blue);background:var(--pale);border-radius:50%;flex:none;place-items:center;font:700 17px/1 Segoe UI,sans-serif;display:grid}.program-copy{align-self:center;margin-top:13px;display:block}.program-copy strong{margin-bottom:7px;font-size:14px;display:block}.program-copy small{color:#8a94a5;max-width:230px;font-size:9px;line-height:1.8;display:block}.program-meta{border-top:1px solid #edf0f4;justify-content:space-between;align-items:end;gap:10px;padding-top:18px;display:flex}.program-meta small{color:#7e8899;font-size:9px}.program-meta strong{font-size:15px}.radio{border:1.5px solid #cbd1da;border-radius:50%;width:18px;height:18px;position:absolute;top:22px;right:22px}.selected .radio{border:5px solid var(--blue)}.checkout-bar{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:34px;padding:20px clamp(24px,7vw,112px);display:grid;box-shadow:0 -8px 30px #263a5d09}.secure-note{align-items:center;gap:10px;display:flex}.secure-note>span{color:#4f6a8f;background:#f1f5fa;border-radius:50%;place-items:center;width:33px;height:33px;font-weight:800;display:grid}.secure-note p{margin:0}.secure-note strong,.secure-note small{display:block}.secure-note strong{font-size:10px}.secure-note small{color:#8993a2;margin-top:3px;font-size:8px}.total{text-align:right;min-width:100px}.total small{color:#8a94a4;font-size:9px;display:block}.total strong{margin-top:3px;font:750 20px/1.2 Segoe UI,sans-serif;display:block}.total em{font:inherit;font-size:15px}.pay-button,.demo-confirm{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;padding:15px 24px;font-size:11px;font-weight:700;display:flex;box-shadow:0 8px 20px #1676e838}.pay-button{gap:24px;min-width:244px}.pay-button:hover,.demo-confirm:hover{background:var(--blue-dark)}.pay-button span{font:20px/1 Segoe UI,sans-serif}.customer-footer{color:#9aa3b0;background:#f8f9fb;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:13px clamp(24px,7vw,112px);font-size:8px;display:grid}.customer-footer nav{gap:22px;display:flex}.customer-footer a{color:inherit;text-decoration:none}.system-live{justify-self:end}.system-live i{background:var(--green);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.payment-page{flex:1;width:min(940px,90vw);margin:0 auto;padding:30px 0 50px}.back-button{color:#66758a;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:10px}.payment-layout{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);align-items:center;gap:48px;margin-top:16px;display:grid}.payment-card{text-align:center;border:1px solid var(--line);background:#fff;border-radius:18px;width:min(360px,100%);margin:0 auto;overflow:hidden;box-shadow:0 18px 55px #1f3b631f}.khqr-head{color:#d71920;background:#fff;border-bottom:1px solid #f0d9da;justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.khqr-head strong{font:900 23px/1 Segoe UI,sans-serif}.khqr-head span{letter-spacing:.16em;font:700 9px/1 Segoe UI,sans-serif}.merchant{padding:16px 22px 8px}.merchant small{color:#8a94a5;font-size:8px;display:block}.merchant strong{margin:5px 0;font:750 12px/1.2 Segoe UI,sans-serif;display:block}.merchant span{font:800 20px/1.2 Segoe UI,sans-serif}.qr-mock{background:#fff;border:1px solid #edf0f4;grid-template-rows:repeat(21,1fr);grid-template-columns:repeat(21,1fr);gap:0;width:176px;height:176px;margin:8px auto;padding:8px;display:grid}.qr-mock i{background:0 0;display:block}.qr-mock i.on{background:#121b2c}.qr-mock.compact{border-radius:3px;width:38px;height:38px;margin:0;padding:2px}.scan-copy{color:#7a8596;margin:8px 24px 13px;font-size:8px;line-height:1.7}.expiry{color:#748095;background:#f7f9fb;padding:12px;font-size:8px}.expiry strong{color:var(--red);font:700 11px/1 Segoe UI,sans-serif}.payment-summary h2{margin:5px 0 10px;font-size:27px}.payment-summary>p:not(.step-label){color:#7b8698;max-width:420px;margin:0 0 22px;font-size:10px;line-height:1.8}.payment-summary dl{background:#f7f9fc;border:1px solid #ebeff4;border-radius:12px;margin:0 0 20px;padding:18px 20px}.payment-summary dl div{justify-content:space-between;align-items:center;padding:7px 0;font-size:10px;display:flex}.payment-summary dt{color:#8590a1}.payment-summary dd{margin:0;font-weight:700}.payment-summary .summary-total{border-top:1px solid #e1e6ed;margin-top:8px;padding-top:14px;font-size:13px}.payment-summary .summary-total dd{color:var(--blue);font-size:17px}.webhook-wait{color:#53637a;background:#eef6ff;border:1px solid #d8eafa;border-radius:10px;align-items:center;gap:12px;margin-bottom:14px;padding:13px 15px;display:flex}.webhook-wait strong,.webhook-wait small{display:block}.webhook-wait strong{font-size:9px}.webhook-wait small{color:#8291a5;margin-top:3px;font-size:7px}.spinner{border:3px solid #c9e1fa;border-top-color:var(--blue);border-radius:50%;width:22px;height:22px;animation:1s linear infinite spin}.demo-confirm{width:100%}.demo-note{color:#9aa3b0;text-align:center;margin-top:9px;font-size:7px;display:block}@keyframes spin{to{transform:rotate(360deg)}}.running-page{text-align:center;flex:1;width:min(700px,90vw);margin:0 auto;padding:42px 0 54px}.success-check{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:44px;height:44px;margin:0 auto 13px;font-size:21px;display:grid;box-shadow:0 8px 20px #18a96b33}.running-page h2{margin:4px 0 8px;font-size:24px}.running-page>p:not(.step-label){color:#7c8798;margin:0 auto;font-size:10px}.timer-ring{--progress:100%;background:conic-gradient(var(--blue) var(--progress),#e9edf2 0);border-radius:50%;place-items:center;width:230px;height:230px;margin:30px auto;display:grid;box-shadow:0 12px 35px #1676e824}.timer-ring:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:198px;height:198px}.timer-ring>div{z-index:1;grid-area:1/1;position:relative}.timer-ring small,.timer-ring strong,.timer-ring span{display:block}.timer-ring small{color:#8490a2;font-size:9px}.timer-ring strong{letter-spacing:-1px;margin:7px 0;font:800 37px/1 Segoe UI,sans-serif}.timer-ring span{color:var(--blue);font-size:9px;font-weight:700}.run-details{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);margin:0 auto 22px;display:grid;overflow:hidden}.run-details>div{border-right:1px solid var(--line);padding:16px}.run-details>div:last-child{border:0}.run-details small,.run-details strong{display:block}.run-details small{color:#8a94a5;font-size:8px}.run-details strong{margin-top:5px;font-size:9px}.run-details i{background:var(--blue);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.outline-button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #bcd7f6;border-radius:8px;padding:10px 18px;font-size:9px;font-weight:700}.admin-shell{background:#f5f7fa;grid-template-columns:224px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;min-height:100vh;padding:26px 16px 20px;display:flex;position:sticky;top:0}.side-brand{margin:0 12px 30px}.side-brand .brand{font-size:19px}.side-brand .brand-mark{width:29px;height:29px}.admin-sidebar nav{flex-direction:column;gap:5px;display:flex}.admin-sidebar nav button{color:#707c8f;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:23px 1fr auto;align-items:center;gap:9px;width:100%;padding:11px 12px;font-size:10px;display:grid}.admin-sidebar nav button:hover{background:#f5f8fc}.admin-sidebar nav button.active{color:var(--blue);background:#eef6ff;font-weight:750}.admin-sidebar nav i{text-align:center;font:15px/1 Segoe UI,sans-serif}.admin-sidebar nav em{color:#66758a;text-align:center;background:#e9edf2;border-radius:10px;min-width:20px;padding:3px 5px;font:700 8px/1 Segoe UI,sans-serif}.admin-sidebar nav .active em{color:var(--blue);background:#d6e9ff}.sidebar-spacer{flex:1}.customer-preview{color:#5f6f84;border:1px solid var(--line);cursor:pointer;background:#f7f9fc;border-radius:8px;width:100%;margin-bottom:14px;padding:10px;font-size:8px;font-weight:700}.admin-profile{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding-top:16px;display:grid}.admin-profile>span{color:#fff;background:linear-gradient(135deg,#1a7be8,#69aefa);border-radius:50%;place-items:center;width:34px;height:34px;font:700 10px/1 Segoe UI,sans-serif;display:grid}.admin-profile strong,.admin-profile small{display:block}.admin-profile strong{font-size:8px}.admin-profile small{color:#9aa3b0;margin-top:2px;font-size:7px}.admin-profile i{color:#9ca5b2;font-style:normal}.admin-main{min-width:0}.admin-topbar{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 34px;display:grid}.admin-topbar-title{justify-self:start}.admin-topbar-title small,.admin-topbar-title strong{display:block}.admin-topbar-title small{color:#929cac;font-size:7px}.admin-topbar-title strong{margin-top:2px;font-size:12px}.admin-topbar-logo{object-fit:contain;justify-self:center;width:auto;height:56px}.admin-actions{color:#8d97a6;justify-self:end;align-items:center;gap:20px;font-size:8px;display:flex}.admin-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:34px;height:34px;position:relative}.admin-actions button i{color:#fff;background:var(--red);border:2px solid #fff;border-radius:50%;place-items:center;width:15px;height:15px;font:700 7px/1 Segoe UI,sans-serif;display:grid;position:absolute;top:-4px;right:-4px}.mobile-menu{display:none}.admin-content{max-width:1360px;margin:0 auto;padding:30px 34px 50px}.admin-welcome,.content-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.admin-welcome{justify-content:flex-end}.admin-welcome p{color:#69778c;margin:0 0 4px;font-size:10px}.admin-welcome h1,.content-title h1{margin:0;font-size:19px}.content-title p{color:#8994a4;margin:5px 0 0;font-size:9px}.content-title>div:last-child{gap:9px;display:flex}.primary-admin-button,.secondary-admin-button{cursor:pointer;border-radius:8px;padding:10px 16px;font-size:9px;font-weight:700}.primary-admin-button{color:#fff;background:var(--blue);border:1px solid var(--blue);box-shadow:0 5px 14px #1676e82e}.primary-admin-button:hover{background:var(--blue-dark)}.secondary-admin-button{color:#5f6e82;border:1px solid var(--line);background:#fff;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.metric-card{background:#fff;border:1px solid #e7ebf0;border-radius:11px;align-items:flex-start;gap:13px;padding:18px;display:flex;box-shadow:0 4px 14px #1e304d06}.metric-icon{border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font:800 14px/1 Segoe UI,sans-serif;display:grid}.metric-icon.blue{color:var(--blue);background:#e9f3ff}.metric-icon.green{color:var(--green);background:#e8f8f1}.metric-icon.purple{color:var(--purple);background:#f0edff}.metric-icon.orange{color:#c87814;background:#fff2df}.metric-card small,.metric-card strong{display:block}.metric-card small{color:#8a95a5;font-size:7px}.metric-card strong{margin:5px 0 4px;font:750 17px/1.15 Segoe UI,sans-serif}.metric-card p{color:#7d899b;margin:0;font-size:7px}.overview-grid{grid-template-columns:1.55fr 1fr;gap:18px;margin-bottom:18px;display:grid}.panel{background:#fff;border:1px solid #e5e9ef;border-radius:11px;box-shadow:0 4px 14px #1e304d06}.panel-head{justify-content:space-between;align-items:center;gap:16px;padding:18px 20px 12px;display:flex}.panel-head small,.panel-head strong{display:block}.panel-head small{color:#7f8a9b;font-size:8px}.panel-head strong{margin-top:4px;font-size:13px}.panel-head button{color:#728095;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:7px}.chart{justify-content:space-around;align-items:end;gap:12px;height:220px;padding:14px 24px 22px;display:flex;position:relative}.chart-lines{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:10px 24px 30px}.chart-lines i{border-top:1px dashed #e7ebf0;display:block}.bar-wrap{z-index:1;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.bar-wrap span{background:linear-gradient(#4c9df4,#1876e4);border-radius:5px 5px 2px 2px;width:min(26px,65%);min-height:10px;display:block;box-shadow:0 4px 9px #1676e81f}.bar-wrap small{color:#929cab;margin-top:8px;font-size:7px}.branch-panel{padding-bottom:10px}.branch-row{border-top:1px solid #f0f2f5;grid-template-columns:1fr 1.1fr;align-items:center;gap:12px;padding:13px 20px;display:grid}.branch-row>div:first-child{align-items:center;gap:9px;display:flex}.branch-row>div:first-child>span{width:30px;height:30px;color:var(--blue);background:#edf5ff;border-radius:8px;place-items:center;font-weight:800;display:grid}.branch-row p{margin:0}.branch-row p strong,.branch-row p small{display:block}.branch-row p strong{font-size:8px}.branch-row p small{color:#99a2af;margin-top:3px;font-size:6px}.branch-amount{text-align:right}.branch-amount strong{font:700 9px/1 Segoe UI,sans-serif}.branch-amount span{background:#edf0f4;border-radius:4px;height:4px;margin-top:7px;display:block;overflow:hidden}.branch-amount i{background:var(--blue);border-radius:4px;height:100%;display:block}.live-machines{overflow:hidden}.table-scroll{overflow-x:auto}.machine-table{border-collapse:collapse;width:100%}.machine-table th{color:#8a95a5;text-align:left;white-space:nowrap;background:#f9fafb;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;padding:10px 16px;font-size:7px;font-weight:650}.machine-table td{color:#5c6a7d;white-space:nowrap;border-bottom:1px solid #f0f2f5;padding:11px 16px;font-size:8px}.machine-table tbody tr:last-child td{border-bottom:0}.machine-table td strong{color:#29364c}.machine-dot{width:25px;height:25px;color:var(--blue);background:#eef6ff;border-radius:7px;place-items:center;margin-right:7px;font-size:10px;display:inline-grid}.remaining{color:#8a95a5;margin-top:3px;font-size:6px;display:block}.action-button{cursor:pointer;background:#fff;border-radius:6px;min-width:67px;padding:6px 8px;font-size:7px;font-weight:700}.action-button.start{color:#168458;border:1px solid #b9e7d3}.action-button.stop{color:var(--red);border:1px solid #f1c5c5}.action-button.restart{color:#6f7a8b;border:1px solid #d9dee5}.action-button.enable{color:#aa6d14;border:1px solid #f0d4a7}.machine-panel{overflow:hidden}.filter-row{justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;display:flex}.filter-row label{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;width:min(320px,44%);padding:8px 11px;display:flex}.filter-row input{color:#4c5a6e;border:0;outline:0;width:100%;font-size:8px}.filter-row label span{color:#98a1ae}.filter-row>div{gap:8px;display:flex}.filter-row button{color:#6f7d90;border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 11px;font-size:7px}.branch-card-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.branch-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #1e304d08}.branch-map{color:#9dbfe4;background:radial-gradient(circle at 30% 60%,#1676e81f 0 4px,#0000 5px),linear-gradient(135deg,#edf5fc,#e7f0f8);place-items:center;height:105px;display:grid;position:relative}.branch-map:before,.branch-map:after{content:"";border-top:2px solid #fffc;position:absolute;inset:35% -10%;transform:rotate(-8deg)}.branch-map:after{transform:rotate(15deg)}.branch-map>span{font-size:34px}.branch-map i{width:24px;height:24px;color:var(--blue);background:#fff;border-radius:50%;place-items:center;font:700 9px/1 Segoe UI,sans-serif;display:grid;position:absolute;top:12px;right:12px}.branch-card-body{padding:16px 18px}.branch-card-body>div:first-child{justify-content:space-between;display:flex}.branch-card-body>div:first-child button{cursor:pointer;background:0 0;border:0}.open-chip{color:#168458;font-size:7px}.branch-card h2{margin:12px 0 5px;font-size:14px}.branch-card p{color:#8a95a5;min-height:30px;margin:0;font-size:7px;line-height:1.7}.branch-card dl{border-top:1px solid #eef1f4;border-bottom:1px solid #eef1f4;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0;padding:11px 0;display:grid}.branch-card dl div:last-child{border-left:1px solid #eef1f4;padding-left:10px}.branch-card dt{color:#9099a7;font-size:6px}.branch-card dd{margin:4px 0 0;font-size:8px;font-weight:700}.branch-manage{width:100%;color:var(--blue);cursor:pointer;background:#f1f7ff;border:0;border-radius:7px;padding:8px;font-size:8px;font-weight:700}.branch-card.new-demo{text-align:center;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:25px;display:flex}.new-demo>span{width:40px;height:40px;color:var(--green);background:#e8f8f1;border-radius:50%;place-items:center;display:grid}.pricing-panel{overflow:hidden}.pricing-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.pricing-head small,.pricing-head strong{display:block}.pricing-head small{color:#8d97a6;font-size:7px}.pricing-head strong{margin-top:4px;font-size:11px}.pricing-head button{color:#66758a;border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 10px;font-size:7px}.price-editor{border-bottom:1px solid #eef1f4;grid-template-columns:auto minmax(200px,1fr) minmax(150px,.5fr) minmax(170px,.6fr);align-items:center;gap:17px;padding:18px 20px;display:grid}.price-editor>div:nth-child(2) strong,.price-editor>div:nth-child(2) small{display:block}.price-editor>div:nth-child(2) strong{font-size:10px}.price-editor>div:nth-child(2) small{color:#929cab;margin-top:4px;font-size:7px}.price-editor label{color:#7f8a9a;font-size:7px}.price-editor label>div{border:1px solid var(--line);border-radius:7px;margin-top:5px;display:flex;overflow:hidden}.price-editor input{border:0;outline:0;width:100%;min-width:0;padding:8px 9px;font:700 10px/1 Segoe UI,sans-serif}.price-editor label span{color:#7d8899;border-left:1px solid var(--line);background:#f7f9fb;place-items:center;padding:0 10px;font-size:7px;display:grid}.qr-flow-banner{color:#fff;background:linear-gradient(110deg,#126bd2,#1889ee);border-radius:12px;grid-template-columns:1.2fr 1.35fr auto;align-items:center;gap:24px;margin-bottom:18px;padding:18px 20px;display:grid;box-shadow:0 10px 24px #146fd72e}.qr-flow-copy{align-items:center;gap:12px;display:flex}.qr-flow-copy>span{color:#126bd2;letter-spacing:.6px;background:#fff;border-radius:7px;padding:7px 8px;font:850 7px/1 Segoe UI,sans-serif}.qr-flow-copy strong,.qr-flow-copy small{display:block}.qr-flow-copy strong{font-size:10px}.qr-flow-copy small{color:#ddecff;margin-top:4px;font-size:7px;line-height:1.55}.qr-flow-steps{justify-content:center;align-items:center;gap:9px;display:flex}.qr-flow-steps>div{white-space:nowrap;align-items:center;gap:6px;display:flex}.qr-flow-steps i{color:#126bd2;background:#fff;border-radius:50%;place-items:center;width:23px;height:23px;font:800 7px/1 Segoe UI,sans-serif;display:grid}.qr-flow-steps span{font-size:7px;font-weight:700}.qr-flow-steps b{color:#9fd0ff;font:500 10px/1 Segoe UI,sans-serif}.qr-flow-banner>button{color:#fff;white-space:nowrap;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:8px;padding:9px 11px;font-size:7px;font-weight:750}.payment-automation{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;display:flex}.automation-status{align-items:center;gap:10px;display:flex}.automation-status>span{color:#fff;background:var(--green);border-radius:9px;place-items:center;width:31px;height:31px;font:800 10px/1 Segoe UI,sans-serif;display:grid}.automation-status strong,.automation-status small{display:block}.automation-status strong{font-size:9px}.automation-status small{color:#8c97a7;margin-top:4px;font-size:7px}.automation-pills{gap:7px;display:flex}.automation-pills span{color:#557087;background:#f5f8fb;border:1px solid #e7ebf0;border-radius:12px;align-items:center;gap:5px;padding:6px 8px;font:700 6px/1 Segoe UI,sans-serif;display:flex}.automation-pills i{background:var(--green);border-radius:50%;width:5px;height:5px}.qr-pay-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.qr-pay-card{background:#fff;border:1px solid #e2e7ed;border-radius:12px;overflow:hidden;box-shadow:0 5px 17px #1e304d09}.qr-pay-card-head{border-bottom:1px solid #eef1f4;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.qr-pay-card-head small,.qr-pay-card-head strong{display:block}.qr-pay-card-head small{color:#909aa8;font-size:6px}.qr-pay-card-head strong{margin-top:3px;font-size:11px}.qr-pay-code{grid-template-columns:142px 1fr;align-items:center;gap:12px;padding:15px 16px 12px;display:grid}.qr-pay-code>div:first-child{position:relative}.qr-pay-code .qr-mock{width:136px;height:136px;margin:0;padding:6px}.khqr-mini{z-index:2;color:#d73535;background:#fff;border-radius:3px;padding:3px 5px;font:900 6px/1 Segoe UI,sans-serif;position:absolute;top:3px;left:50%;transform:translate(-50%)}.qr-pay-details span,.qr-pay-details strong,.qr-pay-details small{display:block}.qr-pay-details span{color:#7d8999;font-size:7px}.qr-pay-details strong{color:#26364d;margin:7px 0;font:800 18px/1 Segoe UI,sans-serif}.qr-pay-details small{color:#8f99a8;font:600 6px/1.5 Segoe UI,sans-serif}.qr-pay-card ol{color:#65758a;background:#f8fafc;border-radius:8px;margin:0 16px 13px;padding:10px 10px 10px 29px;font-size:7px;line-height:1.8}.qr-card-actions{grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 15px;display:grid}.qr-card-actions button{color:#5d6d82;cursor:pointer;background:#fff;border:1px solid #dce2e9;border-radius:7px;padding:8px;font-size:7px;font-weight:700}.qr-card-actions button:last-child{color:var(--blue);background:#edf6ff;border-color:#d4e8ff}.qr-card-actions button:disabled{color:#a4acb8;cursor:not-allowed;background:#f5f6f8;border-color:#e8ebef}.qr-demo-note{color:#875d22;background:#fff8eb;border:1px solid #f1dfbc;border-radius:8px;align-items:center;gap:9px;margin:-3px 0 15px;padding:10px 12px;display:flex}.qr-demo-note>span{color:#fff;background:#d69532;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font:800 8px/1 Segoe UI,sans-serif;display:grid}.qr-demo-note p{margin:0}.qr-demo-note strong,.qr-demo-note small{display:block}.qr-demo-note strong{font-size:7px}.qr-demo-note small{color:#9a7b4d;margin-top:3px;font-size:6px}.admin-profile{width:100%;color:inherit;border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0}.settings-title{margin-bottom:18px}.settings-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:18px;margin-bottom:18px;display:grid}.settings-card{padding:0 20px 20px}.settings-card-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:14px;min-height:67px;display:flex}.settings-card-head>div{align-items:center;gap:10px;display:flex}.settings-card-head strong,.settings-card-head small{display:block}.settings-card-head strong{font-size:10px}.settings-card-head small{color:#929cac;margin-top:3px;font-size:7px}.settings-icon{width:33px;height:33px;color:var(--blue);background:#eaf4ff;border-radius:9px;place-items:center;font:800 14px/1 Segoe UI,sans-serif;display:grid}.settings-icon.purple{color:var(--purple);background:#f0edff}.role-chip{color:#176cc7;background:#eaf4ff;border-radius:12px;padding:5px 8px;font:700 7px/1 Segoe UI,sans-serif}.profile-identity{align-items:center;gap:11px;padding:18px 0 16px;display:flex}.profile-identity>span{color:#fff;background:linear-gradient(135deg,#1876e4,#69aefa);border-radius:50%;flex:none;place-items:center;width:45px;height:45px;font:800 12px/1 Segoe UI,sans-serif;display:grid}.profile-identity>div{flex:1;min-width:0}.profile-identity strong,.profile-identity small{display:block}.profile-identity strong{font-size:10px}.profile-identity small{color:#929cab;margin-top:3px;font-size:7px}.profile-identity button{color:#5f6f83;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:7px 9px;font-size:7px}.settings-form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.settings-form-grid label,.modal-body label{color:#6f7c8f;flex-direction:column;gap:6px;font-size:7px;font-weight:650;display:flex}.settings-form-grid input,.settings-form-grid select,.modal-body input,.modal-body select{color:#38465a;background:#fff;border:1px solid #dfe4ea;border-radius:7px;outline:none;width:100%;padding:10px 11px;font:500 8px/1.35 Content,Segoe UI,sans-serif}.settings-form-grid input:focus,.settings-form-grid select:focus,.modal-body input:focus,.modal-body select:focus{border-color:#75afea;box-shadow:0 0 0 3px #1676e817}.settings-form-actions{border-top:1px solid #edf0f4;justify-content:flex-end;gap:9px;margin-top:17px;padding-top:15px;display:flex}.notification-card{align-self:start}.preference-row{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;display:flex}.preference-row strong,.preference-row small{display:block}.preference-row strong{font-size:8px}.preference-row small{color:#939cab;margin-top:4px;font-size:6px;line-height:1.5}.toggle{cursor:pointer;background:#cfd6df;border:0;border-radius:12px;flex:none;width:34px;height:19px;padding:0;transition:background .2s;position:relative}.toggle span{background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle.on{background:var(--blue)}.toggle.on span{transform:translate(15px)}.security-note{color:#235f4d;background:#edf9f4;border:1px solid #d6f0e6;border-radius:8px;align-items:center;gap:9px;margin-top:17px;padding:11px;display:flex}.security-note>span{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font:800 8px/1 Segoe UI,sans-serif;display:grid}.security-note strong,.security-note small{display:block}.security-note strong{font-size:7px}.security-note small{color:#719087;margin-top:3px;font-size:6px}.users-panel{overflow:hidden}.users-panel-head{justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:14px 20px;display:flex}.users-panel-head>div:first-child strong,.users-panel-head>div:first-child small{display:block}.users-panel-head>div:first-child strong{font-size:11px}.users-panel-head>div:first-child small{color:#8d97a7;margin-top:4px;font-size:7px}.user-role-summary{color:#7b8798;align-items:center;gap:14px;font-size:7px;display:flex}.user-role-summary span{align-items:center;gap:5px;display:flex}.user-role-summary i{background:#8a94a3;border-radius:50%;width:7px;height:7px;display:block}.user-role-summary i.admin{background:var(--blue)}.user-role-summary i.manager{background:var(--purple)}.user-role-summary i.staff{background:var(--green)}.user-table{border-collapse:collapse;width:100%}.user-table th{color:#8994a5;text-align:left;white-space:nowrap;background:#f9fafb;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;padding:10px 15px;font-size:7px;font-weight:650}.user-table td{color:#5c6a7d;white-space:nowrap;border-bottom:1px solid #f0f2f5;padding:12px 15px;font-size:7px}.user-table tbody tr:last-child td{border-bottom:0}.user-cell{align-items:center;gap:9px;display:flex}.user-cell>span{color:#176dc8;background:#eaf4ff;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font:800 8px/1 Segoe UI,sans-serif;display:grid}.user-cell strong,.user-cell small{display:block}.user-cell strong{color:#344157;font-size:8px}.user-cell small{color:#929cab;margin-top:3px;font-size:6px}.role-select{color:#566478;background:#f8fafc;border:1px solid #e1e6ec;border-radius:12px;min-width:89px;padding:6px 20px 6px 8px;font:700 7px/1 Segoe UI,sans-serif}.role-select.super-admin{color:#176dc8;background:#edf6ff;border-color:#d7eaff}.role-select.manager{color:#6b57c9;background:#f3f0ff;border-color:#e5dfff}.role-select.staff{color:#197a59;background:#edf9f4;border-color:#d6f0e6}.role-select:disabled{opacity:1;cursor:not-allowed}.user-status{border-radius:10px;align-items:center;gap:5px;padding:5px 7px;font-size:7px;display:inline-flex}.user-status i{background:currentColor;border-radius:50%;width:5px;height:5px}.user-status.active{color:#168458;background:#eaf8f2}.user-status.inactive{color:#7d8796;background:#eef1f4}.user-status-button{color:#67758a;cursor:pointer;background:#fff;border:1px solid #dfe4ea;border-radius:6px;padding:6px 8px;font-size:7px}.user-status-button:hover:not(:disabled){color:var(--blue);border-color:#b9d8fa}.user-status-button:disabled{color:#b0b7c1;cursor:not-allowed;background:#f7f8fa}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#16223473;place-items:center;padding:20px;animation:.18s ease-out modal-fade;display:grid;position:fixed;inset:0}.user-modal{background:#fff;border:1px solid #ffffffb3;border-radius:14px;width:min(530px,100%);animation:.22s ease-out modal-up;overflow:hidden;box-shadow:0 24px 70px #16223438}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:19px 21px;display:flex}.modal-head>div{align-items:center;gap:11px;display:flex}.modal-head>div>span{color:#fff;background:var(--blue);border-radius:9px;place-items:center;width:34px;height:34px;font:800 15px/1 Segoe UI,sans-serif;display:grid}.modal-head h2{margin:0;font-size:14px}.modal-head p{color:#8b96a6;margin:4px 0 0;font-size:7px}.modal-head>button{color:#7f8998;cursor:pointer;background:#f6f8fa;border:0;border-radius:7px;width:29px;height:29px;font:400 18px/1 Segoe UI,sans-serif}.modal-body{flex-direction:column;gap:13px;padding:20px 21px;display:flex}.modal-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.permission-note{color:#375f8d;background:#f0f7ff;border:1px solid #dcecff;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.permission-note>span{color:#fff;background:#5599e6;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font:700 9px/1 Georgia,serif;display:grid}.permission-note p{margin:0}.permission-note strong,.permission-note small{display:block}.permission-note strong{font-size:7px}.permission-note small{color:#7190b2;margin-top:3px;font-size:6px}.modal-actions{border-top:1px solid var(--line);background:#f8fafc;justify-content:flex-end;gap:9px;padding:15px 21px;display:flex}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-up{0%{opacity:0;transform:translateY(10px)scale(.98)}}.user-row-actions{align-items:center;gap:7px;display:flex}.delete-user-button{color:#c33d43;cursor:pointer;background:#fff7f7;border:1px solid #f0cfd1;border-radius:6px;padding:6px 8px;font-weight:700}.delete-user-button:hover:not(:disabled){color:#fff;background:#cf4249;border-color:#cf4249}.delete-user-button:disabled{color:#b7bdc6;cursor:not-allowed;background:#f7f8fa;border-color:#e8ebef}.delete-modal-head>div>span{background:#d8444b}.delete-user-summary{background:#f8fafc;border:1px solid #e7ebef;border-radius:9px;align-items:center;gap:12px;padding:13px;display:flex}.delete-user-summary>span{color:#b42f36;background:#ffe9ea;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.delete-user-summary strong,.delete-user-summary small{display:block}.delete-user-summary small{color:#8994a5;margin-top:3px}.delete-warning-copy{color:#67758a;margin:0;line-height:1.7}.danger-button{color:#fff;cursor:pointer;background:#cf4249;border:1px solid #cf4249;border-radius:8px;padding:10px 16px;font-weight:750}.danger-button:hover{background:#b9343b}.toast{z-index:110;color:#eefaf5;background:#173f35;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:10px;max-width:min(410px,100vw - 44px);padding:13px 17px;font-size:9px;animation:.25s ease-out toast-in;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 16px 40px #0d231e40}.toast span{background:var(--green);border-radius:50%;place-items:center;width:22px;height:22px;font-weight:800;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@media (max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.branch-card-grid{grid-template-columns:repeat(2,1fr)}.price-editor{grid-template-columns:auto 1fr 1fr}.price-editor>label:last-child{grid-column:2/-1}}@media (max-width:800px){.program-grid{grid-template-columns:1fr}.program-card{grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:16px;min-height:170px}.program-copy{align-self:start;margin:0}.program-meta{grid-column:1/-1}.checkout-bar{grid-template-columns:1fr auto}.secure-note{display:none}.service-section{width:min(92vw,620px)}.machine-band{align-items:flex-start}.machine-identity{flex-direction:column;align-items:flex-end;gap:10px}.machine-number{border:0;padding:0}.program-card .radio{top:18px;right:18px}.payment-layout{grid-template-columns:1fr;gap:30px}.payment-summary{max-width:480px;margin:0 auto}.run-details{grid-template-columns:1fr}.run-details>div{border-right:0;border-bottom:1px solid var(--line)}.admin-shell{grid-template-columns:74px minmax(0,1fr)}.admin-sidebar{padding:24px 10px 16px}.side-brand{margin:0 auto 27px}.side-brand .brand>span:last-child{display:none}.admin-sidebar nav button{grid-template-columns:1fr;justify-items:center;padding:11px 6px}.admin-sidebar nav button span,.admin-sidebar nav button em,.admin-sidebar .customer-preview,.admin-sidebar .admin-profile div,.admin-sidebar .admin-profile i{display:none}.admin-profile{grid-template-columns:1fr;justify-items:center}.admin-topbar{padding:0 20px}.admin-content{padding:25px 20px 40px}.branch-card-grid{grid-template-columns:1fr}}@media (max-width:560px){.topbar{height:64px}.admin-link{display:none}.machine-band{padding-top:22px;padding-bottom:22px}.machine-band h1{font-size:19px}.address{max-width:225px}.machine-identity{gap:8px}.machine-identity>.status-badge{padding:7px 10px}.section-heading{align-items:flex-start}.capacity{display:none}.checkout-bar{z-index:5;background:#fff;grid-template-columns:1fr;gap:12px;padding-top:14px;padding-bottom:14px;position:sticky;bottom:0}.total{text-align:left;justify-content:space-between;align-items:center;display:flex}.pay-button{width:100%;min-width:0}.customer-footer{grid-template-columns:1fr auto}.customer-footer nav{display:none}.system-live{justify-self:end}.payment-page{width:92vw}.payment-summary h2{font-size:22px}.admin-shell{display:block}.admin-sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;height:64px;min-height:0;padding:0 16px;position:sticky}.side-brand{margin:0}.side-brand .brand>span:last-child{display:block}.admin-sidebar nav,.sidebar-spacer,.admin-sidebar .customer-preview,.admin-sidebar .admin-profile{display:none}.admin-topbar{grid-template-columns:auto 1fr auto auto;height:58px}.mobile-menu{border:1px solid var(--line);background:#fff;border-radius:7px;width:32px;height:32px;display:block}.admin-topbar-title{margin-left:11px}.admin-topbar-logo{height:40px}.admin-actions span{display:none}.admin-content{padding:20px 14px 35px}.admin-welcome,.content-title{align-items:flex-start}.admin-welcome h1{font-size:16px}.content-title>div:last-child{flex-direction:column}.metric-grid{grid-template-columns:1fr}.metric-card{align-items:center}.overview-grid{gap:12px}.chart{height:190px}.panel-head,.branch-row{padding-left:15px;padding-right:15px}.filter-row{flex-direction:column;align-items:stretch}.filter-row label{width:100%}.price-editor{grid-template-columns:auto 1fr}.price-editor>label,.price-editor>label:last-child{grid-column:1/-1}.toast{bottom:14px;left:14px;right:14px}}@media print{.admin-sidebar,.admin-topbar,.content-title,.filter-row,.action-button,.toast{display:none!important}.admin-shell{background:#fff;display:block}.admin-content{max-width:none;padding:0}.machine-panel{box-shadow:none;border:0}.machine-table th,.machine-table td{padding:8px}.qr-mock.compact{width:70px;height:70px}}.local-login-shell{background:radial-gradient(circle at 20% 10%,#e5f2ff 0,#0000 34%),linear-gradient(145deg,#f7fbff,#edf3fa);place-items:center;min-height:100vh;padding:32px 20px;display:grid;position:relative;overflow:hidden}.local-login-shell:before{content:"";opacity:.07;pointer-events:none;background:url(/laundryhub-logo.png?v=user) 50%/contain no-repeat;width:min(78vw,740px);height:min(78vw,740px);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.local-login-card{z-index:1;background:#fff;border:1px solid #dfe8f2;border-radius:20px;width:min(520px,100%);padding:32px;position:relative;overflow:hidden;box-shadow:0 24px 70px #20426a24}.local-login-emblem{object-fit:contain;z-index:1;background:#fff;width:148px;height:156px;position:absolute;top:8px;right:12px}.local-login-brand{color:#142238;align-items:center;gap:10px;font:800 20px/1 Segoe UI,sans-serif;display:flex}.local-login-mark{background:#1676e8;border:3px solid #1676e8;border-radius:50%;flex:none;width:38px;height:38px;position:relative;box-shadow:inset 0 0 0 3px #fff}.local-login-mark:before,.local-login-mark:after{content:"";border:2px solid #fff;border-radius:50%;position:absolute}.local-login-mark:before{inset:7px}.local-login-mark:after{inset:13px}.local-login-brand strong>span{color:#1676e8}.local-login-heading{margin:30px 0 24px;padding-right:168px}.local-login-heading small{color:#1676e8;letter-spacing:.14em;font:800 11px/1 Segoe UI,sans-serif}.local-login-heading h1{color:#17233c;margin:9px 0 8px;font-size:27px}.local-login-heading p{color:#667689;margin:0;font-size:14px;line-height:1.55}.local-login-hint{color:#7b8796;margin:0;font-size:13px;line-height:1.5}.local-login-card form{flex-direction:column;gap:17px;display:flex}.local-login-card form label{color:#526176;flex-direction:column;gap:8px;font-size:14px;font-weight:700;display:flex}.local-login-card form input{color:#203149;background:#fbfdff;border:1px solid #d8e1eb;border-radius:10px;outline:none;width:100%;height:48px;padding:0 14px;font-size:16px}.local-login-card form input:focus{border-color:#5ba1eb;box-shadow:0 0 0 4px #1676e81a}.local-password-field{position:relative}.local-password-field input{padding-right:78px!important}.local-password-field button{color:#3478bd;cursor:pointer;background:#edf6ff;border:0;border-radius:7px;height:34px;padding:0 10px;font-size:12px;font-weight:700;position:absolute;top:7px;right:7px}.local-login-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1676e8,#0e64ca);border:0;border-radius:10px;height:50px;margin-top:3px;font-size:16px;font-weight:800;box-shadow:0 9px 22px #1676e83d}.local-login-submit:disabled{opacity:.65;cursor:wait}.local-login-message{color:#a5363d;background:#fff0f1;border:1px solid #f2d0d3;border-radius:9px;padding:11px 13px;font-size:13px;line-height:1.55}.local-login-message.setup{color:#805714;background:#fff8e8;border-color:#eddfb9}.local-login-card footer{color:#8490a0;background:#f8fafc;border-top:1px solid #e9eef3;justify-content:space-between;gap:12px;margin:22px -32px -32px;padding:16px 32px;font-size:11px;display:flex}.local-login-card footer small{font-size:11px}.password-modal{width:min(560px,100%)}.login-email-note{background:#eef6ff;border:1px solid #d8eafa;border-radius:9px;padding:12px 14px}.login-email-note small,.login-email-note strong{display:block}.login-email-note small{color:#71839a;font-size:12px}.login-email-note strong{color:#176cc7;margin-top:4px;font-size:15px}.password-error{color:#a5363d;background:#fff0f1;border:1px solid #f2d0d3;border-radius:8px;padding:10px 12px;font-size:13px}@media (max-width:520px){.local-login-card{padding:24px 20px}.local-login-emblem{width:132px;height:132px;top:10px;right:12px}.local-login-heading{padding-right:136px}.local-login-card footer{flex-direction:column;margin:22px -20px -24px;padding:15px 20px}.local-login-heading h1{font-size:23px}}@media (max-width:1050px){.qr-flow-banner{grid-template-columns:1fr auto}.qr-flow-steps{grid-area:2/1/auto/-1;justify-content:flex-start}.qr-pay-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.notification-card{grid-template-columns:1fr 1fr;column-gap:22px;display:grid}.notification-card .settings-card-head,.notification-card .security-note{grid-column:1/-1}}@media (max-width:800px){.qr-flow-banner{grid-template-columns:1fr}.qr-flow-steps{flex-wrap:wrap;grid-area:auto;justify-content:flex-start}.qr-flow-banner>button{justify-self:start}.payment-automation{flex-direction:column;align-items:flex-start}.user-role-summary{display:none}.users-panel-head{min-width:620px}.user-table{min-width:810px}}@media (max-width:560px){.qr-flow-copy{align-items:flex-start}.qr-flow-steps b{display:none}.qr-flow-steps>div{width:100%}.qr-pay-grid{grid-template-columns:1fr}.qr-pay-code{grid-template-columns:125px 1fr}.qr-pay-code .qr-mock{width:120px;height:120px}.automation-pills{flex-wrap:wrap}.qr-pay-title{flex-direction:column;align-items:stretch}.qr-pay-title>button{width:100%}.settings-title{flex-direction:column;align-items:stretch}.settings-title>button{width:100%}.settings-card{padding-left:15px;padding-right:15px}.settings-card-head{align-items:flex-start;padding:14px 0}.profile-identity{flex-wrap:wrap}.profile-identity>div{min-width:130px}.settings-form-grid,.notification-card,.modal-form-row{grid-template-columns:1fr}.notification-card .settings-card-head,.notification-card .security-note{grid-column:auto}.settings-form-actions{flex-direction:column-reverse}.settings-form-actions button{width:100%}.users-panel-head{min-width:0}.modal-backdrop{align-items:end;padding:0}.user-modal{border-radius:14px 14px 0 0;max-height:92vh;overflow:auto}.modal-head,.modal-body,.modal-actions{padding-left:16px;padding-right:16px}.modal-actions button{flex:1}}@media print{.qr-flow-banner,.payment-automation,.qr-card-actions{display:none!important}.qr-pay-grid{grid-template-columns:repeat(2,1fr);gap:10px}.qr-pay-card{break-inside:avoid;box-shadow:none}.qr-pay-code{grid-template-columns:130px 1fr}.qr-pay-code .qr-mock{width:125px;height:125px}.qr-demo-note{display:none!important}}.admin-shell,.admin-shell button,.admin-shell input,.admin-shell select,.admin-shell textarea,.admin-shell :where(h1,h2,h3,p,span,small,strong,a,label,button,input,select,option,th,td,dt,dd,em){font-size:16px!important}.machine-location-button{color:#29364c;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.machine-location-button .machine-dot{margin-right:1px}.machine-location-button>i{color:#7e9ab8;opacity:0;font-style:normal;transition:opacity .18s,color .18s}:is(.machine-location-button:hover>i,.machine-location-button:focus-visible>i){color:var(--blue);opacity:1}:is(.machine-location-button:focus-visible,.qr-machine-location:focus-visible,.branch-name-location:focus-visible,.branch-map:focus-visible){outline-offset:3px;outline:3px solid #1676e833}.machine-location-button:disabled{cursor:default}.qr-machine-location{color:#26364d;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:3px;padding:0;font-weight:800;display:flex}.qr-machine-location span,.qr-machine-location:hover{color:var(--blue)}.branch-map{cursor:pointer;border:0;width:100%;overflow:hidden}.branch-map>span,.branch-map>strong{z-index:1;position:relative}.branch-map>strong{color:#4d7ba9;opacity:0;transition:opacity .18s,transform .18s;position:absolute;bottom:15px;transform:translateY(5px)}:is(.branch-map:hover>strong,.branch-map:focus-visible>strong){opacity:1;transform:translateY(0)}.branch-map:hover>span{color:var(--blue);transform:translateY(-7px)}.branch-map>span{transition:color .18s,transform .18s}.branch-map i{z-index:2}.branch-name-location{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:10px 0 4px;padding:0;display:flex}.branch-name-location h2{margin:0}.branch-name-location span{color:var(--blue);opacity:0;transition:opacity .18s}:is(.branch-name-location:hover span,.branch-name-location:focus-visible span){opacity:1}.branch-name-location:hover h2{color:var(--blue)}.map-backdrop{z-index:150}.map-modal{width:min(920px,100%)}.map-modal,.map-modal button,.map-modal a{font-size:16px}.map-modal-head>div>span{background:linear-gradient(135deg,#1676e8,#55a9f4)}.map-modal-head h2{font-size:20px}.map-modal-head p{font-size:16px}.map-modal-body{padding:20px 21px 22px}.map-location-summary{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.map-location-summary strong,.map-location-summary span{display:block}.map-location-summary strong{color:#29364c}.map-location-summary span{color:#7f8a9a;margin-top:4px}.map-location-summary a{color:#fff;background:var(--blue);white-space:nowrap;border-radius:8px;padding:10px 13px;font-weight:700;text-decoration:none}.map-location-summary a:hover{background:#0e65c9}.google-map-frame{background:#edf4fa;border:1px solid #dce4ec;border-radius:12px;width:100%;height:400px;display:block}.branch-machine-list{margin-top:17px}.branch-machine-list>strong{color:#46566b;margin-bottom:10px;display:block}.branch-machine-list>div{flex-wrap:wrap;gap:8px;display:flex}.branch-machine-list button{color:#4d5e73;cursor:pointer;background:#f7f9fb;border:1px solid #e0e6ed;border-radius:9px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.branch-machine-list button>span{color:var(--blue)}.branch-machine-list button .status-badge{margin-left:2px}.branch-machine-list button:hover,.branch-machine-list button.active{color:#0f67cb;background:#edf6ff;border-color:#b9d9fb}@media (max-width:560px){.map-modal{max-height:94vh;overflow:auto}.map-modal-head{align-items:flex-start}.map-location-summary{flex-direction:column;align-items:stretch}.map-location-summary a{text-align:center}.google-map-frame{height:48vh;min-height:320px}.branch-machine-list>div{grid-template-columns:1fr 1fr;display:grid}.branch-machine-list button{justify-content:center}.branch-machine-list button .status-badge{display:none}}@media print{.map-backdrop{display:none!important}}.qr-mock{grid-template:none;place-items:center;overflow:hidden}.qr-mock img{object-fit:contain;width:100%;height:100%;display:block}.qr-mock>span{color:#8a95a5;font-weight:800}.machine-modal-backdrop{z-index:170}.machine-create-modal{width:min(820px,100%)}.machine-create-head>div>span{background:linear-gradient(135deg,#1676e8,#4ea3f2)}.machine-create-body{grid-template-columns:minmax(0,1fr) 245px;gap:22px;padding:21px;display:grid}.machine-form-fields{flex-direction:column;gap:14px;display:flex}.machine-form-fields label{color:#617086;flex-direction:column;gap:7px;font-weight:700;display:flex}.machine-form-fields input,.machine-form-fields select{color:#344157;background:#fff;border:1px solid #dce3eb;border-radius:8px;outline:none;width:100%;padding:11px 12px;font:500 16px/1.35 Content,Segoe UI,sans-serif}.machine-form-fields input:focus,.machine-form-fields select:focus{border-color:#75afea;box-shadow:0 0 0 3px #1676e81a}.machine-location-preview{color:#356a9d;background:#f1f7fe;border:1px solid #dbeafb;border-radius:9px;align-items:center;gap:11px;margin-top:-4px;padding:12px;display:flex}.machine-location-preview>span{color:#fff;background:var(--blue);border-radius:8px;flex:none;place-items:center;width:32px;height:32px;display:grid}.machine-location-preview strong,.machine-location-preview small{display:block}.machine-location-preview small{color:#7690aa;margin-top:4px}.machine-ready-note{color:#28634f;background:#edf9f4;border:1px solid #d8eee5;border-radius:9px;align-items:flex-start;gap:10px;padding:12px;display:flex}.machine-ready-note>span{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.machine-ready-note p{margin:0}.machine-ready-note strong,.machine-ready-note small{display:block}.machine-ready-note small{color:#668b7e;margin-top:5px;line-height:1.55}.machine-qr-preview{text-align:center;background:linear-gradient(#f8fbff,#f0f6fd);border:1px solid #dce8f4;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:18px;display:flex}.machine-qr-preview .preview-label{color:#52718f;border-bottom:1px solid #deebf6;align-self:stretch;padding-bottom:10px;font-weight:800}.machine-qr-preview .qr-mock{border-radius:9px;width:184px;height:184px;margin:16px auto 12px;padding:7px;box-shadow:0 8px 22px #23507d14}.machine-qr-preview>strong{color:#26364c;font-size:20px!important}.machine-qr-preview>small{color:#6f8094;margin-top:5px}.machine-qr-preview>em{color:#176cc7;background:#e5f1ff;border-radius:6px;margin-top:10px;padding:6px 8px;font-style:normal;font-weight:800}@media (max-width:720px){.machine-create-modal{max-height:94vh;overflow:auto}.machine-create-body{grid-template-columns:1fr}.machine-qr-preview{order:-1}.machine-qr-preview .qr-mock{width:160px;height:160px}.machine-form-fields .modal-form-row{grid-template-columns:1fr}}@media print{.machine-modal-backdrop{display:none!important}}.qr-table-print{cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0;display:block;position:relative}.qr-table-print>span{color:#fff;background:var(--blue);opacity:0;border:2px solid #fff;border-radius:50%;place-items:center;width:19px;height:19px;transition:opacity .18s,transform .18s;display:grid;position:absolute;bottom:-5px;right:-7px;transform:scale(.8)}:is(.qr-table-print:hover>span,.qr-table-print:focus-visible>span){opacity:1;transform:scale(1)}.qr-table-print:hover .qr-mock{border-color:#86b9ee;box-shadow:0 0 0 3px #1676e817}.machine-create-modal{width:min(900px,100%);max-height:94vh;overflow:auto}.gps-point-panel{background:#f8fafc;border:1px solid #dce4ed;border-radius:10px;padding:13px;transition:border-color .2s,background .2s;overflow:hidden}.gps-point-panel.has-point{background:#f2fbf7;border-color:#bfe6d6}.gps-point-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.gps-point-head>div{align-items:flex-start;gap:9px;display:flex}.gps-point-head>div>span{color:#fff;background:#8795a8;border-radius:7px;flex:none;place-items:center;width:27px;height:27px;display:grid}.has-point .gps-point-head>div>span{background:var(--green)}.gps-point-head p{margin:0}.gps-point-head strong,.gps-point-head small{display:block}.gps-point-head small{color:#8190a3;margin-top:4px;font-weight:500;line-height:1.45}.gps-point-head>button{color:#fff;background:var(--blue);white-space:nowrap;cursor:pointer;border:0;border-radius:8px;padding:9px 11px;font-weight:750}.gps-point-head>button:disabled{opacity:.65;cursor:wait}.gps-coordinate-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.gps-point-map{border-top:1px solid #dce9e3;grid-template-columns:150px 1fr;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:grid}.gps-point-map iframe{border:1px solid #d2e1d9;border-radius:8px;width:150px;height:105px;display:block}.gps-point-map strong,.gps-point-map span,.gps-point-map a{display:block}.gps-point-map strong{color:#168458}.gps-point-map span{color:#637b72;margin-top:4px}.gps-point-map a{color:var(--blue);margin-top:7px;font-weight:750;text-decoration:none}.qr-gps-ready{color:#168458;background:#e8f7f0;border-radius:7px;margin-top:9px;padding:6px 8px;font-weight:800}.gps-point-dot{font-style:normal;color:#168458!important}.modal-actions .primary-admin-button:disabled{opacity:.55;cursor:not-allowed}@media (max-width:720px){.gps-point-head{flex-direction:column;align-items:stretch}.gps-point-head>button{width:100%}.gps-coordinate-grid,.gps-point-map{grid-template-columns:1fr}.gps-point-map iframe{width:100%;height:180px}}.map-location-actions{align-items:center;gap:9px;display:flex}.map-location-actions>button{color:#176cc7;white-space:nowrap;cursor:pointer;background:#edf6ff;border:1px solid #cfe5fb;border-radius:8px;padding:10px 13px;font-weight:750}.map-location-actions>button:hover{background:#e1f0ff}.map-location-actions>button:disabled{opacity:.65;cursor:wait}.map-location-actions>.remove-machine-button{color:#b42318;background:#fff5f4;border-color:#f4c7c3}.map-location-actions>.remove-machine-button:hover{color:#921c13;background:#fee9e7;border-color:#e9aaa4}.map-location-actions>.remove-machine-button:disabled{color:#8f99a7;cursor:not-allowed;background:#f4f6f8;border-color:#e2e6eb}.machine-remove-confirm{color:#54312d;background:#fff8f7;border:1px solid #f0cbc6;border-radius:11px;grid-template-columns:minmax(180px,.85fr) minmax(340px,1.4fr) auto;align-items:end;gap:16px;margin:0 0 14px;padding:15px;display:grid}.machine-remove-confirm>div:first-child{align-self:center}.machine-remove-confirm p{color:#8a5c57;margin:5px 0 0;line-height:1.5}.machine-remove-confirm fieldset{border:0;grid-template-columns:1fr 1fr;gap:8px;min-width:0;margin:0;padding:0;display:grid}.machine-remove-confirm legend{color:#77534f;margin-bottom:7px;font-weight:750}.machine-remove-confirm label{cursor:pointer;background:#fff;border:1px solid #eadbd9;border-radius:9px;align-items:flex-start;gap:8px;min-width:0;padding:10px;display:flex}.machine-remove-confirm label.selected{background:#fff1ef;border-color:#df8f87;box-shadow:0 0 0 2px #b4231814}.machine-remove-confirm input{accent-color:#b42318;flex:none;width:16px;height:16px;margin:2px 0 0}.machine-remove-confirm label span,.machine-remove-confirm label strong,.machine-remove-confirm label small{display:block}.machine-remove-confirm label small{color:#8b6d69;margin-top:3px;line-height:1.45}.machine-remove-actions{align-items:center;gap:8px;display:flex}.machine-remove-actions button{color:#6b5552;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dfd2d0;border-radius:8px;padding:10px 12px;font-weight:750}.machine-remove-actions .confirm-remove-machine{color:#fff;background:#b42318;border-color:#b42318}.machine-remove-actions .confirm-remove-machine:hover{background:#921c13;border-color:#921c13}@media (max-width:700px){.map-location-actions{flex-direction:column;align-items:stretch}.map-location-actions>button{width:100%}.map-location-actions>a{text-align:center}}@media (max-width:900px){.machine-remove-confirm{grid-template-columns:1fr;align-items:stretch}.machine-remove-actions{justify-content:flex-end}}@media (max-width:560px){.machine-remove-confirm fieldset{grid-template-columns:1fr}.machine-remove-actions{grid-template-columns:1fr 1fr;display:grid}.machine-remove-actions button{white-space:normal}}.branch-title{margin-bottom:15px}.municipal-map-note{color:#3e5e7d;background:#eef7ff;border:1px solid #d4e8fb;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-bottom:18px;padding:14px 16px;display:grid}.municipal-map-note>span{color:#fff;background:var(--blue);border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.municipal-map-note strong,.municipal-map-note small{display:block}.municipal-map-note small{color:#7189a1;margin-top:3px;line-height:1.5}.municipal-map-note a{color:#116bc9;white-space:nowrap;background:#fff;border:1px solid #c9dff4;border-radius:8px;padding:9px 11px;font-weight:750;text-decoration:none}.branch-card-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.branch-remove{color:#b42318;cursor:pointer;background:#fff5f4;border:1px solid #f4c7c3;border-radius:7px;width:100%;padding:8px;font-size:8px;font-weight:700}.branch-remove:hover{color:#921c13;background:#fee9e7;border-color:#e9aaa4}.branch-remove-confirm{width:min(440px,92vw);max-width:440px;display:block}.branch-remove-confirm .machine-remove-actions{justify-content:flex-end;margin-top:14px}.branch-khan-chip{color:#176cc7;background:#edf6ff;border-radius:6px;padding:5px 7px;font-weight:700}.branch-card-body>div:first-child{align-items:center;gap:8px}.branch-modal-backdrop{z-index:180}.branch-create-modal{width:min(980px,100%);max-height:94vh;overflow:auto}.branch-create-head>div>span{background:linear-gradient(135deg,#1676e8,#55a9f4)}.branch-create-body{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:20px;padding:21px;display:grid}.branch-form-fields{flex-direction:column;gap:14px;display:flex}.branch-form-fields label{color:#617086;flex-direction:column;gap:7px;font-weight:700;display:flex}.branch-form-fields input,.branch-form-fields select{color:#344157;background:#fff;border:1px solid #dce3eb;border-radius:8px;outline:none;width:100%;padding:11px 12px;font:500 16px/1.35 Content,Segoe UI,sans-serif}.branch-form-fields input:focus,.branch-form-fields select:focus{border-color:#75afea;box-shadow:0 0 0 3px #1676e81a}.branch-gps-panel{background:#f8fafc;border:1px solid #dce4ed;border-radius:10px;padding:13px}.branch-gps-panel.has-point{background:#f2fbf7;border-color:#bfe6d6}.branch-map-preview{background:#f7fbff;border:1px solid #d8e6f3;border-radius:12px;flex-direction:column;min-height:430px;display:flex;overflow:hidden}.branch-map-preview>div:first-child{padding:14px 15px}.branch-map-preview>div:first-child strong,.branch-map-preview>div:first-child small{display:block}.branch-map-preview>div:first-child strong{color:#34516f}.branch-map-preview>div:first-child small{color:#7b8d9f;min-height:43px;margin-top:5px;line-height:1.55}.branch-map-preview iframe{border:1px solid #dce8f3;border-left:0;border-right:0;flex:1;width:100%;min-height:230px}.municipal-reference{color:#2a6754;background:#eaf8f2;border-radius:8px;align-items:flex-start;gap:9px;margin:13px 14px 7px;padding:10px;display:flex}.municipal-reference>span{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:23px;height:23px;display:grid}.municipal-reference p{margin:0}.municipal-reference strong,.municipal-reference small{display:block}.municipal-reference small{color:#6d897f;margin-top:3px;line-height:1.45}.branch-map-preview>a{color:var(--blue);text-align:center;margin:4px 14px 14px;font-weight:750;text-decoration:none}@media (max-width:800px){.branch-create-body{grid-template-columns:1fr}.branch-map-preview{min-height:350px}.municipal-map-note{grid-template-columns:auto 1fr}.municipal-map-note a{text-align:center;grid-column:1/-1}}@media (max-width:560px){.branch-title{flex-direction:column;align-items:stretch}.branch-title>button{width:100%}.municipal-map-note{text-align:center;grid-template-columns:1fr}.municipal-map-note>span{margin:auto}.branch-create-modal{border-radius:14px 14px 0 0}.branch-create-body{padding:16px}.branch-map-preview iframe{min-height:260px}}@media print{.branch-modal-backdrop,.municipal-map-note{display:none!important}}.iot-live-strip{color:#506176;background:#f5f7fa;border:1px solid #dfe5eb;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-bottom:16px;padding:13px 16px;display:grid}.iot-live-strip.connected{color:#28634f;background:#eff9f5;border-color:#cbe8dc}.iot-live-icon{color:#fff;background:#8794a5;border-radius:10px;place-items:center;width:38px;height:38px;font-weight:800;display:grid;font-size:22px!important}.connected .iot-live-icon{background:#18a06d}.iot-live-strip strong,.iot-live-strip small{display:block}.iot-live-strip>div:nth-child(2)>small{color:#7a899b;margin-top:4px}.iot-heartbeat{border-left:1px solid #5f7b6d33;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding-left:16px;display:grid}.iot-heartbeat i{background:#8c98a7;border-radius:50%;grid-row:1/3;width:9px;height:9px;box-shadow:0 0 0 4px #8c98a71f}.connected .iot-heartbeat i{background:#18a06d;animation:1.8s ease-out infinite iot-pulse;box-shadow:0 0 0 4px #18a06d21}.iot-heartbeat span{font-weight:750}.iot-heartbeat small{color:#7b8998}.admin-shell .iot-live-strip :where(strong,small,span){font-size:16px!important}@keyframes iot-pulse{0%{box-shadow:0 0 #18a06d52}70%{box-shadow:0 0 0 8px #18a06d00}to{box-shadow:0 0 #18a06d00}}@media (max-width:700px){.iot-live-strip{grid-template-columns:auto 1fr}.iot-heartbeat{border-top:1px solid #5f7b6d33;border-left:0;grid-column:1/-1;padding:11px 0 0}}.pending-jobs-note{margin:0 0 16px}.customer-pay-shell{color:#172235;background:linear-gradient(145deg,#f7f9fc,#eaf2fb);place-content:center;min-height:100vh;padding:24px;font-size:16px;display:grid}.customer-pay-card{background:#fff;border:1px solid #dce5ef;border-radius:22px;width:min(440px,94vw);overflow:hidden;box-shadow:0 24px 70px #1e375824}.customer-pay-card>header{color:#fff;background:linear-gradient(120deg,#126fd8,#168ced);align-items:center;gap:12px;padding:18px 22px;display:flex}.customer-pay-card>header>span{color:#1478df;background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:28px;font-weight:900;display:grid}.customer-pay-card>header>img{object-fit:contain;background:#fff;border-radius:50%;width:42px;height:42px;padding:3px}.customer-pay-card>header strong,.customer-pay-card>header small{font-size:16px;display:block}.customer-pay-card>header small{color:#dceeff;margin-top:3px}.customer-machine{background:#f7faff;border-bottom:1px solid #e5edf5;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.customer-machine small{color:#748399;font-size:16px}.customer-machine strong{font-size:24px}.khqr-customer-head{color:#d71920;justify-content:space-between;align-items:center;padding:16px 24px 12px;display:flex}.khqr-customer-head strong{font:900 28px/1 Segoe UI,sans-serif}.khqr-customer-head span{font-size:22px;font-weight:850}.customer-qr-area{background:#fff;border:1px solid #e2e7ec;border-radius:14px;place-items:center;width:292px;height:292px;margin:0 auto;padding:10px;display:grid}.customer-qr-area img{width:100%;height:100%;display:block}.qr-loading{color:#7d8998;font-size:16px}.payment-message{text-align:center;margin:14px 24px 8px;font-size:16px;line-height:1.6}.qr-expiry{text-align:center;color:#778499;margin:8px 24px 12px;font-size:16px}.qr-expiry strong{color:#d71920;font-size:18px}.save-khqr,.retry-payment{color:#fff;text-align:center;cursor:pointer;background:#157ce2;border:0;border-radius:10px;width:calc(100% - 48px);margin:12px 24px 20px;padding:14px 16px;font-size:16px;font-weight:800;text-decoration:none;display:block}.customer-pay-card>footer{color:#617287;background:#f5f8fb;border-top:1px solid #e4eaf0;grid-template-columns:repeat(3,1fr);gap:6px;padding:14px 16px;display:grid}.customer-pay-card>footer span{text-align:center;font-size:16px;line-height:1.45}.payment-result{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:440px;padding:40px 28px;display:flex}.payment-result>span{color:#fff;background:#18a56f;border-radius:50%;place-items:center;width:70px;height:70px;font-size:38px;display:grid}.payment-result h1{margin:20px 0 8px;font-size:28px}.payment-result p,.payment-result strong{font-size:16px;line-height:1.7}.payment-result p{color:#738196}.customer-safety-note{color:#6f7d90;text-align:center;max-width:420px;margin:14px auto 0;font-size:16px;line-height:1.6}@media (max-width:520px){.customer-pay-shell{padding:12px}.customer-pay-card{border-radius:16px;width:96vw}.customer-qr-area{width:76vw;max-width:292px;height:76vw;max-height:292px}.customer-pay-card>footer{grid-template-columns:1fr}.customer-pay-card>footer span{text-align:left}}@media print{.iot-live-strip{display:none!important}}.admin-signout{color:#c64d56;background:#fff4f5;border:1px solid #f3d4d8;border-radius:10px;justify-content:center;align-items:center;min-height:42px;margin:8px 14px 0;padding:9px 12px;font-weight:800;text-decoration:none;display:flex}.device-summary{flex-wrap:wrap;gap:10px;display:flex}.device-summary span{color:#5e6c80;background:#fff;border:1px solid #dce5ef;border-radius:11px;padding:10px 14px}.device-summary strong{color:#126fd8}.provisioning-panel{overflow:hidden}.provision-security-banner{color:#135a43;background:#eefaf5;border-bottom:1px solid #cfece0;align-items:center;gap:14px;padding:17px 20px;display:flex}.provision-security-banner>span{color:#fff;background:#19a976;border-radius:12px;place-items:center;width:42px;height:42px;font-size:24px;display:grid}.provision-security-banner strong,.provision-security-banner small{display:block}.provision-security-banner small{color:#5e7f73;margin-top:4px;line-height:1.5}.device-table{border-collapse:collapse;width:100%}.device-table th,.device-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e6ebf1;padding:14px 16px}.device-table th{color:#75839a;background:#f8fafc}.device-table td>strong,.device-table td>small{display:block}.device-table td>small{color:#7a8798;margin-top:3px}.device-table code{color:#285a91;background:#edf5ff;border-radius:6px;padding:5px 8px}.device-token-status{border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-weight:800;display:inline-flex}.device-token-status i{border-radius:50%;width:7px;height:7px}.device-token-status.active{color:#12805b;background:#e5f8f1}.device-token-status.active i{background:#15a473}.device-token-status.revoked{color:#a94a53;background:#fff0f1}.device-token-status.revoked i{background:#d25f69}.device-token-status.missing{color:#6e7a8c;background:#eef1f5}.device-token-status.missing i{background:#8d98a7}.device-actions{gap:8px;display:flex}.device-actions button{color:#146fcf;cursor:pointer;background:#eff6ff;border:1px solid #cfe2fa;border-radius:8px;padding:8px 10px;font-weight:800}.device-actions button:disabled{opacity:.48;cursor:not-allowed}.device-actions .revoke-device{color:#b3434d;background:#fff4f5;border-color:#f1cfd3}.device-token-modal{width:min(760px,94vw)}.device-token-head>div>span{background:#1585e8!important}.token-security-note{color:#794f12;background:#fff8e6;border:1px solid #f1dfad;border-radius:11px;gap:12px;padding:14px;display:flex}.token-security-note>span{color:#fff;background:#df9a21;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.token-security-note strong,.token-security-note small{display:block}.token-security-note small{margin-top:4px;line-height:1.55}.device-token-field{color:#55657a;margin-top:16px;font-weight:800;display:block}.device-token-field textarea{resize:none;color:#173d66;word-break:break-all;background:#f4f8fd;border:1px solid #cddded;border-radius:9px;width:100%;min-height:88px;margin-top:7px;padding:13px;font:700 14px/1.6 Consolas,monospace}.esp32-config-preview{background:#142337;border-radius:10px;margin-top:13px;overflow:hidden}.esp32-config-preview small{color:#9eb4cd;border-bottom:1px solid #2b3c50;padding:8px 12px;display:block}.esp32-config-preview code{color:#c9f1dc;white-space:pre-wrap;word-break:break-all;padding:13px;font:600 13px/1.7 Consolas,monospace;display:block}.esp32-pairing-steps{color:#31506f;margin:16px 0 0;padding:0 0 0 22px;line-height:1.55}.esp32-pairing-steps li{margin:8px 0}.esp32-pairing-steps code{color:#146fcf;background:#eff6ff;border-radius:6px;padding:2px 6px;font-weight:700}.device-token-modal .modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-auth-shell{color:#17263c;background:radial-gradient(circle at top,#e8f4ff,#f5f8fc 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-auth-card{text-align:center;background:#fff;border:1px solid #dce6f0;border-radius:22px;width:min(520px,94vw);padding:38px;box-shadow:0 25px 70px #1c3b5f24}.admin-auth-icon{color:#fff;background:#d55b63;border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 16px;font-size:30px;font-weight:900;display:grid}.admin-auth-icon.success{background:#18a572}.admin-auth-card>small{color:#1673d2;font-weight:850}.admin-auth-card h1{margin:10px 0;font-size:27px}.admin-auth-card p{color:#6b798d;margin:0 auto 24px;line-height:1.7}.admin-auth-card>div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.admin-auth-card a{border-radius:9px;justify-content:center;padding:12px 16px;font-weight:850;text-decoration:none;display:inline-flex}.admin-auth-primary{color:#fff;background:#1479df}.admin-auth-primary.full{width:100%}.admin-auth-secondary{color:#54677f;background:#f1f4f8;border:1px solid #dce3eb}@media (max-width:700px){.device-table{min-width:930px}.device-summary{width:100%}.device-summary span{flex:1}.admin-auth-card{padding:28px 20px}.device-token-modal{width:96vw}}.admin-topbar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;height:auto;min-height:64px;padding:12px 34px;display:flex}.admin-topbar .mobile-menu{justify-self:start}.admin-topbar-profile{border:1px solid var(--line);border-top:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:28px auto;justify-self:start;gap:8px;width:auto;min-width:0;padding:6px 10px}.admin-topbar-profile>span{width:28px;height:28px}.admin-topbar-profile small{display:none}.admin-topbar-tools{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.admin-topbar-title{display:none}.admin-actions{justify-self:start;margin-left:0}.admin-topbar-tools .admin-signout{min-height:36px;margin:0;padding:8px 12px;font-size:8px}.admin-topbar-tools .customer-preview{width:auto;margin:0;padding:8px 12px}.side-brand{flex-direction:column;align-items:center;gap:8px;margin:0 8px 22px;display:flex}.side-emblem{object-fit:contain;background:#fff;width:168px;height:auto;display:block}.side-brand .brand-mark,.admin-welcome{display:none}.admin-page-tools{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;display:grid}.admin-page-tools-buttons{flex-wrap:wrap;grid-column:2;justify-content:center;align-items:center;gap:10px;display:flex}.admin-page-tools.attached{border-bottom:0;border-radius:12px 12px 0 0;margin-bottom:0}.admin-page-tools.attached+.qr-flow-banner{border-radius:0 0 12px 12px}.admin-page-tools .admin-profile,.admin-page-tools .admin-signout,.admin-page-tools .customer-preview,.admin-page-tools .primary-admin-button{box-sizing:border-box;color:#7a5b12;height:40px;min-height:40px;box-shadow:none;background:#f3e2a8;border:1px solid #e0c56a;border-radius:10px;margin:0;padding:0 14px;font-size:8px;font-weight:750}.admin-page-tools .admin-profile{border-top:1px solid #e0c56a;grid-template-columns:24px auto;align-items:center;gap:8px;width:auto;padding-top:0;display:inline-grid}.admin-page-tools .admin-profile>span{color:#7a5b12;background:#fff6d4;width:24px;height:24px}.admin-page-tools .admin-signout{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.admin-page-tools .customer-preview{color:#fff;background:#1aa56c;border-color:#168a5a;width:auto}.admin-page-tools .customer-preview:hover{color:#fff;background:#178a5a}.admin-page-tools .admin-profile:hover,.admin-page-tools .admin-signout:hover,.admin-page-tools .primary-admin-button:hover{color:#7a5b12;background:#edd48a}.admin-page-meta{grid-column:3;justify-self:end;align-items:center;gap:10px;display:flex}.admin-page-tools .admin-actions{gap:0;margin:0}.admin-page-tools .admin-bell{color:#7a5b12;cursor:pointer;background:#f3e2a8;border:1px solid #e0c56a;border-radius:10px;place-items:center;width:40px;height:40px;min-height:40px;padding:0;display:grid;position:relative}.admin-page-tools .admin-bell:hover{background:#edd48a}.admin-page-tools .admin-bell svg{fill:currentColor;width:18px;height:18px}.admin-page-tools .admin-bell i{color:#fff;background:#c64d56;border:2px solid #fff;border-radius:50%;place-items:center;width:15px;height:15px;font:700 7px/1 Segoe UI,sans-serif;display:grid;position:absolute;top:-4px;right:-4px}.admin-page-date{color:#8d97a6;white-space:nowrap;font-size:8px}.action-muted{color:#8d97a6;align-items:center;font-size:12px;display:inline-flex}.admin-topbar-slim{display:none}@media (max-width:900px){.side-emblem{width:52px}}@media (max-width:560px){.admin-topbar{height:auto;padding:10px 14px 12px}.admin-topbar-logo{display:none}.side-brand{flex-direction:row;gap:8px;margin:0}.side-emblem{width:36px}.admin-topbar-slim{display:flex}.admin-page-tools{grid-template-columns:1fr}.admin-page-tools-buttons{grid-column:1}.admin-page-meta{grid-column:1;justify-self:center}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
