:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#6b7890;--primary:#0b67d1;--primary2:#0755ad;--danger:#d93025;--ok:#0d8f51;--line:#dbe4f0;--soft:#eaf2ff;--shadow:0 12px 36px rgba(23,32,51,.12);--radius:18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.input,.select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;color:var(--text);outline:none}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,103,209,.12)}.compact{width:auto;min-width:150px;padding:9px 12px}.btn{border:0;border-radius:12px;padding:11px 16px;background:#edf3fb;color:#123;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.secondary{background:#e5f5ee;color:#06633a}.btn.danger{background:#feeceb;color:var(--danger)}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.small{padding:8px 12px;font-size:13px}.btn.full{width:100%}.icon-btn{width:36px;height:36px;border:0;border-radius:50%;background:#edf3fb;font-size:24px;cursor:pointer}.panel,.login-card,.center-card,.modal-card,.display-card,.pay-card{background:var(--card);border:1px solid rgba(219,228,240,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h2{margin:0;font-size:18px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:24px}.brand-block{display:flex;align-items:center;gap:14px;margin-bottom:22px}.brand-block h1{margin:0;font-size:30px}.brand-block p{margin:4px 0 0;color:var(--muted)}.logo-dot,.brand-icon{display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#23a0ff);color:white;font-weight:800}.logo-dot{width:58px;height:58px;border-radius:18px}.brand-icon{width:38px;height:38px;border-radius:12px}.login-card label{display:block;margin:14px 0 6px;font-weight:600}.alert{border-radius:12px;padding:12px;margin-bottom:12px}.alert-error{background:#feeceb;color:#a40000}.topbar{position:sticky;top:0;z-index:10;background:rgba(244,247,251,.9);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:20px}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pos-shell{min-height:100vh}.pos-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.4fr) minmax(320px,1fr);gap:16px;padding:16px}.pending-panel{margin:0 16px 16px}.tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}.table-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;cursor:pointer;min-height:96px;display:flex;flex-direction:column;justify-content:space-between}.table-card.busy{background:#fff7e6;border-color:#ffd28a}.table-card.paid{background:#e8fff4;border-color:#9ce1bf}.table-card.active{outline:3px solid rgba(11,103,209,.25);border-color:var(--primary)}.table-card strong{font-size:16px}.table-card span{color:var(--muted);font-size:12px}.chip-row{display:flex;gap:8px;overflow:auto;padding-bottom:8px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;cursor:pointer;white-space:nowrap}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.menu-grid,.guest-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.menu-item,.guest-item{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;cursor:pointer;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.menu-item:hover,.guest-item:hover{border-color:var(--primary)}.price{font-weight:800;color:var(--primary)}.bill-title{align-items:flex-start}.bill-title h2{font-size:20px}.bill-lines{display:flex;flex-direction:column;gap:10px;max-height:44vh;overflow:auto;padding-right:4px}.bill-line{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px}.bill-line h4{margin:0 0 4px;font-size:14px}.bill-line p{margin:0;color:var(--muted);font-size:12px}.line-actions{display:flex;align-items:center;gap:8px}.line-amount{text-align:right;font-weight:800}.bill-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:18px}.bill-total strong{font-size:28px;color:var(--primary)}.pay-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.pending-orders{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.pending-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}.pending-card h3{margin:0 0 8px}.pending-card ul{margin:8px 0;padding-left:18px}.modal{position:fixed;inset:0;background:rgba(12,20,33,.45);display:grid;place-items:center;z-index:50;padding:16px}.modal-card{width:min(460px,100%);padding:18px}.modal-card.wide{width:min(620px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-head h3{margin:0}.qr-box{display:grid;place-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px}.qr-box img{width:min(280px,80vw);height:auto}.toast{position:fixed;left:50%;top:24px;transform:translateX(-50%);background:#14213d;color:white;padding:13px 18px;border-radius:999px;z-index:80;box-shadow:var(--shadow)}.toast.error{background:#b42318}.toast.ok{background:#0d8f51}.guest-shell{min-height:100vh;padding:14px}.guest-head{position:sticky;top:0;background:rgba(244,247,251,.94);backdrop-filter:blur(12px);z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 14px}.guest-head h1{margin:0;font-size:24px}.sticky{position:sticky;top:82px;background:rgba(244,247,251,.94);z-index:9;padding-top:8px}.guest-item .qty-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.qty-btn{border:0;background:#edf3fb;border-radius:10px;width:34px;height:34px;font-weight:800}.display-shell,.pay-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dceeff,#f4f7fb 40%)}.display-card,.pay-card{width:min(760px,100%);padding:32px;text-align:center}.display-card h1,.pay-card h1{font-size:36px;margin:0 0 8px}.display-empty{border:2px dashed var(--line);border-radius:20px;padding:56px 24px;color:var(--muted);font-size:24px;margin-top:28px}.display-table{font-size:24px}.display-amount,.pay-amount{font-size:54px;font-weight:900;color:var(--primary);margin:14px 0}.display-qr{width:min(360px,82vw);border:16px solid #fff;border-radius:22px;box-shadow:var(--shadow)}.display-status{font-size:20px;font-weight:700}.center-card{width:min(520px,calc(100% - 32px));margin:15vh auto;padding:28px}@media(max-width:1180px){.pos-grid{grid-template-columns:1fr 1fr}.bill-panel{grid-column:1/-1}.bill-lines{max-height:32vh}}@media(max-width:760px){.topbar{align-items:flex-start}.pos-grid{grid-template-columns:1fr;padding:10px}.pending-panel{margin:0 10px 10px}.top-actions{width:100%}.compact{width:100%}.pay-actions{grid-template-columns:1fr}.display-amount,.pay-amount{font-size:40px}.panel{padding:12px}}
@media(max-width:900px){.pay-actions{grid-template-columns:1fr}}
.admin-shell{min-height:100vh}.admin-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;padding:16px}.admin-menu{position:sticky;top:82px;align-self:start;display:flex;flex-direction:column;gap:8px}.admin-nav{border:0;border-radius:14px;background:#f0f5fb;color:#172033;text-align:left;padding:12px 14px;cursor:pointer}.admin-nav.active{background:var(--primary);color:#fff}.admin-content{min-width:0}.admin-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px}.admin-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{font-size:13px;color:var(--muted);font-weight:700;background:#f8fbff;position:sticky;top:0;z-index:1}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.empty-cell{text-align:center!important;color:var(--muted);padding:28px!important}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(23,32,51,.06)}.dashboard-card span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.dashboard-card strong{font-size:28px;color:var(--primary)}.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.admin-form label{font-weight:600;font-size:13px;color:#27344c}.admin-form .check-line{display:flex;align-items:center;gap:8px;background:#f7faff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.badge.ok{background:#e5f5ee;color:#06633a}.badge.off{background:#feeceb;color:#b42318}.muted-badge{background:#edf3fb;color:#56657a}@media(max-width:980px){.admin-layout{grid-template-columns:1fr;padding:10px}.admin-menu{position:relative;top:auto;flex-direction:row;overflow:auto}.admin-nav{white-space:nowrap}.admin-table{min-width:680px}.admin-topbar{align-items:flex-start}}

/* POS clean layout - patched */
html,body{overflow-x:hidden}.pos-clean{min-height:100vh;background:#eef3f8}.pos-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:14px;padding:12px 16px;background:rgba(246,249,253,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.pos-brand{display:flex;align-items:center;gap:12px;min-width:0}.pos-brand strong{display:block;font-size:20px;line-height:1.1}.pos-brand span:not(.brand-icon){display:block;margin-top:3px;font-size:12px;color:var(--muted);font-weight:600}.pos-toolbar{display:flex;align-items:end;justify-content:flex-end;gap:10px;min-width:0;flex-wrap:wrap}.toolbar-field{display:grid;gap:4px;min-width:132px}.toolbar-field.wide{min-width:220px}.toolbar-field label{font-size:11px;font-weight:800;color:#607089;text-transform:none}.pos-toolbar .compact{width:100%;min-width:0;height:42px}.pos-toolbar .btn{height:42px;padding:0 14px}.clean-grid{display:grid;grid-template-columns:300px minmax(420px,1fr) 420px;gap:14px;padding:14px;align-items:stretch;min-width:0}.clean-panel{min-width:0;box-shadow:0 8px 26px rgba(24,39,75,.07);border-color:#e2eaf4}.compact-title{align-items:center;margin-bottom:12px}.compact-title h2{font-size:18px;line-height:1.2}.compact-title p{margin:4px 0 0;font-size:12px}.tables-panel,.menu-panel,.bill-panel{height:calc(100vh - 108px);display:flex;flex-direction:column}.tables-grid{overflow:auto;padding:2px 4px 4px 2px;grid-template-columns:1fr;align-content:start}.table-card{min-height:82px;border-radius:14px;padding:12px;text-align:left;box-shadow:none}.table-card strong{font-size:17px}.table-card span:last-child{font-weight:800;color:var(--primary);font-size:13px}.table-card:not(.busy) span:last-child{color:#6b7890;font-weight:700}.menu-panel .panel-title{flex-wrap:wrap}.search-input{width:min(260px,100%);min-width:180px}.clean-chip-row{flex:0 0 auto;border-bottom:1px solid #edf2f7;margin-bottom:12px;padding-bottom:10px;scrollbar-width:thin}.clean-chip-row .chip{height:38px;padding:0 16px;background:#f8fbff}.clean-menu-grid{overflow:auto;padding:2px 4px 8px 2px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));align-content:start}.menu-item{min-height:128px;border-radius:16px;text-align:left;box-shadow:0 4px 14px rgba(24,39,75,.04)}.menu-item strong{font-size:15px;line-height:1.25}.menu-item .muted{font-size:11px}.menu-item .price{font-size:17px}.clean-bill-title{flex:0 0 auto}.clean-bill-title h2{font-size:22px}.clean-bill-lines{flex:1 1 auto;max-height:none;min-height:120px;overflow:auto}.bill-line{grid-template-columns:minmax(0,1fr) auto;align-items:center}.bill-line h4{font-size:15px}.line-actions{gap:10px}.line-actions .btn{padding:7px 10px}.clean-total{flex:0 0 auto;margin-top:12px;padding-top:14px}.clean-total strong{font-size:32px}.clean-pay-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px;flex:0 0 auto}.clean-pay-actions>.btn.primary{height:48px;font-size:16px;font-weight:800}.pay-secondary-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pay-secondary-row .btn{height:44px;padding:0 10px;overflow:hidden;text-overflow:ellipsis}.clean-pending-panel{margin:0 14px 14px;box-shadow:0 8px 26px rgba(24,39,75,.07)}.pending-orders{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-height:230px;overflow:auto}.pending-card .bill-total strong{font-size:22px}.empty-pos-note{grid-column:1/-1;border:1px dashed var(--line);border-radius:16px;padding:34px;text-align:center;color:var(--muted);background:#fbfdff}@media(max-width:1360px){.pos-header{grid-template-columns:1fr}.pos-toolbar{justify-content:flex-start}.clean-grid{grid-template-columns:280px minmax(360px,1fr);}.bill-panel{grid-column:1/-1;height:auto;min-height:340px}.clean-bill-lines{max-height:260px}.tables-panel,.menu-panel{height:calc(100vh - 170px)}}@media(max-width:900px){.pos-header{padding:10px}.pos-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;width:100%}.toolbar-field,.toolbar-field.wide{min-width:0}.pos-toolbar .btn{width:100%}.clean-grid{grid-template-columns:1fr;padding:10px}.tables-panel,.menu-panel,.bill-panel{height:auto;min-height:0}.tables-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));max-height:280px}.clean-menu-grid{max-height:420px}.clean-pending-panel{margin:0 10px 10px}.pay-secondary-row{grid-template-columns:1fr}.search-input{width:100%}}@media(max-width:560px){.pos-toolbar{grid-template-columns:1fr}.pos-brand strong{font-size:18px}.clean-chip-row{gap:6px}.clean-chip-row .chip{padding:0 12px}.clean-menu-grid{grid-template-columns:1fr}.compact-title{align-items:flex-start}.compact-title .btn{align-self:flex-start}}

/* POS table state clarity - only the selected table uses blue highlight */
.table-card.busy{background:#fff;border-color:#f0d6aa;border-left:5px solid #d89b28}.table-card.empty{background:#fff}.table-card.active{background:#eef6ff!important;border-color:var(--primary)!important;border-left:5px solid var(--primary);outline:0;box-shadow:0 0 0 3px rgba(11,103,209,.12)}.table-card.busy:not(.active) span:last-child{color:#b36b00}.table-card.empty:not(.active) span:last-child{color:#6b7890}.terminal-field{min-width:118px}.empty-pos-note span{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
@media(max-width:1480px){.clean-grid{grid-template-columns:300px minmax(360px,1fr) 380px}.pos-toolbar{gap:8px}.toolbar-field.wide{min-width:190px}}
.toast{max-width:min(560px,calc(100vw - 32px));max-height:38vh;overflow:auto;border-radius:14px;white-space:normal;line-height:1.35;text-align:left;word-break:break-word}.toast.hidden{display:none!important}
.form-note{grid-column:1/-1;margin:0;color:var(--muted);background:#f8fbff;border:1px dashed var(--line);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.4}

/* POS flow: cashier opens shift -> table map -> order screen */
.pos-kiosk{min-height:100vh;background:#eef3f8;overflow:hidden}.pos-flow-header{min-height:92px}.pos-screen{height:calc(100vh - 112px);padding:16px;box-sizing:border-box}.table-screen{display:grid;grid-template-columns:260px 1fr;gap:16px}.order-screen{display:grid;grid-template-columns:420px 1fr;gap:16px}.section-sidebar,.table-map-panel,.order-left-panel,.order-menu-panel{height:100%;overflow:hidden}.section-sidebar{display:flex;flex-direction:column}.area-list{display:flex;flex-direction:column;gap:10px;overflow:auto;padding-right:4px}.area-tab{border:1px solid #dce6f2;background:#f7fafc;border-radius:16px;padding:14px 16px;text-align:left;cursor:pointer;color:#172033}.area-tab strong{display:block;font-size:16px}.area-tab span{display:block;color:#73839a;margin-top:4px;font-size:13px}.area-tab.active{background:#0f6bdc;color:#fff;border-color:#0f6bdc;box-shadow:0 10px 24px rgba(15,107,220,.22)}.area-tab.active span{color:#dcecff}.table-legend{margin-top:auto;display:grid;gap:8px;padding:12px;background:#f8fbff;border-radius:16px;color:#526176}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:middle}.legend-dot.available{background:#0f6bdc}.legend-dot.busy{background:#d99016}.legend-dot.active{background:#21a366}.table-map-panel{display:flex;flex-direction:column}.table-map{flex:1;overflow:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));align-content:start;gap:14px;background:#f7fafc;border:1px dashed #d7e3f1;border-radius:18px}.map-table{height:86px;border-radius:16px;border:1px solid #dce6f2;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#172033;box-shadow:0 6px 16px rgba(15,34,66,.04)}.map-table strong{font-size:18px}.map-table span{font-size:12px;color:#66758b}.map-table em{font-style:normal;font-weight:700;color:#0f6bdc}.map-table.busy{background:#fff8eb;border-color:#eac06f}.map-table.busy em{color:#b46d00}.map-table.active{border:2px solid #0f6bdc;background:#eef6ff}.order-left-panel{display:flex;flex-direction:column}.pos-bill-lines{flex:1;min-height:0;overflow:auto;margin-top:8px}.order-menu-panel{display:grid;grid-template-rows:auto 1fr auto;gap:12px}.menu-button-grid{overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:10px;padding:12px;background:#f7fafc;border:1px dashed #d7e3f1;border-radius:18px}.article-btn{min-height:86px;border:1px solid #d7e3f1;background:#1672d8;color:#fff;border-radius:14px;padding:10px;cursor:pointer;text-align:center;box-shadow:0 6px 16px rgba(15,107,220,.15)}.article-btn strong{display:block;font-size:14px;line-height:1.25;max-height:38px;overflow:hidden}.article-btn span{display:block;margin-top:8px;font-weight:700;color:#eaf4ff}.article-btn:disabled{opacity:.5;cursor:not-allowed}.class-bottom-bar{display:flex;gap:10px;overflow-x:auto;padding:10px;background:#fff;border:1px solid #dce6f2;border-radius:18px}.class-btn{min-width:116px;border:1px solid #d7e3f1;background:#eef3f8;border-radius:12px;padding:12px;font-weight:700;color:#243047;cursor:pointer}.class-btn.active{background:#0f6bdc;border-color:#0f6bdc;color:#fff}.map-actions{min-width:220px}.hidden{display:none!important}.pay-actions button:disabled{opacity:.5;cursor:not-allowed}
@media (max-width:1200px){.table-screen{grid-template-columns:220px 1fr}.order-screen{grid-template-columns:360px 1fr}.pos-toolbar{flex-wrap:wrap}.pos-screen{height:auto;min-height:calc(100vh - 112px)}}
@media (max-width:900px){.table-screen,.order-screen{grid-template-columns:1fr}.section-sidebar,.table-map-panel,.order-left-panel,.order-menu-panel{height:auto}.pos-kiosk{overflow:auto}.pos-screen{height:auto}.area-list{flex-direction:row}.area-tab{min-width:160px}.table-legend{display:none}.menu-button-grid{max-height:55vh}.pos-bill-lines{max-height:42vh}}

/* POS shift / terminal status */
.status-field{min-width:150px}.shift-pill{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border-radius:999px;background:#eef3f8;color:#334155;font-size:13px;font-weight:700;white-space:nowrap}.shift-pill.open{background:#dcfce7;color:#166534}.shift-pill.closed{background:#fee2e2;color:#991b1b}.danger-note{border-color:#fecaca!important;background:#fff1f2!important;color:#991b1b!important}.shift-card{max-width:520px}.shift-modal-actions{margin-top:18px}.pos-toolbar .btn[disabled]{opacity:.55;cursor:not-allowed}
.shift-pill.outlet{background:#e0f2fe;color:#075985}.terminal-field{min-width:180px}.status-field{min-width:180px}

/* Login flow: Admin tab + POS cashier-code tab */
.login-card-wide{width:min(460px,100%)}
.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;background:#eef3f8;border:1px solid var(--line);border-radius:16px;padding:6px}
.login-tab{border:0;border-radius:12px;background:transparent;color:#4b5c73;font-weight:800;padding:11px 12px;cursor:pointer}
.login-tab.active{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(11,103,209,.18)}
.login-form{display:block}.cashier-code-input{font-size:24px;font-weight:800;letter-spacing:4px;text-align:center}
.outlet-toolbar{justify-content:flex-end}.outlet-toolbar .toolbar-field.wide{min-width:260px}.shift-pill.outlet{background:#e0f2fe;color:#075985}.form-note{grid-column:1/-1;color:var(--muted);background:#f8fbff;border:1px dashed var(--line);border-radius:12px;padding:10px;margin:0}
@media(max-width:900px){.outlet-toolbar{display:grid;grid-template-columns:1fr 1fr}.outlet-toolbar .toolbar-field.wide{min-width:0}.login-tabs{grid-template-columns:1fr}}

/* POS outlet login / shift visibility refinements */
.login-form select.select{height:48px}.pos-toolbar select:disabled{background:#eef3f8;color:#607089;cursor:not-allowed}.pos-toolbar .btn.hidden{display:none!important}.area-tab{transition:background .12s ease,color .12s ease,border-color .12s ease}.table-map{will-change:contents}.map-table{transition:transform .08s ease,border-color .12s ease,background .12s ease}.map-table:active{transform:scale(.98)}
.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.qr-config-form{margin-top:14px}.qr-help{margin-top:12px}.table-qr-print-area{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;max-height:65vh;overflow:auto;padding:8px}.table-qr-label{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;break-inside:avoid}.table-qr-label h2{font-size:24px;margin:0 0 8px}.table-qr-label img{width:180px;height:180px;object-fit:contain}.table-qr-label p{margin:8px 0 4px;font-weight:700}.table-qr-label small{font-size:11px;color:var(--muted);word-break:break-all}.table-qr-print-card{width:min(980px,96vw)}

/* Cashier code is hidden by default, with a visible check toggle */
.password-field{position:relative;display:flex;align-items:center}.password-field .input{padding-right:82px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;border-radius:10px;background:#eef3f8;color:#0f172a;font-weight:700;padding:8px 12px;cursor:pointer}.password-toggle:hover{background:#e2eaf4}.cashier-code-field .cashier-code-input{letter-spacing:4px;text-align:center}.cashier-code-field .cashier-code-input[type=password]{letter-spacing:6px}
.article-btn.has-image{display:grid;grid-template-rows:52px auto auto;gap:6px;align-items:center;justify-items:center;padding:8px;}
.article-btn.has-image img{width:100%;height:52px;object-fit:cover;border-radius:10px;background:#eef3f8;}
.article-btn.has-image strong{max-height:34px;}

.inventory-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end;margin:12px 0 16px}.inventory-line-editor{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(120px,1fr)) auto;gap:10px;align-items:center}.outlet-store-select{min-width:260px}.badge.warn{background:#fff7ed;color:#c2410c}@media(max-width:900px){.inventory-line-editor{grid-template-columns:1fr}.inventory-form{grid-template-columns:1fr}}

.main-store-box {
  align-items: end;
  grid-template-columns: 120px minmax(240px, 1fr) auto;
}
.sub-title {
  margin: 18px 0 10px;
  font-size: 18px;
}

/* Admin grouped menu + Excel/report utilities */
.accordion-menu{gap:10px}.admin-menu-group{border:1px solid #e1eaf5;border-radius:16px;background:#f7fbff;overflow:hidden}.admin-group-toggle{width:100%;border:0;background:#eaf2fb;color:#172033;padding:13px 14px;text-align:left;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.admin-group-toggle:after{content:'+';font-size:18px;color:#607089}.admin-menu-group.open .admin-group-toggle{background:#ddecff;color:#0b4f9c}.admin-menu-group.open .admin-group-toggle:after{content:'−'}.admin-group-body{display:none;flex-direction:column;gap:8px;padding:10px}.admin-menu-group.open .admin-group-body{display:flex}.accordion-menu .admin-nav{width:100%;font-size:15px}.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inline-upload{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:center}.report-filter{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-section .panel-title{align-items:flex-start}.admin-section .panel-title h2{padding-top:8px}@media(max-width:980px){.accordion-menu{flex-direction:column;overflow:visible}.admin-menu-group{min-width:220px}.admin-layout{grid-template-columns:1fr}.inline-upload{grid-template-columns:1fr}.panel-actions{justify-content:flex-start}}

/* Admin consistency refinements: uniform controls, readable tables, reliable accordion */
.admin-shell{font-size:15px;color:#172033}
.admin-content .btn,.admin-content .input,.admin-content .select,.admin-content textarea{min-height:42px;border-radius:12px;font-size:15px;font-weight:500;line-height:1.25;box-sizing:border-box}
.admin-content .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;white-space:nowrap}
.admin-content .btn.small{min-height:36px;padding:0 12px;font-size:14px}
.admin-content .btn.primary{font-weight:600}
.admin-content .btn.danger{font-weight:500}
.admin-table th,.admin-table td{font-size:14px;font-weight:500;vertical-align:middle;line-height:1.35}
.admin-table th{font-weight:600;color:#53627a;background:#f7fafc}
.admin-table strong{font-weight:600}
.admin-table .muted{font-weight:400;color:#6c7a90}
.badge{font-weight:600;border-radius:999px;padding:5px 10px;display:inline-flex;align-items:center;justify-content:center;min-height:24px}
.badge.ok{background:#e8f8ee;color:#126b37}.badge.off{background:#fff1f2;color:#b42318}.badge.warn{background:#fff7ed;color:#b45309}.muted-badge{background:#eef3f8;color:#64748b}
.admin-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:end}
.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;align-items:end}
.admin-form label{font-size:14px;font-weight:600;color:#243047;margin-bottom:4px}
.check-line{display:flex!important;align-items:center;gap:8px;min-height:42px;margin:0;padding:10px 12px;border:1px solid #dce6f2;border-radius:12px;background:#fff;font-weight:500!important;color:#243047!important}
.check-line input{width:16px;height:16px}
.accordion-menu .admin-menu-group.open .admin-group-body{display:flex!important}
.accordion-menu .admin-menu-group:not(.open) .admin-group-body{display:none!important}
.admin-group-toggle{min-height:48px;font-size:16px}.admin-nav{min-height:42px;text-align:left}
@media(max-width:900px){.admin-filter,.admin-form{grid-template-columns:1fr}.panel-title{gap:10px}.panel-actions{width:100%;justify-content:flex-start}.admin-content .btn{width:auto}.table-wrap{overflow:auto}.admin-table{min-width:780px}}

/* Voucher list + modal forms: keep list separate from create/edit form */
.section-desc{margin:0 0 14px;line-height:1.5}.voucher-filter{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.sub-panel{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfdff}.compact-title{margin-bottom:12px}.compact-title h3{margin:0;font-size:17px}.compact-select{min-width:260px}.inventory-modal-card{width:min(1080px,96vw);max-height:92vh;display:flex;flex-direction:column}.voucher-modal-body{overflow:auto;padding-right:4px}.voucher-form .admin-form{grid-template-columns:150px minmax(240px,1fr);align-items:center;margin-bottom:14px}.voucher-form .admin-form>label{margin:0;color:#25324a}.line-card{border:1px solid var(--line);border-radius:16px;background:#f8fbff;padding:14px;margin-top:12px}.line-card h4{margin:0 0 12px;font-size:16px}.line-card .table-wrap{margin-top:12px;background:#fff}.inventory-line-editor{display:grid;grid-template-columns:minmax(260px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto;gap:10px;align-items:center}.inventory-modal-card .admin-table{min-width:640px}.inventory-modal-card .modal-actions{border-top:1px solid var(--line);padding-top:12px}.admin-menu-group:not(.open) .admin-group-body{display:none!important}.admin-menu-group.open .admin-group-body{display:flex!important}.admin-group-toggle{cursor:pointer;user-select:none}
@media(max-width:900px){.voucher-form .admin-form{grid-template-columns:1fr}.compact-title{align-items:flex-start}.compact-title .panel-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.compact-select{min-width:0}.inventory-line-editor{grid-template-columns:1fr}.inventory-modal-card{width:calc(100vw - 20px);max-height:94vh}.inventory-modal-card .admin-table{min-width:620px}.voucher-filter{grid-template-columns:1fr}.modal-actions{justify-content:stretch}.modal-actions .btn{flex:1}}

/* Outlet store assignment: keep main-store config and outlet assignment visually separated. */
.store-flow-cards{display:grid;grid-template-columns:minmax(280px,1.35fr) minmax(260px,.9fr);gap:14px;margin:14px 0 16px}.store-flow-card{border:1px solid var(--line);border-radius:16px;background:#f8fbff;padding:16px}.store-flow-card h3{margin:0 0 6px;font-size:16px}.store-flow-card p{margin:0;line-height:1.5}.store-flow-control{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:center;margin-top:12px}.outlet-store-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:center;margin:14px 0}.outlet-store-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.outlet-store-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;display:grid;grid-template-columns:1fr;gap:12px;box-shadow:0 8px 22px rgba(23,32,51,.05)}.outlet-store-card.missing-store{border-color:#fed7aa;background:#fffaf3}.outlet-store-main{display:flex;align-items:center;gap:12px}.outlet-avatar{width:44px;height:44px;border-radius:14px;background:#eaf2ff;color:#0b67d1;display:grid;place-items:center;font-weight:800}.outlet-store-main h3{margin:0;font-size:16px}.outlet-store-main p{margin:3px 0 0;color:var(--muted);font-size:13px}.outlet-store-current{border:1px dashed var(--line);border-radius:14px;background:#f8fbff;padding:10px 12px}.outlet-store-current>span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.outlet-store-current strong{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px}.outlet-store-current strong span{font-size:12px;color:var(--muted);font-weight:600}.outlet-store-current em{font-style:normal;color:#b45309}.outlet-store-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.outlet-store-empty{border:1px dashed var(--line);border-radius:16px;background:#fbfdff;color:var(--muted);padding:28px;text-align:center}.outlet-store-modal-card{width:min(560px,calc(100vw - 24px))}.outlet-store-modal-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.outlet-store-modal-info>div{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:12px}.outlet-store-modal-info span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.outlet-store-modal-info strong{font-size:15px}.field-label{display:block;font-weight:700;font-size:13px;margin:8px 0 6px}.modal-note{border:1px dashed var(--line);border-radius:12px;padding:10px 12px;background:#fbfdff;margin:12px 0 0}@media(max-width:900px){.store-flow-cards{grid-template-columns:1fr}.store-flow-control,.outlet-store-toolbar{grid-template-columns:1fr}.outlet-store-cards{grid-template-columns:1fr}.outlet-store-actions{align-items:stretch;flex-direction:column}.outlet-store-actions .btn{width:100%}.outlet-store-modal-info{grid-template-columns:1fr}}


/* WebPOS admin/login clarity patch */
.webpos-login-card{font-size:15px}.webpos-login-card .brand-block h1{font-size:30px;line-height:1.15;margin:0}.webpos-login-card .brand-block p{font-size:15px;line-height:1.4;margin:4px 0 0;color:#66758b}.webpos-login-card label{font-size:15px;font-weight:700;color:#172033}.webpos-login-card .input,.webpos-login-card .select{height:48px;font-size:16px;font-weight:500;letter-spacing:0;text-align:left}.webpos-login-card .btn{height:48px;font-size:16px;font-weight:700}.login-tabs{gap:8px}.login-tab{min-height:46px;font-size:16px;font-weight:700;letter-spacing:0}.cashier-code-field .cashier-code-input,.cashier-code-field .cashier-code-input[type=password]{letter-spacing:0;text-align:left;font-size:16px}.password-field .input{padding-right:78px}.password-toggle{font-size:14px;font-weight:700;min-width:58px;height:34px}.webpos-login-card .small{font-size:13px;line-height:1.45}

/* Outlet store list layout: list first, modal for add/change */
.outlet-store-list-wrap{margin-top:12px}.outlet-store-table{min-width:760px}.outlet-store-table td{height:58px}.outlet-store-table .code-sub{display:inline-block;margin-left:8px;font-size:12px}.row-actions{text-align:right;white-space:nowrap}.store-flow-cards{grid-template-columns:1fr 1fr}.store-flow-card h3{font-size:15px}.store-flow-card p{font-size:14px}.outlet-store-toolbar{grid-template-columns:1fr;margin:12px 0}.admin-menu .admin-nav{font-size:15px;font-weight:600}.admin-group-toggle{font-size:16px;font-weight:800}.admin-section .panel-title h2{font-size:20px;font-weight:800}.panel-title .btn,.panel-actions .btn{font-size:15px}.admin-content .btn.primary{font-weight:700}
@media(max-width:900px){.store-flow-cards{grid-template-columns:1fr}.webpos-login-card .brand-block h1{font-size:26px}.login-tab{font-size:15px}.outlet-store-table{min-width:680px}}

/* Patch: responsive consistency, searchable selects, pagination */
.input,.select,textarea,.btn{border-radius:12px;min-height:42px;font-size:15px;line-height:1.25}
.btn{font-weight:650}.btn:disabled{opacity:.55;cursor:not-allowed}.panel-title{align-items:flex-start}.panel-title h2{font-size:20px;font-weight:800;line-height:1.25}.panel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-filter{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.admin-content .input,.admin-content .select,.admin-content textarea{width:100%}.select-search-input{margin-bottom:6px;min-height:38px;padding:9px 12px;border-radius:10px;background:#fbfdff;font-size:14px}.table-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:#64748b;font-size:14px;flex-wrap:wrap}.table-pager>div{display:flex;gap:8px}.table-pager .btn{min-width:78px}.table-pager .btn[disabled]{background:#eef2f7;color:#94a3b8}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 14px;font-size:14px;line-height:1.35}.table-wrap{width:100%;overflow:auto;border-radius:14px}.modal-card{max-width:calc(100vw - 24px);max-height:92vh;overflow:auto}.modal-card.wide{width:min(720px,calc(100vw - 24px))}.admin-form{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.form-note,.login-note-error{border:1px dashed var(--line);border-radius:12px;background:#fbfdff;padding:10px 12px;font-size:13px;line-height:1.45}.login-note-error{border-color:#fecaca;background:#fff1f2;color:#991b1b}

.webpos-login-card{width:min(520px,calc(100vw - 28px));padding:24px}.webpos-login-card .brand-block{align-items:center;margin-bottom:18px}.webpos-login-card .brand-block h1{font-size:30px}.webpos-login-card .brand-block p{font-size:15px}.webpos-login-card label{margin:12px 0 6px;font-size:15px}.login-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#eef3f8;border-radius:16px;padding:6px}.login-tab{border-radius:12px;border:0;min-height:44px;background:transparent;color:#334155;font-size:15px;font-weight:750}.login-tab.active{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(11,103,209,.18)}.login-select-search{margin-bottom:6px}.password-field{width:100%}.password-field .input{width:100%;padding-right:78px}.password-toggle{border-radius:10px}.cashier-code-field .cashier-code-input,.cashier-code-field .cashier-code-input[type=password]{letter-spacing:0!important;text-align:left!important;font-size:16px!important;font-weight:600!important}.webpos-login-card .btn.full{width:100%;height:48px;border-radius:13px}

@media(max-width:980px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative;top:auto;max-height:none}.admin-filter,.admin-form,.report-filter{grid-template-columns:1fr!important}.panel-title{flex-direction:column;align-items:stretch}.panel-actions{justify-content:stretch}.panel-actions .btn,.admin-section>.panel-title>.btn{width:100%}.table-wrap{border:1px solid var(--line);background:#fff}.admin-table{min-width:720px}.admin-content{padding:10px}.modal-card{width:calc(100vw - 20px)}.store-flow-cards{grid-template-columns:1fr!important}.outlet-store-table{min-width:680px}}
@media(max-width:560px){.login-page{align-items:start;padding:18px 10px}.webpos-login-card{padding:18px}.webpos-login-card .brand-block{gap:10px}.webpos-login-card .brand-block h1{font-size:24px}.logo-dot{width:50px;height:50px;border-radius:14px}.login-tab{font-size:14px}.webpos-login-card .input,.webpos-login-card .select,.webpos-login-card .btn{font-size:15px}.small{font-size:12px}.admin-table{min-width:680px}.table-pager{align-items:stretch}.table-pager>div,.table-pager .btn{width:100%}.table-pager>div{display:grid;grid-template-columns:1fr 1fr}.modal-actions{display:grid;grid-template-columns:1fr;gap:8px}.modal-actions .btn{width:100%}}

/* POS tablet/mobile cleanup */
@media(max-width:1100px){.pos-flow-header{display:grid;grid-template-columns:1fr;gap:10px}.pos-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.toolbar-field,.toolbar-field.wide{min-width:0;width:100%}.pos-toolbar .input,.pos-toolbar .select,.pos-toolbar .btn{width:100%;min-height:44px}.table-screen,.order-screen{height:auto;min-height:calc(100vh - 140px)}}
@media(max-width:760px){.pos-header{padding:10px}.pos-brand{align-items:center}.pos-brand strong{font-size:18px}.pos-brand span:not(.brand-icon){font-size:12px}.pos-toolbar{grid-template-columns:1fr}.pos-screen{padding:10px}.table-screen,.order-screen{grid-template-columns:1fr!important;gap:10px}.section-sidebar,.table-map-panel,.order-left-panel,.order-menu-panel{height:auto;min-height:0}.area-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));max-height:220px;overflow:auto}.table-map{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;padding:10px;max-height:56vh}.map-table{height:78px;border-radius:14px}.order-screen{display:flex;flex-direction:column}.order-left-panel{order:1}.order-menu-panel{order:2}.pos-bill-lines{max-height:32vh}.menu-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;max-height:52vh}.article-btn{min-height:78px;border-radius:12px}.article-btn strong{font-size:13px}.article-btn span{font-size:13px}.class-bottom-bar{gap:8px;padding:8px}.class-btn{min-width:110px;padding:10px}.pay-secondary-row{grid-template-columns:1fr}.clean-pay-actions .btn{min-height:44px}.bill-total strong{font-size:26px}.map-actions{min-width:0;width:100%}.map-actions .input{width:100%}}
@media(max-width:420px){.menu-button-grid{grid-template-columns:1fr}.table-map{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-icon{width:34px;height:34px}.pos-toolbar label{font-size:11px}.shift-pill{width:100%;justify-content:center}.panel{padding:12px}}

/* Popup notifications: all app messages/errors show as centered popup, not inline page blocks. */
.toast{position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(520px,calc(100vw - 32px))!important;max-width:min(520px,calc(100vw - 32px))!important;max-height:42vh!important;overflow:auto!important;border-radius:20px!important;padding:18px 20px!important;background:#14213d!important;color:#fff!important;z-index:9999!important;box-shadow:0 20px 70px rgba(15,23,42,.32)!important;text-align:center!important;line-height:1.5!important;white-space:normal!important;word-break:break-word!important;font-weight:650!important;cursor:pointer!important}.toast.error{background:#b42318!important;color:#fff!important}.toast.ok{background:#0d8f51!important;color:#fff!important}.toast.hidden{display:none!important}

/* Admin form hierarchy/dropdown cleanup */
.admin-form{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));align-items:start}
.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.form-field>label{margin:0;font-weight:700;color:#243047;font-size:14px;line-height:1.35}
.form-field-check{justify-content:end}.form-field-check .check-line{margin:0;min-height:46px;width:100%}
.form-note{grid-column:1/-1;margin:0}
.searchable-select-wrap{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}
.searchable-select-wrap .select-search-input{margin:0;min-height:38px;background:#fbfdff}
.searchable-select-wrap .select{width:100%}
.admin-filter>.searchable-select-wrap,.panel-actions>.searchable-select-wrap,.inventory-line-editor>.searchable-select-wrap,.store-flow-control>.searchable-select-wrap{min-width:0}
.outlet-store-modal-card .searchable-select-wrap{margin-bottom:10px}
.voucher-form .admin-form .searchable-select-wrap{width:100%}
@media(max-width:980px){.admin-topbar{position:relative}.top-actions{display:grid;grid-template-columns:1fr;width:100%}.admin-layout{gap:10px}.admin-menu{width:100%}.admin-filter{grid-template-columns:1fr!important}.admin-filter .btn{width:100%}.modal-card.wide{width:calc(100vw - 20px)}}
@media(max-width:560px){.admin-content{padding:0}.admin-section.panel{padding:12px}.admin-form{grid-template-columns:1fr!important}.form-field-check{justify-content:start}.searchable-select-wrap .select-search-input,.searchable-select-wrap .select{min-height:44px}.admin-table th,.admin-table td{padding:10px 12px}.panel-actions{display:grid;grid-template-columns:1fr;width:100%}.panel-actions .btn{width:100%}}

/* v1.0.4: Custom searchable dropdowns, no native popup width/position drift */
.searchable-select-wrap{position:relative;display:block;width:100%;min-width:0;overflow:visible!important}
.searchable-select-wrap .native-select-hidden{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;pointer-events:none!important;appearance:none!important}
.searchable-select-wrap .select-combo-input{width:100%;min-height:46px;padding:12px 42px 12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);outline:none;font-size:15px;line-height:1.25;text-overflow:ellipsis}
.searchable-select-wrap .select-combo-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,103,209,.12)}
.searchable-select-wrap .select-combo-caret{position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;border-radius:10px;background:#eef3fb;color:#334155;font-size:18px;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}
.searchable-select-wrap .select-combo-options{position:absolute;left:0;right:0;top:calc(100% + 6px);width:100%;max-height:min(260px,42vh);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.18);z-index:10050;padding:6px}
.searchable-select-wrap.open .select-combo-options{display:block!important}
.select-combo-option{display:block;width:100%;border:0;background:#fff;color:#172033;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer;line-height:1.35;font-size:14px;white-space:normal;word-break:break-word}
.select-combo-option:hover,.select-combo-option.active{background:#eaf2ff;color:#0755ad;font-weight:700}
.select-combo-option.disabled{color:#94a3b8;background:#fff;cursor:not-allowed;font-weight:500}
.admin-form .form-field,.qr-config-form .form-field,.voucher-form .form-field,.modal-form-field{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}
.admin-form .form-field>label,.qr-config-form .form-field>label,.voucher-form .form-field>label,.modal-form-field>label{margin:0;font-weight:700;color:#243047;font-size:14px;line-height:1.35}
.qr-config-form{grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr));align-items:start;gap:14px}
.voucher-form .admin-form{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-items:start;gap:12px}
.inline-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%}
.outlet-store-modal-card .modal-form-field{margin-top:12px}
.panel-actions .searchable-select-wrap,.compact-title .searchable-select-wrap{min-width:min(320px,100%);width:auto;flex:1 1 260px}
.admin-filter .searchable-select-wrap{min-width:0;width:100%}
.inventory-line-editor{overflow:visible!important}.line-card,.voucher-modal-body,.admin-section,.panel,.modal-card{overflow:visible}.modal-card{max-height:92vh}.admin-content,.admin-layout{overflow:visible}
@media(max-width:980px){.panel-actions .searchable-select-wrap,.compact-title .searchable-select-wrap{width:100%;min-width:0;flex-basis:100%}.qr-config-form,.voucher-form .admin-form{grid-template-columns:1fr!important}.inline-upload{grid-template-columns:1fr}.inline-upload .btn{width:100%}.searchable-select-wrap .select-combo-options{max-height:220px}}
@media(max-width:560px){.searchable-select-wrap .select-combo-input{min-height:46px;font-size:15px}.select-combo-option{padding:12px}.searchable-select-wrap .select-combo-options{max-height:46vh}.qr-config-form,.voucher-form .admin-form{gap:10px}}
/* Keep modals scrollable; dropdowns stay aligned inside each field. */
.modal-card{overflow:auto!important;max-height:92vh!important}
.inventory-modal-card{overflow:auto!important}
.voucher-modal-body{overflow:auto!important}

/* POS checkout split payment */
.checkout-card{width:min(760px,calc(100vw - 24px))!important;overflow:auto!important}.checkout-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.checkout-summary>div{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:10px 12px}.checkout-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.checkout-summary strong{font-size:20px;color:var(--text)}.checkout-summary .remain strong{color:var(--primary)}.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;margin-bottom:14px}.split-payment-box{border:1px solid var(--line);border-radius:16px;background:#fbfdff;padding:12px;display:grid;gap:10px}.split-payment-box h4{margin:0 0 2px}.payment-line{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,210px) auto;gap:10px;align-items:center;border:1px solid #e8eef7;border-radius:14px;background:#fff;padding:10px}.payment-line strong{display:block}.payment-line span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.payment-line.internal-card-line{grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(150px,210px)}.pay-amount-input{text-align:right;font-weight:800}.checkout-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.ok-text{color:var(--ok)!important}.error-text{color:var(--danger)!important}@media(max-width:760px){.payment-line,.payment-line.internal-card-line{grid-template-columns:1fr}.checkout-actions{display:grid;grid-template-columns:1fr}.checkout-actions .btn{width:100%}}

/* POS checkout promotion + dynamic split payment */
.checkout-card{width:min(860px,calc(100vw - 24px))!important;max-height:calc(100vh - 32px)}
.checkout-section{border:1px solid var(--line);border-radius:16px;background:#fbfdff;padding:12px;margin-bottom:12px;display:grid;gap:10px}.split-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.split-title h4{margin:0}.small-text{font-size:13px}.promotion-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.promotion-info{border:1px dashed var(--line);border-radius:12px;background:#fff;padding:10px 12px}.payment-lines{display:grid;gap:10px}.payment-line.dynamic-payment-line{grid-template-columns:minmax(190px,1.1fr) minmax(150px,.9fr) minmax(140px,190px) auto auto}.payment-method-cell{display:grid;gap:6px}.payment-method-cell .line-title{font-size:13px;color:var(--muted);font-weight:700}.remove-payment-line{min-width:42px}.btn.soft{box-shadow:none}.line-card.hidden,.line-qr-btn.hidden{display:none!important}@media(max-width:860px){.promotion-grid,.payment-line.dynamic-payment-line{grid-template-columns:1fr}.split-title .btn{width:100%}.checkout-card{width:calc(100vw - 16px)!important}}

/* POS checkout compact promotion + split payment rows */
.checkout-card{width:min(760px,calc(100vw - 24px))!important;max-height:calc(100vh - 32px);overflow:auto!important}
.checkout-section.promotion-section{padding:12px;margin-bottom:12px}
.promotion-compact{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;align-items:end}
.payment-lines{display:grid;gap:8px}
.payment-line.dynamic-payment-line{grid-template-columns:minmax(180px,1.1fr) minmax(160px,.9fr) minmax(140px,190px) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}
.payment-line.dynamic-payment-line .line-method,.payment-line.dynamic-payment-line .line-amount,.payment-line.dynamic-payment-line .line-card{height:46px}
.payment-method-cell .line-title{display:none!important}
.split-payment-box .small-text,.promotion-info{display:none!important}
@media(max-width:860px){.promotion-compact,.payment-line.dynamic-payment-line{grid-template-columns:1fr}.checkout-card{width:calc(100vw - 16px)!important}.line-qr-btn,.remove-payment-line{width:100%}}

/* Receipt template editor + POS bill print */
.template-editor-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(240px,.45fr);gap:14px;align-items:start}.template-editor{min-height:420px;font-family:Consolas,'Courier New',monospace;line-height:1.45;resize:vertical}.template-help-box{border:1px dashed var(--line);border-radius:16px;background:#fbfdff;padding:14px}.template-help-box h4{margin:0 0 8px}.receipt-print-host{display:none}.receipt-print-body{font-family:Arial,sans-serif;color:#111827}.receipt-head{text-align:center}.receipt-head h2{font-size:18px;margin:0 0 4px}.receipt-head p{margin:0 0 10px}.receipt-meta{font-size:12px;border-top:1px dashed #999;border-bottom:1px dashed #999;padding:8px 0;margin:8px 0}.receipt-meta div,.receipt-total-row,.receipt-payment-row{display:flex;justify-content:space-between;gap:8px}.receipt-table{width:100%;border-collapse:collapse;font-size:12px}.receipt-table th,.receipt-table td{border-bottom:1px solid #eee;padding:5px 2px;text-align:right}.receipt-table th:first-child,.receipt-table td:first-child{text-align:left}.receipt-total-row{font-size:13px;margin-top:6px}.receipt-total-row.grand{font-size:16px;border-top:1px dashed #999;padding-top:8px}.receipt-payment h4{margin:10px 0 4px}.receipt-footer{text-align:center;margin-top:14px;font-size:12px}@media(max-width:900px){.template-editor-grid{grid-template-columns:1fr}.template-editor{min-height:320px}}
@media print{body>*:not(.receipt-print-host){display:none!important}.receipt-print-host{display:block!important}.receipt-print-body{width:72mm;margin:0 auto;padding:0;background:#fff;color:#000;box-shadow:none;font-size:12px}.receipt-print-body *{box-shadow:none!important}.receipt-table th,.receipt-table td{border-color:#ccc!important}.toast,.modal,.topbar,.admin-menu,.admin-content,.pos-shell{display:none!important}@page{size:80mm auto;margin:4mm}}

/* Receipt K80 drag-drop designer */
.receipt-designer-shell{display:flex;flex-direction:column;gap:14px}.panel-soft{border:1px solid var(--line);border-radius:18px;background:#fbfdff;padding:12px}.receipt-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.receipt-designer-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,420px);gap:16px;align-items:start}.receipt-paper-wrap{background:#eef4fb;border:1px dashed #cbd9ea;border-radius:18px;padding:16px;overflow:auto}.receipt-paper-title{font-weight:700;color:#334155;margin-bottom:10px}.receipt-designer-canvas{position:relative;width:272px;min-width:272px;margin:0 auto;background:#fff;border:1px solid #d7e1ee;box-shadow:0 18px 45px rgba(15,23,42,.16);overflow:hidden;background-image:linear-gradient(#eef2f7 1px,transparent 1px),linear-gradient(90deg,#eef2f7 1px,transparent 1px);background-size:8px 8px}.receipt-design-work-item{position:absolute;box-sizing:border-box;border:1px dashed transparent;border-radius:5px;padding:1px 2px;cursor:move;user-select:none;overflow:hidden;color:#000;background:rgba(255,255,255,.72)}.receipt-design-work-item:hover,.receipt-design-work-item.selected{border-color:#1267d6;background:rgba(224,239,255,.92);box-shadow:0 0 0 2px rgba(18,103,214,.12)}.receipt-item-zone{border-color:#f59e0b;background:rgba(255,251,235,.82);overflow:visible}.receipt-item-zone .receipt-table{max-height:calc(100% - 18px);overflow:hidden}.receipt-payment-zone{overflow:visible}.receipt-item-zone.selected{border-color:#d97706;box-shadow:0 0 0 2px rgba(245,158,11,.22)}.receipt-payment-zone{border-color:#10b981;background:rgba(236,253,245,.82)}.receipt-zone-caption{position:absolute;left:4px;top:-18px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;white-space:nowrap;z-index:2}.receipt-payment-zone .receipt-zone-caption{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.receipt-zone-bottom{position:absolute;left:4px;right:4px;bottom:1px;border-top:1px dashed #f59e0b;color:#92400e;font-size:9px;line-height:14px;text-align:center;background:rgba(255,251,235,.75)}.receipt-element-hint{color:#475569;font-size:13px;line-height:1.45}.receipt-element-hint b{color:#0f172a}.receipt-design-work-item img{width:100%;height:100%;object-fit:contain;display:block}.receipt-work-line{height:1px;border-top:1px dashed #111;margin-top:0}.receipt-drag-hint{position:absolute;right:2px;top:1px;font-size:10px;line-height:1;color:#1267d6;opacity:.5}.receipt-props h3{margin:0 0 12px}.receipt-prop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.receipt-bold-check{margin-top:6px}.template-help-box.compact{margin-top:12px}.receipt-print-body .receipt-design-page{position:relative;width:72mm!important;min-height:0;background:#fff}.receipt-print-body .receipt-design-item{box-sizing:border-box}.receipt-print-body .receipt-design-item img{max-width:100%;max-height:100%}.receipt-print-body .receipt-design-item[data-type="line"]{padding:0!important}.receipt-print-body .receipt-table{width:100%;border-collapse:collapse;font-size:11px}.receipt-print-body .receipt-table th,.receipt-print-body .receipt-table td{border-bottom:1px solid #ddd;padding:4px 1px;text-align:right}.receipt-print-body .receipt-table th:first-child,.receipt-print-body .receipt-table td:first-child{text-align:left}.receipt-print-body .receipt-payment-row{display:flex;justify-content:space-between;gap:6px;margin-top:4px}@media(max-width:1100px){.receipt-designer-layout{grid-template-columns:1fr}.receipt-props{order:-1}.receipt-paper-wrap{max-width:100%;overflow:auto}}@media(max-width:640px){.receipt-toolbar .btn{width:100%}.receipt-prop-grid{grid-template-columns:1fr}.receipt-paper-wrap{padding:10px}.receipt-designer-canvas{margin-left:0}}
@media print{.receipt-print-host{display:block!important}.receipt-print-body{width:72mm;margin:0 auto;padding:0;background:#fff;color:#000;box-shadow:none;font-size:12px}.receipt-print-body .receipt-design-page{width:72mm!important;margin:0 auto}.receipt-print-body .receipt-design-item{border:0!important;background:transparent!important;box-shadow:none!important}.receipt-print-body .receipt-drag-hint{display:none!important}@page{size:80mm auto;margin:4mm}}

.receipt-items-title{font-weight:700;border-bottom:1px dashed #999;padding:0 0 3px;margin:0 0 4px;text-align:left}.receipt-items-list{width:100%;font-size:inherit;line-height:1.25}.receipt-item-line{border-bottom:1px dotted #d1d5db;padding:3px 0 4px}.receipt-item-name{font-weight:600;text-align:left;white-space:normal;word-break:break-word}.receipt-item-meta{display:flex;justify-content:space-between;gap:8px;margin-top:2px;font-size:.95em}.receipt-item-meta strong{font-weight:700;text-align:right;white-space:nowrap}.receipt-items-table th,.receipt-items-table td{font-size:inherit}.receipt-print-body .receipt-items-title{font-weight:700;border-bottom:1px dashed #999;padding:0 0 3px;margin:0 0 4px;text-align:left}.receipt-print-body .receipt-items-list{width:100%;font-size:inherit;line-height:1.25}.receipt-print-body .receipt-item-line{border-bottom:1px dotted #d1d5db;padding:3px 0 4px}.receipt-print-body .receipt-item-name{font-weight:600;text-align:left;white-space:normal;word-break:break-word}.receipt-print-body .receipt-item-meta{display:flex;justify-content:space-between;gap:8px;margin-top:2px;font-size:.95em}.receipt-print-body .receipt-item-meta strong{font-weight:700;text-align:right;white-space:nowrap}
.receipt-field-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 10px}.receipt-field-buttons .btn{padding:8px 10px;font-size:13px}.receipt-items-custom{position:relative;width:100%;line-height:1.15}.receipt-item-custom-row{position:relative;box-sizing:border-box;width:100%;page-break-inside:avoid}.receipt-item-field-preview{position:absolute;box-sizing:border-box;border:1px dashed transparent;border-radius:4px;padding:0 2px;line-height:1.2;cursor:move;background:rgba(255,255,255,.15)}.receipt-item-field-preview:hover,.receipt-item-field-preview.selected{border-color:#2563eb;background:rgba(219,234,254,.9)}.receipt-item-field-template{box-sizing:border-box;line-height:1.2}.receipt-print-body .receipt-items-custom{position:relative;width:100%;line-height:1.15}.receipt-print-body .receipt-item-custom-row{position:relative;box-sizing:border-box;width:100%;page-break-inside:avoid}.receipt-print-body .receipt-item-field-template{box-sizing:border-box;line-height:1.2}.receipt-print-body .receipt-item-field-preview{border:0;background:transparent;padding:0 2px}


/* Receipt print fix: RenderBody is wrapped inside <main>, so the print host is not a direct body child.
   Keep <main> visible during receipt printing and hide only non-receipt siblings. */
@media print{
  body.receipt-printing{background:#fff!important;margin:0!important;padding:0!important;}
  body.receipt-printing>main{display:block!important;margin:0!important;padding:0!important;background:#fff!important;}
  body.receipt-printing>*:not(main){display:none!important;}
  body.receipt-printing>main>*:not(.receipt-print-host){display:none!important;}
  body.receipt-printing .receipt-print-host{display:block!important;position:static!important;width:72mm!important;min-height:20mm!important;margin:0 auto!important;padding:0!important;background:#fff!important;color:#000!important;overflow:visible!important;}
  body.receipt-printing .receipt-print-body{display:block!important;width:72mm!important;margin:0 auto!important;padding:0!important;background:#fff!important;color:#000!important;overflow:visible!important;}
  body.receipt-printing .receipt-print-body .receipt-design-page{display:block!important;position:relative!important;width:72mm!important;margin:0!important;background:#fff!important;color:#000!important;overflow:visible!important;}
  body.receipt-printing .receipt-print-body .receipt-design-item{display:block!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#000!important;}
  body.receipt-printing .receipt-print-body .receipt-drag-hint,
  body.receipt-printing .receipt-print-body .receipt-zone-caption,
  body.receipt-printing .receipt-print-body .receipt-zone-bottom{display:none!important;}
  @page{size:80mm 297mm;margin:4mm;}
}
/* v1.0.22 receipt designer cleanup */
.receipt-template-scope-row{display:grid;grid-template-columns:minmax(260px,420px);gap:12px;margin:8px 0 14px}
.receipt-print-line{display:block;width:100%;height:0;border-top:1px dashed #000!important;margin:0;padding:0;box-sizing:border-box}
.receipt-design-work-item[data-type="line"]{padding:0!important;background:transparent!important}
.receipt-design-work-item[data-type="line"] .receipt-work-line{border-top:1px dashed #111;height:0;width:100%}
.receipt-zone-caption,.receipt-zone-bottom{display:none!important}
@media print{body.receipt-printing .receipt-print-body .receipt-print-line{display:block!important;border-top:1px dashed #000!important;height:0!important;width:100%!important}}
@media(max-width:640px){.receipt-template-scope-row{grid-template-columns:1fr}}

/* v1.0.23 bill list + receipt designer scope/shift */
.receipt-scope-card{grid-template-columns:minmax(260px,1fr) minmax(260px,420px);align-items:end;border:1px solid var(--line);border-radius:18px;background:#fbfdff;padding:12px}.receipt-scope-card strong{display:block;margin-bottom:4px}.receipt-shift-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.receipt-shift-tools .input{width:76px;min-width:76px;padding:10px}.bill-detail-card{max-width:980px}.bill-detail-body{display:flex;flex-direction:column;gap:14px;max-height:70vh;overflow:auto}.bill-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.bill-summary-grid>div{border:1px solid var(--line);border-radius:14px;background:#fbfdff;padding:10px}.bill-summary-grid span{display:block;color:var(--muted);font-size:13px;margin-bottom:4px}.bill-summary-grid strong{font-size:16px}.pos-bill-filter{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.receipt-print-body .receipt-print-line{display:block!important;border-top:1px dashed #000!important;height:0!important;width:100%!important;min-height:0!important;background:transparent!important}.receipt-print-body .receipt-design-item[data-type="line"]{display:block!important;overflow:visible!important;border:0!important}.receipt-zone-caption,.receipt-zone-bottom,.receipt-drag-hint{display:none!important}
@media(max-width:720px){.receipt-scope-card{grid-template-columns:1fr}.receipt-shift-tools,.receipt-shift-tools .btn{width:100%}.receipt-shift-tools .input{width:100%}}

/* v1.0.24: clearer reports + bill list/detail */
.report-menu-list{max-height:420px;overflow:auto;padding-right:2px}.report-menu-list .admin-nav{font-size:14px;padding:10px 12px}.compact-desc{margin:4px 0 0}.report-type-strip{display:flex;gap:8px;overflow:auto;padding:0 0 10px;margin:-4px 0 12px}.report-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;white-space:nowrap;cursor:pointer;font-weight:700;color:#23304a}.report-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.report-filter-clean{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}.report-table-wrap,.bill-table-wrap{max-height:calc(100vh - 280px);overflow:auto}.report-table th,.report-table td,.bill-list-table th,.bill-list-table td{white-space:nowrap}.bill-list-table{min-width:900px}.bill-row td{vertical-align:middle!important}.bill-row td>span,.bill-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.amount-cell{text-align:right!important;font-weight:900;color:var(--primary)}.row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.row-actions .btn{min-width:54px}.bill-detail-card{width:min(900px,calc(100vw - 28px))!important;max-width:900px!important}.bill-detail-body{max-height:72vh;overflow:auto;padding-right:2px}.bill-detail-clean{display:grid;gap:14px}.bill-detail-hero{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:stretch}.bill-detail-hero>div,.bill-meta-grid>div{border:1px solid var(--line);background:#fbfdff;border-radius:14px;padding:12px}.bill-detail-hero span,.bill-meta-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.bill-detail-hero strong{font-size:17px}.bill-detail-hero small{display:block;color:var(--muted);margin-top:4px}.bill-total-amount{font-size:24px!important;color:var(--primary)!important}.bill-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.bill-detail-section{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.bill-detail-section h4{margin:0;padding:12px 14px;background:#f8fbff;border-bottom:1px solid var(--line)}.bill-detail-lines,.bill-payment-lines{display:grid}.bill-detail-line,.bill-payment-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.bill-detail-line:last-child,.bill-payment-line:last-child{border-bottom:0}.bill-detail-line-main strong{display:block}.bill-detail-line-main span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.bill-detail-line-meta{display:flex;gap:14px;align-items:center;justify-content:flex-end;white-space:nowrap}.bill-detail-line-meta span{color:var(--muted)}.bill-payment-line small{grid-column:1/-1;color:var(--muted)}.clean-empty{border:0!important;padding:18px!important}.pos-bill-list-table{min-width:760px}.pos-bill-filter{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
@media(max-width:760px){.report-type-strip{padding-bottom:8px}.bill-list-table,.pos-bill-list-table{min-width:720px}.bill-detail-hero{grid-template-columns:1fr}.bill-detail-line,.bill-payment-line{grid-template-columns:1fr}.bill-detail-line-meta{justify-content:space-between}.row-actions{justify-content:flex-start}.report-table-wrap,.bill-table-wrap{max-height:60vh}}
.report-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 12px}.report-summary-cards>div{border:1px solid var(--line);background:#fbfdff;border-radius:14px;padding:12px}.report-summary-cards span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.report-summary-cards strong{font-size:20px;color:var(--primary)}
.bill-edit-grid{display:grid;grid-template-columns:100px 130px minmax(180px,1fr);gap:8px;align-items:end}.bill-edit-grid label,.bill-edit-note label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.bill-edit-grid .input,.bill-edit-note .input{padding:9px 10px;border-radius:10px}.bill-edit-note{border:1px dashed var(--line);border-radius:14px;background:#fbfdff;padding:12px}.bill-payment-line.bill-edit-payment{grid-template-columns:minmax(160px,1fr) 180px auto}.bill-payment-line.bill-edit-payment .input{padding:9px 10px;border-radius:10px}.bill-actions{min-width:180px}.report-filter-clean + .report-summary-cards{margin-top:10px}@media(max-width:760px){.bill-edit-grid,.bill-payment-line.bill-edit-payment{grid-template-columns:1fr}.bill-actions{min-width:0}}

.webpos-login-card .login-form{display:grid;gap:0}
.form-field-wide{grid-column:1/-1}.bill-number-form .input[readonly]{background:#f8fbff;font-weight:700;color:#0f172a}.qr-config-form .form-field-check{align-self:end}

/* v1.0.6: Login POS searchable combo in one line */
.login-combo{position:relative;width:100%;min-width:0;margin:0 0 4px;z-index:5}
.login-combo-input{width:100%;height:48px;min-height:48px;padding-right:50px!important;font-size:16px!important;font-weight:650!important;text-overflow:ellipsis}
.login-combo-input:focus,.login-combo.open .login-combo-input{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,103,209,.12)}
.login-combo-input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}
.login-combo-caret-button{position:absolute;right:8px;top:8px;width:32px;height:32px;border:0;border-radius:10px;background:#eef3f8;color:#334155;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;cursor:pointer;z-index:2}
.login-combo-caret-button:disabled{opacity:.55;cursor:not-allowed}
.login-combo-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(15,23,42,.18);padding:6px;z-index:10060}
.login-combo-options{max-height:min(260px,42vh);overflow:auto;display:grid;gap:4px}
.login-combo-option{width:100%;border:0;border-radius:10px;background:#fff;color:#172033;text-align:left;padding:11px 12px;cursor:pointer;font-size:14px;font-weight:600;line-height:1.35;white-space:normal;word-break:break-word}
.login-combo-option:hover,.login-combo-option.active{background:#eaf2ff;color:#0755ad}
.login-combo-empty{color:#94a3b8;padding:12px;font-size:14px;text-align:center}
.form-note,.modal-note{display:none!important}
@media(max-width:560px){.login-combo-input{height:46px;min-height:46px;font-size:15px!important}.login-combo-panel{max-height:54vh;overflow:auto}.login-combo-options{max-height:42vh}}

.transfer-line-editor{grid-template-columns:minmax(260px,2fr) minmax(140px,1fr) auto}
@media(max-width:900px){.transfer-line-editor{grid-template-columns:1fr}}


/* POS menu group visibility fix */
.pos-shell.pos-kiosk{height:100dvh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.pos-flow-header{flex:0 0 auto;min-height:0}
.pos-screen{flex:1 1 auto;height:auto;min-height:0;overflow:hidden}
.pos-screen.hidden{display:none!important}
.table-screen,.order-screen{min-height:0}
.order-screen{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}
.order-left-panel,.order-menu-panel{min-height:0}
.order-menu-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-height:0}
.order-menu-panel .panel-title{margin-bottom:0}
.order-menu-panel .class-bottom-bar{grid-row:2;min-height:58px;overflow-x:auto;overflow-y:hidden;position:relative;z-index:2;scrollbar-gutter:stable}
.order-menu-panel .menu-button-grid{grid-row:3;min-height:0;overflow:auto;align-content:start}
.class-btn{white-space:nowrap}
@media(max-width:1200px){.pos-shell.pos-kiosk{height:auto;min-height:100dvh;overflow:visible}.pos-screen{height:auto;min-height:calc(100dvh - 112px);overflow:visible}.order-menu-panel .menu-button-grid{max-height:60vh}}
@media(max-width:900px){.order-screen{grid-template-columns:1fr}.order-menu-panel{min-height:70vh}.order-menu-panel .menu-button-grid{max-height:none}}
/* Customer display advertising/payment layout */
.display-body{margin:0;overflow:hidden;background:#050b18;color:#fff}.display-shell-v2{position:fixed;inset:0;min-height:100vh;padding:0;background:#050b18;display:block}.display-view{position:absolute;inset:0;overflow:hidden}.advertising-view{display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,rgba(36,116,255,.42),transparent 35%),linear-gradient(135deg,#07111f,#112646 55%,#06101d)}.display-media-wrap{position:absolute;inset:0;background:linear-gradient(135deg,#07111f,#112646)}.display-media-wrap.empty-media:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 35%,rgba(255,255,255,.16),transparent 25%),radial-gradient(circle at 30% 70%,rgba(11,103,209,.22),transparent 30%)}.display-media{width:100%;height:100%;object-fit:cover;display:block}.display-media-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.58))}.display-ad-content{position:relative;z-index:2;width:min(1180px,92vw);text-align:center;padding:40px;text-shadow:0 8px 28px rgba(0,0,0,.55)}.display-device{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 18px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.86);font-size:clamp(16px,1.6vw,24px);margin:0 0 24px}.display-ad-content h1{margin:0;font-size:clamp(46px,7vw,104px);line-height:1.05;font-weight:900}.display-ad-content p:not(.display-device){margin:26px auto 0;font-size:clamp(24px,3vw,48px);max-width:980px;color:rgba(255,255,255,.9)}.payment-view{display:grid;place-items:center;background:radial-gradient(circle at top,#dceeff,#f4f7fb 42%,#e6edf7);color:#172033;padding:4vh 4vw}.display-payment-card{width:min(880px,94vw);min-height:min(92vh,980px);background:#fff;border-radius:32px;box-shadow:0 22px 70px rgba(23,32,51,.28);text-align:center;padding:clamp(26px,4vw,52px);display:flex;flex-direction:column;align-items:center;justify-content:center}.display-payment-card h1{margin:0 0 10px;font-size:clamp(34px,4vw,58px)}.display-payment-card .display-device{background:#eaf2ff;color:#345}.display-payment-card .display-table{font-size:clamp(22px,2.4vw,34px);margin:12px 0;color:#4b5a70}.display-payment-card .display-amount{font-size:clamp(48px,6.2vw,86px);font-weight:900;color:var(--primary);margin:14px 0 22px}.display-payment-card .display-qr{width:min(45vh,430px);max-width:78vw;border:18px solid #fff;border-radius:26px;box-shadow:0 12px 42px rgba(23,32,51,.22)}.display-payment-card .display-note{font-size:clamp(18px,1.7vw,28px);margin:18px 0 0;color:#4b5a70}.display-payment-card .display-status{font-size:clamp(20px,2vw,32px);font-weight:800;color:#0d8f51;margin:18px 0 0}.display-fullscreen-btn{position:fixed;right:18px;bottom:18px;z-index:10;border:0;border-radius:999px;padding:12px 18px;background:rgba(255,255,255,.88);color:#10203a;box-shadow:0 10px 30px rgba(0,0,0,.22);cursor:pointer}.admin-textarea{min-height:110px;resize:vertical;line-height:1.45}.form-field.full-row{grid-column:1/-1}@media(max-width:760px){.display-ad-content{padding:22px}.display-payment-card{border-radius:22px;padding:22px}.display-payment-card .display-qr{border-width:10px}.display-fullscreen-btn{right:10px;bottom:10px}}

/* Display media library + designer */
.display-media-field,.display-designer-field{grid-column:1/-1}.display-media-actions{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:center}.display-selected-media{display:flex;flex-wrap:wrap;gap:8px;min-height:38px;align-items:center}.media-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;border:1px solid var(--line);border-radius:999px;background:#f8fbff;padding:7px 8px 7px 12px}.media-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(520px,62vw)}.media-chip button{border:0;background:#feeceb;color:#b42318;border-radius:50%;width:24px;height:24px;cursor:pointer}.display-media-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fbfdff;padding:10px}.display-media-tile{border:2px solid transparent;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(23,32,51,.08);overflow:hidden;padding:0;cursor:pointer;text-align:left}.display-media-tile img,.display-media-tile video{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#edf3fb}.display-media-tile span{display:block;padding:8px 10px;font-size:13px;color:#25324a}.display-media-tile.selected{border-color:var(--primary);background:#eef6ff}.display-designer-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.display-designer-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,360px);gap:12px;align-items:start}.display-designer-stage{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#101827;min-height:260px}.display-designer-bg{position:absolute;inset:0}.display-designer-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.52))}.display-designer-bg img,.display-designer-bg video{width:100%;height:100%;object-fit:cover;display:block}.designer-bg-empty{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.62);font-size:24px;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.16),transparent 28%),linear-gradient(135deg,#07111f,#12345b)}#displayDesignerRegions{position:absolute;inset:0;z-index:2}.display-design-region{position:absolute;border:2px dashed rgba(255,255,255,.75);border-radius:12px;background:rgba(0,0,0,.28);color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:move;padding:6px}.display-design-region.selected{border-style:solid;box-shadow:0 0 0 3px rgba(255,255,255,.25)}.display-design-region img,.display-design-region video{width:100%;height:100%;object-fit:cover;border-radius:8px}.display-designer-inspector{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:8px}.designer-inspector-title{font-weight:800;color:#172033}.designer-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.designer-size-grid label{display:flex;flex-direction:column;gap:4px}.display-region-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.display-region{position:absolute;color:#fff;display:flex;align-items:center;justify-content:center;padding:.35em .45em;white-space:pre-wrap;line-height:1.15;text-shadow:0 .12em .7em rgba(0,0,0,.72);overflow:hidden}.display-region-media{padding:0;text-shadow:none;border-radius:18px;box-shadow:0 12px 44px rgba(0,0,0,.3)}.display-region img,.display-region video{width:100%;height:100%;object-fit:cover;display:block}.advertising-view.has-custom-regions .display-media-wrap:after{background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.5))}.ad-layout-media-left .advertising-view,.ad-layout-media-right .advertising-view,.ad-layout-media-top .advertising-view{display:flex;align-items:center}.ad-layout-media-left .display-media-wrap{right:45%;inset:0 45% 0 0}.ad-layout-media-left .display-ad-content{width:45vw;margin-left:55vw;text-align:left}.ad-layout-media-right .display-media-wrap{left:45%;inset:0 0 0 45%}.ad-layout-media-right .display-ad-content{width:45vw;margin-right:55vw;text-align:left}.ad-layout-media-top .display-media-wrap{bottom:32%;inset:0 0 32% 0}.ad-layout-media-top .display-ad-content{align-self:flex-end;width:100%;padding-bottom:5vh}.ad-layout-custom .display-ad-content{display:none}@media(max-width:900px){.display-media-actions,.display-designer-grid{grid-template-columns:1fr}.display-media-library{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:220px}.display-designer-stage{min-height:220px}.media-chip span{max-width:72vw}}

/* Display device modal: wider, cleaner Media library and usable 16:9 designer */
#adminModal .modal-card.display-modal-card{width:min(1280px,calc(100vw - 24px));max-height:94vh!important;padding:20px;display:flex;flex-direction:column;overflow:hidden!important}
#adminModal .display-modal-card .modal-head,#adminModal .display-modal-card .modal-actions{flex:0 0 auto}
#adminModal .display-modal-card .admin-form{flex:1 1 auto;overflow:auto;padding:0 6px 4px 0;grid-template-columns:repeat(2,minmax(260px,1fr));align-content:start}
#adminModal .display-form .display-media-field,#adminModal .display-form .display-designer-field,#adminModal .display-form .form-field.full-row{grid-column:1/-1}
.display-upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.display-upload-btn{min-width:160px}
.display-media-actions{grid-template-columns:auto auto minmax(0,1fr)!important;justify-content:start}
.display-selected-media{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-items:stretch;min-height:0!important}
.selected-media-card{position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(23,32,51,.08)}
.selected-media-card img,.selected-media-card video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#edf3fb}
.selected-media-card span{display:block;padding:8px 34px 8px 10px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#27344c}
.selected-media-card button{position:absolute;right:6px;bottom:6px;border:0;background:#feeceb;color:#b42318;border-radius:50%;width:26px;height:26px;cursor:pointer}
.display-media-library{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:230px!important}
.display-media-tile span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:2px!important}.display-media-tile strong{display:block;padding:0 10px 9px;font-size:12px;color:var(--primary)}
#adminModal .display-form .display-designer-grid{grid-template-columns:minmax(520px,1fr) minmax(320px,380px);gap:16px;width:100%}
#adminModal .display-form .display-designer-stage{min-height:360px;width:100%}
#adminModal .display-form .display-designer-inspector{position:sticky;top:0;max-height:70vh;overflow:auto}
.display-design-region-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;pointer-events:none}.display-design-region-content img,.display-design-region-content video{width:100%;height:100%;object-fit:cover;display:block}.display-region-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;border-radius:10px 0 10px 0;background:rgba(255,255,255,.92);box-shadow:0 0 0 1px rgba(0,0,0,.2);cursor:nwse-resize}.display-region-resize:before{content:"";position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid #0b67d1;border-bottom:2px solid #0b67d1}
@media(max-width:980px){#adminModal .modal-card.display-modal-card{width:calc(100vw - 16px);padding:14px}#adminModal .display-modal-card .admin-form{grid-template-columns:1fr}#adminModal .display-form .display-designer-grid{grid-template-columns:1fr}#adminModal .display-form .display-designer-stage{min-height:260px}.display-media-actions{grid-template-columns:1fr!important}.display-upload-btn,.display-media-actions .btn{width:100%}}

/* Fix màn hình phụ designer: không dùng dropdown URL, không render video thật trong Admin để tránh lag */
.video-thumb{width:100%;aspect-ratio:16/9;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#172033,#2d3c58);color:#fff;text-align:center;padding:10px;border-radius:inherit;overflow:hidden}
.video-thumb span{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;max-width:100%;padding:4px 10px!important;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px!important;font-weight:800;letter-spacing:.08em;color:#fff!important}
.video-thumb small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.82);font-size:12px}
.display-media-tile .video-thumb,.selected-media-card .video-thumb{border-radius:0;aspect-ratio:16/10;min-height:86px}.selected-media-card .video-thumb{aspect-ratio:16/9}
.display-design-region .video-thumb{height:100%;aspect-ratio:auto;min-height:0;border-radius:8px;background:rgba(20,31,50,.92)}
.display-designer-bg .video-thumb{position:absolute;inset:0;height:100%;aspect-ratio:auto;border-radius:0;background:linear-gradient(135deg,#07111f,#12345b)}
.display-region-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:8px}
.display-region-media-option{border:2px solid transparent;border-radius:12px;background:#fff;padding:0;overflow:hidden;text-align:left;cursor:pointer;box-shadow:0 4px 14px rgba(23,32,51,.08)}
.display-region-media-option.selected{border-color:var(--primary);background:#eef6ff}.display-region-media-option img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#edf3fb}.display-region-media-option span{display:block;padding:7px 8px;font-size:12px;color:#25324a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display-region-media-option .video-thumb{border-radius:0;min-height:78px}
#adminModal .display-form .display-designer-inspector select[data-display-region-field="mediaUrl"]{display:none!important}
.display-design-region{will-change:left,top,width,height;touch-action:none}.display-designer-stage{contain:layout paint}.display-designer-inspector{min-width:0}.display-designer-inspector .input,.display-designer-inspector .select{width:100%}
@media(max-width:980px){.display-region-media-grid{grid-template-columns:1fr;max-height:180px}}

/* WebPOS v1.0.3 - Fix màn hình QR phụ bị khuất trên màn hình thấp/không đúng tỉ lệ */
.display-body{width:100vw;height:100vh;min-height:100vh;overflow:hidden}.display-body .display-shell-v2{width:100vw;height:100vh;min-height:0;overflow:hidden}.display-body .payment-view{padding:clamp(6px,1.4vmin,18px);align-items:center;justify-items:center;overflow:hidden}.display-body .display-payment-card{--display-payment-scale:1;width:min(820px,96vw);max-width:96vw;max-height:96vh;min-height:0!important;overflow:hidden;padding:clamp(10px,2.2vmin,32px);gap:clamp(4px,.8vmin,10px);border-radius:clamp(18px,3vmin,32px);transform:scale(var(--display-payment-scale));transform-origin:center center;will-change:transform}.display-body .display-payment-card.is-scaled{box-shadow:0 14px 42px rgba(23,32,51,.24)}.display-body .display-payment-card .display-device{font-size:clamp(13px,2vmin,22px);padding:clamp(5px,.9vmin,8px) clamp(12px,2.2vmin,18px);margin:0 0 clamp(3px,.9vmin,12px)}.display-body .display-payment-card h1{font-size:clamp(26px,5.4vmin,58px);line-height:1.08;margin:0 0 clamp(2px,.6vmin,8px)}.display-body .display-payment-card .display-table{font-size:clamp(16px,3.1vmin,34px);line-height:1.12;margin:clamp(2px,.7vmin,8px) 0;color:#4b5a70}.display-body .display-payment-card .display-amount{font-size:clamp(42px,8.6vmin,86px);line-height:1;font-weight:900;margin:clamp(4px,1.2vmin,16px) 0 clamp(8px,1.8vmin,20px)}.display-body .display-payment-card .display-qr{width:min(35vh,35vw,360px);max-width:70vw;max-height:38vh;height:auto;border-width:clamp(8px,1.8vmin,18px);border-radius:clamp(16px,2.4vmin,26px);object-fit:contain}.display-body .display-payment-card .display-note{font-size:clamp(14px,2.5vmin,28px);line-height:1.18;margin:clamp(5px,1.2vmin,14px) 0 0;max-width:92%}.display-body .display-payment-card .display-status{font-size:clamp(15px,2.8vmin,32px);line-height:1.15;margin:clamp(5px,1.2vmin,14px) 0 0}.display-body .display-fullscreen-btn{font-size:clamp(12px,1.8vmin,16px);padding:clamp(8px,1.2vmin,12px) clamp(12px,2vmin,18px);right:clamp(8px,1.6vmin,18px);bottom:clamp(8px,1.6vmin,18px)}@media(max-height:640px){.display-body .display-payment-card{width:min(720px,96vw);padding:clamp(8px,1.6vmin,20px);gap:3px}.display-body .display-payment-card .display-device{margin-bottom:2px}.display-body .display-payment-card h1{font-size:clamp(24px,5.2vmin,44px)}.display-body .display-payment-card .display-amount{font-size:clamp(40px,8.2vmin,70px)}.display-body .display-payment-card .display-qr{width:min(31vh,31vw,300px);max-height:34vh}.display-body .display-payment-card .display-note,.display-body .display-payment-card .display-status{margin-top:4px}}@media(max-height:520px){.display-body .display-payment-card .display-note{display:none}.display-body .display-payment-card .display-qr{width:min(29vh,29vw,250px);max-height:31vh}}

/* UI polish: đồng bộ font/menu/admin report */
:root{--bg:#f6f8fb;--text:#111827;--muted:#667085;--primary:#0b67d1;--primary2:#0755ad;--line:#e4eaf2;--soft:#eef4ff;--shadow:0 10px 28px rgba(16,24,40,.08);--radius:16px}
html,body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:15px;font-weight:400;letter-spacing:0;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit;font-weight:400}.topbar{padding:12px 20px;background:rgba(248,250,252,.96);box-shadow:0 1px 0 rgba(16,24,40,.03)}.brand{font-size:19px;font-weight:500;letter-spacing:0}.brand strong{font-weight:500}.brand-icon{width:40px;height:40px;border-radius:11px;font-size:13px;font-weight:600;letter-spacing:.01em}
h1,h2,h3,h4,.panel-title h2,.admin-section .panel-title h2{font-weight:600;letter-spacing:-.015em}.admin-section .panel-title h2{font-size:20px}.section-desc{font-size:14px;font-weight:400;color:var(--muted)}
.btn{border-radius:12px;font-weight:500;border:1px solid transparent;box-shadow:none}.btn.ghost{background:#fff;border-color:var(--line)}.btn.danger{background:#fff1f0;color:#c5221f}.btn.small{font-size:13px;padding:8px 12px}.input,.select{min-height:44px;border-radius:12px;background:#fff;font-size:14px;font-weight:400}.panel,.login-card,.center-card,.modal-card,.display-card,.pay-card{box-shadow:var(--shadow);border-color:rgba(228,234,242,.95)}
.admin-layout{grid-template-columns:300px minmax(0,1fr);gap:18px;padding:18px}.admin-menu.panel{padding:14px;background:#fff;border-radius:20px;box-shadow:0 8px 24px rgba(16,24,40,.06)}.admin-menu-group{border:0;background:transparent;border-radius:14px;overflow:hidden}.admin-menu-group+.admin-menu-group{margin-top:8px}.admin-group-toggle{min-height:48px;border-radius:14px;background:#f3f6fa;color:#1f2937;padding:12px 14px;font-size:15px;font-weight:500;letter-spacing:0}.admin-group-toggle:after{font-size:17px;color:#728096}.admin-menu-group.open .admin-group-toggle{background:#eaf2ff;color:#0b4f9c}.admin-group-body{gap:4px;padding:8px 4px 4px 10px;border-left:2px solid #e8eef7;margin-left:12px}.accordion-menu .admin-nav,.admin-menu .admin-nav{position:relative;width:100%;min-height:40px;border-radius:12px;background:transparent;color:#344054;padding:10px 12px;font-size:14px;font-weight:400;line-height:1.35;letter-spacing:0}.accordion-menu .admin-nav:hover{background:#f5f8fc;color:#0b4f9c}.accordion-menu .admin-nav.active{background:#0b67d1;color:#fff;font-weight:500;box-shadow:0 6px 16px rgba(11,103,209,.16)}.report-menu-list{max-height:calc(100vh - 300px);overflow:auto;padding-right:4px}.report-menu-list::-webkit-scrollbar,.admin-menu::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{width:8px;height:8px}.report-menu-list::-webkit-scrollbar-thumb,.admin-menu::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.report-menu-list::-webkit-scrollbar-track,.admin-menu::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}
.admin-content{min-width:0}.admin-section.panel{border-radius:20px;padding:18px}.report-help{display:inline-flex;align-items:flex-start;margin:8px 0 0;padding:9px 12px;border:1px solid #cfe0ff;border-radius:12px;background:#f4f8ff;color:#365174;font-size:13px;font-weight:400;line-height:1.45}.report-help.hidden{display:none!important}.dashboard-card span,.report-summary-cards span{font-weight:400;color:var(--muted)}.dashboard-card strong{font-size:26px;font-weight:600}.report-summary-cards strong{font-weight:600}.admin-table th{font-size:12px;color:#475467;background:#f8fafc;letter-spacing:0;font-weight:500}.admin-table td{font-size:14px;font-weight:400;line-height:1.45;color:#182235}.admin-table td strong{font-weight:500}.report-table td,.report-table th{font-weight:400}.report-table th{font-weight:500}.accounting-report-row td,.accounting-report-row .muted{font-weight:400}.badge{font-weight:500}.muted-badge{background:#eef3f8;color:#526174}.amount-cell,.price{font-weight:600}.report-summary-cards>div{border-radius:14px;background:#fbfdff}.panel-actions{gap:8px}.admin-filter{gap:10px}
@media(max-width:980px){.admin-layout{grid-template-columns:1fr;padding:10px}.admin-menu.panel{border-radius:16px;padding:10px}.admin-menu-group{min-width:0}.admin-group-body{margin-left:8px}.admin-section.panel{padding:14px}.brand{font-size:17px}}

/* Display designer performance mode: avoid loading large media files inside Admin designer. */
.media-thumb-lite{width:100%;aspect-ratio:16/9;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#eef4fb,#dce8f6);color:#25324a;text-align:center;padding:10px;border-radius:inherit;overflow:hidden;border:1px solid rgba(23,32,51,.08)}
.media-thumb-lite.is-video{background:linear-gradient(135deg,#172033,#2d3c58);color:#fff}
.media-thumb-lite span{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;max-width:100%;padding:4px 10px!important;border-radius:999px;background:rgba(11,103,209,.12);font-size:12px!important;font-weight:700;letter-spacing:.06em;color:inherit!important}
.media-thumb-lite.is-video span{background:rgba(255,255,255,.18)}
.media-thumb-lite small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;opacity:.82;font-size:12px}
.display-designer-bg .media-thumb-lite{position:absolute;inset:0;height:100%;aspect-ratio:auto;border-radius:0;background:linear-gradient(135deg,#07111f,#12345b);color:#fff}
.display-design-region .media-thumb-lite{height:100%;aspect-ratio:auto;min-height:0;border-radius:8px;background:rgba(20,31,50,.92);color:#fff}
.display-region-media-option .media-thumb-lite,.display-media-tile .media-thumb-lite,.selected-media-card .media-thumb-lite{border-radius:0}
.display-media-more{grid-column:1/-1;width:100%;justify-content:center}
.display-design-region.dragging{box-shadow:0 0 0 4px rgba(255,255,255,.24),0 12px 32px rgba(0,0,0,.18)}

/* POS internal card reader */
.checkout-reader-tools{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.checkout-reader-btn.is-connected{background:#ecfdf3;border-color:#b7ebc8;color:#08703d}.checkout-reader-btn.is-idle{background:#fff}.checkout-reader-status{font-size:12px;color:var(--muted);margin-top:-4px}.payment-line.dynamic-payment-line .line-card:not(.hidden){border-color:#bcd4ff;background:#f8fbff}@media(max-width:860px){.checkout-reader-tools{width:100%;display:grid;grid-template-columns:1fr}.checkout-reader-tools .btn{width:100%}.checkout-reader-status{line-height:1.35}}
