:root{--bg: #f8fafc;--panel: #ffffff;--panel-strong: #fff;--line: #e2e8f0;--text: #0f172a;--muted: #64748b;--primary: #2563eb;--primary-soft: #eff6ff;--accent: #475569;--success: #16a34a;--warning: #f59e0b;--danger: #dc2626;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -2px rgba(0,0,0,.04);--radius: 8px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;background:#fff;color:var(--text);font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}textarea{resize:vertical}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 14px;border-bottom:1px solid var(--line);background:#fffffffa;position:sticky;top:0;z-index:20}.brand-block{display:flex;align-items:center;gap:6px}.brand-mark{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:13px}.brand-block h1{margin:0;font-size:13px}.topbar .eyebrow{display:none}.eyebrow{margin:0 0 1px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.main-nav{display:flex;gap:4px;flex-wrap:wrap}.nav-btn,.ghost-btn,.primary-btn,.secondary-btn,.icon-btn{border-radius:var(--radius);transition:background .15s ease,color .15s ease}.nav-btn{background:transparent;color:var(--muted);padding:4px 10px;font-size:13px;font-weight:500}.nav-btn:hover{background:var(--primary-soft);color:var(--primary)}.nav-btn.is-active{background:var(--primary);color:#fff}.status-strip{display:flex;gap:6px;align-items:center}.topbar-row{display:flex;align-items:center;gap:6px}.topbar-logout-btn{background:none;border:1.5px solid var(--line);border-radius:var(--radius);padding:4px 10px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s}.topbar-logout-btn:hover{border-color:#ef4444;color:#ef4444;background:#ef44440f}.status-pill{padding:8px 12px;border-radius:999px;background:#fff;color:var(--muted);border:1px solid var(--line);font-size:13px}.status-pill.online{color:var(--success)}.user-corner{position:relative}.user-corner-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1.5px solid var(--primary);border-radius:8px;background:transparent;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.user-corner-btn:hover{background:var(--primary);color:#fff}.user-corner-btn.is-logged-in{border-color:var(--primary)}.user-corner-avatar{width:20px;height:20px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;flex-shrink:0;line-height:1}.user-corner-btn.is-logged-in .user-corner-avatar{background:var(--primary);color:#fff}.user-corner-btn:hover .user-corner-avatar{background:#fff;color:var(--primary)}.user-corner-name{font-size:12px;font-weight:700;font-weight:600;color:var(--text);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-corner-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transition:all .2s cubic-bezier(.16,1,.3,1);z-index:1000;overflow:hidden}.user-corner-dropdown.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.ucd-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:#f4ede566}.ucd-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#3b82f6);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff;flex-shrink:0}.ucd-info{flex:1;min-width:0}.ucd-info strong{display:block;font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ucd-info small{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ucd-actions{padding:6px}.ucd-action-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--text);transition:background .15s;font-family:inherit}.ucd-action-btn:hover{background:#0000000a}.ucd-action-btn.logout{color:#dc2626}.ucd-action-btn.logout:hover{background:#dc26260f}.ucd-action-btn.login{color:var(--primary)}.ucd-action-btn.login:hover{background:#1f6df00f}.ucd-action-btn.nav-link{color:var(--text);font-weight:500;border-top:1px solid var(--line);border-radius:0}.ucd-action-btn.nav-link:first-of-type{border-top:1px solid var(--line);margin-top:4px}.ucd-action-btn.nav-link:hover{background:#1f6df00f;color:var(--primary)}@media(max-width:768px){.user-corner-name{display:none}.user-corner-btn{padding:4px}.user-corner-dropdown{right:-8px}}.workspace{padding:20px}.view{display:none}.view.is-active{display:block}.pos-layout{display:grid;grid-template-columns:1.6fr .92fr;gap:18px}.panel-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow)}.menu-panel{display:grid;gap:16px}.hero-card{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;padding:22px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#1e40af,#2563eb);box-shadow:var(--shadow-md)}.hero-card h2{margin:0 0 10px;font-size:28px;line-height:1.2}.hero-copy{margin:0;color:#fffc}.hero-metrics{display:grid;gap:12px}.hero-metrics div{padding:14px;border-radius:18px;background:#ffffff1f;border:1px solid rgba(255,255,255,.14)}.hero-metrics strong{display:block;font-size:22px;margin-bottom:4px}.hero-metrics span{color:#ffffffc7;font-size:13px}.toolbar-row{display:flex;gap:10px;margin-bottom:12px}.search-input{flex:1}.source-note{margin:0 0 12px;padding:10px 12px;border-radius:var(--radius);background:var(--primary-soft);color:var(--primary);border:1px solid rgba(37,99,235,.12);font-size:13px}.source-note strong{font-weight:700}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 12px;border-radius:999px;border:1px solid #bbf7d0;background:#ecfdf5;color:#166534;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.chip:hover{background:#d1fae5;border-color:#86efac}.chip.is-active{background:#16a34a;color:#fff;border-color:#16a34a}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}.menu-item{position:relative;background:var(--panel-strong);border-radius:20px;padding:16px;border:1px solid var(--line);box-shadow:0 10px 24px #23170f0d;text-align:left}.menu-item:hover{transform:translateY(-2px)}.menu-item.off{opacity:.56}.menu-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#e0e7ff,#eff6ff);font-size:24px;margin-bottom:12px}.menu-item h4{margin:0 0 6px;font-size:16px}.menu-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-bottom:10px}.menu-price{font-size:18px;color:var(--primary);font-weight:700}.cart-panel{display:flex;flex-direction:column;gap:14px;position:sticky;top:68px;max-height:calc(100vh - 78px);overflow-y:auto}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.panel-head h3{margin:0}.badge{padding:8px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:700}.form-stack{display:grid;gap:14px}.form-stack.compact{gap:10px}.form-stack label span{display:block;margin-bottom:4px;color:var(--muted);font-size:13px;font-weight:500}.split-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cart-list{min-height:58px;overflow:visible;display:grid;gap:10px}.empty-state{display:grid;place-items:center;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px;padding:18px;background:#fff9}.empty-state.small{min-height:180px}.cart-item{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;display:grid;gap:8px}.cart-item-head,.cart-line-top{display:flex;gap:10px;align-items:center}.cart-line-top{align-items:flex-start}.line-index{min-width:22px;font-weight:700;color:var(--muted);padding-top:6px}.cart-item-title{flex:1}.cart-item-title strong{display:block}.cart-item-title span{color:var(--muted);font-size:13px}.cart-controls{display:flex;align-items:center;gap:8px}.qty-btn,.remove-btn{width:32px;height:32px;border-radius:10px;background:#f5efe6;color:var(--accent)}.remove-btn{background:#fce7e7;color:var(--danger)}.qty-num{min-width:24px;text-align:center;font-weight:700}.line-total{min-width:84px;text-align:right;padding-top:6px}.note-icon-btn{width:34px;height:34px;border-radius:12px;background:#f1f5f9;color:var(--accent);font-weight:700;display:grid;place-items:center;flex-shrink:0}.note-icon-btn.has-note{background:#1f6df0;color:#fff}.cart-note-preview{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:14px;background:#eef4ff;color:#143d85;font-size:13px;border:1px solid #d7e5ff}.cart-note-preview strong{font-weight:600}.order-note-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:#fff}.order-note-copy{display:grid;gap:4px}.order-note-copy span{color:var(--muted);font-size:13px}.order-note-copy strong{font-size:14px}.totals-box{background:#fcf9f5;border:1px solid var(--line);border-radius:18px;padding:12px 14px}.total-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:6px 0}.total-row span{color:var(--muted)}.total-row.grand{padding-top:10px;margin-top:8px;border-top:1px dashed var(--line)}.total-row.grand strong{font-size:22px;color:var(--primary)}.action-row{display:grid;gap:10px}.action-row.two{grid-template-columns:1fr 1fr}.action-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.primary-btn{padding:9px 16px;background:var(--primary);color:#fff;font-weight:600;font-size:14px;box-shadow:0 1px 2px #0000000d}.primary-btn:hover{background:#1d4ed8}.primary-btn.small{padding:6px 12px;font-size:13px}.secondary-btn{padding:9px 16px;background:#fff;color:var(--text);font-weight:600;font-size:14px;border:1px solid var(--line)}.secondary-btn:hover{background:#f8fafc}.ghost-btn{padding:9px 14px;background:transparent;color:var(--text);border:1px solid var(--line);font-weight:500}.ghost-btn:hover{background:#f1f5f9}.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.menu-item:hover{transform:none}.icon-btn{width:38px;height:38px;background:#f6eee4;color:var(--accent)}.page-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}.page-head h2{margin:0;font-size:17px}.page-copy{max-width:680px;color:var(--muted);margin:0;font-size:12px}.kitchen-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.kitchen-summary-chip{display:grid;gap:4px;padding:10px 12px;border-radius:16px;border:1px solid transparent;font-size:13px;font-weight:700;background:#fff;box-shadow:0 10px 24px #23170f0d}.kitchen-summary-chip span{opacity:.84}.kitchen-summary-chip strong{font-size:16px;font-weight:800}.kitchen-summary-chip.brewing{color:#9a5c00;background:#fff3d6;border-color:#ffd37b}.kitchen-summary-chip.done{color:#126b46;background:#e7fbef;border-color:#8fd8af}.kitchen-summary-chip.neutral{color:#1650a3;background:#eaf2ff;border-color:#c8dcff}.kitchen-summary-chip.warning{color:#8a3d00;background:#fff0df;border-color:#ffca95}.kitchen-board{display:grid;gap:12px}.kitchen-lane{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.kitchen-lane.brewing{border-color:#ffe2ad}.kitchen-lane.done{border-color:#cdeedb}.kitchen-lane-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;color:var(--text);border-bottom:1px solid rgba(112,73,43,.08)}.kitchen-lane-copy{display:flex;align-items:flex-start;gap:10px}.kitchen-lane-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:16px;background:#ffffffe6}.kitchen-lane-head h3{margin:0 0 2px;font-size:17px}.kitchen-lane-head p{margin:0;color:var(--muted);font-size:12px}.kitchen-lane-stats{display:grid;justify-items:end;gap:2px}.kitchen-lane-stats strong{min-width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#ffffffeb;font-size:14px}.kitchen-lane-stats span{font-size:11px;color:var(--muted)}.kitchen-lane-head.brewing{background:linear-gradient(135deg,#fff8e8,#fff3d3)}.kitchen-lane-head.done{background:linear-gradient(135deg,#eefbf4,#e4f8ec)}.kitchen-list-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr) 190px;gap:12px;padding:10px 14px 0;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.kitchen-lane-body{display:grid;gap:8px;padding:10px 12px 12px;background:linear-gradient(180deg,#fafbfff5,#fffffffa)}.kitchen-card{padding:12px;border-radius:16px;border:1px solid transparent;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr) 190px;gap:12px;align-items:start}.kitchen-card.pending{background:linear-gradient(135deg,#fff4ef,#ffe9de);color:#5f261f;border-color:#ffc5b4}.kitchen-card.brewing{background:linear-gradient(135deg,#fff8e7,#ffefc5);color:#6a4200;border-color:#ffd173}.kitchen-card.done{background:linear-gradient(135deg,#edfdf4,#def7e9);color:#145338;border-color:#99d7b1}.kitchen-card-top{display:grid;gap:8px}.kitchen-order-id{display:flex;align-items:flex-start;gap:10px}.kitchen-order-heading{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px}.kitchen-order-id strong{display:block;font-size:16px}.kitchen-order-id span{display:block;color:inherit;opacity:.88}.kitchen-order-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#ffffffa3}.kitchen-order-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.kitchen-meta-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#ffffffb8;color:inherit;font-size:11px;font-weight:700}.kitchen-meta-pill.alert{background:#d14d4d1f;color:#9d2f2f}.kitchen-status-line{display:grid;gap:2px}.kitchen-status-line strong{font-size:20px;line-height:1.1}.kitchen-order-hint{color:var(--muted);font-size:12px;font-weight:600}.kitchen-items{display:grid;gap:6px}.kitchen-item-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:12px;background:#ffffffb8}.kitchen-qty-pill{min-width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#11182714;font-size:12px;font-weight:700}.kitchen-item-copy{display:grid;gap:2px}.kitchen-item-copy strong{font-size:14px}.kitchen-item-subline{color:var(--muted);font-size:12px;line-height:1.4}.kitchen-item-note,.kitchen-order-note{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:12px;background:#1f6df01a;color:#11408f;font-size:12px;font-weight:600}.kitchen-order-note{width:100%}.kitchen-side-panel{display:grid;gap:8px;align-content:start}.kitchen-actions{display:flex;gap:6px}.kitchen-actions button{flex:1;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:700}.kitchen-actions .light-btn{background:#ffffffa3;color:inherit}.kitchen-actions .solid-btn{background:#111827;color:#fff}.kitchen-actions .solid-btn.brewing{background:linear-gradient(135deg,#ff8a00,#ff5e00)}.kitchen-actions .solid-btn.done{background:linear-gradient(135deg,#15b66d,#0b8f62)}.kitchen-empty,.kitchen-empty-lane{min-height:160px}.admin-subnav{display:flex;gap:4px;margin-bottom:12px;padding:4px;background:#f1f5f9;border-radius:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-subtab-btn{padding:7px 14px;border-radius:8px;border:none;background:transparent;color:var(--muted);font-weight:500;font-size:13px;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.admin-subtab-btn:hover{color:var(--text);background:#fff9}.admin-subtab-btn.is-active{color:var(--text);background:#fff;box-shadow:0 1px 3px #00000014;font-weight:600}.admin-section{display:none}.admin-section.is-active{display:block}.admin-section.is-active>*+*{margin-top:8px}.menu-subnav{display:flex;gap:4px;margin-bottom:14px;padding:3px;background:#f1f5f9;border-radius:8px;width:fit-content}.menu-subtab-btn{padding:6px 14px;border-radius:6px;border:none;background:transparent;color:var(--muted);font-weight:500;font-size:13px;cursor:pointer;transition:all .15s}.menu-subtab-btn.is-active{background:#fff;color:var(--text);box-shadow:0 1px 3px #00000014;font-weight:600}.menu-tab-panel,.ig-tab-panel,.staff-tab-panel{display:none}.menu-tab-panel.is-active,.ig-tab-panel.is-active,.staff-tab-panel.is-active{display:block}.menu-list-panel{display:grid;gap:10px}.menu-list-head{align-items:center}.menu-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.menu-chip-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:999px;border:1px solid #e3e8f1;background:#fff;color:#39516f;font-size:13px;font-weight:700}.menu-chip-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.menu-admin-list{gap:12px}.admin-table-wrap{overflow-x:auto;margin-top:4px;border:1px solid var(--line);border-radius:var(--radius)}.admin-data-table{width:100%;border-collapse:collapse;font-size:13px;min-width:600px}.admin-data-table thead th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--muted);background:#f8fafc;border-bottom:1px solid var(--line);white-space:nowrap}.admin-data-table tbody td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-data-table tbody tr:last-child td{border-bottom:none}.admin-data-table tbody tr:hover td{background:#f8fafc}.admin-data-table .col-idx{width:40px;text-align:center;color:var(--muted);font-size:12px}.admin-data-table .col-icon{width:44px;text-align:center}.admin-data-table .col-name-main strong{font-size:13.5px}.admin-data-table .col-price,.admin-data-table .col-status{white-space:nowrap}.admin-data-table .col-count{text-align:center;width:80px}.admin-data-table .col-actions{text-align:right;width:100px;white-space:nowrap}.tbl-emoji{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#f5eadb,#fff);font-size:20px}.price-badge{display:inline-block;padding:3px 10px;border-radius:6px;background:#eff6ff;color:#1757bd;font-size:12px;font-weight:700;white-space:nowrap}.cost-badge{display:inline-block;padding:3px 10px;border-radius:6px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:600;white-space:nowrap}.status-dot{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:600}.status-dot:before{content:"";width:6px;height:6px;border-radius:50%}.status-dot.status-on{background:#f0fdf4;color:#166534}.status-dot.status-on:before{background:#16a34a}.status-dot.status-off{background:#fef2f2;color:#991b1b}.status-dot.status-off:before{background:#dc2626}.tbl-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid var(--line);background:#fff;cursor:pointer;transition:background .15s}.tbl-btn:hover{background:var(--bg)}.tbl-btn.danger{color:#d32f2f;border-color:#ffcdd2}.tbl-btn.danger:hover{background:#ffebee}.menu-meta-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f6f8fc;color:#546980;font-size:12px;font-weight:700;white-space:nowrap}.menu-meta-chip.price{background:#eaf2ff;color:#1757bd}.menu-meta-chip.status.done{background:#e3f8ec;color:#176d49}.menu-meta-chip.status.cancelled{background:#fff1ec;color:#b35b33}.count-badge{display:inline-block;background:var(--line);color:var(--text);font-size:.78rem;font-weight:700;padding:1px 8px;border-radius:999px;margin-left:4px}.menu-subtab-btn.is-active .count-badge{background:#ffffff40;color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.stat-card{padding:10px 12px;border-radius:10px;background:var(--primary);color:#fff;border:none;box-shadow:none}.stat-card span{display:block;color:#ffffffbf;font-size:11px;font-weight:500;margin-bottom:2px}.stat-card strong{font-size:18px;font-weight:700;letter-spacing:-.02em;color:#fff}.admin-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px}.table-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:14px}.table-admin-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.inline-actions{display:inline-flex;align-items:center;gap:8px}.compact-select{min-width:220px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fffdf9;color:var(--text);font-weight:600}.staff-admin-item{align-items:flex-start}.danger-btn{background:#fff0f0;color:var(--danger)}.report-panel{display:grid;gap:8px;margin-bottom:10px;background:#fff;padding:12px}.report-panel-head{align-items:center;gap:12px;flex-wrap:nowrap}.report-head-title{flex:1;min-width:0}.report-head-title h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-head-actions{display:flex;flex-wrap:nowrap;gap:8px;flex-shrink:0}.report-action-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.report-action-icon{font-size:15px;line-height:1}.compact-copy{margin-top:6px;max-width:none}.report-toolbar{display:grid;grid-template-columns:1.1fr repeat(3,minmax(150px,1fr)) auto;gap:10px;align-items:end}.report-toolbar label span{display:block;margin-bottom:6px;color:var(--muted);font-size:13px}.report-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.report-kpi-card{padding:14px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.report-kpi-card span{display:block;color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:500}.report-kpi-card strong{font-size:22px;color:var(--text);font-weight:700;letter-spacing:-.02em}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-box{border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:#fff}.panel-head.slim{margin-bottom:6px}.report-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.report-empty-row{text-align:center;color:var(--muted)}.panel-card.wide{grid-column:1 / -1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted);font-size:12px;font-weight:600;background:#f8fafc}.status-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-tag.pending{background:#fef2f2;color:#991b1b}.status-tag.brewing{background:#fffbeb;color:#92400e}.status-tag.done,.status-tag.paid{background:#f0fdf4;color:#166534}.status-tag.cancelled{background:#f1f5f9;color:#64748b}.mini-list{display:grid;gap:8px;margin-top:12px}.mini-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.staff-tools-grid{grid-template-columns:1fr 1fr}.inventory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px}.toolbar-actions-row{display:flex;gap:6px;align-items:center;flex-shrink:0}.inventory-week-nav{display:flex;align-items:center;gap:6px}.inventory-week-nav strong{font-size:13px;white-space:nowrap}.schedule-header-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.schedule-title-group{display:flex;align-items:center;gap:6px}.schedule-title-group .eyebrow{margin:0;font-size:11px}.schedule-title-group h2{margin:0;font-size:16px}.inventory-table-wrap{overflow:auto;max-height:calc(100vh - 180px);border:1px solid var(--line);border-radius:12px;background:#fff}.weekly-report-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;font-size:14px}.weekly-report-table thead th{position:sticky;top:0;background:var(--bg);z-index:3;padding:2px;text-align:center;border-bottom:2px solid var(--line);font-weight:700;font-size:11px;line-height:1.2}.weekly-report-table thead th small{display:block;font-weight:500;color:var(--muted);font-size:10px}.day-group-header{border-left:2px solid var(--line)}.weekly-report-table tbody td{padding:1px 2px;line-height:1.1}.day-group-header.today-col{background:#e8f0fe!important;color:#1a56db}.shift-header{min-width:26px;font-size:11px!important;color:var(--muted)}.shift-header.today-col{background:#e8f0fe!important;color:#1a56db}.shift-header.active-shift{background:#fff9c4!important;color:#f57c00;font-weight:700}.sticky-col{position:sticky;background:#fff;z-index:2}.col-stt{left:0;width:28px;min-width:28px;max-width:28px;text-align:center;color:var(--muted);font-size:11px}.col-name{left:28px;width:120px;min-width:120px;max-width:120px;overflow:hidden}.col-unit{left:148px;width:32px;min-width:32px;max-width:32px;text-align:center;color:var(--muted);font-size:11px}.col-qty,.col-call{width:30px;min-width:30px;max-width:30px;text-align:center;font-size:11px;color:var(--muted);background:#fff;position:sticky;z-index:2}.col-qty{left:180px}.col-call{left:210px;border-right:2px solid var(--line)}.weekly-report-table thead .sticky-col{z-index:5;background:var(--bg)}.inventory-section-row td{background:var(--primary-soft)!important;color:var(--primary);font-weight:700;padding:2px 8px;font-size:14px;line-height:1.2}.inventory-item-name{display:grid;gap:0}.inventory-item-name strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:115px;line-height:1.2}.inventory-item-name.low-stock strong{color:#d32f2f;font-weight:700}.shift-cell{padding:0!important;min-width:26px}.shift-cell.today-col{background:#f0f6ff}.shift-cell.active-shift{background:#fff9c4!important;border-left:2px solid #f9a825;border-right:2px solid #f9a825}.shift-cell.filled{background:#e8f8ee}.shift-cell.today-col.filled{background:#d6efdc}.shift-cell.active-shift.filled{background:#fffacd!important}.cell-input{width:100%;border:none;outline:none;background:transparent;text-align:center;font-size:13px;font-weight:600;padding:2px 1px;color:#333;box-sizing:border-box;line-height:1.2}.cell-input:focus{background:#eff6ff;outline:2px solid var(--primary);outline-offset:-2px;border-radius:4px}.cell-input:read-only{color:#999;cursor:not-allowed}.cell-input::placeholder{color:#ddd;font-weight:400}.stock-state-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.stock-state-pill.ok{background:#e3f8ec;color:#176d49}.stock-state-pill.low{background:#fff2d8;color:#8a5a00}.stock-state-pill.out{background:#fde7e7;color:#b33737}.muted-inline{color:var(--muted);font-size:12px}.mini-value-stack{display:grid;gap:2px;text-align:right}.mini-value-stack span{color:var(--muted);font-size:12px}.top-item-row strong{display:block}.top-item-rank{font-size:18px}.small-btn{padding:6px 10px;border-radius:6px;background:#f1f5f9;color:var(--text);font-size:12px;font-weight:600}.modal{position:fixed;inset:0;background:#00000080;display:none;align-items:center;justify-content:center;padding:20px;z-index:40}.modal.is-open{display:flex}.modal-panel{width:min(480px,100%);background:#fff;border-radius:12px;padding:20px;box-shadow:0 20px 60px #00000026}.menu-modal-panel{width:min(640px,100%)}.table-modal-panel{width:min(620px,100%)}.note-modal-panel{width:min(560px,100%)}.modal-overlay#expense-modal{position:fixed;inset:0;background:#00000080;display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-overlay#expense-modal.is-active{display:flex}.modal-overlay#expense-modal .modal-panel{width:min(460px,100%)}.modal-overlay#expense-modal .modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-overlay#expense-modal .modal-head h3{font-size:18px;font-weight:700;margin:0}.modal-overlay#expense-modal .modal-close-btn{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:8px;font-size:16px;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center}.modal-overlay#expense-modal .modal-close-btn:hover{background:var(--line)}.table-modal-stack{gap:16px}.field-label{display:block;margin-bottom:8px;color:var(--muted);font-size:13px}.selection-chip-row{display:flex;flex-wrap:wrap;gap:10px}.selection-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.selection-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.table-modal-actions{margin-top:16px}.payment-box{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;margin:14px 0}.payment-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:7px 0}.payment-row.total strong,.payment-row.change strong{font-size:22px;color:var(--primary)}.quick-cash-row{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:10px 0}.discount-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);flex-wrap:wrap}.discount-chips{display:flex;align-items:center;gap:6px;flex-shrink:0}.discount-label{font-size:13px;color:var(--muted);margin-right:4px}.discount-chip{padding:4px 10px;font-size:12px;font-weight:600;border:1px solid var(--line);background:#fff;border-radius:999px;cursor:pointer;color:var(--text, #0f172a);transition:all .15s}.discount-chip:hover{border-color:#7c3aed;color:#7c3aed}.discount-chip.is-active{background:#7c3aed;color:#fff;border-color:#7c3aed}.discount-chip.discount-clear{margin-left:auto;color:#94a3b8;border-color:#e2e8f0;padding:4px 8px}.discount-chip.discount-clear:hover{color:#ef4444;border-color:#ef4444}.discount-reason{flex:1;min-width:120px;padding:5px 8px;font-size:12px;border:1px solid var(--line);border-radius:6px;background:#fff}.payment-row.subtotal-combo{border-bottom:1px dashed var(--line);padding-bottom:8px}.payment-row.subtotal-combo span{font-size:13px;color:var(--muted)}.payment-row.subtotal-combo span strong{color:var(--text, #0f172a);font-weight:600}.cash-input-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.cash-input-label{flex-shrink:0;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}.cash-input-row input{flex:1;min-width:0}.payment-row.discount-amount{color:#dc2626;font-size:13px}.payment-row.discount-amount em{font-style:normal;font-weight:600}.payment-hint{color:var(--muted);font-size:12px}.cash-btn{white-space:nowrap;padding:6px 0;font-size:13px;min-width:0}.toast{position:fixed;right:20px;bottom:20px;padding:12px 16px;border-radius:14px;background:#23170f;color:#fff;opacity:0;transform:translateY(12px);pointer-events:none;transition:all .2s ease;z-index:50}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1100px){.pos-layout,.admin-grid,.stats-grid,.kitchen-overview,.kitchen-board,.hero-card,.report-summary-grid,.report-grid,.kitchen-list-head,.kitchen-card,.report-toolbar{grid-template-columns:1fr}.cart-panel{position:static;max-height:none}}.hidden,[hidden]{display:none!important}.compact-btn{padding:8px 14px;font-size:13px;white-space:nowrap;flex-shrink:0;line-height:1.3;min-height:41px}.user-pill{background:#fdf1e3;color:var(--accent)}.auth-panel-v2{width:min(420px,100%);padding:0;overflow:hidden}.auth-v2-header{padding:24px 24px 16px;background:linear-gradient(135deg,#1b6ef3,#1458c8);color:#fff}.auth-v2-brand{display:flex;align-items:center;gap:12px}.auth-v2-brand .eyebrow{color:#ffffffb3;margin-bottom:2px}.auth-v2-brand h3{margin:0;font-size:20px;color:#fff}.auth-v2-logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#ffffff2e;font-size:22px;flex-shrink:0}.auth-v2-form{display:grid;gap:14px;padding:20px 24px}.auth-v2-form label span{display:block;margin-bottom:6px;color:var(--muted);font-size:13px}.auth-v2-submit{margin-top:2px}.auth-v2-demo{border-top:1px solid var(--line)}.auth-v2-demo-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 24px;background:var(--bg);color:var(--muted);font-size:13px;font-weight:600;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.auth-v2-demo-toggle:hover{background:#f1f5f9}.auth-v2-chevron{transition:transform .2s ease;font-size:14px}.auth-v2-chevron.is-open{transform:rotate(180deg)}.auth-v2-demo-list{display:none;padding:0 24px 16px;background:var(--bg)}.auth-v2-demo-list.is-open{display:grid;gap:6px}.demo-quick-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}.demo-quick-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.demo-quick-btn:active{background:#dbe9ff}.demo-quick-info{display:flex;align-items:center;gap:10px;min-width:0}.demo-quick-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:800;flex-shrink:0}.demo-quick-avatar.admin{background:linear-gradient(135deg,#eaf2ff,#d4e4ff);color:var(--primary)}.demo-quick-avatar.staff{background:linear-gradient(135deg,#e8f8ef,#c8ecd5);color:var(--success)}.demo-quick-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-quick-role{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;flex-shrink:0}.demo-quick-role.admin{background:#eaf2ff;color:var(--primary)}.demo-quick-role.staff{background:#e8f8ef;color:var(--success)}.demo-credentials{display:none}.auth-panel{width:min(420px,100%)}.auth-grid{display:grid;gap:14px}.auth-copy{display:none}.login-panel{align-content:start}.login-tabs{display:flex;gap:0;background:#f1f5f9;border-radius:8px;padding:3px;margin-bottom:4px}.login-tab{flex:1;padding:7px 12px;border:none;background:none;border-radius:6px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s}.login-tab.is-active{background:#fff;color:var(--text);box-shadow:0 1px 3px #00000014}.login-tab-content{display:none}.login-tab-content.is-active{display:block}.login-divider{display:flex;align-items:center;gap:12px;margin:2px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}.login-divider span{font-size:12px;color:var(--muted);font-weight:600}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;transition:all .2s}.google-btn:hover{background:#f9f6f2;border-color:#ccc;box-shadow:0 2px 8px #23170f0f}.google-btn svg{flex-shrink:0}.staff-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.staff-table{min-width:960px}.staff-table td{padding:6px 8px!important}.staff-table tr:hover td{background:#2563eb0a}.staff-table .muted{font-size:11px;color:var(--muted)}.staff-pw-display{background:#f1f5f9;padding:2px 8px;border-radius:4px;font-family:monospace;font-size:12px;color:#334155;letter-spacing:.5px}.pwd-cell{display:inline-flex;align-items:center;gap:6px}.pwd-toggle{background:none;border:0;cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px;line-height:1}.pwd-toggle:hover{background:#0000000f}.staff-avatar{width:34px;height:34px;border-radius:8px;object-fit:cover}.staff-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#eff6ff;color:var(--primary);font-weight:700;font-size:14px}.staff-inline-input{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12px;background:#fff;color:var(--text);min-width:70px}.staff-inline-input.small{margin-top:4px;font-size:11px;color:var(--muted)}.staff-inline-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1f6df01f}select.staff-inline-input{padding:6px 4px;min-width:80px}.staff-editing-row td{background:#eaf2ff59;padding-top:10px;padding-bottom:10px}.staff-new-row td{background:#e8f8ef59}.position-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.position-badge.barista{background:#fef3c7;color:#92400e}.position-badge.server{background:#dbeafe;color:#1e40af}.position-badge.admin{background:#eff6ff;color:var(--primary)}.position-badge.none{background:#f1f5f9;color:var(--muted)}.wage-badge{display:inline-flex;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;background:#f0fdf4;color:#166534}.staff-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.staff-status-badge.senior{background:#fef3c7;color:#92400e}.staff-status-badge.new{background:#dbeafe;color:#1e40af}.staff-status-badge.probation{background:#fef9c3;color:#854d0e}.staff-status-badge.none{background:#f1f5f9;color:var(--muted)}.save-btn{background:var(--primary)!important;color:#fff!important}.promote-btn{background:#eaf2ff!important;color:var(--primary)!important}.demote-btn{background:#fef3cd!important;color:#856404!important}.form-row{display:grid;gap:12px}.form-row.two{grid-template-columns:1fr 1fr}.role-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.role-badge.admin{background:#eaf2ff;color:var(--primary)}.role-badge.staff{background:#e8f8ef;color:var(--success)}.pos-shell{padding:0;overflow:hidden}.pos-modebar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--primary)}.pos-tab-group{display:flex;gap:2px;background:#ffffff26;border-radius:6px;padding:2px}.pos-tab-btn{border-radius:5px;padding:5px 10px;font-size:13px;background:transparent;color:#fffc;font-weight:600;transition:background .15s,color .15s}.pos-tab-btn.is-active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0000001a}.pos-search-wrap{flex:1;max-width:520px}.pos-search-input{width:100%;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff26;color:#fff;padding:5px 10px;font-size:13px}.pos-search-input::placeholder{color:#fff9}.pos-search-input:focus{background:#ffffff40;border-color:#fff6;box-shadow:none}.pos-mode-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.icon-circle{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;background:#ffffff26;color:#fff;font-size:14px;border:1px solid rgba(255,255,255,.15);transition:background .15s}.icon-circle:hover{background:#ffffff40}.icon-circle.warm{background:#ffffffe6;color:var(--primary);border-color:transparent}.order-user-chip{padding:4px 8px;border-radius:999px;background:#ffffff29;color:#fff;font-size:11px;font-weight:700;text-transform:lowercase}.pos-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.95fr);gap:0;background:var(--bg)}.pos-main-panel{display:flex;flex-direction:column;min-height:720px;border-right:1px solid var(--line);background:#fff}.pos-panel-view{display:flex;flex-direction:column;min-height:720px}.zone-strip,.category-bar,.sub-category-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;overflow-x:auto;background:#fff;-webkit-overflow-scrolling:touch}.zone-strip{border-bottom:1px solid var(--line)}.zone-pill,.sub-pill{padding:6px 12px;border-radius:6px;background:#f1f5f9;color:#64748b;white-space:nowrap;font-size:13px;font-weight:500;border:1px solid transparent;transition:background .15s,color .15s}.zone-pill:hover,.sub-pill:hover{background:#e2e8f0}.zone-pill.is-active,.sub-pill.is-active{background:var(--primary);color:#fff}.source-note{margin:0;padding:10px 12px 0;color:var(--muted);font-size:12px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}.table-filter-group{display:flex;flex-wrap:wrap;gap:4px}.radio-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;border:1px solid var(--line);color:var(--muted);font-size:12px;background:#fff;white-space:nowrap;transition:background .15s,color .15s}.radio-chip input{margin:0;accent-color:var(--primary);transform:scale(.85)}.radio-chip-label{font-weight:600;white-space:nowrap}.radio-chip b{padding:1px 6px;border-radius:4px;background:#f1f5f9;font-size:10px;line-height:1.35}.radio-chip.is-active{color:var(--primary);border-color:#bfdbfe;background:#eff6ff}.table-view-actions{display:flex;align-items:center;gap:4px}.table-icon-btn,.table-mini-btn{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--muted);flex-shrink:0;transition:background .15s}.table-icon-btn:hover,.table-mini-btn:hover{background:#f8fafc}.table-icon-btn.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.table-mini-btn.danger{color:var(--danger);border-color:#fecaca}.tables-wrap{flex:1;overflow:auto;padding:12px;background:var(--bg)}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.tables-grid.is-compact{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.table-card{position:relative;min-height:120px;border-radius:10px;border:1.5px solid var(--line);background:#fff;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.table-card strong{font-size:13px}.table-card small,.table-card em{font-size:11px;color:var(--muted);font-style:normal}.table-card em{font-weight:600;color:var(--primary)}.table-badge{position:absolute;top:6px;right:6px;min-width:20px;height:20px;border-radius:5px;display:grid;place-items:center;background:#f1f5f9;color:var(--muted);font-size:10px;font-weight:600}.table-visual{width:44px;height:36px;border-radius:8px;border:1.5px dashed var(--line);display:grid;place-items:center;font-size:18px}.table-card.is-empty{background:#fff}.table-card.is-using{border-color:#fed7aa;background:#fff7ed}.table-card.is-using .table-badge{background:#f97316;color:#fff}.table-card.is-using .table-visual{border-color:#fed7aa;background:#ffedd5}.table-card.is-selected{border-color:var(--primary);background:#eff6ff;box-shadow:0 0 0 3px #2563eb1a}.table-card.is-selected .table-badge{background:var(--primary);color:#fff}.table-card.is-selected .table-visual{border-color:#93c5fd;background:#dbeafe}.table-card.is-takeaway{border-color:var(--primary);background:var(--primary);color:#fff}.table-card.is-takeaway small,.table-card.is-takeaway em{color:#ffffffd9}.table-card.is-takeaway .table-badge{background:#fff3;color:#fff}.table-card.is-takeaway .table-visual{border-color:#ffffff4d;background:#ffffff1f}.table-card.is-reserved{border-color:#cdb7ff;background:#f5efff}.table-card.is-reserved .table-badge{background:#9b72ff;color:#fff}.panel-footer-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-top:1px solid var(--line);background:#fff}.panel-footer-strip.center-text{justify-content:center}.check-inline{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.pager-inline{display:inline-flex;align-items:center;gap:8px;color:#617892}.pager-inline button{width:28px;height:28px;border-radius:8px;border:1px solid #dbe5f2;background:#fff;color:#617892}.menu-grid-pos{padding:10px;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));align-content:start;gap:10px}.menu-item{border-radius:var(--radius);padding:0;overflow:hidden;border:1px solid var(--line)}.menu-media{position:relative;aspect-ratio:4 / 3;display:grid;place-items:center;background:linear-gradient(135deg,#f1f5f9,#e8edf4);border-bottom:1px solid var(--line)}.menu-media-icon{font-size:40px}.sold-out-badge{position:absolute;top:6px;right:6px;padding:3px 7px;border-radius:4px;background:var(--danger);color:#fff;font-size:10px;font-weight:600}.menu-info{padding:6px 8px 8px;text-align:center}.menu-name{margin:0 0 2px;color:var(--text);font-size:12.5px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-price{margin:0;font-size:14px;font-weight:800;color:var(--primary);white-space:nowrap}.order-panel{gap:0;padding:0;border-radius:0;box-shadow:none;border:0;background:#fff;overflow-y:auto}.order-header-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line)}.current-table-box{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius);background:#eff6ff;color:var(--primary);font-size:13px;font-weight:600;border:1px solid #bfdbfe;cursor:pointer;transition:background .15s}.current-table-box:hover{background:#dbeafe}.current-table-box.is-empty{background:#f8fafc;color:var(--muted);border-color:var(--line)}.order-header-tools{display:flex;align-items:center;gap:6px;margin-left:auto}.order-header-tools input{width:170px;padding:6px 10px;border-radius:var(--radius)}.price-tag-lite{padding:5px 10px;border-radius:6px;border:1px solid var(--line);color:var(--muted);font-size:12px;white-space:nowrap;transition:background .15s}.price-tag-lite:hover{background:#f8fafc}.cart-list{min-height:0;max-height:240px;padding:0 12px;gap:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.cart-list::-webkit-scrollbar{width:6px}.cart-list::-webkit-scrollbar-track{background:transparent}.cart-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.cart-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.cart-list.empty-state{overflow:visible}.empty-order{display:grid;gap:6px}.empty-order p{margin:0;font-weight:600;color:var(--muted)}.empty-order span{color:#94a3b8;font-size:13px}.empty-order-icon{font-size:34px;opacity:.5}.cart-item{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:6px 0;background:transparent;gap:4px}.cart-line-top{display:grid;grid-template-columns:22px 16px 1fr auto auto 28px;align-items:center;justify-content:start;column-gap:6px;min-height:40px}.line-index{min-width:12px;font-size:12px;color:#94a3b8}.cart-item-title{min-width:0}.cart-item-title strong{display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-right:4px;line-height:1.15;max-height:2.3em}.cart-item-title span{color:var(--primary);font-size:11px;white-space:nowrap}.remove-btn,.qty-btn{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;transition:background .15s}.remove-btn{background:#fef2f2;color:var(--danger)}.remove-btn:hover{background:#fee2e2}.qty-btn{background:#f1f5f9;color:var(--text)}.qty-btn:hover{background:#e2e8f0}.qty-num{min-width:14px;font-size:12px;font-weight:600}.line-total{text-align:right;color:var(--primary);font-size:12px;font-weight:600;white-space:nowrap;padding-right:4px}.note-icon-btn{width:26px;height:26px;border-radius:6px}.cart-note-preview{gap:5px;padding:3px 8px;border-radius:6px;font-size:12px}.cart-note{margin-top:4px;border-radius:var(--radius);padding:5px 8px}.order-inline-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fafc;font-size:13px;font-weight:500}.order-form-block,.order-totals-box,.order-action-row{margin:0 14px 14px}.order-form-block{margin-top:14px}.order-totals-box{background:#f9fbff}.notice-btn{background:#e9f7fb;color:#1181a0}.pay-request-btn{background:#28a745}.pay-request-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.inline-payment-section{border-top:2px solid var(--line);padding:14px 0 0;margin-top:8px;animation:slideDown .25s ease}.inline-payment-section .payment-box{margin:8px 0 12px}.inline-payment-head{margin-bottom:4px}.inline-payment-head .eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.5px;color:var(--muted);margin:0}.inline-payment-head h4{margin:2px 0 0;font-size:16px}.inline-payment-section .quick-cash-row{margin:10px 0}.inline-payment-section .action-row{margin-top:10px}.inline-payment-section .form-stack{margin-bottom:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.topbar{flex-direction:column;align-items:flex-start}.status-strip{width:100%;justify-content:space-between}.workspace{padding:14px}.action-row.three,.action-row.two,.split-row,.auth-grid{grid-template-columns:1fr}.quick-cash-row{grid-template-columns:repeat(6,1fr);gap:3px}.inventory-toolbar{flex-direction:row;flex-wrap:nowrap;gap:4px;align-items:center}.inventory-toolbar .ghost-btn,.inventory-toolbar .primary-btn,.inventory-toolbar .secondary-btn,.schedule-header-row .ghost-btn,.schedule-header-row .primary-btn,.schedule-header-row .secondary-btn{padding:4px 6px;font-size:11px;min-height:28px;white-space:nowrap}.inventory-week-nav{gap:2px}.inventory-week-nav strong{font-size:11px}.toolbar-actions-row{gap:3px;flex-shrink:0}.toolbar-actions-row .ghost-btn,.toolbar-actions-row .primary-btn,.toolbar-actions-row .secondary-btn{padding:4px 6px;font-size:11px;min-height:28px}.schedule-header-row{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px}.schedule-header-row .schedule-title-group{display:none}.inventory-table-wrap{max-height:calc(100vh - 220px)}.col-stt{width:24px;min-width:24px;max-width:24px}.col-name{left:24px;width:80px;min-width:80px;max-width:80px}.col-unit{left:104px;width:28px;min-width:28px;max-width:28px}.col-qty{left:132px;width:26px;min-width:26px;max-width:26px}.col-call{left:158px;width:26px;min-width:26px;max-width:26px}.shift-header,.shift-cell{min-width:30px;width:30px;max-width:30px}.inventory-item-name strong{max-width:75px;font-size:10px}.weekly-report-table{font-size:11px}.weekly-report-table thead th{font-size:10px;padding:4px 2px}.cell-input{font-size:10px;padding:4px 1px}}.ingredient-head-actions{display:flex;gap:6px;align-items:center}#ingredient-save-btn{background:var(--warning);color:#fff;animation:pulse-save 1.2s ease-in-out infinite}@keyframes pulse-save{0%,to{box-shadow:0 0 #f59e0b80}50%{box-shadow:0 0 0 6px #f59e0b00}}.ingredient-filter-bar{display:flex;gap:8px;padding:8px 0;flex-wrap:wrap}.ingredient-filter-bar select,.ingredient-filter-bar input{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff}.ingredient-filter-bar input{flex:1;min-width:140px}.admin-data-table .section-row td{padding:8px 12px;background:var(--bg);font-weight:700;font-size:12.5px;color:var(--accent);border-bottom:1px solid var(--line)}.admin-data-table .stock-warn{color:#d32f2f;font-weight:700}.admin-data-table .low-stock-row td{background:#fff5f5}.admin-data-table .low-stock-row:hover td{background:#ffebee}.chip-warn{color:#d32f2f!important;font-weight:600}.low-stock-row{border-color:#ffcdd2!important;background:#fff5f5!important}.small-btn.danger{color:#d32f2f;border-color:#ffcdd2}.small-btn.danger:hover{background:#ffebee}.ingredient-excel-wrap{overflow:auto;max-height:calc(100vh - 220px);border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:4px}.ingredient-excel-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.ingredient-excel-table thead th{position:sticky;top:0;background:var(--bg);z-index:4;padding:10px 8px;text-align:center;border-bottom:2px solid var(--line);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);white-space:nowrap}.ingredient-excel-table tbody td{padding:0;border-bottom:1px solid var(--line);vertical-align:middle;height:40px}.ingredient-excel-table tbody tr:hover td{background:#2563eb0a}.ig-col-stt{position:sticky;left:0;z-index:3;width:30px;min-width:30px;max-width:30px;text-align:center;color:var(--muted);font-size:11px;background:inherit}.ig-col-name{position:sticky;left:30px;z-index:3;width:140px;min-width:140px;text-align:left;background:inherit}.ig-col-section{width:110px;min-width:90px;text-align:left}.ig-col-unit{width:55px;min-width:45px;text-align:center}.ig-col-stock,.ig-col-call{width:50px;min-width:40px;text-align:center}.ig-col-del{width:32px;min-width:32px;max-width:32px;text-align:center}.ingredient-excel-table tbody .ig-col-stt,.ingredient-excel-table tbody .ig-col-name{background:#fff}.ingredient-excel-table tbody tr:hover .ig-col-stt,.ingredient-excel-table tbody tr:hover .ig-col-name{background:#f1f5f9}.ingredient-excel-table thead .ig-col-stt,.ingredient-excel-table thead .ig-col-name{z-index:5}.ig-section-row td{font-weight:700;padding:5px 8px!important;font-size:12px;letter-spacing:.5px;height:auto!important}.ig-section-row .ig-col-stt,.ig-section-row .ig-col-name{background:inherit!important}.ig-section-row[data-sec-hue] td{background:hsl(var(--sec-h),92%,96%)!important;color:hsl(var(--sec-h),60%,35%)}.ig-section-row[data-sec-hue] .ig-col-stt,.ig-section-row[data-sec-hue] .ig-col-name{background:hsl(var(--sec-h),92%,96%)!important}.ig-sec-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle;flex-shrink:0}.ig-unit-badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;background:#f1f5f9;color:#475569;letter-spacing:.2px}.ig-cell-stock{color:#059669;font-weight:600}.ig-cell-call{color:#d97706;font-weight:600}.ig-section-select{font-weight:600}.ig-cell-input{width:100%;height:100%;border:none;outline:none;background:transparent;text-align:center;font-size:14px;font-weight:600;padding:8px 6px;color:#1e293b;box-sizing:border-box;line-height:1.3;font-family:inherit}.ig-cell-input.ig-input-name{text-align:left;font-weight:700;padding-left:8px;color:#0f172a}.ig-cell-input:focus{background:#eff6ff;outline:2px solid var(--primary);outline-offset:-2px;border-radius:4px}.ig-section-select{width:100%;border:none;outline:none;background:transparent;font-size:13px;font-weight:600;padding:8px 4px;color:var(--muted);cursor:pointer;-webkit-appearance:none;appearance:none;font-family:inherit}.ig-section-select:focus{background:#eff6ff;outline:2px solid var(--primary);outline-offset:-2px;border-radius:4px}.ig-cell-dirty{background:#fef3c7!important;box-shadow:inset 0 0 0 2px #fbbf24;border-radius:3px}.ig-low-stock td,.ig-low-stock .ig-col-stt,.ig-low-stock .ig-col-name{background:#fff5f5!important}.ig-low-stock:hover td,.ig-low-stock:hover .ig-col-stt,.ig-low-stock:hover .ig-col-name{background:#ffebee!important}.ig-low-stock .ig-cell-stock,.ig-low-stock .ig-cell-call{color:#d32f2f;font-weight:700}.ig-del-btn{width:26px;height:26px;border:none;background:transparent;cursor:pointer;font-size:14px;color:#bbb;border-radius:6px;display:flex;align-items:center;justify-content:center;margin:0 auto;transition:all .15s}.ig-del-btn:hover{background:#ffebee;color:#d32f2f}.ig-add-row td{text-align:center;padding:8px!important;height:auto!important}.ig-add-row-btn{display:inline-flex;align-items:center;gap:4px;border:1px dashed var(--line);background:transparent;color:var(--muted);font-size:12px;padding:4px 14px;border-radius:8px;cursor:pointer;transition:all .15s}.ig-add-row-btn:hover{background:var(--bg);color:var(--accent);border-color:var(--accent)}.ig-dirty-count{font-size:11px;background:var(--warning);color:#fff;padding:1px 7px;border-radius:10px;font-weight:600;margin-left:4px}.ig-empty-row td{text-align:center;padding:24px 12px!important;color:var(--muted);font-size:13px;height:auto!important}@media(max-width:720px){.ingredient-excel-wrap{max-height:calc(100vh - 240px)}.ig-col-stt{width:24px;min-width:24px}.ig-col-name{left:24px;width:100px;min-width:100px}.ig-cell-input{font-size:12px;padding:5px 3px}.ig-cell-input.ig-input-name{padding-left:6px}.ig-section-select{font-size:11px}.ingredient-excel-table tbody td{height:32px}}@media(max-width:480px){.ig-col-section,.ingredient-excel-table thead .ig-col-section{display:none}.ig-col-name{width:90px;min-width:90px}.ig-cell-input{font-size:11px}.ingredient-head-actions .primary-btn{font-size:12px;padding:5px 10px}}.form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px}.mn-col-stt{position:sticky;left:0;z-index:3;width:30px;min-width:30px;max-width:30px;text-align:center;color:var(--muted);font-size:11px;background:inherit}.mn-col-icon{width:32px;min-width:32px;max-width:32px;text-align:center}.mn-col-name{position:sticky;left:30px;z-index:3;width:160px;min-width:140px;text-align:left;background:inherit}.mn-col-cat{width:110px;min-width:90px;text-align:left}.mn-col-unit{width:55px;min-width:45px;text-align:center}.mn-col-price,.mn-col-cost{width:90px;min-width:75px;text-align:right}.mn-col-status{width:50px;min-width:42px;text-align:center}.mn-col-del{width:32px;min-width:32px;max-width:32px;text-align:center}.ingredient-excel-table tbody .mn-col-stt,.ingredient-excel-table tbody .mn-col-name{background:#fff}.ingredient-excel-table tbody tr:hover .mn-col-stt,.ingredient-excel-table tbody tr:hover .mn-col-name{background:#f1f5f9}.ingredient-excel-table thead .mn-col-stt,.ingredient-excel-table thead .mn-col-name{z-index:5}.mn-section-row td{background:var(--primary-soft)!important;color:var(--primary);font-weight:700;padding:5px 8px!important;font-size:12px;letter-spacing:.5px;height:auto!important}.mn-status-toggle{width:34px;height:18px;border-radius:10px;border:none;cursor:pointer;position:relative;transition:background .2s;padding:0}.mn-status-toggle.is-on{background:var(--primary)}.mn-status-toggle.is-off{background:#cbd5e1}.mn-status-toggle:after{content:"";position:absolute;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}.mn-status-toggle.is-on:after{left:17px}.mn-status-toggle.is-off:after{left:3px}.mn-emoji-btn{font-size:18px;background:none;border:none;cursor:pointer;padding:2px;border-radius:6px;transition:background .15s;line-height:1}.mn-emoji-btn:hover{background:var(--bg)}.mn-price-input{width:100%;border:none;background:transparent;font-size:14px;font-weight:700;text-align:right;padding:8px 6px;height:100%;outline:none;font-family:inherit;color:#0f172a}.mn-price-input:focus{background:var(--primary-soft);border-radius:4px}.mn-price-input.ig-cell-dirty{background:#fef3c7!important}@media(max-width:720px){.mn-col-stt{width:24px;min-width:24px}.mn-col-name{left:24px;width:110px;min-width:100px}.mn-col-cat,.ingredient-excel-table thead .mn-col-cat,.mn-col-cost,.ingredient-excel-table thead .mn-col-cost{display:none}}.schedule-guide{font-size:12px;color:var(--muted-foreground);margin:2px 0 0;line-height:1.4}.schedule-reg-table{min-width:400px;width:100%}.schedule-reg-table th,.schedule-reg-table td{text-align:center;padding:5px 6px;font-size:13px}.schedule-reg-table tbody td{padding:4px 6px}.schedule-reg-table th{background:#1f6df014;font-weight:700;font-size:12px}.schedule-check{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}.schedule-check:disabled{cursor:not-allowed;opacity:.5}.sched-status-badge{display:inline-block;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600}.sched-status-badge.registered{background:#e3f2fd;color:#1565c0}.sched-status-badge.approved{background:#c8e6c9;color:#2e7d32}.sched-status-badge.empty{background:#f5f5f5;color:#999}.admin-schedule-table{min-width:600px}.admin-schedule-table thead th{position:sticky;top:0;background:var(--bg);z-index:3;padding:4px 3px;text-align:center;border-bottom:2px solid var(--line);font-weight:700;font-size:11px;white-space:nowrap;line-height:1.2}.admin-schedule-table tbody td{padding:1px 2px;text-align:center;border-bottom:1px solid var(--line);line-height:1.1}.admin-schedule-table tfoot td{padding:4px 3px;font-weight:700;background:var(--bg);text-align:center;border-top:2px solid var(--line);position:sticky;bottom:0;z-index:2}.sched-col-day{position:sticky;left:0;background:inherit;z-index:2;min-width:68px;font-weight:700;font-size:12px;text-align:left!important;padding-left:6px!important;color:var(--text)}.sched-col-shift{position:sticky;left:68px;background:inherit;z-index:2;min-width:32px;font-weight:600;font-size:11px;color:var(--muted)}.admin-schedule-table thead .sched-col-day,.admin-schedule-table thead .sched-col-shift{z-index:5;background:var(--bg)}.admin-schedule-table tfoot .sched-col-day,.admin-schedule-table tfoot .sched-col-shift{z-index:4;background:var(--bg)}.sched-row-light{background:#fff}.sched-row-dark{background:#f8fafc}.sched-row-light .sticky-col{background:#fff}.sched-row-dark .sticky-col{background:#f8fafc}.sched-day-first{border-top:2px solid var(--line)}.asc{cursor:pointer;-webkit-tap-highlight-color:transparent;padding:1px!important;text-align:center;user-select:none}.asc .asc-dot{display:inline-block;width:20px;height:20px;border-radius:4px;border:1.5px solid #ddd;background:#fff;vertical-align:middle;transition:all .1s;position:relative}.asc-none .asc-dot{background:#fff;border-color:#e0dbd5}.asc-reg .asc-dot{background:#e3f2fd;border-color:#90caf9}.asc-reg .asc-dot:after{content:"";position:absolute;inset:3px;border:1.5px solid #90caf9;border-radius:2px}.asc-assigned .asc-dot{background:#e3f2fd;border-color:#42a5f5}.asc-assigned .asc-dot:after{content:"\2713";display:flex;align-items:center;justify-content:center;color:#1565c0;font-size:14px;font-weight:800;width:100%;height:100%;position:absolute;inset:0}.asc-forced .asc-dot{background:#ef5350;border-color:#c62828}.asc-forced .asc-dot:after{content:"\2713";display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:800;width:100%;height:100%;position:absolute;inset:0}.sched-th-noreg{background:#fbe9e7!important;color:#bf360c!important}.sched-th-hasreg{background:#e8f5e9!important;color:#2e7d32!important}.mob-brand{display:none}.mob-hamburger{display:none;background:none;border:none;font-size:24px;width:44px;height:44px;border-radius:12px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;justify-content:center;flex-shrink:0}.mob-sidebar-overlay{display:none;position:fixed;inset:0;z-index:199;background:#00000073;backdrop-filter:blur(2px)}.mob-sidebar-overlay.is-open{display:block}.mob-sidebar{display:none;position:fixed;top:0;left:0;bottom:0;width:270px;max-width:80vw;z-index:200;background:#fff;box-shadow:8px 0 40px #23170f26;flex-direction:column;transform:translate(-100%);transition:transform .25s ease-out}.mob-sidebar.is-open{display:flex;transform:translate(0)}.mob-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--line)}.mob-sidebar-brand{display:flex;align-items:center;gap:10px}.mob-sidebar-brand .brand-mark{width:36px;height:36px;font-size:18px;border-radius:10px}.mob-sidebar-brand strong{font-size:15px;color:var(--text)}.mob-sidebar-brand .eyebrow{font-size:9px;margin-bottom:1px}.mob-sidebar-close{background:none;border:none;font-size:20px;width:36px;height:36px;border-radius:10px;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.mob-sidebar-close:active{background:#0000000d}.mob-sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}.mob-sidebar-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:none;border:none;color:var(--text);font-size:15px;font-weight:600;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s;border-left:3px solid transparent}.mob-sidebar-item:active{background:#1f6df00f}.mob-sidebar-item.is-active{color:var(--primary);background:#1f6df012;border-left-color:var(--primary)}.mob-sidebar-icon{font-size:20px;width:28px;text-align:center;flex-shrink:0}.mob-sidebar-footer{border-top:1px solid var(--line);padding:4px 0}.mob-sidebar-logout{color:var(--danger)!important}.mob-sidebar-arrow{margin-left:auto;font-size:18px;color:var(--muted);transition:transform .2s}.mob-sidebar-item.is-expanded .mob-sidebar-arrow{transform:rotate(90deg)}.mob-sidebar-subtabs{display:none;flex-direction:column;background:#1f6df008;border-left:3px solid transparent}.mob-sidebar-subtabs.is-open{display:flex}.mob-sidebar-sub{display:flex;align-items:center;gap:8px;width:100%;padding:11px 20px 11px 44px;background:none;border:none;color:var(--text);font-size:13.5px;font-weight:500;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.mob-sidebar-sub:active{background:#1f6df014}.mob-sidebar-sub.is-active{color:var(--primary);font-weight:700;background:#1f6df012}.admin-tab-label{display:none}.mob-cart-bar{display:none;position:fixed;left:0;right:0;z-index:99;padding:10px 16px;background:linear-gradient(135deg,#1b6ef3,#1458c8);color:#fff;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 -4px 16px #1f6df040}.mob-cart-bar-info{display:flex;align-items:center;gap:8px;font-size:14px}.mob-cart-bar-icon{font-size:18px}.mob-cart-bar-dot{opacity:.6}.mob-cart-bar-toggle{padding:8px 14px;border-radius:10px;background:#fff3;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;-webkit-tap-highlight-color:transparent}.mob-cart-overlay{display:none;position:fixed;inset:0;z-index:98;background:#0006}.mob-cart-overlay.is-open{display:block}.cart-panel.mob-drawer-open{position:fixed;inset:auto 0 0;z-index:105;max-height:85vh;overflow-y:auto;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #0000002e;background:#fff;padding:0;display:flex;flex-direction:column;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mob-drawer-handle{display:none;justify-content:center;padding:10px}.mob-drawer-handle-bar{width:40px;height:4px;border-radius:2px;background:#d0d5dd}.mob-table-card-view .attendance-history-table,.mob-table-card-view table{display:none}.mob-card-list{display:grid;gap:10px}.mob-data-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 4px 12px #23170f0a}.mob-data-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.mob-data-card-head strong{font-size:15px}.mob-data-card-body{display:grid;gap:4px;font-size:13px;color:var(--muted)}.mob-data-card-body .mob-card-row{display:flex;justify-content:space-between;gap:8px}.mob-data-card-status{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700}.mob-data-card-status.paid{background:#e7fbef;color:#18995b}.mob-data-card-status.pending{background:#fff3d6;color:#9a5c00}.mob-data-card-status.brewing{background:#fff0df;color:#8a3d00}@media(max-width:768px){.mob-hamburger{display:flex}.main-nav{display:none!important}.topbar{padding:4px 6px;gap:4px;flex-wrap:nowrap}.brand-block{display:none}.mob-brand{display:grid!important;width:26px;height:26px;font-size:13px}.status-strip{flex:1;display:flex;align-items:center;gap:6px;padding:0 4px}.status-strip>.mob-brand{order:1;margin-right:2px}.status-strip>.mob-hamburger{order:2}.status-strip>.topbar-row-actions{order:3;margin-left:auto}.status-strip>.topbar-row-user{order:4}.topbar-row{gap:3px}.branch-badge,.thuci-topbar-btn,.endshift-topbar-btn,.user-corner-btn{padding:4px 8px;font-size:11px;border-radius:6px;border-width:1.5px}.user-corner-avatar{width:18px;height:18px;font-size:9px}.user-corner-name{display:none}.eyebrow{font-size:10px}.workspace{padding:12px 10px 80px}.pos-layout{grid-template-columns:1fr!important;gap:0}.cart-panel.order-panel{display:none}.cart-panel.order-panel.mob-drawer-open,.mob-drawer-handle{display:flex}.mob-cart-bar:not([hidden]){display:flex;bottom:0}.pos-modebar{flex-wrap:nowrap;padding:4px 6px;gap:4px;border-radius:0}.pos-tab-group{gap:3px}.pos-tab-btn{padding:4px 8px;font-size:11px;border-radius:6px}.pos-search-wrap{order:0;flex:1 1 auto;max-width:none;min-width:0}.pos-search-input{padding:4px 8px;font-size:12px;min-height:28px;border-radius:6px}.pos-mode-actions{margin-left:0;gap:3px}.pos-mode-actions .icon-circle{width:26px;height:26px;font-size:12px}.order-user-chip,#pos-user-chip{display:none}.pos-shell{padding:0!important;border-radius:0!important;border:none!important;box-shadow:none!important}.table-toolbar{gap:6px;padding:6px 8px;border:none}.table-filter-group{gap:4px}.radio-chip{padding:4px 8px;font-size:11px;gap:4px;border-radius:8px}.radio-chip input{display:none}.radio-chip b{font-size:9px;padding:1px 5px}.table-view-actions{gap:4px}.table-icon-btn{width:28px;height:28px;border-radius:8px;font-size:13px}.tables-wrap{padding:6px}.tables-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px}.tables-grid.is-compact{grid-template-columns:repeat(5,1fr)!important;gap:4px}.table-card{min-height:auto;padding:8px 4px 6px;border-radius:10px;gap:2px;border-width:1.5px}.table-visual{width:28px;height:22px;border-radius:6px;font-size:13px;border-width:1.5px}.table-card strong{font-size:10px;line-height:1.2}.table-card small{font-size:8px;line-height:1}.table-card em{font-size:9px}.table-badge{top:3px;right:3px;min-width:16px;height:16px;font-size:8px}.panel-footer-strip{padding:4px 8px;gap:6px;font-size:11px}.check-inline{font-size:11px;gap:4px}.check-inline span{display:none}.check-inline input[type=checkbox]{width:14px;height:14px;min-height:auto}.pager-inline button{width:28px;height:28px;min-height:auto;font-size:12px}.menu-grid-pos{display:flex!important;flex-direction:column;gap:0;padding:0;overflow:hidden}.pos-main-panel{overflow:hidden;min-height:unset}.menu-item{border-radius:0;display:flex;flex-direction:row;align-items:center;border:none;border-bottom:1px solid var(--line);padding:0;overflow:hidden;width:100%;min-width:0;box-sizing:border-box}.menu-media{aspect-ratio:unset;width:36px;height:36px;min-width:36px;border-radius:0;margin:0;border-bottom:none;background:transparent;flex-shrink:0}.menu-media-icon{font-size:18px}.menu-info{padding:8px 12px 8px 0;text-align:left;display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;gap:8px;overflow:hidden}.menu-name{font-size:13px;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.menu-price{font-size:13px;font-weight:700;color:var(--primary);white-space:nowrap;flex-shrink:0}.category-bar{gap:4px;padding:4px 8px}.chip{padding:5px 10px;font-size:11px;border-radius:8px}.sub-category-bar{gap:3px;padding:2px 8px}.sub-pill{padding:4px 8px;font-size:10px}.source-note{font-size:10px;padding:2px 8px;margin:0}.mob-cart-bar:not([hidden]){padding:8px 12px;gap:8px}.mob-cart-bar-info{font-size:13px;gap:6px}.mob-cart-bar-toggle{padding:6px 10px;font-size:12px;border-radius:8px}.cart-panel.mob-drawer-open .order-header-bar{padding:8px 12px;gap:6px}.cart-panel.mob-drawer-open .current-table-box{padding:6px 8px;border-radius:8px;font-size:13px;gap:6px}.cart-panel.mob-drawer-open .current-table-box span{font-size:14px}.cart-panel.mob-drawer-open .table-mini-btn{width:30px;height:30px;font-size:14px}.cart-panel.mob-drawer-open .cart-list{max-height:36vh;min-height:60px;padding:4px 8px;gap:6px}.cart-panel.mob-drawer-open .cart-item{padding:8px;border-radius:10px;gap:4px}.cart-panel.mob-drawer-open .cart-line-top{grid-template-columns:20px 14px minmax(80px,1fr) auto 60px 24px;column-gap:4px;min-height:32px}.cart-panel.mob-drawer-open .remove-btn,.cart-panel.mob-drawer-open .qty-btn{width:28px;height:28px;border-radius:7px;font-size:14px}.cart-panel.mob-drawer-open .qty-num{font-size:13px;min-width:16px}.cart-panel.mob-drawer-open .line-total{font-size:12px;min-width:56px}.cart-panel.mob-drawer-open .note-icon-btn{width:24px;height:24px;font-size:11px}.cart-panel.mob-drawer-open .cart-item-title strong{font-size:12px}.cart-panel.mob-drawer-open .line-index{font-size:10px}.cart-panel.mob-drawer-open .cart-note-preview{font-size:11px;padding:3px 6px;border-radius:6px}.cart-panel.mob-drawer-open .order-inline-summary{padding:8px 12px;font-size:12px}.cart-panel.mob-drawer-open .order-note-card{padding:8px 10px;border-radius:10px;gap:8px}.cart-panel.mob-drawer-open .order-note-copy span{font-size:11px}.cart-panel.mob-drawer-open .order-note-copy strong{font-size:12px}.cart-panel.mob-drawer-open .totals-box{padding:8px 12px;border-radius:10px}.cart-panel.mob-drawer-open .total-row{padding:4px 0;font-size:13px}.cart-panel.mob-drawer-open .total-row.grand{padding-top:6px;margin-top:4px}.cart-panel.mob-drawer-open .total-row.grand strong{font-size:18px}.cart-panel.mob-drawer-open .order-action-row{margin:8px 12px 12px}.cart-panel.mob-drawer-open .primary-btn{padding:12px 14px;min-height:40px;font-size:14px;border-radius:10px}.cart-panel.mob-drawer-open .order-form-block,.cart-panel.mob-drawer-open .order-totals-box,.cart-panel.mob-drawer-open .order-action-row{margin-left:10px;margin-right:10px}.cart-panel.mob-drawer-open .empty-order{padding:16px 10px}.cart-panel.mob-drawer-open .empty-order-icon{font-size:24px}.cart-panel.mob-drawer-open .empty-order p{font-size:13px}.cart-panel.mob-drawer-open .empty-order span{font-size:11px}.admin-subnav{display:flex}.admin-tab-label{display:none}.page-head{flex-direction:row;align-items:center;gap:6px;margin-bottom:8px;padding:0}.page-head>div{display:flex;align-items:baseline;gap:6px}.page-head .eyebrow{margin:0;font-size:10px}.page-head h2{font-size:16px;margin:0}.page-copy{display:none}.category-bar,.sub-category-bar,.zone-strip{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-bar::-webkit-scrollbar,.sub-category-bar::-webkit-scrollbar,.zone-strip::-webkit-scrollbar{display:none}.chip,.zone-pill,.sub-pill{flex-shrink:0;white-space:nowrap}.table-filter-group{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.table-filter-group::-webkit-scrollbar{display:none}.radio-chip{flex-shrink:0;white-space:nowrap}.qty-btn,.remove-btn{width:36px;height:36px;border-radius:10px;font-size:16px}.icon-circle{width:40px;height:40px}.note-icon-btn{width:36px;height:36px}.icon-btn{width:44px;height:44px}.primary-btn,.secondary-btn,.ghost-btn{padding:14px 16px;min-height:44px}.nav-btn{min-height:44px}input,select,textarea{min-height:44px;padding:12px 14px;font-size:16px}.hero-card{grid-template-columns:1fr;padding:16px}.hero-card h2{font-size:20px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px}.report-toolbar{grid-template-columns:1fr}.report-summary-grid{grid-template-columns:repeat(2,1fr);gap:8px}.report-grid{grid-template-columns:1fr}.report-panel-head{gap:8px}.report-head-title .eyebrow{font-size:10px;margin-bottom:2px}.report-head-title h3{font-size:15px;line-height:1.2}.report-head-actions{display:flex;gap:6px;flex-wrap:nowrap;flex-shrink:0}.report-action-btn{padding:7px 9px!important;font-size:12px!important;min-width:0}.report-action-btn .report-action-text{display:none}.report-action-btn .report-action-icon{font-size:17px}.kitchen-list-head{display:none}.kitchen-card{grid-template-columns:1fr;gap:10px}.kitchen-side-panel{border-top:1px dashed rgba(0,0,0,.1);padding-top:10px}.attendance-checkin-panel{padding:14px}.attendance-actions{gap:8px}.attendance-btn{min-height:48px}.auth-grid{grid-template-columns:1fr}.auth-panel{width:100%}.admin-grid{grid-template-columns:1fr!important}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-panel{width:calc(100% - 24px);max-width:none;margin:12px;border-radius:18px}.modal-overlay#expense-modal .modal-panel{width:calc(100% - 24px);max-width:none;margin:12px}.order-header-bar{flex-wrap:wrap;gap:6px}.order-header-tools{flex-wrap:wrap}.price-tag-lite{display:none}.schedule-header-row{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px}.schedule-header-row .schedule-title-group{display:none}.menu-list-head{flex-direction:row;flex-wrap:nowrap;gap:6px;align-items:center}.menu-toolbar-actions{flex-wrap:nowrap;gap:4px}.quick-cash-row{display:grid!important;grid-template-columns:repeat(6,1fr);gap:3px}.cash-btn{min-height:44px}.inventory-toolbar{flex-direction:row;flex-wrap:nowrap;gap:4px;align-items:center}.inventory-toolbar .ghost-btn,.inventory-toolbar .primary-btn,.inventory-toolbar .secondary-btn,.schedule-header-row .ghost-btn,.schedule-header-row .primary-btn,.schedule-header-row .secondary-btn,.menu-list-head .ghost-btn,.menu-list-head .primary-btn,.menu-list-head .secondary-btn,.menu-toolbar-actions .ghost-btn,.menu-toolbar-actions .primary-btn,.menu-toolbar-actions .secondary-btn{padding:5px 8px;font-size:11px;min-height:30px;white-space:nowrap}.inventory-week-nav{flex-wrap:nowrap;gap:2px}.inventory-week-nav strong{font-size:11px}.panel-card{padding:14px;border-radius:16px}.pos-main-panel,.pos-panel-view{min-height:auto}.panel-footer-strip{flex-wrap:wrap;gap:8px;padding:8px 10px}.menu-subnav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.menu-subnav::-webkit-scrollbar{display:none}.menu-subtab-btn{flex-shrink:0;white-space:nowrap}.staff-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.finance-toolbar{flex-direction:column;gap:8px}.schedule-reg-table{display:none!important}.mob-schedule-cards{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.mob-sched-header{display:grid;grid-template-columns:1fr repeat(4,44px);background:var(--bg);border-bottom:2px solid var(--line)}.mob-sched-header span{padding:8px 4px;text-align:center;font-size:12px;font-weight:700;color:var(--muted)}.mob-sched-header span:first-child{text-align:left;padding-left:12px;color:var(--text)}.mob-sched-row{display:grid;grid-template-columns:1fr repeat(4,44px);align-items:center;border-bottom:1px solid var(--line)}.mob-sched-row:last-child{border-bottom:none}.mob-sched-day{padding:10px 12px;font-size:13px;font-weight:600;color:var(--text);line-height:1.2}.mob-sched-day small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.mob-sched-cell{display:flex;align-items:center;justify-content:center;height:44px;cursor:pointer;-webkit-tap-highlight-color:transparent;position:relative}.mob-sched-cell input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.mob-sched-cell .cell-dot{width:22px;height:22px;border-radius:6px;border:2px solid var(--line);background:var(--bg);transition:all .15s}.mob-sched-cell.is-on .cell-dot{border-color:var(--primary);background:var(--primary)}.mob-sched-cell.is-on .cell-dot:after{content:"\2713";display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;width:100%;height:100%}.mob-sched-count{font-size:11px;font-weight:700;color:var(--primary);padding:2px 0;text-align:center;min-width:20px}.mob-sched-count.is-empty{color:var(--muted)}#admin-schedule-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-schedule-table{min-width:500px;font-size:11px}.asc .asc-dot{width:24px;height:24px}.table-modal-panel{max-width:320px}.table-modal-panel .panel-head{padding:14px 16px 8px}.table-modal-panel .action-row{padding:10px 16px 14px}}@media(max-width:480px){.workspace{padding:8px 6px 80px}.topbar{padding:8px 10px}.brand-block h1{font-size:14px}.brand-mark{width:32px;height:32px;font-size:16px;border-radius:10px}.tables-grid{grid-template-columns:repeat(3,1fr)!important;gap:5px}.tables-grid.is-compact{grid-template-columns:repeat(4,1fr)!important}.table-card{padding:6px 3px 5px;gap:1px;border-radius:8px}.table-card strong{font-size:9.5px}.table-card small{font-size:7.5px}.table-card em{font-size:8px}.table-visual{width:24px;height:20px;font-size:11px;border-radius:5px}.table-badge{top:2px;right:2px;min-width:14px;height:14px;font-size:7px}.menu-grid-pos{grid-template-columns:repeat(3,1fr)!important;gap:4px;padding:4px}.menu-media{aspect-ratio:1 / .65}.menu-media-icon{font-size:22px}.menu-name{font-size:9px}.menu-price{font-size:11px}.menu-info{padding:4px 6px}.chip{padding:4px 8px;font-size:10px}.stats-grid,.report-summary-grid{grid-template-columns:1fr}.inventory-toolbar,.schedule-header-row,.menu-list-head{flex-direction:row;flex-wrap:nowrap;gap:3px;align-items:center}.inventory-toolbar .ghost-btn,.inventory-toolbar .primary-btn,.inventory-toolbar .secondary-btn,.schedule-header-row .ghost-btn,.schedule-header-row .primary-btn,.schedule-header-row .secondary-btn,.menu-list-head .ghost-btn,.menu-list-head .primary-btn,.menu-list-head .secondary-btn,.menu-toolbar-actions .ghost-btn,.menu-toolbar-actions .primary-btn,.menu-toolbar-actions .secondary-btn{padding:3px 5px;font-size:10px;min-height:24px;white-space:nowrap}.inventory-week-nav{gap:1px}.inventory-week-nav strong{font-size:10px}.menu-toolbar-actions{flex-wrap:nowrap;gap:3px}.toolbar-actions-row{gap:2px}.toolbar-actions-row .ghost-btn,.toolbar-actions-row .primary-btn,.toolbar-actions-row .secondary-btn{padding:3px 5px;font-size:10px;min-height:24px}.page-head h2{font-size:14px}.page-head .eyebrow{font-size:9px}.cart-line-top{grid-template-columns:18px 14px minmax(100px,1fr) auto 60px 24px;column-gap:4px}.line-total{min-width:56px;font-size:11px}.kitchen-overview{grid-template-columns:repeat(2,1fr);gap:6px}.pos-modebar{padding:6px 8px;gap:6px}.pos-tab-btn{padding:6px 8px;font-size:12px;border-radius:10px}.order-inline-summary{font-size:12px;padding:8px 10px}.total-row.grand strong,.hero-card h2,.hero-metrics strong{font-size:18px}}.admin-schedule-table tfoot td.total-zero{color:#999}.admin-schedule-table tfoot td.total-pos{color:#2e7d32;font-weight:800}.sched-col-dk{min-width:32px;font-weight:800;color:var(--text);font-size:12px;border-left:2px solid var(--line)!important}.sched-col-task{min-width:140px;text-align:left!important;padding-left:4px!important}.sched-col-task input{border:none;background:transparent;width:100%;font-size:11px;padding:3px 4px;border-radius:4px}.sched-col-task input:focus{background:#eff6ff;outline:1.5px solid var(--primary)}.shift-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.3px;background:#f1f5f9;color:#64748b}.shift-badge.sang{background:#fff7ed;color:#c2410c}.shift-badge.chieu{background:#eff6ff;color:#1d4ed8}.shift-badge.toi{background:#faf5ff;color:#7e22ce}.shift-badge.khuya{background:#f1f5f9;color:#334155}.att-top{display:flex;gap:12px;align-items:stretch;margin-bottom:8px}.att-clock-panel{background:var(--primary);color:#fff;border-radius:12px;padding:20px 28px;text-align:center;display:flex;flex-direction:column;justify-content:center;min-width:200px}.att-clock{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1}.att-date{font-size:13px;opacity:.8;margin-top:4px}.att-info-panel{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.att-user{font-size:15px;font-weight:700;color:var(--primary)}.att-shift-box{display:flex;gap:12px;align-items:center;padding:6px 10px;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;font-size:13px}.att-shift-label{font-weight:600;color:var(--text)}.att-shift-status{color:var(--muted-foreground)}.att-actions{display:flex;gap:8px}.att-btn{flex:1;padding:10px 16px;font-size:13px;font-weight:700;border:none;border-radius:8px;cursor:pointer;letter-spacing:.5px;transition:opacity .15s;font-family:inherit}.att-btn.checkin{background:var(--success);color:#fff}.att-btn.checkin:hover{opacity:.9}.att-btn.checkin:disabled{opacity:.4;pointer-events:none}.att-btn.checkout{background:#dc2626;color:#fff}.att-btn.checkout:hover{opacity:.9}.att-btn.checkout:disabled{opacity:.3;pointer-events:none;background:#e2e8f0;color:#94a3b8}.att-gps-guide{font-size:11px;color:var(--muted-foreground);line-height:1.4}.att-gps-guide p{margin:0}@media(max-width:640px){.att-top{flex-direction:column}.att-clock-panel{min-width:auto;padding:14px 20px}.att-clock{font-size:32px}}.endshift-topbar-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--primary);border:1.5px solid var(--primary);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}.endshift-topbar-btn:hover{background:var(--primary);color:#fff}#endshift-modal{position:fixed;inset:0;background:#00000080;align-items:center;justify-content:center;padding:20px;z-index:100}#endshift-modal .modal-box{background:#fff;border-radius:12px;padding:20px;width:min(420px,100%);box-shadow:0 20px 60px #00000026}#endshift-modal .modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}#endshift-modal .modal-head h3{font-size:18px;font-weight:700;margin:0}#endshift-modal .modal-close{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:8px;font-size:16px;cursor:pointer;color:var(--muted)}#endshift-modal .modal-close:hover{background:#e2e8f0}#endshift-modal .modal-body{margin-bottom:18px}#endshift-modal .modal-foot{display:flex;justify-content:flex-end}.endshift-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.endshift-stat{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius);padding:12px;text-align:center}.endshift-stat .stat-label{font-size:12px;color:var(--muted);margin-bottom:4px}.endshift-stat .stat-value{font-size:20px;font-weight:700;color:var(--fg)}.endshift-stat .stat-value.revenue{color:var(--success, #43a047)}.endshift-stat .stat-value.expense{color:var(--error, #e53935)}.endshift-top-items{margin-top:12px}.endshift-top-items h4{font-size:13px;color:var(--muted);margin:0 0 8px;font-weight:600}.endshift-top-items ul{list-style:none;padding:0;margin:0}.endshift-top-items li{display:flex;justify-content:space-between;padding:5px 0;font-size:14px;border-bottom:1px solid var(--line)}.endshift-top-items li:last-child{border-bottom:none}.attendance-gps-note{padding:8px 18px 18px;color:var(--muted)}.attendance-gps-note small{font-size:12px}.attendance-history-table th,.attendance-history-table td{padding:8px 12px;font-size:13px;text-align:center}.attendance-history-table .late-cell{color:var(--danger);font-weight:700}.attendance-stats{margin-top:4px}.admin-attendance-table th,.admin-attendance-table td{padding:4px 8px;font-size:11px;text-align:center;white-space:nowrap}.admin-attendance-table th{background:#1f6df014;font-weight:700}.admin-attendance-table .cell-checkin{color:var(--success);font-weight:600;font-size:11px}.admin-attendance-table .cell-late{color:var(--danger);font-size:10px}.admin-attendance-table .cell-absent{color:var(--muted);font-size:11px}.admin-attendance-table .cell-hours{font-weight:700;color:var(--primary)}.admin-attendance-table .sticky-col{position:sticky;left:0;background:var(--panel);z-index:2;min-width:100px;text-align:left;font-weight:700}.attendance-wage-table th,.attendance-wage-table td{padding:5px 8px;font-size:12px;text-align:center}.attendance-wage-table th{background:#1f6df014;font-weight:700}.wage-amount{font-weight:800;color:var(--success)}.late-rank-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.late-rank-item:last-child{border-bottom:none}.late-rank-pos{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;flex-shrink:0}.late-rank-pos.rank-1{background:var(--danger)}.late-rank-pos.rank-2{background:#ff9800}.late-rank-pos.rank-3{background:#ffc107;color:#333}.late-rank-pos.rank-other{background:var(--muted)}.late-rank-info{flex:1}.late-rank-name{font-weight:700;font-size:14px}.late-rank-detail{font-size:12px;color:var(--muted)}.late-rank-value{font-weight:800;color:var(--danger);font-size:15px}.att-checked-in .attendance-status-box{background:#f0fdf4;border-radius:12px;margin:0 16px}.att-checked-out .attendance-status-box{background:#f1f5f9;border-radius:12px;margin:0 18px}.printer-config-card{background:var(--panel);border-radius:18px;padding:24px;border:1px solid var(--line);max-width:680px;margin:0 auto}.printer-config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.printer-config-header h3{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.3px}.printer-status{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700}.printer-section{margin-bottom:16px}.printer-section-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:12px;letter-spacing:-.2px}.printer-label{display:block;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.printer-input{width:100%;padding:10px 14px;border:1.5px solid var(--line);border-radius:10px;font-size:14px;background:var(--bg);color:var(--text);transition:border-color .2s}.printer-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1f6df01a}.printer-input.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;letter-spacing:.5px}.printer-hint{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5}.printer-hint code{background:#1f6df014;padding:1px 5px;border-radius:4px;font-size:11px;color:var(--primary);font-weight:600}.printer-conn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.printer-conn-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:2px solid var(--line);border-radius:14px;cursor:pointer;transition:all .2s;background:var(--bg);text-align:center;position:relative}.printer-conn-option:hover{border-color:#1f6df04d;background:#1f6df008}.printer-conn-option.is-active{border-color:var(--primary);background:#1f6df00f;box-shadow:0 2px 12px #1f6df01f}.printer-conn-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.conn-icon{font-size:24px;line-height:1}.conn-label{font-size:14px;font-weight:700;color:var(--text)}.conn-note{font-size:10px;color:var(--muted);font-weight:600}.printer-conn-option.is-active .conn-note{color:var(--primary)}.printer-row{display:flex;gap:12px;align-items:flex-start}.printer-field{margin-bottom:12px}.printer-field.flex-1{flex:1}.printer-divider{border:none;border-top:1px dashed var(--line);margin:20px 0}.printer-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text);padding:6px 0;margin-right:20px}.printer-checkbox input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--primary);cursor:pointer}.printer-actions{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.printer-btn{padding:10px 20px;border-radius:12px;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:all .2s;flex:1;text-align:center}.printer-btn.primary{background:var(--primary);color:#fff;box-shadow:0 2px 10px #1f6df040}.printer-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1f6df059}.printer-btn.secondary{background:var(--bg);color:var(--text);border:1.5px solid var(--line)}.printer-btn.secondary:hover{border-color:var(--primary);color:var(--primary)}.printer-test-result{margin-top:14px;padding:12px 16px;border-radius:12px;font-size:13px;font-weight:600;line-height:1.5}.printer-test-result.info{background:#1f6df014;color:var(--primary);border:1px solid rgba(31,109,240,.15)}.printer-test-result.success{background:#18995b14;color:var(--success);border:1px solid rgba(24,153,91,.15)}.printer-test-result.error{background:#dc262614;color:var(--danger);border:1px solid rgba(220,38,38,.15)}@media(max-width:768px){.printer-config-card{padding:16px;border-radius:14px}.printer-config-header h3{font-size:16px}.printer-row{flex-direction:column;gap:0}.printer-actions{flex-direction:column;gap:8px}.printer-checkbox{display:flex;margin-right:0;margin-bottom:4px}}.branch-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:700;letter-spacing:.3px;background:var(--primary, #2563eb);color:#fff;cursor:default;white-space:nowrap;border:none}.branch-badge.branch-anytime{background:#8b5cf6}.branch-badge.branch-anycoffee{background:#d97706}.cashbook-filter-bar{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;padding:8px 12px;background:var(--bg-card, #f8fafc);border-radius:8px;margin-bottom:8px}.cashbook-filter-bar label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted, #64748b)}.cashbook-filter-bar input,.cashbook-filter-bar select{padding:6px 10px;border:1px solid var(--line, #e2e8f0);border-radius:6px;font-size:13px;background:#fff}.cashbook-type-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.3px}.cashbook-type-badge.income{background:#dcfce7;color:#15803d}.cashbook-type-badge.expense{background:#fef2f2;color:#dc2626}.cashbook-amount{font-weight:700;font-variant-numeric:tabular-nums}.cashbook-amount.income{color:#15803d}.cashbook-amount.expense{color:#dc2626}.cashbook-delete-btn{background:none;border:1px solid #fecaca;color:#dc2626;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;transition:background .15s}.cashbook-delete-btn:hover{background:#fef2f2}.revenue-summary-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0}.revenue-summary-toolbar select,.revenue-summary-toolbar input{padding:6px 10px;border:1px solid var(--line, #e2e8f0);border-radius:6px;font-size:13px;background:#fff}.revenue-summary-content{padding:0}.revenue-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;margin-bottom:8px}.revenue-card{background:var(--bg-card, #f8fafc);border-radius:8px;padding:8px 10px;border:1px solid var(--line, #e2e8f0)}.revenue-card .rc-label{font-size:11px;color:var(--muted, #64748b);margin-bottom:2px}.revenue-card .rc-value{font-size:16px;font-weight:800;color:var(--text, #0f172a);font-variant-numeric:tabular-nums}.revenue-card .rc-value.positive{color:#15803d}.revenue-card .rc-value.negative{color:#dc2626}.shift-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.shift-card{background:#fff;border:1px solid var(--line, #e2e8f0);border-radius:10px;padding:10px 12px;transition:box-shadow .15s;min-width:0}.shift-card:hover{box-shadow:0 2px 8px #0000000f}.shift-card-header{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:8px;min-width:0}.shift-card-name{font-weight:700;font-size:14px;color:var(--text, #0f172a);line-height:1.2;white-space:nowrap}.shift-card-time{font-size:11px;color:var(--muted, #64748b);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.shift-card-stats{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--line, #e2e8f0);padding-top:6px}.shift-card-row{display:flex;justify-content:space-between;font-size:12px;gap:6px;min-width:0}.shift-card-row .label{color:var(--muted, #64748b);flex-shrink:0}.shift-card-row .value{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-card-row .value.revenue{color:#15803d}@media(max-width:640px){.shift-summary-cards{grid-template-columns:repeat(2,1fr);gap:8px}.shift-card{padding:12px}.shift-card-name{font-size:15px}.shift-card-time{font-size:12px}.shift-card-row{font-size:13px}}.endshift-payment-breakdown{margin-top:12px;padding:10px 14px;background:var(--bg-card, #f8fafc);border-radius:8px;border:1px solid var(--line, #e2e8f0)}.endshift-payment-breakdown h4{font-size:12px;font-weight:700;color:var(--muted, #64748b);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.endshift-pay-row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0}.endshift-pay-row .value{font-weight:600;font-variant-numeric:tabular-nums}.endshift-cashbook-section{margin-top:12px;padding:10px 14px;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0}.endshift-cashbook-section h4{font-size:12px;font-weight:700;color:#15803d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}#login-branch{width:100%;padding:10px 14px;border:1px solid var(--line, #e2e8f0);border-radius:8px;font-size:14px;background:#fff;color:var(--text, #0f172a);cursor:pointer;appearance:auto}#login-branch:focus{border-color:var(--primary, #2563eb);outline:none;box-shadow:0 0 0 3px #2563eb1a}#endshift-modal .modal-foot{display:flex;gap:8px;justify-content:flex-end}.bill-payment-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 14px}.bill-pay-chip{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line, #e2e8f0)}.bill-pay-chip.bill-pay-cash{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.bill-pay-chip.bill-pay-transfer{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.bill-pay-icon{font-size:26px}.bill-pay-chip>div{display:flex;flex-direction:column}.bill-pay-label{font-size:12px;color:#475569;text-transform:uppercase;letter-spacing:.3px}.bill-pay-chip strong{font-size:17px;font-weight:700;color:#0f172a;line-height:1.3}.bill-pay-chip small{font-size:11px;color:#64748b}@media(max-width:560px){.bill-payment-breakdown{grid-template-columns:1fr}}.payment-method-tabs{display:flex;gap:0;margin:10px 0 14px;border-bottom:2px solid var(--line, #e2e8f0)}.payment-method-tab{flex:1;padding:9px 0;border:none;background:none;font-size:14px;font-weight:600;cursor:pointer;color:var(--muted, #6b7280);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.payment-method-tab.is-active{color:var(--primary, #0f172a);border-bottom-color:var(--primary, #0f172a)}.payment-method-tab:hover:not(.is-active){color:var(--foreground, #374151)}.payment-transfer-hint{padding:10px 12px;background:#eff6ff;border:1px dashed #60a5fa;border-radius:8px;font-size:13px;color:#1e40af;margin-bottom:8px;line-height:1.5}#qr-pay-modal{position:fixed;inset:0;background:#0009;display:none;align-items:center;justify-content:center;padding:16px;z-index:200}#qr-pay-modal[style*="display:flex"],#qr-pay-modal[style*="display: flex"]{display:flex!important}.qr-pay-box{position:relative;background:#fff;border-radius:18px;padding:28px 24px 22px;width:min(580px,100%);box-shadow:0 24px 70px #00000040;text-align:center;transform:scale(.7);transform-origin:center center}.qr-pay-close{position:absolute;top:10px;right:14px;font-size:22px;background:none;border:none;cursor:pointer;color:#94a3b8}.qr-pay-eyebrow{margin:0 0 4px;font-size:15px;color:#1f2937;font-weight:500}.qr-pay-name{margin:0 0 2px;font-size:18px;font-weight:700;color:#0f172a;text-transform:uppercase}.qr-pay-account{margin:0 0 16px;font-size:15px;color:#475569;letter-spacing:.5px}.qr-pay-img-wrap{display:flex;justify-content:center;padding:10px;background:#f8fafc;border-radius:14px;margin-bottom:14px}.qr-pay-img-wrap img{width:500px;height:500px;max-width:100%;max-height:70vh;object-fit:contain;border-radius:10px;display:block}@media(max-width:560px){.qr-pay-img-wrap img{width:100%;height:auto;aspect-ratio:1 / 1}}.qr-pay-amount{display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px;background:#fef3c7;border-radius:10px;margin-bottom:8px}.qr-pay-amount span{font-size:13px;color:#92400e}.qr-pay-amount strong{font-size:22px;font-weight:800;color:#b45309}.qr-pay-info{margin:0 0 14px;font-size:12px;color:#64748b}.qr-pay-info strong{color:#0f172a}.qr-pay-actions{display:flex;gap:8px}.qr-pay-actions>button{flex:1;padding:11px 0;font-size:14px}.qr-pay-print-btn{background:#059669!important}.qr-pay-print-btn:hover{background:#047857!important}.qr-pay-success-banner{background:#dcfce7;border:1px solid #22c55e;color:#166534;padding:10px 14px;border-radius:10px;margin-bottom:10px;font-weight:700;text-align:center;font-size:14px}.qr-pay-success-banner small{font-weight:400;font-size:12px;color:#15803d}.qr-pay-box.is-paid .qr-pay-img-wrap{opacity:.4;filter:grayscale(.7)}.qr-pay-box.is-paid .qr-pay-amount{background:#dcfce7}.qr-pay-box.is-paid .qr-pay-amount span,.qr-pay-box.is-paid .qr-pay-amount strong{color:#166534}#cashbook-modal{position:fixed;inset:0;background:#00000080;align-items:center;justify-content:center;padding:20px;z-index:100}#cashbook-modal .modal-box{background:#fff;border-radius:12px;padding:20px;width:min(420px,100%);box-shadow:0 20px 60px #00000026}#cashbook-modal .modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}#cashbook-modal .modal-head h3{font-size:18px;font-weight:700;margin:0}#cashbook-modal .modal-close{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:8px;font-size:16px;cursor:pointer;color:var(--muted)}#cashbook-modal .modal-close:hover{background:#e2e8f0}.cashbook-tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:2px solid var(--line, #e2e8f0)}.cashbook-tab-btn{flex:1;padding:8px 0;border:none;background:none;font-size:14px;font-weight:600;cursor:pointer;color:var(--muted-foreground, #6b7280);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.cashbook-tab-btn.active{color:var(--primary, #0f172a);border-bottom-color:var(--primary, #0f172a)}.cashbook-tab-btn:hover:not(.active){color:var(--foreground, #374151)}#cashbook-modal .form-stack label span{font-size:13px;font-weight:600;color:var(--text, #0f172a);margin-bottom:4px}#cashbook-modal .form-stack input,#cashbook-modal .form-stack select,#cashbook-modal .form-stack textarea{padding:8px 12px;border:1px solid var(--line, #e2e8f0);border-radius:8px;font-size:14px;width:100%}#opening-cash-modal{position:fixed;inset:0;background:#00000080;align-items:center;justify-content:center;padding:20px;z-index:110}#opening-cash-modal .modal-box{background:#fff;border-radius:12px;padding:20px;width:min(400px,100%);box-shadow:0 20px 60px #00000026}#opening-cash-modal .form-stack label span{font-weight:600;font-size:14px;color:var(--muted-foreground);margin-bottom:4px}.quick-cash-btn{padding:6px 14px;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:var(--surface, #f8fafc);font-size:13px;font-weight:600;cursor:pointer;color:var(--foreground);transition:all .15s}.quick-cash-btn:hover{background:var(--primary, #0f172a);color:#fff;border-color:var(--primary, #0f172a)}.shift-select-btn{padding:8px 14px;border:2px solid var(--line, #e2e8f0);border-radius:10px;background:var(--surface, #f8fafc);font-size:13px;font-weight:600;cursor:pointer;color:var(--foreground);transition:all .15s}.shift-select-btn:hover{border-color:var(--primary, #0f172a)}.shift-select-btn.is-active{background:var(--primary, #0f172a);color:#fff;border-color:var(--primary, #0f172a)}#endshift-modal .modal-box{max-width:480px}.endshift-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;margin-bottom:12px}.endshift-summary-grid .es-label{color:var(--muted-foreground)}.endshift-summary-grid .es-value{font-weight:600;text-align:right}.endshift-section-title{font-size:12px;font-weight:700;color:var(--primary, #0f172a);margin:10px 0 4px;text-transform:uppercase;letter-spacing:.5px}.endshift-sub-row{display:flex;justify-content:space-between;padding:2px 0 2px 12px;font-size:12.5px}.endshift-sub-row .es-label{color:var(--muted-foreground)}.endshift-sub-row .es-value{font-weight:500}.endshift-total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;font-weight:700;border-top:1.5px solid var(--line, #e2e8f0);margin-top:4px}.endshift-actual-input{width:100%;padding:10px 14px;border:2px solid var(--primary, #0f172a);border-radius:8px;font-size:18px;font-weight:700;text-align:center;margin:8px 0}.endshift-diff{text-align:center;font-size:14px;font-weight:700;padding:6px;border-radius:6px;margin-bottom:8px}.endshift-diff.positive{background:#ecfdf5;color:#059669}.endshift-diff.negative{background:#fef2f2;color:#dc2626}.endshift-diff.zero{background:#f0fdf4;color:#059669}.endshift-voucher-list{list-style:none;margin:4px 0 6px;padding:6px 8px;background:var(--bg-soft, #f8fafc);border:1px solid var(--line, #e2e8f0);border-radius:8px;max-height:180px;overflow-y:auto}.endshift-voucher-row{display:grid;grid-template-columns:44px 36px 1fr auto;gap:8px;align-items:baseline;font-size:12.5px;padding:4px 0;border-bottom:1px dashed var(--line, #e2e8f0)}.endshift-voucher-row:last-child{border-bottom:none}.endshift-voucher-row .ev-time{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11.5px}.endshift-voucher-row .ev-type{font-size:11px;font-weight:700;text-align:center;padding:1px 4px;border-radius:4px}.endshift-voucher-row .ev-type.income{background:#ecfdf5;color:#059669}.endshift-voucher-row .ev-type.expense{background:#fef2f2;color:#dc2626}.endshift-voucher-row .ev-desc{color:var(--primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.endshift-voucher-row .ev-amount{font-weight:600;font-variant-numeric:tabular-nums}.endshift-voucher-row .ev-amount.income{color:#059669}.endshift-voucher-row .ev-amount.expense{color:#dc2626}.endshift-total-row.endshift-expected-cash{background:#fffbeb;border:1.5px solid #f59e0b;border-radius:8px;padding:8px 12px;margin-top:8px;color:#92400e}.endshift-total-row.endshift-expected-cash small{font-size:11px;margin-left:6px}.cashbook-print-btn{padding:2px 8px;border:1px solid var(--line, #e2e8f0);border-radius:4px;background:transparent;font-size:11px;cursor:pointer;color:var(--primary, #0f172a);margin-right:4px}.cashbook-print-btn:hover{background:var(--primary, #0f172a);color:#fff}.revenue-period-tabs{display:flex;gap:0;border-bottom:2px solid var(--line, #e2e8f0);margin-bottom:6px}.rev-period-btn{flex:1;padding:6px 0;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--muted-foreground, #64748b);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.rev-period-btn.is-active{color:var(--primary, #0f172a);border-bottom-color:var(--primary, #0f172a)}.rev-period-btn:hover:not(.is-active){color:var(--foreground, #334155)}.revenue-filter-bar{display:flex;gap:6px;align-items:center;margin-bottom:8px}.revenue-filter-bar input{height:34px;padding:0 10px;border:1px solid var(--line, #e2e8f0);border-radius:8px;font-size:13px;background:var(--card, #fff)}.rev-details-toggle{margin-top:14px;border:1px solid var(--line, #e2e8f0);border-radius:10px;overflow:hidden}.rev-details-toggle summary{padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;background:var(--muted, #f8fafc);color:var(--muted-foreground, #64748b)}.rev-details-toggle summary:hover{background:var(--accent, #f1f5f9)}.rev-details-toggle[open] summary{border-bottom:1px solid var(--line, #e2e8f0)}.cashbook-summary-strip{display:flex;gap:14px;padding:6px 12px;margin-bottom:6px;background:var(--primary);border-radius:8px;font-size:12px;color:#fff}.cashbook-summary-strip strong{color:#fff!important}.cashbook-summary-strip .text-green{color:#15803d}.cashbook-summary-strip .text-red{color:#dc2626}.thuci-topbar-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1.5px solid var(--primary);border-radius:8px;background:transparent;color:var(--primary);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}.thuci-topbar-btn:hover{background:var(--primary);color:#fff}.printer-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.printer-template-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:1px solid var(--line, #e2e8f0);border-radius:12px;background:var(--card, #fff);text-align:center;transition:box-shadow .15s,border-color .15s}.printer-template-card:hover{border-color:var(--primary, #0f172a);box-shadow:0 2px 8px #0000000f}.ptc-icon{font-size:28px}.ptc-name{font-size:14px;font-weight:700;color:var(--foreground, #0f172a)}.ptc-desc{font-size:11px;color:var(--muted-foreground, #64748b);line-height:1.4}.printer-template-card .ghost-btn{margin-top:4px;font-size:12px}@media(max-width:640px){.revenue-period-tabs{gap:0}.rev-period-btn{font-size:12px;padding:6px 0}.revenue-filter-bar{flex-wrap:wrap}.cashbook-summary-strip{flex-wrap:wrap;gap:10px;font-size:12px}.printer-template-grid{grid-template-columns:repeat(2,1fr);gap:8px}.printer-template-card{padding:12px 8px}.thuci-topbar-btn{padding:4px 8px;font-size:11px}}.oh-shift-card{display:inline-flex;align-items:center;gap:12px;background:var(--primary);color:#fff;border-radius:10px;padding:10px 20px;font-size:14px}.oh-shift-label{opacity:.85}.oh-shift-stat{font-weight:600}.oh-shift-revenue{font-size:18px}.order-history-list{display:flex;flex-direction:column;gap:6px}.oh-row{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;gap:12px;transition:box-shadow .15s}.oh-row:hover{box-shadow:0 2px 8px #0000000f}.oh-main{flex:1;min-width:0}.oh-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.oh-head strong{font-size:14px;color:var(--foreground)}.oh-table{color:var(--primary);font-weight:600}.oh-time{color:var(--muted-foreground)}.oh-staff{color:var(--muted-foreground);font-size:12px}.oh-pay-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.2px}.oh-pay-badge.is-qr{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.oh-pay-badge.is-cash{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.oh-items{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.oh-item{font-size:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:3px 8px;color:#1e40af;white-space:nowrap}.oh-qty{color:#fff;background:var(--primary);border-radius:4px;padding:1px 5px;font-size:11px;margin-right:2px}.oh-note{color:#9333ea;font-style:italic;font-size:11px;font-weight:400}.oh-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.oh-total{font-size:15px;color:var(--primary);white-space:nowrap}.oh-print{min-width:0!important;padding:5px 8px!important;font-size:14px;border-radius:6px;opacity:.6;transition:opacity .15s}.oh-print:hover{opacity:1}@media(max-width:768px){.oh-shift-card{width:100%;justify-content:space-between}.oh-row{flex-direction:column;align-items:flex-start}.oh-right{width:100%;justify-content:space-between;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}}.dash-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.dash-hero-card{border-radius:12px;padding:12px 14px;text-align:center;background:#fff;border:1px solid var(--line, #e2e8f0);position:relative;transition:box-shadow .15s,transform .15s}.dash-hero-card:hover{box-shadow:0 2px 8px #0f172a0f}.dash-revenue{border-color:#2563eb59}.dash-expense{border-color:#d9770659}.dash-net{border-color:#05966959}.dash-discount{border-color:#7c3aed59}.dash-pending{border-color:#6366f159}.dash-revenue .dash-hero-value{color:#1d4ed8}.dash-expense .dash-hero-value{color:#b45309}.dash-net .dash-hero-value{color:#047857}.dash-discount .dash-hero-value{color:#6d28d9}.dash-pending .dash-hero-value{color:#4338ca}.dash-hero-label{font-size:11px;color:#64748b;display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px;font-weight:600}.dash-hero-value{font-size:20px;font-weight:700;display:block;line-height:1.2}.dash-hero-sub{font-size:10px;color:#94a3b8;display:block;margin-top:4px}.dash-hero-range{font-weight:500;text-transform:none;color:#94a3b8;letter-spacing:0}.dash-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.dash-charts-row-full{grid-template-columns:1fr}.heatmap-metric-tabs{display:flex;gap:4px;padding:10px 14px 4px;border-bottom:1px solid var(--line, #e2e8f0)}.heatmap-metric-btn{padding:5px 12px;border:1px solid var(--line, #e2e8f0);border-radius:999px;background:#fff;color:#64748b;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.heatmap-metric-btn:hover{border-color:#6366f1;color:#4f46e5}.heatmap-metric-btn.is-active{background:#eef2ff;border-color:#6366f1;color:#4338ca}.heatmap-scroll-wrap{overflow-x:auto;overflow-y:hidden;padding:14px;-webkit-overflow-scrolling:touch}.heatmap-grid{display:grid;grid-template-columns:28px repeat(24,16px);grid-auto-rows:16px;gap:3px;align-items:center;min-width:450px}.hm-row-label,.hm-col-label{font-size:10px;font-weight:600;color:#64748b;text-align:center;line-height:1}.hm-row-label{justify-self:end;padding-right:4px}.hm-col-label{color:#94a3b8}.hm-col-label-spacer{grid-column:span 1}.hm-cell{width:16px;height:16px;border-radius:50%;background:#e2e8f0;cursor:pointer;transition:transform .12s,box-shadow .12s}.hm-cell[data-level="0"]{background:#eef2ff}.hm-cell[data-level="1"]{background:#6366f159}.hm-cell[data-level="2"]{background:#6366f199}.hm-cell[data-level="3"]{background:#6366f1cc}.hm-cell[data-level="4"]{background:#4338ca}.hm-cell[data-empty="1"]{background:#f1f5f9}.hm-cell:hover{transform:scale(1.25);box-shadow:0 0 0 2px #fff,0 0 0 3px #6366f1;z-index:2}.hm-cell.is-peak{box-shadow:0 0 0 2px #fff,0 0 0 3px #f59e0b}.heatmap-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 14px 12px;flex-wrap:wrap}.heatmap-legend{display:flex;align-items:center;gap:4px;font-size:11px;color:#94a3b8}.hm-legend-dot{width:12px;height:12px;border-radius:50%}.hm-legend-dot[data-level="0"]{background:#eef2ff}.hm-legend-dot[data-level="1"]{background:#6366f159}.hm-legend-dot[data-level="2"]{background:#6366f199}.hm-legend-dot[data-level="3"]{background:#6366f1cc}.hm-legend-dot[data-level="4"]{background:#4338ca}.heatmap-tooltip{position:fixed;z-index:9999;pointer-events:none;background:#0f172a;color:#fff;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5;box-shadow:0 4px 12px #00000040;max-width:240px;white-space:nowrap}.heatmap-tooltip strong{display:block;font-size:13px;margin-bottom:2px}@media(max-width:768px){.heatmap-grid{grid-template-columns:24px repeat(24,14px);grid-auto-rows:14px;gap:2px;min-width:400px}.hm-cell{width:14px;height:14px}.heatmap-metric-btn{padding:4px 10px;font-size:11px}.heatmap-footer{flex-direction:column;align-items:flex-start;gap:6px}.dash-charts-row{grid-template-columns:1fr}.dash-charts-row>.panel-card.dash-chart-panel{min-width:0;overflow:hidden}.heatmap-scroll-wrap{min-width:0}.dash-chart-wrap{min-width:0;overflow:hidden}}.dash-chart-panel{margin-bottom:0}.dash-chart-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line)}.dash-chart-head .eyebrow{margin:0;font-weight:700;font-size:13px}.dash-filter{display:flex;gap:3px;background:var(--bg);border-radius:8px;padding:2px}.dash-filter-btn{padding:4px 10px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;background:transparent;color:var(--t2);transition:all .15s}.dash-filter-btn.is-active{background:var(--primary);color:#fff}.dash-chart-wrap{padding:12px;position:relative;min-height:180px}.rev-bottom-row{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:16px}@media(max-width:768px){.dash-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:100%;overflow:hidden}.dash-hero-value{font-size:16px}.dash-hero-card{padding:10px 8px;min-width:0}.dash-hero-label,.dash-hero-sub{font-size:10px}.dash-charts-row{grid-template-columns:1fr;gap:8px}.dash-chart-head{flex-direction:row;gap:6px;align-items:center;padding:8px 10px}.dash-chart-head .eyebrow{font-size:12px}.dash-chart-wrap{padding:6px;min-height:150px}.dash-filter-btn{padding:3px 8px;font-size:10px}.rev-bottom-row{grid-template-columns:1fr;gap:8px}.admin-subnav{display:flex!important;gap:4px;padding:3px;margin:0 -12px 10px;border-radius:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.admin-subnav::-webkit-scrollbar{display:none}.admin-subtab-btn{padding:6px 10px;font-size:11px;border-radius:6px;min-width:max-content}.admin-tab-label{display:none!important}.panel-card{border-radius:10px}.panel-head{padding:10px 12px;flex-wrap:wrap;gap:6px}.panel-head h3{font-size:15px}.panel-head .eyebrow{font-size:10px}.revenue-period-tabs{gap:0}.rev-period-btn{font-size:12px;padding:8px 0}.revenue-filter-bar{flex-wrap:wrap;gap:6px}.revenue-filter-bar input,.revenue-filter-bar select{font-size:13px}.revenue-summary-grid{grid-template-columns:repeat(2,1fr);gap:6px}.revenue-card{padding:8px}.revenue-card .rc-value{font-size:15px}.cashbook-filter-bar{flex-wrap:wrap;gap:6px}.cashbook-summary-strip{font-size:12px;flex-wrap:wrap;gap:4px 12px}.staff-table td:nth-child(4),.staff-table th:nth-child(4),.staff-table td:nth-child(5),.staff-table th:nth-child(5),.staff-table td:nth-child(8),.staff-table th:nth-child(8){display:none}.staff-table{min-width:0;font-size:13px}.staff-table td{padding:5px 6px!important}.menu-subnav{gap:4px;margin:0 -12px 8px;padding:3px 12px;overflow-x:auto;scrollbar-width:none}.menu-subnav::-webkit-scrollbar{display:none}.menu-subtab-btn{font-size:12px;padding:6px 10px;white-space:nowrap}.ingredient-head-actions{flex-wrap:wrap;gap:4px}.ingredient-head-actions .compact-btn{font-size:11px;padding:5px 8px}.ingredient-head-actions .compact-select{font-size:12px;min-width:0}.ingredient-filter-bar{flex-wrap:wrap;gap:6px}.ingredient-excel-wrap{max-height:calc(100vh - 200px)}.ingredient-excel-table{font-size:13px}.ingredient-excel-table thead th{padding:8px 4px;font-size:10px}.ingredient-excel-table tbody td{height:36px}.ig-cell-input{font-size:13px;padding:6px 4px}.ig-cell-input.ig-input-name,.mn-price-input{font-size:13px}.admin-section.is-active{display:block!important;padding:0 2px;max-width:100%;overflow-x:hidden}.admin-grid{grid-template-columns:1fr;gap:8px}.panel-card.wide{min-width:0}}.cashbook-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 8px 4px;text-align:center}.cashbook-success-icon{width:56px;height:56px;border-radius:50%;background:#dcfce7;color:#15803d;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700}.cashbook-success h4{margin:0;font-size:17px;font-weight:700}.cashbook-success-detail{width:100%;display:grid;grid-template-columns:1fr;gap:6px;background:#f8fafc;border:1px solid var(--line, #e2e8f0);border-radius:10px;padding:10px 12px}.cashbook-success-detail>div{display:flex;justify-content:space-between;gap:8px;font-size:14px}.cashbook-success-detail span{color:var(--muted, #64748b)}.cashbook-success-actions{display:flex;gap:8px;width:100%}.cashbook-success-actions .primary-btn,.cashbook-success-actions .ghost-btn{flex:1;padding:10px 12px}.cashbook-success-hint{margin:0;font-size:12px;color:var(--muted, #64748b)}.amount-hint{display:block;margin-top:4px;min-height:16px;font-size:12px;font-weight:600;color:#16a34a;letter-spacing:.2px}.amount-hint:empty{display:none}.panel-hint{margin:4px 0 0;font-size:12px;color:var(--muted, #64748b)}.history-subtab-btn{padding:7px 14px;border-radius:8px;border:none;background:transparent;color:var(--muted, #64748b);font-weight:500;font-size:13px;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.history-subtab-btn:hover{color:var(--text, #0f172a);background:#fff9}.history-subtab-btn.is-active{color:var(--text, #0f172a);background:#fff;box-shadow:0 1px 3px #00000014;font-weight:600}.history-tab-panel{display:none}.history-tab-panel.is-active{display:block}.invoice-subnav{margin-bottom:12px}.invoice-subtab-btn{padding:7px 14px;border-radius:8px;border:none;background:transparent;color:var(--muted, #64748b);font-weight:500;font-size:13px;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.invoice-subtab-btn:hover{color:var(--text, #0f172a);background:#fff9}.invoice-subtab-btn.is-active{color:var(--text, #0f172a);background:#fff;box-shadow:0 1px 3px #00000014;font-weight:600}.invoice-tab-panel{display:none}.invoice-tab-panel.is-active{display:block}.settings-subtab-btn{padding:7px 14px;border-radius:8px;border:none;background:transparent;color:var(--muted, #64748b);font-weight:500;font-size:13px;white-space:nowrap}.settings-subtab-btn:hover{color:var(--text, #0f172a);background:#fff9}.settings-subtab-btn.is-active{color:var(--text, #0f172a);background:#fff;box-shadow:0 1px 3px #00000014;font-weight:600}.settings-tab-panel{display:none}.settings-tab-panel.is-active{display:block}.shift-card-empty{opacity:.55}.shift-card-empty .shift-card-time{font-style:italic;color:var(--muted, #64748b)}.shift-row-clickable:hover{background:#f1f5f9}.shift-row-clickable:active{background:#e2e8f0}.shift-chart-date-input{padding:5px 10px;border-radius:8px;border:1px solid var(--line, #e2e8f0);background:#fff;font-size:13px;font-weight:500;color:var(--text, #0f172a)}.invoice-list-card{padding:12px}.bill-period-tabs{display:flex;gap:4px;padding:4px;background:#f1f5f9;border-radius:10px;margin-bottom:12px;overflow-x:auto}.bill-period-btn{flex:1 0 auto;padding:7px 12px;border-radius:8px;border:none;background:transparent;color:var(--muted, #64748b);font-weight:500;font-size:13px;white-space:nowrap;min-width:64px}.bill-period-btn.is-active{color:var(--text, #0f172a);background:#fff;box-shadow:0 1px 3px #00000014;font-weight:600}.invoice-filter-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.invoice-filter-chips .invoice-chip[data-bill-input=day]{flex:1 1 calc(50% - 4px);min-width:0}.invoice-filter-chips .invoice-chip[data-bill-input=day] input,.invoice-filter-chips .invoice-chip[data-bill-input=day] select{min-width:0;flex:1 1 auto}.bill-filter-apply{flex:1 1 100%;min-height:36px}@media(min-width:560px){.bill-filter-apply{flex:0 0 auto}}.invoice-chip{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;border-radius:999px;padding:6px 12px;font-size:13px;white-space:nowrap;min-height:34px}.invoice-chip-label{color:var(--muted, #64748b);font-size:12px;white-space:nowrap}.invoice-chip input,.invoice-chip select{border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text, #0f172a);padding:0}.invoice-chip select:focus,.invoice-chip input:focus{outline:none}.invoice-summary-card{display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line, #e2e8f0);border-radius:12px;padding:14px 16px;margin-bottom:12px}.invoice-summary-label{display:block;font-size:13px;color:var(--muted, #64748b);margin-bottom:2px}.invoice-summary-value{font-size:22px;font-weight:700;color:var(--text, #0f172a)}.invoice-summary-meta{font-size:13px;color:var(--muted, #64748b)}.bill-day-header{font-size:12px;font-weight:600;color:var(--muted, #64748b);text-transform:uppercase;letter-spacing:.4px;padding:12px 4px 8px}.bill-item{display:flex;justify-content:space-between;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line, #e2e8f0)}.bill-item:last-child{border-bottom:none}.bill-item-code{font-weight:700;font-size:15px;color:var(--text, #0f172a)}.bill-item-meta{font-size:13px;color:var(--muted, #64748b);margin-top:2px}.bill-item-meta-sub{margin-top:2px}.bill-item-right{text-align:right}.bill-item-amount{font-size:15px;font-weight:700;color:var(--text, #0f172a)}.bill-item-pay{font-size:12px;color:var(--muted, #64748b);margin-top:2px}@media(min-width:820px){.bill-list-mobile{display:none}.invoice-table-desktop{display:block}}@media(max-width:819px){.bill-list-mobile{display:block}.invoice-table-desktop{display:none}.invoice-summary-value{font-size:24px}}.endshift-view-wrap{display:flex;flex-direction:column;gap:12px;max-width:720px;margin:0 auto}.endshift-banner{display:flex;gap:12px;align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;color:#991b1b;padding:12px 14px;border-radius:10px}.endshift-banner-icon{font-size:22px;line-height:1}.endshift-banner strong{display:block;font-size:15px;margin-bottom:2px}.endshift-banner p{margin:0;font-size:13px}.endshift-main-card .endshift-summary-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;margin-top:8px;font-size:14px}.endshift-step-list{margin-top:16px;background:#f8fafc;border:1px solid var(--line, #e2e8f0);border-radius:10px;padding:12px 16px}.endshift-step-list h4{margin:0 0 6px;font-size:14px;font-weight:600}.endshift-step-list ol{margin:0;padding-left:18px;font-size:13px;color:var(--muted, #475569)}.endshift-step-list li{margin:3px 0}.endshift-view-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.endshift-view-actions .primary-btn.large-btn{padding:14px;font-size:16px;font-weight:700}@media(min-width:600px){.endshift-view-actions{flex-direction:row}.endshift-view-actions .primary-btn.large-btn,.endshift-view-actions .ghost-btn{flex:1}}.shift-hours-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.shift-hours-row{display:grid;grid-template-columns:140px 1fr 1fr 1fr;gap:12px;align-items:end;padding:14px;background:var(--color-surface-muted, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 10px)}.shift-hours-row[data-shift=sang]{border-left:4px solid #fbbf24}.shift-hours-row[data-shift=chieu]{border-left:4px solid #f97316}.shift-hours-row[data-shift=toi]{border-left:4px solid #6366f1}.shift-hours-row[data-shift=khuya]{border-left:4px solid #1e3a8a}.shift-hours-label{font-weight:600;font-size:15px;color:var(--color-text, #111827);padding-bottom:4px}.shift-hours-row label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-text-muted, #6b7280)}.shift-hours-row input[type=time],.shift-hours-row input[type=number]{padding:8px 10px;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm, 6px);font-size:14px;background:#fff}.shift-hours-hint{font-size:13px;color:var(--color-text-muted, #6b7280);padding:10px 12px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;margin:8px 0 16px}@media(max-width:768px){.shift-hours-row{grid-template-columns:1fr;gap:8px}}.shift-warning-banner{position:fixed;top:0;left:0;right:0;z-index:950;background:linear-gradient(90deg,#fef3c7,#fde68a);border-bottom:2px solid #f59e0b;color:#78350f;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;font-weight:500;box-shadow:0 2px 8px #f59e0b33;animation:shift-warning-slide-down .3s ease-out}.shift-warning-banner[hidden]{display:none}.shift-warning-banner .banner-msg{flex:1;line-height:1.4}.shift-warning-banner .banner-action{padding:8px 16px;background:#d97706;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.shift-warning-banner .banner-action:hover{background:#b45309}.shift-warning-banner .banner-dismiss{padding:6px 10px;background:transparent;color:inherit;border:1px solid rgba(255,255,255,.4);border-radius:6px;font-size:14px;cursor:pointer;line-height:1;margin-left:6px}.shift-warning-banner .banner-dismiss:hover{background:#ffffff26}@keyframes shift-warning-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.shift-warning-modal{position:fixed;inset:0;z-index:1000;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:20px;animation:shift-warning-fade-in .25s ease-out}.shift-warning-modal[hidden]{display:none}.shift-warning-modal .modal-card{background:#fff;border-radius:16px;max-width:520px;width:100%;padding:32px;box-shadow:0 25px 60px #0000004d;border-top:6px solid #ef4444}.shift-warning-modal .modal-title{font-size:22px;font-weight:700;color:#991b1b;margin:0 0 16px;display:flex;align-items:center;gap:8px}.shift-warning-modal .modal-subtitle{font-size:14px;color:#374151;margin:0 0 20px;line-height:1.5}.shift-warning-modal .modal-subtitle b{color:#991b1b}.shift-warning-modal ol{margin:0 0 24px;padding-left:22px;font-size:14px;color:#374151;line-height:1.7}.shift-warning-modal ol li{margin-bottom:4px}.shift-warning-modal .modal-cta{display:block;width:100%;padding:14px 20px;background:#ef4444;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.shift-warning-modal .modal-cta:hover{background:#dc2626}.shift-warning-modal .modal-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.shift-warning-modal .modal-dismiss{display:block;width:100%;padding:10px 16px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.shift-warning-modal .modal-dismiss:hover{background:#f3f4f6;color:#374151}@keyframes shift-warning-fade-in{0%{opacity:0}to{opacity:1}}.shift-warning-toast{position:fixed;top:20px;right:20px;z-index:900;background:#fff;border:1px solid #fbbf24;border-left:4px solid #f59e0b;border-radius:12px;padding:16px 20px;box-shadow:0 10px 30px #00000026;max-width:360px;font-size:14px;animation:shift-warning-slide-left .35s ease-out}.shift-warning-toast[hidden]{display:none}.shift-warning-toast .toast-title{font-weight:700;color:#92400e;margin-bottom:8px;display:flex;align-items:center;gap:6px}.shift-warning-toast .toast-body{color:#374151;line-height:1.5;margin-bottom:12px}.shift-warning-toast .toast-checklist{list-style:none;padding:0;margin:0 0 12px;font-size:13px;color:#4b5563}.shift-warning-toast .toast-checklist li{padding:3px 0}.shift-warning-toast .toast-actions{display:flex;gap:8px}.shift-warning-toast .toast-actions button{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.shift-warning-toast .toast-dismiss{background:#f3f4f6;color:#6b7280}.shift-warning-toast .toast-goto{background:#f59e0b;color:#fff}.shift-warning-toast .toast-goto:hover{background:#d97706}@keyframes shift-warning-slide-left{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:520px){.shift-warning-toast{top:10px;right:10px;left:10px;max-width:none}.shift-warning-modal .modal-card{padding:22px}.shift-warning-modal .modal-title{font-size:18px}}.mob-sidebar-item .shift-warning-badge{display:inline-block;width:10px;height:10px;background:#ef4444;border-radius:50%;margin-left:6px;animation:shift-badge-pulse 1.5s ease-in-out infinite}@keyframes shift-badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.zalo-grid{display:grid;grid-template-columns:1fr;gap:10px}.zalo-welcome-card{padding:12px 14px;background:linear-gradient(135deg,#eff6ff,#ede9fe);border:1px solid #c7d2fe}.zalo-report-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 10px;margin:-4px -2px 12px;border-bottom:1px solid #e2e8f0;scrollbar-width:none}.zalo-report-tabs::-webkit-scrollbar{display:none}.zalo-report-tab{flex:1 0 auto;min-width:72px;padding:10px 12px;border:1px solid transparent;background:#f1f5f9;color:#475569;font-size:13px;font-weight:600;border-radius:10px;cursor:pointer;white-space:nowrap;transition:all .15s}.zalo-report-tab:hover{background:#e2e8f0}.zalo-report-tab.is-active{background:#3b82f6;color:#fff;border-color:#2563eb;box-shadow:0 2px 6px #3b82f64d}.zalo-slot-title{margin:0;font-size:16px;font-weight:700}.zalo-slot-desc{margin:4px 0 12px;color:#64748b;font-size:13px;line-height:1.5}.zalo-slot-controls{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}.zalo-branch-field{max-width:200px}.zalo-endpoint-url{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.zalo-endpoint-label{font-size:12px;font-weight:600;color:#475569}.zalo-endpoint-url code{flex:1 1 100%;font-size:11px;color:#1e293b;word-break:break-all;background:#fff;padding:6px 8px;border-radius:6px;border:1px solid #e2e8f0;min-width:0}.zalo-slot-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}.zalo-sched-box{margin-top:18px;padding:14px;border:1px dashed #94a3b8;border-radius:8px;background:#f8fafc}.zalo-sched-title{margin:0 0 4px;font-size:15px;color:#0f172a}.zalo-sched-hint{margin:0 0 10px;font-size:12px;color:#64748b}.zalo-sched-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}@media(max-width:640px){.zalo-sched-grid{grid-template-columns:1fr}}.zalo-sched-days{display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:10px;font-size:13px}.zalo-sched-days label{display:flex;align-items:center;gap:4px;cursor:pointer}.zalo-sched-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.zalo-sched-status{margin-top:10px;padding:8px 10px;border-radius:6px;font-size:13px;display:none}.zalo-sched-status.is-ok{display:block;background:#dcfce7;color:#166534;border:1px solid #86efac}.zalo-sched-status.is-err{display:block;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.zalo-slot-actions>button{flex:1 1 auto;min-width:100px}@media(min-width:640px){.zalo-slot-actions>button{flex:0 0 auto}.zalo-slot-actions{justify-content:flex-end}}.zalo-slot-updated{color:#94a3b8;font-size:12px;margin:8px 0 0}.zalo-guide-card{padding:12px 14px}.zalo-guide-summary{cursor:pointer;font-weight:600;font-size:13px;color:#475569;padding:4px 0}.zalo-guide-body{padding-top:8px}.zalo-card .panel-head{align-items:center}.zalo-status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#ef44441a;color:#b91c1c}.zalo-status-chip .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.zalo-status-chip[data-status=connected]{background:#22c55e1f;color:#15803d}.zalo-status-chip[data-status=expired]{background:#eab3081f;color:#a16207}.zalo-qr-box{display:grid;grid-template-columns:1fr;gap:16px;padding:12px 0 4px}@media(min-width:720px){.zalo-qr-box{grid-template-columns:260px 1fr}}.zalo-qr-frame{width:260px;height:260px;border-radius:12px;background:#f5f7fb;border:2px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.zalo-qr-image{width:100%;height:100%;object-fit:contain}.zalo-qr-placeholder{text-align:center;padding:16px;color:#64748b}.zalo-qr-icon{font-size:42px;margin-bottom:8px}.zalo-qr-hint{font-size:13px;margin:0}.zalo-qr-steps h4{margin:0 0 8px;font-size:14px}.zalo-qr-steps ol{margin:0 0 12px;padding-left:18px;font-size:13px;color:#334155;line-height:1.7}.zalo-qr-actions{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.zalo-warn{font-size:12px;padding:8px 10px;background:#eab3081a;border-left:3px solid #eab308;border-radius:6px;color:#713f12;margin:0}.zalo-session-info{margin-top:12px;padding:10px 12px;background:#f8fafc;border-radius:8px;display:grid;gap:6px}.zalo-session-row{display:flex;justify-content:space-between;font-size:13px}.zalo-targets-list{display:grid;gap:8px;padding:8px 0}.zalo-target-row{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;padding:8px 10px;background:#f8fafc;border-radius:8px}.zalo-target-row strong{font-size:13px}.zalo-target-row select{width:100%}.zalo-test-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.zalo-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.zalo-switch input{display:none}.zalo-switch-slider{width:36px;height:20px;background:#cbd5e1;border-radius:999px;position:relative;transition:background .2s}.zalo-switch-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.zalo-switch input:checked+.zalo-switch-slider{background:#22c55e}.zalo-switch input:checked+.zalo-switch-slider:after{transform:translate(16px)}.zalo-switch-label{font-size:13px;font-weight:600}.zalo-template-wrap{padding:10px 0}.zalo-template-textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;padding:10px;border:1px solid #e2e8f0;border-radius:8px;resize:vertical;min-height:180px}.zalo-template-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.zalo-vars-help{margin-top:10px;padding:10px 12px;background:#f8fafc;border-radius:8px;font-size:12px}.zalo-vars-help summary{cursor:pointer;font-weight:600;color:#475569}.zalo-vars-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin-top:10px;align-items:center}.zalo-vars-grid code{background:#fff;padding:2px 6px;border-radius:4px;border:1px solid #e2e8f0;font-size:11px;color:#0f172a;white-space:nowrap}.zalo-vars-grid span{color:#475569}.zalo-preview-dialog{max-width:520px;width:92vw}.zalo-preview-hint{font-size:12px;color:#64748b;margin:0 0 10px;padding:8px 10px;background:#eab30814;border-left:3px solid #eab308;border-radius:6px}.zalo-preview-content{background:#f0f2f5;border-radius:10px;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,"Segoe UI Emoji",monospace;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:#0f172a;margin:0;max-height:60vh;overflow-y:auto}.zp-neg{color:#dc2626;font-weight:600}.zp-expense{color:#dc2626}.zalo-log-wrap{margin-top:14px}.zalo-log-title{font-size:13px;margin:0 0 8px;color:#475569}.zalo-send-log{max-height:180px;overflow-y:auto;background:#f8fafc;border-radius:8px;padding:8px 10px;font-size:12px}.zalo-group-search-wrap{margin:8px 0 6px}.zalo-group-search{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.zalo-group-items{max-height:240px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.zalo-group-item{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #f1f5f9;cursor:pointer;font-size:13px}.zalo-group-item:last-child{border-bottom:none}.zalo-group-item:hover{background:#f8fafc}.zalo-group-item input[type=radio]{margin:0}.zalo-group-name{font-weight:500;color:#1e293b}.zalo-group-count{font-size:12px;color:#64748b}.zalo-status-chip[data-status=starting],.zalo-status-chip[data-status=qr],.zalo-status-chip[data-status=scanned]{background:#3b82f61f;color:#1d4ed8}.zalo-status-chip[data-status=error]{background:#ef44441f;color:#b91c1c}.zalo-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.zalo-log-item{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:#fff;border:1px solid #f1f5f9}.zalo-log-item.fail{border-color:#fecaca;background:#fef2f2}.zalo-log-icon{font-size:14px}.zalo-log-main{font-size:12px;color:#334155}.zalo-log-main em{color:#b91c1c;font-style:normal}.zalo-log-time{font-size:11px;color:#94a3b8}.zalo-targets-list{min-height:40px}.zalo-warn{margin-top:10px;padding:8px 10px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;font-size:12px;color:#78350f}.zalo-hint{font-size:12px;color:#64748b}.zalo-test-row{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px dashed #e2e8f0}.zalo-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.zalo-switch input[type=checkbox]{appearance:none;-webkit-appearance:none;width:36px;height:20px;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;transition:background .15s}.zalo-switch input[type=checkbox]:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .15s}.zalo-switch input[type=checkbox]:checked{background:#3b82f6}.zalo-switch input[type=checkbox]:checked:before{left:18px}.zalo-switch-label{font-size:13px;color:#334155}.zalo-session-info{margin-top:12px;padding:10px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:4px}.zalo-session-row{display:flex;justify-content:space-between;font-size:12px}.zalo-session-row span{color:#64748b}.zalo-session-row strong{color:#0f172a;font-weight:600}.zalo-template-wrap{padding:8px 0}.zalo-template-textarea{font-family:ui-monospace,Cascadia Code,Roboto Mono,Menlo,monospace;font-size:12.5px;line-height:1.55;width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;resize:vertical}.zalo-template-actions{display:flex;gap:8px;margin-top:8px}.zalo-bot-config-card{grid-column:1 / -1}.zalo-bot-config-row{display:grid;grid-template-columns:1fr;gap:12px;padding:12px 0 4px}@media(min-width:900px){.zalo-bot-config-row{grid-template-columns:2fr 1fr auto;align-items:end}}.zalo-bot-config-actions{display:flex;gap:8px}.zalo-bot-ping{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:#475569}.zalo-bot-ping[data-ping=ok]{background:#22c55e1f;color:#15803d}.zalo-bot-ping[data-ping=fail]{background:#ef44441f;color:#b91c1c}.zalo-bot-ping[data-ping=checking]{background:#3b82f61f;color:#1d4ed8}.zalo-bot-ping[data-ping=unknown]{background:#f1f5f9;color:#64748b}.shift-cash-legend{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#64748b;margin-right:10px}.shift-cash-legend .legend-dot{width:8px;height:8px;border-radius:50%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.zalo-welcome-card{grid-column:1 / -1;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:none}.zalo-welcome-body{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:6px 0;flex-wrap:wrap}.zalo-bot-hint{margin-top:10px;padding:10px 12px;background:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px;font-size:12.5px;color:#1e40af;line-height:1.6}.zalo-endpoints-card{grid-column:1 / -1}.zalo-endpoints-grid{display:grid;grid-template-columns:1fr;gap:10px;padding-top:10px}@media(min-width:800px){.zalo-endpoints-grid{grid-template-columns:1fr 1fr}}.zalo-endpoint-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.zalo-ep-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.zalo-ep-head h4{font-size:14px;margin:0;color:#0f172a}.zalo-ep-desc{font-size:12px;color:#64748b;margin:0 0 6px;line-height:1.5}.zalo-ep-path{display:block;background:#0f172a;color:#e2e8f0;padding:6px 8px;border-radius:4px;font-size:11.5px;font-family:ui-monospace,Menlo,monospace;word-break:break-all}.zalo-ep-preview{margin-top:8px;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:12px}.zalo-ep-vars-header{color:#475569;margin-bottom:6px;font-weight:600}.zalo-ep-vars-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:11.5px}.zalo-ep-vars-grid code{background:#f1f5f9;padding:1px 6px;border-radius:3px;color:#0369a1;font-family:ui-monospace,Menlo,monospace}.zalo-ep-vars-grid span{color:#334155;font-family:ui-monospace,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zalo-templates-card{grid-column:1 / -1}.zalo-tpl-layout{display:grid;grid-template-columns:240px 1fr;gap:14px;margin-top:10px;min-height:400px}@media(max-width:900px){.zalo-tpl-layout{grid-template-columns:1fr}}.zalo-tpl-sidebar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px;max-height:600px;overflow-y:auto}.zalo-tpl-list{display:flex;flex-direction:column;gap:3px}.zalo-tpl-item{display:flex;align-items:center;gap:10px;padding:10px;background:transparent;border:none;border-radius:6px;text-align:left;cursor:pointer;transition:background .1s;width:100%}.zalo-tpl-item:hover{background:#fff}.zalo-tpl-item.is-active{background:#dbeafe;border-left:3px solid #3b82f6}.zalo-tpl-icon{font-size:18px}.zalo-tpl-body{display:flex;flex-direction:column;flex:1;min-width:0}.zalo-tpl-body strong{font-size:13px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zalo-tpl-body small{font-size:11px;color:#64748b}.zalo-tpl-editor{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:10px}.zalo-tpl-editor .empty-state{display:flex;align-items:center;justify-content:center;min-height:200px;color:#94a3b8}.zalo-tpl-row-2{display:grid;grid-template-columns:2fr 1fr;gap:10px}.zalo-tpl-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:6px 0}.zalo-tpl-actions{display:flex;gap:8px;align-items:center;padding-top:10px;border-top:1px solid #e2e8f0;margin-top:8px}.zalo-tpl-actions .ghost-btn.danger{color:#b91c1c}.zalo-tpl-preview-box{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;padding:10px 12px;margin-top:10px}.zalo-tpl-preview-box h4{font-size:12px;color:#166534;margin:0 0 6px}.zalo-tpl-preview-box pre{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;color:#14532d;margin:0}.withdrawal-quick-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;background:#fef3c7;border-radius:10px;margin-bottom:4px}.quick-chip-label{font-size:12px;color:#78350f;font-weight:600;margin-right:4px}.withdrawal-chip{padding:6px 12px;border:1px solid #f59e0b;border-radius:999px;background:#fff;color:#78350f;font-size:13px;font-weight:600;cursor:pointer;transition:all .12s}.withdrawal-chip:hover,.withdrawal-chip:focus{background:#f59e0b;color:#fff;outline:none}.withdrawal-chip.is-selected{background:#f59e0b;color:#fff;border-color:#d97706;box-shadow:0 0 0 2px #fef3c7}.withdrawal-recipient-badge{display:inline-block;padding:3px 10px;border-radius:999px;background:#fef3c7;color:#78350f;font-size:12px;font-weight:600;border:1px solid #fcd34d;white-space:nowrap}.panel-head.panel-head-with-filter{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px}.panel-head.panel-head-with-filter .panel-head-title{flex:1 1 auto;min-width:0}.panel-head.panel-head-with-filter .panel-head-title .panel-hint{margin-bottom:0}.panel-head.panel-head-with-filter .cashbook-filter-bar{flex:0 0 auto;margin:0;padding:0}@media(max-width:768px){.panel-head.panel-head-with-filter{gap:8px;margin-bottom:8px}.panel-head.panel-head-with-filter .panel-head-title .panel-hint{display:none}.panel-head.panel-head-with-filter .panel-head-title .eyebrow{font-size:10px;margin-bottom:2px}.panel-head.panel-head-with-filter .panel-head-title h3{font-size:15px;margin:0}.panel-head.panel-head-with-filter .cashbook-filter-bar{width:100%;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.panel-head.panel-head-with-filter .cashbook-filter-bar::-webkit-scrollbar{display:none}.panel-head.panel-head-with-filter .cashbook-filter-bar>*{flex:0 0 auto}}.preset-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#fff;border:1px solid #cbd5e1;border-radius:999px;font-size:13px;color:#1e293b;cursor:pointer;transition:all .12s;font-weight:500}.preset-btn:hover{background:#f1f5f9;border-color:#94a3b8}.preset-btn-icon{font-size:13px}.preset-btn-caret{font-size:10px;opacity:.7;margin-left:2px}.preset-dd-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center}.preset-dd-modal[hidden]{display:none}.preset-dd-backdrop{position:absolute;inset:0;background:#0f172a80}.preset-dd-sheet{position:relative;background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -10px 40px #0003;animation:pddSlideUp .2s ease-out}@media(min-width:720px){.preset-dd-modal{align-items:center}.preset-dd-sheet{border-radius:16px;max-height:70vh}}@keyframes pddSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.preset-dd-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 12px;border-bottom:1px solid #e2e8f0}.preset-dd-head h3{font-size:20px;font-weight:700;color:#0f172a;margin:0}.preset-dd-close{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:50%;font-size:14px;cursor:pointer;color:#475569}.preset-dd-body{overflow-y:auto;padding:8px 0}.preset-dd-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background:transparent;border:none;border-bottom:1px solid #f1f5f9;font-size:16px;color:#1e293b;cursor:pointer;text-align:left}.preset-dd-option:hover{background:#f8fafc}.preset-dd-option.is-selected{color:#2563eb;font-weight:600}.preset-dd-option.is-selected:after{content:"\2713";color:#2563eb;font-size:18px;font-weight:700}.preset-dd-custom{color:#2563eb;font-weight:500}.preset-dd-custom-wrap{padding:16px 20px;display:grid;gap:10px;border-top:1px solid #e2e8f0}.preset-dd-custom-wrap.hidden{display:none}.preset-dd-custom-wrap label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b}.preset-dd-custom-wrap input{padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px}.preset-dd-apply{padding:12px;background:#22c55e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.preset-dd-apply:hover{background:#16a34a}.preset-dd-foot{padding:12px 20px 20px;border-top:1px solid #e2e8f0}.preset-dd-cancel{width:100%;padding:14px;background:#fff;border:2px solid #2563eb;border-radius:12px;color:#2563eb;font-size:15px;font-weight:600;cursor:pointer}.preset-dd-cancel:hover{background:#dbeafe}.cashbook-filter-bar{align-items:center!important}.cashbook-filter-bar .preset-btn{flex:0 0 auto}.cashbook-filter-bar label.invoice-chip{display:flex!important;flex-direction:column!important;gap:4px;font-size:12px;align-items:flex-start!important}.cashbook-filter-bar label.invoice-chip select{padding:7px 12px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font-size:13px;cursor:pointer}.invoice-filter-chips{align-items:center;flex-wrap:wrap;gap:8px}.invoice-filter-chips .preset-btn{flex:0 0 auto}.revenue-filter-bar{padding:8px 0;display:flex;gap:8px;align-items:center}@media(max-width:640px){.preset-btn{font-size:12px;padding:6px 12px}.preset-dd-option{padding:14px 16px;font-size:15px}.preset-dd-head h3{font-size:18px}.preset-dd-sheet{max-height:85vh}.cashbook-filter-bar,.invoice-filter-chips{padding:6px 4px;gap:6px}.cashbook-filter-bar label.invoice-chip select,.invoice-chip select{font-size:12px;padding:6px 10px}.dash-chart-panel{padding:12px 10px}.dash-chart-head{flex-wrap:wrap;gap:8px}.shift-cash-legend{font-size:10px}.invoice-filter-chips,.cashbook-filter-bar,.revenue-filter-bar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.invoice-filter-chips::-webkit-scrollbar,.cashbook-filter-bar::-webkit-scrollbar,.revenue-filter-bar::-webkit-scrollbar{display:none}.invoice-filter-chips>*,.cashbook-filter-bar>*,.revenue-filter-bar>*{flex:0 0 auto}.preset-btn{white-space:nowrap}.invoice-chip{white-space:nowrap;padding:5px 10px;font-size:12px}.invoice-chip-label{font-size:11px}.report-panel-head{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.report-panel-head::-webkit-scrollbar{display:none}.report-panel-head>*{flex:0 0 auto}.report-head-title{min-width:0}.report-head-title .eyebrow,.report-head-title h3{white-space:nowrap}.report-head-actions{flex-wrap:nowrap;gap:6px}.report-action-btn{padding:6px 10px;font-size:12px}.report-action-text{display:none}.report-action-icon{font-size:15px}}.detail-modal{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;padding:20px}.detail-modal[hidden]{display:none}.detail-backdrop{position:absolute;inset:0;background:#0f172a99}.detail-sheet{position:relative;background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #00000040;animation:detailSlide .18s ease-out}@keyframes detailSlide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.detail-close-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:#ef4444;color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444466;transition:background .15s,transform .15s}.detail-close-x:hover{background:#dc2626;transform:scale(1.08)}.detail-close-x:active{transform:scale(.95)}.detail-head{padding:20px 60px 14px 20px;border-bottom:1px solid #e2e8f0}.detail-eyebrow{font-size:11px;letter-spacing:.8px;color:#64748b;font-weight:600;margin:0 0 4px}.detail-head h3{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 4px}.detail-head h3.detail-amount.income{color:#16a34a}.detail-head h3.detail-amount.expense{color:#dc2626}.detail-sub{font-size:12px;color:#64748b;margin:0}.detail-body{flex:1;overflow-y:auto;padding:16px 20px}.detail-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;margin-bottom:12px;text-transform:uppercase}.detail-status-ok{background:#dcfce7;color:#15803d}.detail-status-danger{background:#fee2e2;color:#b91c1c}.detail-items-wrap{background:#f8fafc;border-radius:8px;padding:8px 0;margin-bottom:12px}.detail-item{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid #e2e8f0;font-size:13px}.detail-item:last-child{border-bottom:none}.detail-item-qty{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#dbeafe;color:#1e40af;border-radius:6px;font-weight:700;font-size:12px}.detail-item-name{color:#1e293b;font-weight:500}.detail-item-note{display:block;font-size:11px;color:#64748b;font-style:italic;margin-top:2px}.detail-item-price{color:#0f172a;font-weight:600}.detail-total-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:8px;margin-bottom:14px}.detail-total-row span{font-size:13px;color:#475569;font-weight:500}.detail-total-row strong{font-size:20px;color:#1e40af;font-weight:700}.detail-meta{margin:0;display:grid;gap:8px}.detail-meta>div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 10px;background:#f8fafc;border-radius:6px;font-size:13px}.detail-meta dt{color:#64748b;font-weight:500}.detail-meta dd{color:#0f172a;font-weight:500;margin:0;text-align:right}.detail-foot{padding:12px 16px 16px;border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover{background:#f1f5f9}@media(max-width:640px){.detail-modal{padding:0;align-items:flex-end}.detail-sheet{max-width:100%;max-height:95vh;border-radius:16px 16px 0 0;animation:detailSlideMobile .2s ease-out}@keyframes detailSlideMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.detail-close-x{top:10px;right:10px;width:32px;height:32px;font-size:15px}.detail-head{padding:16px 52px 12px 16px}.detail-head h3{font-size:19px}.detail-body{padding:14px 16px}.detail-foot{padding:12px 14px 18px}.detail-meta>div{grid-template-columns:90px 1fr;font-size:12px;padding:7px 8px}.detail-item{grid-template-columns:36px 1fr auto;font-size:12px}.detail-total-row strong{font-size:18px}}.detail-section-title{margin:16px 0 6px;font-size:12px;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.5px}.detail-diff{margin-top:10px;padding:10px 14px;border-radius:8px;font-weight:700;font-size:14px;text-align:center}.detail-diff-ok{background:#dcfce7;color:#166534}.detail-diff-danger{background:#fee2e2;color:#b91c1c}.detail-note{margin:0;padding:10px 12px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;font-size:13px;color:#78350f;line-height:1.5}@media(max-width:640px){.invoice-tab-panel .panel-head{padding:10px 12px 6px!important}.invoice-tab-panel .panel-head .eyebrow{font-size:10px!important;letter-spacing:.4px;margin:0 0 2px}.invoice-tab-panel .panel-head h3{font-size:15px!important;margin:0 0 2px;line-height:1.3}.invoice-tab-panel .panel-head .panel-hint{display:none!important}.cashbook-filter-bar{padding:6px 8px!important;gap:6px!important;margin-bottom:6px!important}.cashbook-filter-bar .preset-btn{padding:6px 10px;font-size:12px}.cashbook-filter-bar label.invoice-chip{flex-direction:row!important;align-items:center!important;gap:4px!important}.cashbook-filter-bar label.invoice-chip .invoice-chip-label{font-size:11px!important;color:#64748b}.cashbook-filter-bar label.invoice-chip select{padding:5px 8px!important;font-size:12px!important;min-width:80px;max-width:120px}.invoice-filter-chips{padding:6px 8px!important;gap:6px!important}.invoice-filter-chips .invoice-chip{gap:4px!important}.invoice-filter-chips .invoice-chip-label{font-size:11px!important}.invoice-filter-chips select{padding:5px 8px!important;font-size:12px!important}.cashbook-summary-strip,.invoice-summary-card{padding:8px 10px!important;font-size:12px!important}}.admin-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom,0));padding-bottom:env(safe-area-inset-bottom,0);box-sizing:border-box;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -2px 12px #0f172a0f;z-index:40;align-items:stretch;justify-content:space-around;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden}@media(max-width:767px){.admin-bottom-nav.is-visible{display:flex}body #view-admin>.admin-subnav{display:none!important}#admin-tab-label{display:none!important}#view-admin.is-active{padding-bottom:calc(88px + env(safe-area-inset-bottom,0))!important}#view-admin.is-active>.admin-section.is-active>.panel-card:last-child,#view-admin.is-active>.admin-section.is-active>*:last-child{margin-bottom:16px}}@media(min-width:768px){.admin-bottom-nav{display:none!important}}.abn-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;background:transparent;border:none;color:#64748b;font-size:11px;font-weight:500;cursor:pointer;position:relative;transition:transform .08s,color .12s;-webkit-tap-highlight-color:transparent}.abn-tab:active{transform:scale(.95);background:#f1f5f9}.abn-icon{font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.abn-icon svg{width:24px;height:24px;stroke:currentColor;display:block}.abn-label{font-size:11px;line-height:1.2;font-weight:500}.abn-tab.is-active{color:#2563eb}.abn-tab.is-active:before{content:"";position:absolute;top:0;left:15%;right:15%;height:2px;background:#2563eb;border-radius:0 0 2px 2px}.abn-badge{position:absolute;top:4px;right:calc(50% - 22px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 2px #fff}.abn-badge[hidden]{display:none}@media(max-width:767px){body.abn-ctx-invoices .invoice-subtab-btn[data-invoice-tab=cashbook],body.abn-ctx-invoices .invoice-subtab-btn[data-invoice-tab=shifts],body.abn-ctx-cashbook .invoice-subtab-btn[data-invoice-tab=bills]{display:none}}.report-2col-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.report-2col-pane{background:var(--bg-card, #ffffff);border:1px solid var(--line, #e2e8f0);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;min-width:0}.report-2col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line, #e2e8f0)}.report-2col-title{font-size:14px;font-weight:700;color:var(--text, #0f172a);margin:0}.report-2col-meta{font-size:12px;color:var(--muted, #64748b);font-variant-numeric:tabular-nums;white-space:nowrap}.report-orders-scroll{max-height:520px;overflow-y:auto;margin:0}.report-orders-scroll table{font-size:12px}.report-orders-scroll thead th{position:sticky;top:0;background:var(--bg-card, #ffffff);z-index:1}.top-items-list{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto;padding-right:2px}.top-item-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-card, #f8fafc);border:1px solid var(--line, #e2e8f0);border-radius:10px;transition:box-shadow .15s,transform .15s}.top-item-row:hover{box-shadow:0 2px 8px #0000000f}.top-item-rank{display:flex;align-items:center;justify-content:center;height:28px;width:28px;border-radius:8px;background:#f1f5f9;color:#64748b;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}.top-item-rank.top-rank-1{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;box-shadow:0 2px 6px #fbbf244d;font-size:16px}.top-item-rank.top-rank-2{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;box-shadow:0 2px 6px #94a3b84d;font-size:16px}.top-item-rank.top-rank-3{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#9a3412;box-shadow:0 2px 6px #fb923c4d;font-size:16px}.top-item-main{min-width:0;display:flex;flex-direction:column;gap:4px}.top-item-name{font-weight:600;font-size:13px;color:var(--text, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.top-item-bar-wrap{position:relative;height:6px;background:#94a3b82e;border-radius:3px;overflow:hidden}.top-item-bar{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:3px;transition:width .4s ease}.top-item-pct{position:absolute;right:4px;top:-1px;font-size:9px;color:var(--muted, #64748b);font-weight:600;background:#ffffffb3;padding:0 3px;border-radius:2px;line-height:8px}.top-item-stats{text-align:right;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;gap:2px;min-width:80px}.top-item-qty{font-size:13px;font-weight:700;color:var(--text, #0f172a)}.top-item-qty span{font-size:10px;font-weight:500;color:var(--muted, #64748b)}.top-item-revenue{font-size:12px;font-weight:600;color:#15803d}.top-items-footer{margin-top:10px;text-align:center}.top-items-footer .link-btn{background:none;border:1px solid var(--line, #e2e8f0);color:var(--muted, #64748b);font-size:12px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.top-items-footer .link-btn:hover{background:#f1f5f9;color:var(--text, #0f172a)}.report-2col-head.topitems-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.topitems-head-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.topitems-head-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.topitems-limit-label{font-size:12px;color:var(--muted, #64748b);font-weight:500}.topitems-limit-select{font-size:12px;font-weight:600;color:var(--text, #0f172a);background:var(--bg-card, #ffffff);border:1px solid var(--line, #e2e8f0);border-radius:8px;padding:5px 10px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.topitems-limit-select:hover,.topitems-limit-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.topitems-body{position:relative}.topitems-chart-wrap{position:relative;width:100%;height:360px;min-height:240px;background:var(--bg-card, #ffffff);border-radius:10px;padding:6px 4px 6px 0}.topitems-chart-wrap[hidden]{display:none!important}.topitems-empty{text-align:center;padding:60px 16px;color:var(--muted, #94a3b8);font-size:13px}@media(max-width:900px){.topitems-chart-wrap{height:320px}.topitems-head-right{width:100%;justify-content:flex-end}}@media(max-width:900px){.report-2col-layout{grid-template-columns:1fr;gap:12px}.report-orders-scroll,.top-items-list{max-height:360px}.top-item-row{grid-template-columns:28px 1fr auto;gap:8px;padding:7px 9px}.top-item-rank{height:26px;width:26px;font-size:12px}.top-item-rank.top-rank-1,.top-item-rank.top-rank-2,.top-item-rank.top-rank-3{font-size:14px}.top-item-stats{min-width:70px}.top-item-name{font-size:12px}}.report-topitems-fullpane{margin-top:16px;padding:16px 18px}.report-topitems-fullpane .topitems-head{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line, #e2e8f0)}.topitems-chart-wrap-full{height:480px;min-height:320px}@media(max-width:900px){.topitems-chart-wrap-full{height:380px}.report-topitems-fullpane{padding:12px}}.invoice-filter-chips-with-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.invoice-filter-chips-with-actions .invoice-filter-chips-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1 1 auto;min-width:0}.invoice-filter-chips-with-actions .invoice-filter-chips-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}.invoice-filter-chips-with-actions .invoice-filter-chips-right .report-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;border-radius:8px;white-space:nowrap}.invoice-filter-chips-with-actions .invoice-filter-chips-right .report-action-icon{font-size:14px}@media(max-width:700px){.invoice-filter-chips-with-actions{flex-direction:column;align-items:stretch}.invoice-filter-chips-with-actions .invoice-filter-chips-left{width:100%}.invoice-filter-chips-with-actions .invoice-filter-chips-right{width:100%;justify-content:flex-end}.invoice-filter-chips-with-actions .invoice-filter-chips-right .report-action-btn .report-action-text{display:none}.invoice-filter-chips-with-actions .invoice-filter-chips-right .report-action-btn{padding:8px 12px}}.staff-reg-modal-overlay{position:fixed;inset:0;background:#0f172a8c;backdrop-filter:blur(2px);z-index:9998}.staff-reg-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:14px;width:min(560px,92vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000052;z-index:9999}.srm-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.srm-head h3{margin:0;font-size:17px}.srm-close{background:#ffffff26;border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px}.srm-body{padding:18px 20px;overflow-y:auto;display:grid;gap:10px}.srm-row{display:grid;grid-template-columns:130px 1fr;gap:12px;font-size:14px;padding:6px 0;border-bottom:1px solid #f1f5f9}.srm-row span{color:#64748b}.srm-row strong{color:#0f172a;word-break:break-word}.srm-footer{padding:14px 20px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #e2e8f0;background:#f8fafc}@media(max-width:480px){.srm-row{grid-template-columns:110px 1fr;gap:8px;font-size:13px}.srm-head h3{font-size:15px}}#opening-cash-shift-select .shift-select-btn.is-recommended{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:2px solid #047857;box-shadow:0 2px 8px #10b98166;transform:scale(1.05);font-weight:700;position:relative}#opening-cash-shift-select .shift-select-btn.is-recommended:after{content:"\2713  \111\fang gi\1edd";position:absolute;bottom:-8px;right:6px;font-size:9px;background:#047857;color:#fff;padding:1px 6px;border-radius:4px;font-weight:600}#opening-cash-shift-select .shift-select-btn.is-dimmed{opacity:.55;background:#f1f5f9;color:#64748b}#opening-cash-shift-select .shift-select-btn.is-active{opacity:1;border-width:2px}#opening-cash-recent-banner{background:linear-gradient(to right,#fef3c7,#fde68a);border-left:4px solid #d97706;padding:10px 12px;margin:8px 0 12px;border-radius:6px;font-size:13px;color:#78350f;line-height:1.5}#opening-cash-recent-banner strong{color:#92400e}.ig-col-price{width:80px;min-width:65px;text-align:center}.ig-cell-price{color:#b45309;font-weight:600}.ig-col-supplier{width:130px;min-width:100px;text-align:center}.ig-col-note{width:200px;min-width:160px}.ig-cell-note{font-size:12px;color:#475569}.po-cart-note{display:block;font-size:11px;color:#475569;margin-top:3px;font-weight:500}.ig-supplier-pick-btn{width:100%;min-height:32px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#4338ca;font-weight:600;font-size:12px;cursor:pointer;text-align:center;line-height:1.2}.ig-supplier-pick-btn:hover{background:#eef2ff;border-color:#6366f1}.ig-supplier-pick-btn.ig-cell-dirty{background:#fef3c7;border-color:#f59e0b}#supplier-picker-modal .modal-box{background:#fff;border-radius:12px;padding:20px;box-shadow:0 20px 60px #00000040;max-height:88vh;overflow-y:auto}#supplier-picker-modal .modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}#supplier-picker-modal .modal-head h3{font-size:17px;font-weight:700;margin:0}#supplier-picker-modal .modal-close{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:8px;font-size:18px;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center}.supplier-picker-list{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;padding:8px;background:#f8fafc}.supplier-pick-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px;user-select:none}.supplier-pick-item:hover{background:#f1f5f9}.supplier-pick-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2563eb}.supplier-pick-item input[type=checkbox]:checked+span{color:#1d4ed8;font-weight:600}.po-col-qty{width:64px;min-width:56px;text-align:center}.po-col-add{width:70px;min-width:62px;text-align:center}.po-qty-input{text-align:center;font-weight:700;color:#1d4ed8}.po-add-btn{border:1px solid #2563eb;background:#eff6ff;color:#1d4ed8;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.po-add-btn:hover{background:#dbeafe}.po-add-btn.is-added{border-color:#059669;background:#ecfdf5;color:#047857}.po-row-added td{background:#f0fdf4!important}.po-price-hint{display:block;font-size:10px;color:#92400e;font-weight:500}.po-item-meta{display:block;font-size:11px;color:#64748b;font-weight:500;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#po-table .po-qty-input{border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}#po-table .po-qty-input:focus{border-color:#2563eb;background:#fff}#po-table .ig-col-name{text-align:left}.po-table-wrap{padding-bottom:72px}.po-tab-panel{display:none}.po-tab-panel.is-active{display:block}.po-cart-bar{position:fixed;left:50%;transform:translate(-50%);bottom:16px;z-index:60;display:flex;align-items:center;gap:8px;background:#1f2937;color:#fff;border-radius:14px;padding:8px 10px;box-shadow:0 10px 30px #00000059;max-width:calc(100vw - 24px)}.po-cart-bar-main{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#fff;cursor:pointer;padding:4px 6px;font-size:13px}.po-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#f59e0b;color:#78350f;border-radius:999px;font-weight:800;font-size:13px}.po-cart-label{white-space:nowrap}.po-cart-total{font-size:14px;white-space:nowrap}.po-cart-submit-btn{white-space:nowrap}.po-modal-box{max-width:560px;width:calc(100vw - 28px)}.po-cart-list-wrap{max-height:46vh;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px}.po-cart-table{width:100%}.po-cart-table th,.po-cart-table td{padding:6px 8px}.po-cart-col-name{text-align:left}.po-cart-col-sup{width:110px;text-align:center;font-size:12px;color:#475569;font-weight:600;vertical-align:top}.po-cart-sup-empty{color:#cbd5e1;font-weight:400}.po-cart-col-qty{width:64px}.po-cart-col-qty input{text-align:center;font-weight:700}.po-cart-col-price{width:90px}.po-cart-col-price input{text-align:right}.po-cart-col-total{width:90px;text-align:right;font-weight:600;white-space:nowrap}.po-cart-col-del{width:34px;text-align:center}.po-cart-sup-pick{margin-top:10px;padding:10px 12px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc}.po-sup-pick-title{font-size:12px;color:#475569;font-weight:600;margin-bottom:6px}.po-sup-pick-item{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:13px;cursor:pointer}.po-sup-pick-item input[type=checkbox]{width:17px;height:17px;accent-color:#2563eb}.po-sup-pick-count{color:#94a3b8}.po-note-label{display:block;margin-top:10px;font-size:13px}.po-note-label span{display:block;margin-bottom:4px;color:#475569}.po-note-label textarea{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:8px;font-size:13px}.po-cart-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.po-cart-grand{font-size:14px}.po-cart-grand strong{font-size:17px;color:#b45309}.po-history-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 10px}.po-date-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#475569}.po-date-label input[type=date]{border:1px solid #d1d5db;border-radius:6px;padding:5px 8px;font-size:13px}.po-hist-total{font-size:13px;color:#b45309;margin-left:auto}.po-history-table th{text-align:left}.po-history-table th:nth-child(4){text-align:center}.po-history-table th:nth-child(5){text-align:right}.po-history-row{cursor:pointer}.po-history-row:hover td{background:#f8fafc}.po-detail-meta{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:13px;margin-bottom:10px;color:#475569}.po-detail-note{font-size:12px;color:#64748b;margin-top:8px}@media(max-width:640px){.po-cart-bar{bottom:76px}.po-cart-label{display:none}.po-modal-box{max-height:88vh;overflow-y:auto}.po-cart-col-sup{width:80px;font-size:11px}#po-table .ig-col-stt{display:none}#po-table th,#po-table td{padding:9px 6px}#po-table .ig-col-name strong{font-size:13.5px}#po-table .po-col-qty{width:58px;min-width:52px}#po-table .po-qty-input{width:100%;min-height:40px;font-size:15px;text-align:center}#po-table .po-col-add{width:64px;min-width:58px;padding-right:8px}#po-table .po-add-btn{min-height:40px;min-width:56px;padding:8px 6px;font-size:13px;border-radius:9px}#po-section-filter,#po-search{min-height:42px;font-size:15px}}#po-cart-modal,#po-detail-modal{position:fixed;inset:0;background:#00000080;align-items:center;justify-content:center;padding:20px;z-index:100}#po-cart-modal .modal-box,#po-detail-modal .modal-box{background:#fff;border-radius:12px;padding:20px;box-shadow:0 20px 60px #00000026}#po-cart-modal .modal-head,#po-detail-modal .modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}#po-cart-modal .modal-head h3,#po-detail-modal .modal-head h3{font-size:17px;font-weight:700;margin:0}#po-cart-modal .modal-close,#po-detail-modal .modal-close{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:8px;font-size:18px;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center}#po-cart-modal .modal-close:hover,#po-detail-modal .modal-close:hover{background:#e2e8f0}
