:root{
  --vio:#ff5a00;--vio-600:#e94f00;--vio-100:#fff1e8;--vio-50:#fff8f4;
  --ink:#202633;--muted:#737b8c;--soft:#f7f8fa;--line:#e9ebef;--white:#fff;
  --success:#16a568;--success-bg:#eafaf3;--warning:#ef9d20;--warning-bg:#fff7e8;
  --danger:#e34b4b;--danger-bg:#fff0ef;--info:#3c7fe8;--shadow:0 8px 28px rgba(35,39,47,.07);
  --radius:15px;--sidebar:236px;--topbar:72px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:#f7f8fa;color:var(--ink);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.ui-icon{display:block;flex:none}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.right,.num{text-align:right!important}.nowrap{white-space:nowrap}

/* Shell */
.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);z-index:50;display:flex;flex-direction:column;transition:.25s ease}.sidebar-brand{height:var(--topbar);display:flex;align-items:center;padding:11px 22px;border-bottom:1px solid var(--line)}.sidebar-brand img{width:145px;max-height:43px;object-fit:contain;object-position:left center}.sidebar-scroll{padding:14px 12px 24px;overflow:auto;flex:1}.menu-section{margin:17px 12px 7px;color:#a1a7b2;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.nav-link{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:10px;color:#515866;font-weight:600;margin:2px 0;position:relative;transition:.15s}.nav-link:hover{background:var(--vio-50);color:var(--vio)}.nav-link.active{background:linear-gradient(135deg,var(--vio),#ff7425);color:#fff;box-shadow:0 7px 16px rgba(255,90,0,.19)}.nav-link.active:after{content:"";position:absolute;right:-12px;width:3px;height:24px;background:var(--vio);border-radius:4px 0 0 4px}.nav-link .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{padding:12px;border-top:1px solid var(--line)}.sidebar-mini-card{background:var(--vio-50);border:1px solid #ffe5d3;border-radius:12px;padding:11px 12px;color:#6f4a37}.sidebar-mini-card b{color:var(--vio);display:block;margin-bottom:2px}
.main{margin-left:var(--sidebar);min-height:100vh}.topbar{position:sticky;top:0;height:var(--topbar);z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.menu-toggle{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:#fff;color:#666;cursor:pointer}.menu-toggle:hover{background:var(--soft);color:var(--vio)}.page-kicker{font-size:11px;color:#9aa0aa}.page-breadcrumb{font-size:13px;font-weight:700;color:#4d5360}.branch-chip{min-width:170px;border:1px solid var(--line);border-radius:10px;padding:7px 11px;background:#fff}.branch-chip small{display:block;font-size:9px;color:#9aa0aa;line-height:1}.branch-chip strong{display:block;font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;cursor:pointer;position:relative;color:#626977}.icon-btn:hover{color:var(--vio);border-color:#ffd1b8;background:var(--vio-50)}.notification-dot{position:absolute;right:8px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--vio);box-shadow:0 0 0 2px #fff}.user-menu{display:flex;align-items:center;gap:9px;padding:5px 7px;border-radius:12px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe0ca,#fff3ea);color:var(--vio);font-weight:900}.user-copy{line-height:1.15}.user-copy b{font-size:12px}.user-copy span{display:block;font-size:10px;color:#9aa0aa;margin-top:3px}.logout-btn{border:0;background:transparent;color:#9aa0aa;cursor:pointer;padding:7px;border-radius:8px}.logout-btn:hover{background:var(--danger-bg);color:var(--danger)}
.content{padding:25px 27px 36px;max-width:1680px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1,h1{font-size:25px;line-height:1.18;margin:0;color:#202633;letter-spacing:-.02em}.page-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.date-chip{height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 12px;display:flex;gap:8px;align-items:center;font-size:12px;color:#59606d}

/* Cards / stats */
.grid{display:grid;gap:15px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 1px 2px rgba(24,30,40,.02)}.card.soft{background:#fbfbfc}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title-row h2,.card h2{font-size:15px;margin:0;font-weight:800;color:#303642}.card-link{font-size:11px;color:var(--vio);font-weight:700}.metric-card{min-height:116px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px}.metric-label{font-size:11px;color:#777f8d;margin-bottom:6px}.metric-value{font-size:24px;font-weight:850;letter-spacing:-.03em;color:#282d37}.metric-note{font-size:10px;color:#9aa0aa;margin-top:5px}.metric-note.up{color:var(--success)}.metric-note.down{color:var(--danger)}.metric-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--vio-100);color:var(--vio)}.metric-icon.green{background:var(--success-bg);color:var(--success)}.metric-icon.amber{background:var(--warning-bg);color:var(--warning)}.metric-icon.blue{background:#eef5ff;color:var(--info)}
.dashboard-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:15px;margin-top:15px}.chart-card{min-height:322px}.chart-wrap{height:230px;position:relative;margin-top:7px}.sales-chart{width:100%;height:100%;overflow:visible}.chart-gridline{stroke:#eef0f3;stroke-width:1}.chart-area{fill:url(#vioGradient)}.chart-line{fill:none;stroke:var(--vio);stroke-width:2.5}.chart-point{fill:#fff;stroke:var(--vio);stroke-width:2}.chart-axis{font-size:10px;fill:#9aa0aa}.top-products{display:flex;flex-direction:column;gap:5px}.rank-row{display:grid;grid-template-columns:26px 1fr auto;gap:9px;align-items:center;padding:8px 4px;border-bottom:1px solid #f1f2f4}.rank-row:last-child{border:0}.rank-no{width:22px;height:22px;border-radius:7px;background:#f4f5f7;display:grid;place-items:center;font-size:10px;font-weight:800}.rank-copy b{display:block;font-size:12px}.rank-copy span{font-size:10px;color:#9aa0aa}.rank-value{text-align:right}.rank-value b{font-size:11px}.rank-value span{display:block;font-size:9px;color:#9aa0aa}.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:15px;margin-top:15px}.notification-list{display:flex;flex-direction:column;gap:4px}.notification-item{display:grid;grid-template-columns:34px 1fr 14px;gap:9px;align-items:start;padding:10px 6px;border-bottom:1px solid #f1f2f4}.notification-item:last-child{border:0}.notification-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.notification-icon.warning{background:var(--warning-bg);color:var(--warning)}.notification-icon.success{background:var(--success-bg);color:var(--success)}.notification-copy b{font-size:11px;display:block}.notification-copy span{font-size:9px;color:#9aa0aa}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-action{border:1px solid #f2d8c7;background:#fff;border-radius:10px;padding:10px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;color:#4c5360;transition:.15s}.quick-action:hover{border-color:var(--vio);color:var(--vio);background:var(--vio-50)}.quick-action .qa-icon{width:30px;height:30px;border-radius:8px;background:var(--vio-100);color:var(--vio);display:grid;place-items:center}

/* Forms / buttons */
.btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:8px 14px;font-weight:700;font-size:12px;cursor:pointer;transition:.15s;background:#f2f3f5;color:#555d69}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--vio),#ff6f1e);border-color:var(--vio);color:#fff;box-shadow:0 6px 14px rgba(255,90,0,.15)}.btn-primary:hover{background:var(--vio-600)}.btn-outline{background:#fff;border-color:var(--line);color:#555d69}.btn-outline:hover{border-color:#ffc8a7;color:var(--vio);background:var(--vio-50)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-sm{min-height:30px;padding:5px 9px;font-size:11px;border-radius:7px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.field{margin-bottom:14px}.field label{display:block;font-size:11px;font-weight:750;margin-bottom:6px;color:#515866}.input,select,textarea{width:100%;border:1px solid #dfe2e7;border-radius:9px;padding:9px 11px;background:#fff;color:#303642;outline:none;transition:.15s;min-height:39px}.input:focus,select:focus,textarea:focus{border-color:#ffb181;box-shadow:0 0 0 3px rgba(255,90,0,.08)}textarea{min-height:95px;resize:vertical}.input-wrap{position:relative}.input-wrap .ui-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9aa0aa}.input-wrap .input{padding-left:38px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.filter-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.filter-bar .input{width:auto;min-width:260px}.filter-bar select{width:auto;min-width:150px}.switch{display:inline-flex;align-items:center;gap:7px;color:#767d89;font-size:11px}.switch input{accent-color:var(--vio)}

/* Tables */
.table-wrap{overflow:auto;border-radius:11px;border:1px solid var(--line)}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.table th,.table td{padding:11px 12px;border-bottom:1px solid #f0f1f3;text-align:left;font-size:12px;vertical-align:middle}.table th{font-size:9.5px;text-transform:uppercase;letter-spacing:.045em;color:#8d94a0;background:#fafafb;white-space:nowrap;font-weight:800}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:#fffaf7}.product-cell{display:flex;align-items:center;gap:9px;min-width:180px}.product-thumb{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#fff1e8,#fffaf7);display:grid;place-items:center;color:var(--vio);font-weight:850;font-size:12px;border:1px solid #ffe7d7}.product-cell b{display:block;font-size:11px}.product-cell span{font-size:9px;color:#9aa0aa}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;background:#f2f3f5;color:#626976}.badge.green,.badge.success{background:var(--success-bg);color:#0a8a54}.badge.red,.badge.danger{background:var(--danger-bg);color:#d33f3f}.badge.warning,.badge.amber{background:var(--warning-bg);color:#dc8b11}.badge.orange{background:var(--vio-100);color:var(--vio)}.badge.blue{background:#edf5ff;color:#3475d6}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.pagination{margin-top:12px;width:100%}.pagination nav{width:100%}.pagination svg{width:16px;height:16px}

/* Alerts */
.alert{padding:12px 14px;border-radius:10px;margin-bottom:15px;border:1px solid transparent;font-size:12px}.alert-success{background:var(--success-bg);color:#11794f;border-color:#cef2df}.alert-danger{background:var(--danger-bg);color:#b73e3e;border-color:#ffd6d2}.alert ul{margin:5px 0 0 18px;padding:0}

/* Login */
.login-page{min-height:100vh;background:#fbfbfc;display:grid;place-items:center;padding:28px}.login-shell{width:min(1020px,96vw);min-height:570px;background:#fff;border:1px solid #f0e6df;border-radius:22px;box-shadow:0 20px 60px rgba(51,39,31,.10);display:grid;grid-template-columns:.92fr 1.08fr;overflow:hidden}.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff4ec 0%,#ffe1cb 58%,#ffc79f 100%);padding:42px}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:48% 52% 60% 40%;background:rgba(255,255,255,.35);filter:blur(.2px)}.login-visual:before{width:520px;height:270px;left:-170px;top:210px;transform:rotate(-8deg)}.login-visual:after{width:420px;height:260px;right:-220px;top:90px;transform:rotate(18deg)}.login-logo{width:230px;position:relative;z-index:2}.login-visual-copy{position:relative;z-index:2;margin-top:15px;color:#815b46;font-size:12px;max-width:300px}.store-illustration{position:absolute;left:52px;right:52px;bottom:34px;height:250px}.store-building{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:250px;height:122px;background:#fff8f3;border:5px solid #f47a31;border-radius:13px 13px 6px 6px;box-shadow:0 18px 35px rgba(177,76,18,.16)}.store-roof{position:absolute;left:-18px;right:-18px;top:-34px;height:42px;background:var(--vio);border-radius:9px 9px 2px 2px;transform:perspective(80px) rotateX(4deg)}.store-sign{position:absolute;left:50%;top:-53px;transform:translateX(-50%);background:white;border:3px solid #f57b35;color:var(--vio);font-weight:850;font-size:20px;padding:5px 18px;border-radius:5px;white-space:nowrap}.store-door{position:absolute;left:98px;bottom:0;width:54px;height:80px;background:linear-gradient(135deg,#b9d6e3,#eef8fb);border:4px solid #d46628}.store-window{position:absolute;bottom:22px;width:61px;height:48px;background:linear-gradient(135deg,#bedbe6,#f4fbfd);border:4px solid #d46628}.store-window.left{left:18px}.store-window.right{right:18px}.store-base{position:absolute;left:15%;right:8%;height:12px;bottom:15px;background:rgba(220,98,29,.18);border-radius:50%}.store-tree{position:absolute;bottom:24px;width:23px;height:78px;border-radius:50% 50% 45% 45%;background:#f19a5c}.store-tree:after{content:"";position:absolute;left:10px;bottom:-18px;width:4px;height:28px;background:#c06e3a}.store-tree.t1{left:10px;height:92px}.store-tree.t2{right:8px;height:69px}.login-panel{padding:66px 72px;display:flex;align-items:center}.login-box{width:100%;max-width:410px;margin:auto}.login-box h1{font-size:22px;margin-bottom:4px}.login-box>p{margin:0 0 25px;font-size:12px}.login-field{margin-bottom:15px}.login-field label{font-size:10px;color:#4e5562;font-weight:750;display:block;margin-bottom:6px}.login-field .input{height:45px}.login-options{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#717987;margin:4px 0 19px}.login-options a{color:var(--vio)}.login-submit{width:100%;height:44px}.login-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#aaa;font-size:9px}.login-divider:before,.login-divider:after{content:"";height:1px;background:#eee;flex:1}.demo-box{border:1px dashed #ffd1b7;background:#fffaf7;padding:10px 12px;border-radius:9px;font-size:10px;color:#7d6455}.login-footer{text-align:center;margin-top:26px;color:#a0a5ae;font-size:9px}

/* POS */
.pos-page{margin:-7px -8px 0}.pos-toolbar{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 13px;margin-bottom:12px;display:flex;align-items:center;gap:10px}.pos-search{flex:1;position:relative}.pos-search .input{height:43px;padding-left:40px;font-size:12px}.pos-search .ui-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#a0a6b0}.pos-toolbar select{width:175px}.pos-wrap{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(390px,.7fr);gap:13px;align-items:start}.pos-catalog,.pos-cart{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.category-tabs{display:flex;gap:6px;padding:12px 13px 4px;overflow:auto}.category-tab{border:1px solid #eceef1;background:#fafafa;color:#737a86;border-radius:999px;padding:6px 12px;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}.category-tab.active,.category-tab:hover{background:var(--vio);color:#fff;border-color:var(--vio)}.pos-results{padding:10px 13px 14px;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;max-height:calc(100vh - 260px);overflow:auto}.product-card{border:1px solid #eceef1;border-radius:11px;padding:9px;background:#fff;cursor:pointer;min-height:145px;display:flex;flex-direction:column;transition:.15s}.product-card:hover{border-color:#ffb98f;box-shadow:0 7px 18px rgba(255,90,0,.09);transform:translateY(-1px)}.product-art{height:70px;border-radius:9px;background:linear-gradient(145deg,#fff9f5,#fff0e5);display:grid;place-items:center;margin-bottom:8px;position:relative;overflow:hidden}.product-art:before{content:"";width:38px;height:54px;border:2px solid #ffc19d;background:#fff;border-radius:8px 8px 6px 6px;box-shadow:0 6px 13px rgba(255,90,0,.08)}.product-art:after{content:attr(data-letter);position:absolute;color:var(--vio);font-size:18px;font-weight:900}.stock-pill{position:absolute;right:5px;top:5px;background:#fff;border-radius:999px;padding:3px 6px;font-size:8px;color:#7c828c;box-shadow:0 1px 5px rgba(0,0,0,.06)}.product-card-name{font-size:11px;font-weight:750;line-height:1.25;min-height:28px}.product-card-meta{font-size:8.5px;color:#9ba0aa;margin-top:2px}.product-card-price{color:#363c47;font-weight:850;font-size:11px;margin-top:auto;padding-top:6px}.catalog-empty{grid-column:1/-1;text-align:center;padding:45px;color:#979da7}.pos-cart{position:sticky;top:calc(var(--topbar) + 14px)}.pos-cart-head{height:48px;padding:0 14px;border-bottom:1px solid #f0f1f3;display:flex;align-items:center;justify-content:space-between}.pos-cart-head h2{font-size:13px;margin:0}.clear-cart{border:0;background:transparent;color:var(--vio);font-size:9px;font-weight:750;cursor:pointer}.cart-scroll{max-height:335px;overflow:auto;padding:4px 12px}.cart-item{display:grid;grid-template-columns:36px 1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid #f1f2f4;align-items:center}.cart-item-art{width:34px;height:34px;border-radius:8px;background:var(--vio-50);display:grid;place-items:center;color:var(--vio);font-weight:850}.cart-item-copy b{display:block;font-size:10.5px}.cart-item-copy span{font-size:8px;color:#9aa0aa}.cart-item-side{text-align:right}.qty-control{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-bottom:3px}.qty-control button{width:21px;height:21px;border:1px solid #e4e6e9;background:#fff;border-radius:6px;display:grid;place-items:center;cursor:pointer;color:#747b86}.qty-control input{width:38px;height:22px;border:0;text-align:center;font-size:10px}.cart-line-total{font-size:10px;font-weight:800}.remove-item{border:0;background:transparent;color:#c1c5cc;cursor:pointer;padding:2px}.remove-item:hover{color:var(--danger)}.cart-summary{padding:11px 14px;border-top:1px solid #f0f1f3;background:#fff}.summary-row{display:flex;justify-content:space-between;font-size:10px;color:#747b87;margin:6px 0}.summary-row.total{font-size:12px;color:#333945;font-weight:800;margin-top:9px;padding-top:9px;border-top:1px dashed #e4e6e9}.summary-row.total strong{font-size:20px;color:var(--vio)}.payment-panel{padding:0 14px 14px}.payment-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 0 11px}.payment-method{height:53px;border:1px solid #e8eaed;background:#fff;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:8.5px;font-weight:700;color:#656c78;cursor:pointer}.payment-method:hover,.payment-method.active{border-color:var(--vio);background:var(--vio-50);color:var(--vio)}.payment-method .ui-icon{width:17px}.paid-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.checkout-btn{width:100%;height:46px;font-size:12px;margin-top:4px}.pos-shortcuts{display:flex;gap:7px;margin-top:10px}.shortcut{flex:1;border:1px solid #f0dfd3;background:#fffaf7;color:#a26440;border-radius:8px;padding:7px;text-align:center;font-size:8px}.shortcut b{color:var(--vio)}

/* Inventory / product */
.inventory-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.mini-stat{border:1px solid var(--line);border-radius:11px;background:#fff;padding:12px}.mini-stat span{font-size:9px;color:#9299a4}.mini-stat b{display:block;font-size:17px;margin-top:3px}.inventory-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:15px}.side-form-card{position:sticky;top:calc(var(--topbar) + 15px)}

/* Generic legacy helpers */
.stat{font-size:25px;font-weight:850}.cart-table td{padding:8px}.cart-total{font-size:25px;font-weight:900;text-align:right}.product-result{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px;cursor:pointer}.product-result:hover{background:var(--vio-50)}hr{border:0;border-top:1px solid var(--line);margin:14px 0}

/* Responsive */
@media(max-width:1280px){.grid-4{grid-template-columns:repeat(2,1fr)}.pos-results{grid-template-columns:repeat(3,1fr)}.dashboard-main,.dashboard-bottom{grid-template-columns:1fr}.inventory-layout{grid-template-columns:1fr}.side-form-card{position:static}}
@media(max-width:1000px){:root{--sidebar:220px}.content{padding:20px}.topbar{padding:0 18px}.pos-wrap{grid-template-columns:1fr}.pos-cart{position:static}.pos-results{max-height:none}.branch-chip{display:none}.login-panel{padding:50px 42px}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);box-shadow:20px 0 50px rgba(0,0,0,.12)}body.sidebar-open .sidebar{transform:translateX(0)}.main{margin-left:0}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(16,20,27,.35);z-index:45}body.sidebar-open .sidebar-backdrop{display:block}.user-copy{display:none}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:50px 34px;min-height:560px}.grid-3{grid-template-columns:1fr 1fr}.inventory-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.content{padding:16px 13px 28px}.topbar{height:62px;padding:0 10px}.topbar-right{gap:5px}.page-head{flex-direction:column}.grid-4,.grid-3,.grid-2,.form-row{grid-template-columns:1fr}.metric-card{min-height:100px}.pos-toolbar{flex-wrap:wrap}.pos-toolbar select{width:100%}.pos-results{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.payment-methods{grid-template-columns:repeat(3,1fr)}.quick-actions{grid-template-columns:1fr}.filter-bar .input,.filter-bar select{width:100%;min-width:0}.inventory-summary{grid-template-columns:1fr 1fr}.table{min-width:700px}.card{padding:14px}.page-head h1,h1{font-size:22px}}

.product-multi{min-height:330px;padding:7px}.product-multi option{padding:8px 9px;border-radius:6px;margin:2px 0}.product-multi option:checked{background:linear-gradient(135deg,var(--vio),#ff7425);color:#fff}
.brand-logo-mark{display:none!important;max-width:40px!important;height:40px!important;object-fit:contain!important}
@media(min-width:821px){body.sidebar-collapsed .sidebar{width:76px}body.sidebar-collapsed .main{margin-left:76px}body.sidebar-collapsed .sidebar-brand{justify-content:center;padding:10px}body.sidebar-collapsed .brand-logo-full{display:none}body.sidebar-collapsed .brand-logo-mark{display:block!important}body.sidebar-collapsed .menu-section,body.sidebar-collapsed .nav-label,body.sidebar-collapsed .sidebar-footer{display:none}body.sidebar-collapsed .nav-link{justify-content:center;padding:0;margin:4px 2px}body.sidebar-collapsed .nav-link.active:after{right:-12px}}

/* ============================================================
   Vio Mart Enterprise Retail v2.0.2 — Data Table + Pagination Refresh
   Consistent, dense and responsive back-office tables.
   ============================================================ */
.enterprise-table-wrap,
.table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid #e7e9ee;
  border-radius:12px;
  background:#fff;
  scrollbar-width:thin;
  scrollbar-color:#cfd3da transparent;
}
.enterprise-table-wrap::-webkit-scrollbar,
.table-wrap::-webkit-scrollbar{height:9px;width:9px}
.enterprise-table-wrap::-webkit-scrollbar-thumb,
.table-wrap::-webkit-scrollbar-thumb{background:#cfd3da;border-radius:999px;border:2px solid #fff}
.enterprise-table-wrap::-webkit-scrollbar-track,
.table-wrap::-webkit-scrollbar-track{background:#fff}

/* Fallback intentionally targets any table inside .table-wrap so old
   enterprise Blade files are still styled even if a class is missed. */
.enterprise-table,
.table-wrap table{
  width:100%;
  min-width:760px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
  background:#fff;
}
.enterprise-table thead th,
.table-wrap table thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:11px 14px;
  border-bottom:1px solid #e5e7eb;
  background:#f8f9fb;
  color:#7b8391;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-align:left;
  white-space:nowrap;
}
.enterprise-table thead th:first-child,
.table-wrap table thead th:first-child{padding-left:16px}
.enterprise-table thead th:last-child,
.table-wrap table thead th:last-child{padding-right:16px}
.enterprise-table tbody td,
.table-wrap table tbody td{
  padding:12px 14px;
  border-bottom:1px solid #f0f1f4;
  color:#3e4653;
  font-size:12px;
  line-height:1.35;
  vertical-align:middle;
  background:#fff;
}
.enterprise-table tbody tr:nth-child(even) td,
.table-wrap table tbody tr:nth-child(even) td{background:#fcfcfd}
.enterprise-table tbody tr:hover td,
.table-wrap table tbody tr:hover td{background:#fff8f3}
.enterprise-table tbody tr:last-child td,
.table-wrap table tbody tr:last-child td{border-bottom:0}
.enterprise-table tbody td:first-child,
.table-wrap table tbody td:first-child{padding-left:16px}
.enterprise-table tbody td:last-child,
.table-wrap table tbody td:last-child{padding-right:16px}
.enterprise-table td b,
.table-wrap table td b{color:#2f3541;font-weight:800}
.enterprise-table td .small,
.table-wrap table td .small{margin-top:3px;line-height:1.25}
.enterprise-table a b,
.table-wrap table a b{color:var(--vio)}
.enterprise-table a:hover b,
.table-wrap table a:hover b{text-decoration:underline}

/* Useful semantic cell helpers for current and future enterprise screens. */
.table-cell-primary{font-weight:800;color:#2f3541}
.table-cell-secondary{display:block;margin-top:3px;color:#969ca7;font-size:10px}
.table-money{font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap;text-align:right}
.table-qty{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.table-date{font-variant-numeric:tabular-nums;white-space:nowrap;color:#59616e}
.table-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:750;white-space:nowrap}
.table-status{white-space:nowrap}
.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.table-inline-form{display:flex;align-items:center;gap:7px;min-width:250px;margin:0}
.table-inline-form .input{min-height:32px;height:32px;padding:5px 9px;font-size:11px}
.table-input-wide{min-width:190px!important;width:100%}
.table-input-compact{width:92px!important;min-width:92px!important}
.enterprise-table .btn,
.table-wrap table .btn{min-height:30px;padding:5px 10px;border-radius:7px;font-size:10.5px;box-shadow:none;transform:none}
.enterprise-table .btn:hover,
.table-wrap table .btn:hover{transform:none}
.enterprise-table .input,
.table-wrap table .input,
.enterprise-table select,
.table-wrap table select{
  min-height:34px;
  height:34px;
  padding:5px 9px;
  border-radius:7px;
  font-size:11px;
}

/* Empty rows look intentional, not like broken tables. */
.enterprise-table tbody tr:only-child td[colspan],
.table-wrap table tbody tr:only-child td[colspan]{
  padding:34px 18px;
  text-align:center!important;
  color:#9aa1ac;
  background:#fff;
}

/* Data card spacing: table can breathe while retaining a compact retail UI. */
.card > .enterprise-table-wrap:first-child,
.card > .table-wrap:first-child{margin-top:0}
.card > .enterprise-table-wrap + .vio-pagination,
.card > .table-wrap + .vio-pagination,
.card > .enterprise-table-wrap + nav,
.card > .table-wrap + nav{margin-top:14px}
.card .card-title-row + .enterprise-table-wrap,
.card .card-title-row + .table-wrap{margin-top:2px}

/* Long enterprise records should not explode column widths. */
.enterprise-table td:nth-child(n+1),
.table-wrap table td:nth-child(n+1){max-width:360px}
.enterprise-table td,
.table-wrap table td{overflow-wrap:anywhere}
.enterprise-table td .badge,
.table-wrap table td .badge{white-space:nowrap}

/* A slightly stronger retail-table header accent. */
.enterprise-table thead tr:first-child th,
.table-wrap table thead tr:first-child th{box-shadow:inset 0 2px 0 rgba(255,90,0,.12)}

@media(max-width:1100px){
  .enterprise-table,
  .table-wrap table{min-width:820px}
  .enterprise-table thead th,
  .table-wrap table thead th{padding:10px 12px}
  .enterprise-table tbody td,
  .table-wrap table tbody td{padding:11px 12px}
}
@media(max-width:620px){
  .enterprise-table-wrap,
  .table-wrap{border-radius:10px;margin-left:0;margin-right:0}
  .enterprise-table,
  .table-wrap table{min-width:780px}
  .enterprise-table thead th,
  .table-wrap table thead th{font-size:9px}
  .enterprise-table tbody td,
  .table-wrap table tbody td{font-size:11px}
}
.enterprise-table th.num,.table-wrap table th.num{text-align:right!important}
.enterprise-table td.num,.table-wrap table td.num{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.enterprise-table td.num .input,.table-wrap table td.num .input{text-align:right;font-variant-numeric:tabular-nums}
.enterprise-table form{margin:0}


/* ============================================================
   Vio Mart Enterprise Retail v2.0.2 — Pagination Refresh
   Global paginator for Price Zone and every paginated data table.
   ============================================================ */
.vio-pagination{
  width:100%;
  margin-top:12px;
  padding:11px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid #e7e9ee;
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfbfc 100%);
  box-shadow:0 1px 2px rgba(20,25,35,.025);
}
.pagination > .vio-pagination{margin-top:0}
.vio-pagination-summary{display:flex;align-items:center;gap:12px;min-width:0;color:#858c98;font-size:10.5px;line-height:1.35}
.vio-pagination-range{display:flex;align-items:center;gap:4px;white-space:nowrap}
.vio-pagination-range strong,.vio-pagination-meta strong{color:#444b57;font-weight:800;font-variant-numeric:tabular-nums}
.vio-pagination-meta{display:flex;align-items:center;gap:8px;white-space:nowrap}
.vio-pagination-chip{display:inline-flex;align-items:center;height:26px;padding:0 9px;border:1px solid #eceef2;border-radius:999px;background:#fff;color:#747b87;font-size:9.5px;font-weight:750}
.vio-pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.vio-page-numbers{display:flex;align-items:center;gap:5px;max-width:420px;overflow-x:auto;scrollbar-width:none;padding:1px}
.vio-page-numbers::-webkit-scrollbar{display:none}
.vio-page-btn{
  height:34px;
  min-width:34px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  border:1px solid #e4e7ec;
  border-radius:9px;
  background:#fff;
  color:#626a76;
  font-size:10.5px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  font-variant-numeric:tabular-nums;
  transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease;
}
a.vio-page-btn:hover{border-color:#ffb27f;background:#fff7f2;color:var(--vio);box-shadow:0 2px 7px rgba(255,90,0,.08);transform:translateY(-1px)}
.vio-page-number.is-active{border-color:var(--vio);background:linear-gradient(135deg,var(--vio),#ff7425);color:#fff;font-weight:850;box-shadow:0 4px 10px rgba(255,90,0,.18)}
.vio-page-nav{padding:0 11px;min-width:auto}
.vio-page-edge{font-size:15px;font-weight:800}
.vio-page-dots{border-color:transparent;background:transparent;color:#a4a9b2;min-width:25px;padding:0 4px}
.vio-page-btn.is-disabled{background:#f7f8fa;border-color:#eceef1;color:#c3c7ce;cursor:not-allowed;box-shadow:none;transform:none}
.card > .vio-pagination,.card > .pagination{margin-bottom:0}
.enterprise-table-wrap + .vio-pagination,.table-wrap + .vio-pagination{margin-top:12px}

@media(max-width:900px){
  .vio-pagination{align-items:flex-start;flex-direction:column;gap:10px}
  .vio-pagination-summary,.vio-pagination-controls{width:100%}
  .vio-pagination-controls{justify-content:space-between}
  .vio-page-numbers{max-width:52vw}
}
@media(max-width:620px){
  .vio-pagination{padding:10px;border-radius:10px}
  .vio-pagination-summary{justify-content:space-between;gap:8px;flex-wrap:wrap}
  .vio-pagination-meta{margin-left:auto}
  .vio-pagination-chip{display:none}
  .vio-pagination-controls{gap:4px}
  .vio-page-btn{height:32px;min-width:32px;border-radius:8px;padding:0 8px}
  .vio-page-nav{min-width:32px}
  .vio-page-nav-label{display:none}
  .vio-page-numbers{max-width:calc(100vw - 160px);gap:4px}
}
@media(max-width:420px){
  .vio-pagination-range span:first-child{display:none}
  .vio-pagination-summary{font-size:10px}
  .vio-page-edge{display:none}
  .vio-page-numbers{max-width:calc(100vw - 105px)}
}

/* ============================================================
   Vio Mart Enterprise Retail v2.0.3 — Member Search + Loyalty UI
   ============================================================ */
.pos-member-bar{
  display:grid;
  grid-template-columns:minmax(360px,1fr) minmax(300px,.72fr);
  gap:10px;
  align-items:stretch;
  margin-bottom:12px;
}
.member-picker{position:relative;z-index:32}
.member-search-box{position:relative;height:100%}
.member-search-box .ui-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#9da4ae;z-index:2}
.member-search-box .input{height:48px;padding-left:41px;padding-right:14px;background:#fff;border-color:#e5e7eb;box-shadow:0 1px 2px rgba(24,30,40,.02)}
.member-search-box .input:focus{border-color:#ffac78;box-shadow:0 0 0 3px rgba(255,90,0,.08)}
.member-search-results{
  position:absolute;
  left:0;right:0;top:calc(100% + 7px);
  max-height:330px;
  overflow:auto;
  padding:6px;
  border:1px solid #e4e7ec;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 38px rgba(28,33,42,.14);
  z-index:90;
}
.member-result{
  width:100%;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:0;
  border-bottom:1px solid #f0f1f4;
  background:#fff;
  border-radius:8px;
  padding:9px 10px;
  text-align:left;
  color:#3e4653;
  cursor:pointer;
}
.member-result:last-child{border-bottom:0}
.member-result:hover,.member-result:focus{outline:0;background:var(--vio-50)}
.member-result-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--vio-100);color:var(--vio);font-weight:850}
.member-result-main{min-width:0}
.member-result-main b{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-result-main small{display:block;margin-top:2px;color:#939aa5;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-result-points{text-align:right;white-space:nowrap}
.member-result-points b{display:block;color:var(--vio);font-size:11px}
.member-result-points small{display:block;color:#969da8;font-size:9px;margin-top:2px}
.member-result-empty{padding:17px 14px;text-align:center;color:#9299a4;font-size:11px}
.selected-member{
  min-height:48px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:7px 9px;
  border:1px solid #e7e9ee;
  border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,#fffaf7 100%);
}
.selected-member-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--vio-100);color:var(--vio)}
.selected-member-copy{min-width:0}
.selected-member-copy b{display:block;font-size:11px;color:#343b47;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.selected-member-copy span{display:block;margin-top:2px;color:#8e95a0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.loyalty-metrics .metric-card{min-height:104px}
.loyalty-rule-value{font-size:19px!important}
.loyalty-settings-form .form-row{align-items:start}
.loyalty-enable-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:15px;
  padding:12px 13px;
  border:1px solid #f0dfd3;
  border-radius:11px;
  background:#fffaf7;
  cursor:pointer;
}
.loyalty-enable-row span{min-width:0}
.loyalty-enable-row b{display:block;font-size:12px;color:#3f4652}
.loyalty-enable-row small{display:block;margin-top:3px;color:#8d949f;font-size:10px}
.loyalty-enable-row input{width:18px;height:18px;accent-color:var(--vio);flex:none}
.loyalty-simulator{background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)}
.loyalty-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center;margin:4px 0 14px}
.loyalty-flow-box{min-height:83px;padding:12px;border:1px solid #f0e3db;border-radius:11px;background:#fff;display:flex;flex-direction:column;justify-content:center;text-align:center}
.loyalty-flow-box span{color:#9299a3;font-size:9.5px}
.loyalty-flow-box b{margin-top:5px;color:#3a414c;font-size:14px}
.loyalty-flow-arrow{color:#d2a58b;font-weight:900;font-size:18px}
.loyalty-rule-list{margin-top:14px;border-top:1px solid #f0e3db;padding-top:8px}
.loyalty-rule-list>div{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px dashed #efe8e3;font-size:10.5px}
.loyalty-rule-list>div:last-child{border-bottom:0}
.loyalty-rule-list span{color:#858d98}
.loyalty-rule-list b{color:#424955;text-align:right}

@media(max-width:1100px){
  .pos-member-bar{grid-template-columns:1fr}
  .selected-member{min-height:46px}
  .loyalty-flow{grid-template-columns:1fr}
  .loyalty-flow-arrow{transform:rotate(90deg);text-align:center;line-height:12px}
}
@media(max-width:620px){
  .pos-member-bar{grid-template-columns:1fr}
  .member-search-results{position:fixed;left:13px;right:13px;top:128px;max-height:50vh}
  .selected-member{grid-template-columns:34px minmax(0,1fr) auto}
  .loyalty-metrics{grid-template-columns:1fr!important}
}

/* ============================================================
   Vio Mart Enterprise Retail v2.0.4 — Pagination Renderer Fix
   Prevent raw Bootstrap/Tailwind paginator markup from leaking.
   ============================================================ */
.vio-pagination ul,
.pagination ul,
nav[aria-label="Pagination Navigation"] ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.vio-pagination a,
.vio-pagination span{
  text-decoration:none;
}
.vio-pagination-simple .vio-pagination-controls{margin-left:auto}

/* ============================================================
   Vio Mart Enterprise Retail v2.0.5 — Shift Kasir UI Refresh
   Dedicated retail shift/register interface.
   ============================================================ */
.shift-page-head{align-items:center;margin-bottom:16px}
.shift-page-kicker{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--vio);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.shift-head-status{min-width:170px;display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.shift-head-status.is-open{border-color:#cfeee0;background:#f7fdf9}
.shift-head-status.is-closed{background:#fff}
.shift-status-dot{width:9px;height:9px;border-radius:50%;background:#b7bdc7;box-shadow:0 0 0 4px #f0f1f3;flex:none}
.shift-head-status.is-open .shift-status-dot{background:var(--success);box-shadow:0 0 0 4px #dff6ea}
.shift-head-status small{display:block;color:#959ca7;font-size:9px;line-height:1.15}
.shift-head-status strong{display:block;margin-top:2px;color:#3a414d;font-size:11px}

.shift-active-banner{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding:13px 15px;border:1px solid #caeedf;border-radius:13px;background:linear-gradient(90deg,#f5fcf8 0%,#fff 75%)}
.shift-active-banner-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--success-bg);color:var(--success);flex:none}
.shift-active-banner-copy{min-width:0;flex:1}
.shift-active-banner-copy>span{display:block;color:var(--success);font-size:9px;font-weight:850;letter-spacing:.08em}
.shift-active-banner-copy strong{display:block;margin-top:2px;font-size:13px;color:#343b46}
.shift-active-banner-copy p{margin:2px 0 0;color:#7c8490;font-size:10.5px}
.shift-live-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e8f9f1;color:var(--success);font-size:9px;font-weight:850;letter-spacing:.06em;white-space:nowrap}
.shift-live-badge i{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(22,165,104,.10)}

.shift-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr);gap:15px;align-items:start}
.shift-layout-open{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr)}
.shift-summary-card,.shift-close-card,.shift-open-card,.shift-flow-card{padding:20px}
.shift-card-heading{margin-bottom:16px}
.shift-card-heading h2,.shift-open-head h2,.shift-close-head h2,.shift-flow-heading h2{font-size:16px!important}
.shift-section-label{display:block;margin-bottom:3px;color:#9aa1ac;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}

.shift-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shift-metric{min-width:0;display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #eceef1;border-radius:12px;background:linear-gradient(180deg,#fff 0%,#fdfdfd 100%)}
.shift-metric-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--vio-100);color:var(--vio);flex:none}
.shift-metric-copy{min-width:0}
.shift-metric-copy span{display:block;color:#9299a4;font-size:9.5px}
.shift-metric-copy strong{display:block;margin-top:2px;color:#303743;font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shift-metric-copy small{display:block;margin-top:2px;color:#a2a8b2;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shift-metric-copy .shift-money{color:var(--vio);font-variant-numeric:tabular-nums}

.shift-time-strip{display:grid;grid-template-columns:36px minmax(0,1fr) 1px minmax(0,1fr);align-items:center;gap:12px;margin-top:12px;padding:11px 13px;border:1px solid #eeeef1;border-radius:11px;background:#fafbfc}
.shift-time-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#fff;border:1px solid #eceef1;color:#68717d}
.shift-time-strip span{display:block;color:#969da7;font-size:9px}
.shift-time-strip strong{display:block;margin-top:2px;color:#454c58;font-size:11px}
.shift-time-separator{width:1px;height:28px;background:#e4e6e9}

.shift-primary-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:13px 14px;border:1px solid #f4ded0;border-radius:12px;background:linear-gradient(90deg,var(--vio-50),#fff)}
.shift-primary-action>div{min-width:0}
.shift-primary-action strong{display:block;font-size:11.5px;color:#3c434e}
.shift-primary-action span{display:block;margin-top:2px;color:#8d949f;font-size:9.5px}
.shift-pos-button{min-width:145px;flex:none}

.shift-close-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.shift-close-icon{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;background:#fff3ec;color:var(--vio);flex:none}
.shift-card-description{margin:0 0 16px;color:#7f8792;font-size:10.5px;line-height:1.55}
.shift-close-form .field{margin-bottom:13px}
.required-mark{color:var(--danger)}
.field-help{display:block;margin-top:5px;color:#9da3ad;font-size:9px;line-height:1.35}
.shift-money-input{position:relative}
.shift-money-input>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);z-index:1;color:#7d8490;font-size:11px;font-weight:800}
.shift-money-input .input{padding-left:36px;font-variant-numeric:tabular-nums;font-weight:700}
.shift-close-warning{display:flex;align-items:flex-start;gap:8px;margin:3px 0 13px;padding:10px 11px;border:1px solid #f4e2be;border-radius:10px;background:#fffbf2;color:#8b681f;font-size:9.5px;line-height:1.4}
.shift-close-warning .ui-icon{margin-top:1px;flex:none}
.shift-close-button,.shift-open-button{width:100%;min-height:42px}

.shift-open-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:18px}
.shift-open-head-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--vio-100);color:var(--vio)}
.shift-open-head p,.shift-flow-heading p{margin:4px 0 0;color:#89909b;font-size:10.5px}
.shift-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.shift-opening-cash-field{max-width:360px}
.shift-open-form .input{min-height:41px}

.shift-flow-card{background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)}
.shift-flow-heading{margin-bottom:15px}
.shift-flow-list{display:flex;flex-direction:column}
.shift-flow-item{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;padding:0 0 14px}
.shift-flow-item:not(:last-child):before{content:"";position:absolute;left:14px;top:28px;bottom:0;width:1px;background:#f0d7c8}
.shift-flow-item:last-child{padding-bottom:0}
.shift-flow-no{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#fff0e6;border:1px solid #ffd9c1;color:var(--vio);font-size:10px;font-weight:850;z-index:1}
.shift-flow-item strong{display:block;padding-top:2px;color:#414853;font-size:11px}
.shift-flow-item p{margin:2px 0 0;color:#9299a4;font-size:9.5px;line-height:1.4}

@media(max-width:1150px){
  .shift-layout,.shift-layout-open{grid-template-columns:1fr}
  .shift-close-card{max-width:none}
}
@media(max-width:720px){
  .shift-page-head{align-items:flex-start}
  .shift-head-status{width:100%;min-width:0}
  .shift-active-banner{align-items:flex-start}
  .shift-live-badge{margin-left:auto}
  .shift-metrics,.shift-form-grid{grid-template-columns:1fr}
  .shift-time-strip{grid-template-columns:34px 1fr}
  .shift-time-separator{display:none}
  .shift-time-strip>div:last-child{grid-column:2}
  .shift-primary-action{align-items:stretch;flex-direction:column}
  .shift-pos-button{width:100%}
  .shift-opening-cash-field{max-width:none}
}
@media(max-width:440px){
  .shift-summary-card,.shift-close-card,.shift-open-card,.shift-flow-card{padding:14px}
  .shift-open-head{grid-template-columns:40px 1fr}
  .shift-open-head>.badge{grid-column:1/-1;justify-self:start}
  .shift-active-banner-icon{display:none}
  .shift-active-banner{padding:12px}
}

/* ============================================================
   Vio Mart Enterprise Retail v2.1.0 — Sync Control Center
   ============================================================ */
.sync-page-head{align-items:center}.sync-kicker{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:var(--vio);font-size:10px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.sync-page-actions{display:flex;align-items:center;gap:9px}.sync-connection-pill{min-width:180px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #e8e9ed;border-radius:12px;background:#fff}.sync-connection-pill>i{width:9px;height:9px;border-radius:50%;background:#b4bac4;box-shadow:0 0 0 4px #f0f1f3;flex:none}.sync-connection-pill.is-online{border-color:#caeedf;background:#f7fdf9}.sync-connection-pill.is-online>i{background:var(--success);box-shadow:0 0 0 4px #dff6ea}.sync-connection-pill.is-offline{border-color:#f0d7d7;background:#fff8f8}.sync-connection-pill.is-offline>i{background:var(--danger);box-shadow:0 0 0 4px #fde6e6}.sync-connection-pill small{display:block;color:#9299a4;font-size:9px;line-height:1}.sync-connection-pill strong{display:block;margin-top:3px;font-size:11px}.sync-connection-pill>span{margin-left:auto;color:#8c939e;font-size:9.5px;font-weight:750;white-space:nowrap}
.sync-node-strip{display:grid;grid-template-columns:.72fr .72fr 1.8fr .8fr;gap:1px;margin-bottom:15px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}.sync-node-strip>div{min-width:0;padding:10px 13px;background:#fff}.sync-node-strip span{display:block;color:#9aa1ac;font-size:8.5px;font-weight:850;letter-spacing:.07em}.sync-node-strip strong{display:block;margin-top:3px;color:#404752;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-metrics{margin-bottom:15px}.sync-metric-card{min-height:108px}.sync-metric-value{font-size:20px}.sync-metric-value.good{color:var(--success)}.sync-metric-value.bad,.sync-text-danger{color:var(--danger)!important}
.sync-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.72fr);gap:15px;margin-bottom:15px}.sync-section-label{display:block;margin-bottom:3px;color:#9aa1ac;font-size:8.5px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.sync-health-list{display:grid;grid-template-columns:1fr 1fr;border:1px solid #eceef1;border-radius:11px;overflow:hidden}.sync-health-list>div{padding:11px 12px;background:#fff;border-bottom:1px solid #f0f1f3}.sync-health-list>div:nth-child(odd){border-right:1px solid #f0f1f3}.sync-health-list>div:nth-last-child(-n+2){border-bottom:0}.sync-health-list span{display:block;color:#969da8;font-size:9px}.sync-health-list strong{display:block;margin-top:3px;color:#3d4550;font-size:10.5px}.sync-queue-progress{margin-top:13px;padding:12px;border:1px solid #f0e2d9;border-radius:11px;background:#fffaf7}.sync-progress-head{display:flex;align-items:center;justify-content:space-between;color:#6e7581;font-size:9.5px}.sync-progress-head b{color:var(--vio)}.sync-progress-track{height:8px;margin:8px 0;border-radius:999px;background:#f3e8e1;overflow:hidden}.sync-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--vio),#ff7b2f)}.sync-progress-meta{display:flex;gap:14px;color:#939aa5;font-size:8.5px}.sync-central-note{display:flex;gap:10px;margin-top:13px;padding:12px;border:1px solid #d8eee3;border-radius:11px;background:#f8fdf9;color:var(--success)}.sync-central-note>div{min-width:0}.sync-central-note b{display:block;color:#36584a;font-size:10.5px}.sync-central-note span{display:block;margin-top:3px;color:#71857b;font-size:9.5px;line-height:1.45}
.sync-action-list{display:flex;flex-direction:column;gap:7px}.sync-action-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid #eceef1;border-radius:11px;background:#fff}.sync-action-row.is-static{grid-template-columns:36px minmax(0,1fr)}.sync-action-row b{display:block;color:#3d4450;font-size:10.5px}.sync-action-row span{display:block;margin-top:2px;color:#9299a4;font-size:9px;line-height:1.35}.sync-action-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#eef5ff;color:var(--info)}.sync-action-icon.orange{background:var(--vio-100);color:var(--vio)}.sync-action-icon.red{background:var(--danger-bg);color:var(--danger)}.sync-action-icon.green{background:var(--success-bg);color:var(--success)}.sync-action-row button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.sync-section-card{margin-bottom:15px}.sync-status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:8.5px;font-weight:850}.sync-status-badge i{width:6px;height:6px;border-radius:50%}.sync-status-badge.online{background:var(--success-bg);color:var(--success)}.sync-status-badge.online i{background:var(--success)}.sync-status-badge.stale{background:var(--warning-bg);color:#b27112}.sync-status-badge.stale i{background:var(--warning)}.sync-status-badge.offline,.sync-status-badge.never{background:var(--danger-bg);color:var(--danger)}.sync-status-badge.offline i,.sync-status-badge.never i{background:var(--danger)}.sync-code{font-size:9.5px;color:#59616d}.sync-error-snippet{display:block;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#767e8a;font-size:9.5px}.sync-details summary{max-width:280px;cursor:pointer;color:#6a727e;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-details pre{max-width:560px;max-height:220px;overflow:auto;margin:8px 0 0;padding:10px;border:1px solid #eceef1;border-radius:8px;background:#f8f9fb;color:#4c5460;font-size:9px;white-space:pre-wrap}.sync-json-inline{display:block;max-width:260px;max-height:58px;overflow:auto;padding:6px 7px;border-radius:7px;background:#f8f9fb;color:#59616d;font-size:8.5px;white-space:pre-wrap}.sync-resolution-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.sync-resolution-actions form{margin:0}
.sync-architecture-card{margin-bottom:20px}.sync-flow-diagram{display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(130px,1fr) auto minmax(130px,1fr) auto minmax(130px,1fr) auto minmax(130px,1fr);gap:8px;align-items:center}.sync-flow-node{min-height:104px;padding:12px;border:1px solid #eceef1;border-radius:12px;background:#fff;display:flex;flex-direction:column;justify-content:center}.sync-flow-node.highlight{border-color:#ffd2b7;background:var(--vio-50)}.sync-flow-node>span{color:var(--vio);font-size:8.5px;font-weight:900}.sync-flow-node b{margin-top:4px;color:#373e49;font-size:11px}.sync-flow-node small{margin-top:4px;color:#9097a2;font-size:8.8px;line-height:1.4}.sync-flow-arrow{text-align:center;color:#c8a18b;font-size:17px;font-weight:900}.sync-policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}.sync-policy-grid>div{padding:10px 11px;border:1px solid #efeff2;border-radius:10px;background:#fafbfc}.sync-policy-grid b{display:block;color:#464d59;font-size:9.5px}.sync-policy-grid span{display:block;margin-top:3px;color:#9299a4;font-size:8.7px;line-height:1.4}
@media(max-width:1180px){.sync-main-grid{grid-template-columns:1fr}.sync-node-strip{grid-template-columns:1fr 1fr}.sync-flow-diagram{grid-template-columns:1fr}.sync-flow-arrow{transform:rotate(90deg)}.sync-policy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.sync-page-head{align-items:flex-start}.sync-page-actions{width:100%;flex-wrap:wrap}.sync-connection-pill{flex:1}.sync-node-strip{grid-template-columns:1fr}.sync-health-list{grid-template-columns:1fr}.sync-health-list>div{border-right:0!important;border-bottom:1px solid #f0f1f3!important}.sync-health-list>div:last-child{border-bottom:0!important}.sync-action-row{grid-template-columns:34px 1fr}.sync-action-row button{grid-column:1/-1;width:100%}.sync-policy-grid{grid-template-columns:1fr}}

/* ============================================================
   Vio Mart Enterprise Retail v2.2.0 — Smart Promotion Engine
   POS real-time promotion preview, Buy X Get Y assistant & badges.
   ============================================================ */
.product-card-promo{position:relative;border-color:#ffd7bf;background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)}
.product-card-promo:hover{border-color:#ffb987;box-shadow:0 8px 24px rgba(255,90,0,.09)}
.catalog-promo-badges{position:absolute;left:7px;bottom:7px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:calc(100% - 14px)}
.catalog-promo-badges span{display:inline-flex;align-items:center;max-width:100%;padding:4px 7px;border-radius:999px;background:linear-gradient(90deg,#ff5a00,#ff7a2f);color:#fff;font-size:7.8px;font-weight:900;letter-spacing:.035em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px 8px rgba(255,90,0,.18)}
.cart-item.has-promo{background:linear-gradient(90deg,#fffaf7 0%,#fff 72%);border-color:#ffe2d1}
.cart-promo-label{display:inline-flex!important;width:max-content;margin-top:4px;padding:3px 6px;border-radius:999px;background:#fff0e6;color:var(--vio)!important;font-size:7.5px!important;font-weight:900!important;letter-spacing:.025em}
.cart-line-total{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.cart-line-total small{color:#a2a8b1;font-size:8px;text-decoration:line-through;font-weight:500}

.promo-assistant{margin:0 12px 11px;padding:11px;border:1px solid #f1ded2;border-radius:12px;background:linear-gradient(180deg,#fffaf7 0%,#fff 100%)}
.promo-assistant-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.promo-assistant-head>div{min-width:0}.promo-kicker{display:block;color:var(--vio);font-size:7.5px;font-weight:900;letter-spacing:.09em}.promo-assistant-head b{display:block;margin-top:2px;color:#3e4651;font-size:10.5px}
.promo-auto-toggle{display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid #f0dfd4;border-radius:999px;background:#fff;color:#7c8490;font-size:8px;font-weight:800;cursor:pointer;white-space:nowrap}
.promo-auto-toggle input{accent-color:var(--vio);width:12px;height:12px;margin:0}
.promo-status-empty,.promo-status-error{padding:9px 10px;border:1px dashed #e5e7eb;border-radius:9px;color:#8f96a1;font-size:8.8px;line-height:1.45;background:#fff}
.promo-status-error{border-color:#f1caca;background:#fff8f8;color:var(--danger)}
.promo-applied-list{display:flex;flex-direction:column;gap:6px}
.promo-applied-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:9px;background:#eefaf4;color:#2f7355}
.promo-applied-summary span{font-size:7.8px;font-weight:900;letter-spacing:.06em}.promo-applied-summary strong{font-size:9.5px}
.promo-applied-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border:1px solid #eceef1;border-radius:9px;background:#fff}
.promo-applied-row>div{min-width:0}.promo-applied-row b{display:block;color:#464d58;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.promo-applied-row small{display:block;margin-top:2px;color:#969da7;font-size:7.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.promo-applied-row>strong{flex:none;color:var(--success);font-size:9px}
.promo-suggestion-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.promo-suggestion{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid #f0e2d9;border-radius:9px;background:#fff}
.promo-suggestion.bonus-ready{border-color:#ffd4b8;background:#fffaf7}.promo-suggestion.promo-progress{background:#fafbfc;border-color:#eceef1}
.promo-suggestion-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#fff0e6;font-size:13px}.promo-progress .promo-suggestion-icon{background:#eef5ff;color:var(--info);font-size:11px;font-weight:900}
.promo-suggestion-copy{min-width:0}.promo-suggestion-copy b{display:block;color:#434a55;font-size:8.8px}.promo-suggestion-copy span{display:block;margin-top:2px;color:#858d98;font-size:8px;line-height:1.35}.promo-suggestion-copy small{display:block;margin-top:3px;color:var(--danger);font-size:7.5px}
.promo-suggestion .btn{min-height:28px;padding:0 8px;font-size:8px}

.smart-summary .promo-saving strong{color:var(--success)}
.promo-preview-note{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:7px;border-top:1px dashed #eceef1;color:#9299a4;font-size:7.8px}
.promo-live-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px rgba(22,165,104,.10);flex:none}
.promo-live-dot.is-loading{background:var(--warning);box-shadow:0 0 0 3px rgba(245,158,11,.11);animation:promoPulse 1s ease-in-out infinite}
@keyframes promoPulse{0%,100%{opacity:.45}50%{opacity:1}}
.promo-field-error{min-height:10px;color:var(--danger)!important}
.pos-earn-preview{margin:7px 0 10px;padding:7px 9px;border-radius:8px;background:#fafbfc;color:#7e8691;font-size:8px;text-align:center}

@media(max-width:980px){.promo-assistant{margin-left:8px;margin-right:8px}.promo-suggestion{grid-template-columns:26px 1fr}.promo-suggestion .btn{grid-column:1/-1;width:100%}}
@media(max-width:560px){.promo-assistant-head{align-items:flex-start}.promo-auto-toggle{flex:none}.catalog-promo-badges span{font-size:7px}.promo-applied-summary{align-items:flex-start;flex-direction:column;gap:3px}}
.promo-admin-note{margin:9px 0 13px;padding:10px 11px;border:1px solid #f1ded2;border-radius:10px;background:#fffaf7}.promo-admin-note b{display:block;color:var(--vio);font-size:9px}.promo-admin-note span{display:block;margin-top:3px;color:#7f8792;font-size:8.8px;line-height:1.5}

/* ============================================================
   Vio Mart Enterprise Retail v2.3.0 — Cash Reconciliation & Variance Control
   ============================================================ */
.table-sub{display:block;margin-top:3px;color:#979eaa;font-size:9.5px;line-height:1.35}.muted{color:#9aa0aa;font-weight:500}.empty-state{padding:24px;text-align:center;color:#8a919d}.empty-state b,.empty-state span{display:block}.empty-state b{color:#4b5260;margin-bottom:4px}.empty-state.compact{padding:18px 10px}.recon-head-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:10px;color:#727986}.recon-head-legend span{display:flex;align-items:center;gap:6px}.recon-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.recon-dot.ok{background:#17a86b}.recon-dot.warn{background:#f3a11b}.recon-dot.high{background:#df4747}.recon-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:15px}.recon-kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;min-height:96px;position:relative;overflow:hidden}.recon-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#cfd4dc}.recon-kpi span{display:block;color:#7c8490;font-size:10px;font-weight:700}.recon-kpi strong{display:block;font-size:19px;line-height:1.1;margin:8px 0 4px;color:#313744;letter-spacing:-.02em}.recon-kpi small{font-size:9px;color:#a1a6af}.recon-kpi.is-ok:before{background:#19a96c}.recon-kpi.is-warn:before{background:#f2a11a}.recon-kpi.is-short:before,.recon-kpi.is-risk:before{background:#dd4747}.recon-kpi.is-over:before{background:#4084d8}.recon-top-grid{align-items:start}.recon-eyebrow{display:block;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--vio);font-weight:850;margin-bottom:3px}.recon-filter-form .field{margin-bottom:9px}.recon-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.check-row{font-size:10px;color:#69717d;display:flex;gap:7px;align-items:center}.check-row input{accent-color:var(--vio)}.recon-threshold-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.recon-threshold-list>div{border:1px solid #eceef1;border-radius:10px;padding:10px;background:#fbfbfc}.recon-threshold-list span,.recon-threshold-list small{display:block;color:#8d94a0;font-size:9px}.recon-threshold-list strong{display:block;color:#383e49;font-size:12px;margin:3px 0}.recon-settings-details{margin-top:12px;border-top:1px solid #eff0f2;padding-top:10px}.recon-settings-details summary{cursor:pointer;color:var(--vio);font-size:10px;font-weight:800}.recon-settings-form{margin-top:12px}.recon-net{display:flex;flex-direction:column;align-items:flex-end}.recon-net span{font-size:9px;color:#89919d}.recon-net strong{font-size:16px}.recon-net.negative strong,.recon-diff.short{color:#d84040}.recon-net.positive strong,.recon-diff.over{color:#2d78c8}.recon-diff.ok{color:#15945e}.recon-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;background:#f3f4f6;color:#656c77;white-space:nowrap}.recon-status.pending_review{background:#fff3e9;color:#d66d21}.recon-status.explained{background:#eef5ff;color:#3777cf}.recon-status.verified{background:#eaf8f2;color:#168c59}.recon-status.corrected{background:#f1efff;color:#6955c8}.recon-status.escalated{background:#ffeded;color:#ce3e3e}.recon-detail-status{border:1px solid #eceef1;border-radius:11px;background:#fff;padding:10px 13px;min-width:145px;display:grid;gap:4px;justify-items:end}.recon-detail-status strong{font-size:13px}.recon-detail-status small{font-size:9px;color:#8d94a0}.recon-detail-grid{align-items:start}.cash-equation>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #f0f1f3;font-size:11px}.cash-equation>div span{color:#6f7783}.cash-equation>div strong{color:#303642}.cash-equation>div.plus strong{color:#138b59}.cash-equation>div.minus strong{color:#d64b4b}.cash-equation>div.total{margin-top:4px;border-bottom:0;border-top:2px solid #eceef1;padding-top:13px}.cash-equation>div.total span,.cash-equation>div.total strong{font-size:14px;font-weight:850;color:#2e3440}.cash-actual-box{margin-top:12px;border-radius:11px;background:#fff8f3;border:1px solid #ffe3d1;padding:12px}.cash-actual-box>div{display:flex;justify-content:space-between;font-size:10px;padding:5px 0}.cash-actual-box .variance{border-top:1px dashed #f1c9b0;margin-top:5px;padding-top:9px;font-size:12px}.cash-actual-box .negative{color:#d83d3d}.cash-actual-box .positive{color:#2d78c8}.risk-score-ring{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:900;border:5px solid #dcefe7;color:#14885a;background:#fff}.risk-score-ring.medium{border-color:#ffe6b9;color:#cd7a00}.risk-score-ring.high{border-color:#ffd0d0;color:#cb3838}.risk-flag-list{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.risk-flag-list span{font-size:9px;font-weight:750;background:#fff0ec;color:#b35a36;border-radius:999px;padding:5px 8px}.risk-flag-list span.safe{background:#eaf8f2;color:#168c59}.recon-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recon-meta-grid>div{border:1px solid #eff0f2;border-radius:9px;padding:9px}.recon-meta-grid span,.recon-meta-grid strong{display:block}.recon-meta-grid span{font-size:8.5px;color:#979da7}.recon-meta-grid strong{font-size:10px;margin-top:3px}.recon-note-box{border:1px solid #e9ebef;border-radius:10px;background:#fafbfc;padding:11px;margin-bottom:12px}.recon-note-box span{font-size:8.5px;color:#8d94a0;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.recon-note-box p{font-size:10.5px;line-height:1.55;margin:6px 0 0;color:#4f5662}.recon-note-box small{display:block;color:#999faa;font-size:8.5px;margin-top:7px}.recon-note-box.supervisor{background:#f8f7ff;border-color:#e4e0ff}.recon-action-form{margin-bottom:4px}.recon-back-row{margin-top:12px}.shift-cash-movement-card{margin-top:15px}.shift-cash-movement-card .card-title-row p{font-size:10px;color:#8c939f;margin:4px 0 0;max-width:700px}.shift-cash-movement-layout{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr);gap:18px}.shift-cash-movement-form{border-right:1px solid #eff0f2;padding-right:18px}.shift-cash-movement-list h3{font-size:11px;margin:0 0 8px}.shift-cash-movement-row{display:grid;grid-template-columns:32px 1fr;gap:9px;padding:9px 0;border-bottom:1px solid #f0f1f3}.shift-cash-movement-type{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:17px;font-weight:900}.shift-cash-movement-type.cash_in{background:#eaf8f2;color:#168c59}.shift-cash-movement-type.cash_out{background:#fff0ed;color:#cc4747}.shift-cash-movement-row strong,.shift-cash-movement-row span,.shift-cash-movement-row small{display:block}.shift-cash-movement-row strong{font-size:10px}.shift-cash-movement-row span{font-size:9px;color:#727986;margin-top:2px}.shift-cash-movement-row small{font-size:8.5px;color:#a0a6af;margin-top:3px}
@media(max-width:1280px){.recon-kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.shift-cash-movement-layout{grid-template-columns:1fr}.shift-cash-movement-form{border-right:0;border-bottom:1px solid #eff0f2;padding-right:0;padding-bottom:15px}.recon-top-grid{grid-template-columns:1fr}}
@media(max-width:620px){.recon-kpi-grid{grid-template-columns:1fr 1fr}.recon-filter-actions{align-items:stretch;flex-direction:column}.recon-threshold-list{grid-template-columns:1fr}.recon-detail-status{justify-items:start}.recon-meta-grid{grid-template-columns:1fr}.shift-cash-movement-layout{grid-template-columns:1fr}}
.quick-action{position:relative}.quick-action-alert{border-color:#ffc6c6!important;background:#fff7f7!important;color:#bc3d3d!important}.qa-count{position:absolute;right:7px;top:6px;min-width:18px;height:18px;border-radius:999px;background:#d94343;color:#fff;display:grid;place-items:center;font-size:8px;padding:0 5px}
.alert-warning{background:#fff8e8;color:#9a6810;border-color:#ffe2a9}
