
:root{
 --nav:#08192f;--nav2:#102a4c;--primary:#1e73ff;--primary2:#00a7ff;
 --bg:#eef3f8;--card:#fff;--txt:#0f1f33;--muted:#6b7a90;--bd:#dde6f0;
 --green:#0fbf7f;--green2:#00a86b;--blue:#2878ff;--orange:#ff7a1a;--purple:#7b4df8;
 --danger:#ef3d4f;--shadow:0 10px 30px rgba(15,31,51,.08);
}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--txt)}
a{text-decoration:none;color:inherit}.layout{display:grid;grid-template-columns:252px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,var(--nav),#0a203b 65%,#09182c);color:#d8e4f0;padding:18px 12px;position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid rgba(255,255,255,.05)}
.brand{padding:0 10px 15px}.brandrow{display:flex;align-items:center;gap:12px}.brand-badge{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1e73ff,#19c0ff);display:grid;place-items:center;color:white;font-weight:900;font-size:22px;box-shadow:0 8px 18px rgba(30,115,255,.35)}
.brand h1{font-size:19px;margin:0;color:#fff;line-height:1.05}.brand h1 span{color:#22c9ff}.brand small{color:#9cb2c9}
.menusearch{margin:4px 7px 12px;position:relative}.menusearch input{background:#122d4d;border:1px solid #1d416b;color:#fff;padding:10px 12px 10px 36px;border-radius:9px}.menusearch:before{content:'⌕';position:absolute;left:13px;top:8px;color:#9fb5ca;font-size:20px}
.nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;margin:2px 0;color:#dce8f4;font-size:14px}
.nav a:hover{background:#102e51}.nav a.active{background:linear-gradient(90deg,#0d6dfd,#128cff);color:white;box-shadow:0 6px 18px rgba(17,118,255,.28)}
.sidefoot{margin-top:18px;padding:12px;border-radius:10px;background:#0f2b4a;font-size:12px;border:1px solid #183b61;color:#b8cbe0}
.main{min-width:0}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10;box-shadow:0 2px 12px rgba(15,31,51,.04)}
.top-left{display:flex;align-items:center;gap:20px}.hamb{font-size:24px;color:#45566d}.product-title{font-weight:800;font-size:21px}.product-sub{font-size:12px;color:var(--muted);margin-left:12px}
.top-search{width:330px;position:relative}.top-search input{background:#f8fafc;border:1px solid var(--bd);padding-left:34px}.top-search:before{content:'⌕';position:absolute;left:11px;top:8px;color:#8292a8;font-size:19px}
.top-user{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#16243a,#4b668b);color:white;display:grid;place-items:center;font-weight:800}
.content{padding:18px}.breadcrumb{font-size:12px;color:#7c8aa0;margin-bottom:10px}
h2{margin:0 0 4px}.muted{color:var(--muted)}.grid{display:grid;gap:12px}.cards{grid-template-columns:repeat(4,minmax(180px,1fr));margin-bottom:12px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:15px;box-shadow:var(--shadow)}
.kpi{color:#fff;min-height:96px;position:relative;overflow:hidden}.kpi:after{content:'';position:absolute;width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.15);right:-15px;bottom:-18px}
.kpi.green{background:linear-gradient(135deg,#10c98a,#00a96d)}.kpi.blue{background:linear-gradient(135deg,#196cf4,#3189ff)}.kpi.orange{background:linear-gradient(135deg,#ff6b15,#ff922e)}.kpi.purple{background:linear-gradient(135deg,#6d42e8,#955bf8)}
.kpi .label{font-size:13px;opacity:.92}.kpi .value{font-size:28px;font-weight:900;margin-top:7px}.kpi .trend{font-size:12px;margin-top:5px;opacity:.9}
.summary-list{display:grid;gap:8px}.summary-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid #edf2f7}.summary-row:last-child{border-bottom:0}.summary-row .name{display:flex;gap:9px;align-items:center}.ico{width:26px;height:26px;border-radius:8px;background:#eef4ff;display:grid;place-items:center;color:#276cff;font-weight:800}
.two{grid-template-columns:2fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}
.chartbox{height:230px;position:relative}.chart-svg{width:100%;height:100%}.legend{display:flex;gap:12px;font-size:12px;color:#64748b}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:4px}
.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#2878ff 0 42%,#784df8 42% 80%,#10bf7c 80% 92%,#ff7a1a 92% 100%);position:relative;margin:auto}.donut:after{content:'';position:absolute;inset:28px;background:white;border-radius:50%}
.btn{border:0;border-radius:8px;padding:9px 13px;font-weight:700;cursor:pointer;background:#edf2f7;color:var(--txt)}.btn.primary{background:#176cff;color:white}.btn.ok{background:#0bb874;color:white}.btn.warn{background:#ff7a1a;color:white}.btn.purple{background:#7048e8;color:white}.btn.danger{background:#ef3d4f;color:white}
input,select,textarea{width:100%;padding:10px 11px;border:1px solid #ccd7e5;border-radius:8px;background:#fff;font:inherit}label{font-size:12px;color:#53627a;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .full{grid-column:1/-1}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 8px;border-bottom:1px solid #edf2f7;text-align:left}th{color:#53627a;background:#fbfcfe;font-size:12px;position:sticky;top:0}tr:hover td{background:#fbfdff}.table-wrap{overflow:auto;max-height:62vh}
.flash{padding:11px 13px;border-radius:9px;margin-bottom:12px;background:#eaf2ff;color:#244b8a}.flash.error{background:#fff0f0;color:#8f1d1d}
.pos{display:grid;grid-template-columns:1fr 365px;gap:12px}.product-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px}.product-card{background:white;border:1px solid var(--bd);border-radius:10px;padding:10px;cursor:pointer;transition:.15s;min-height:128px}.product-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,31,51,.10);border-color:#a9c7ff}.prod-img{height:64px;border-radius:8px;background:linear-gradient(135deg,#f0f4f8,#dce6f0);display:grid;place-items:center;font-size:28px}.prod-name{font-size:12px;font-weight:700;margin-top:7px}.prod-price{font-size:12px;font-weight:800;color:#1a5fd0;margin-top:4px}
.cart-side{position:sticky;top:92px;height:fit-content}.cart-title{display:flex;justify-content:space-between;align-items:center}.total{font-size:33px;font-weight:900}.pay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.pay-grid .btn{padding:13px 8px}.complete{width:100%;margin-top:8px;padding:14px;font-size:15px}
.pill{display:inline-block;border-radius:999px;padding:4px 8px;background:#eef4ff;color:#1e73ff;font-size:11px;font-weight:800}.badge-danger{background:#ffe9ec;color:#c6293c}.badge-ok{background:#e8fff5;color:#0e8a60}
.login-page,.install-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#1d4775,#071629 55%)}.login-card,.install-card{width:min(520px,92vw);background:#fff;border-radius:18px;padding:28px;box-shadow:0 22px 70px rgba(0,0,0,.28)}.install-card{width:min(760px,94vw)}.logo-row{display:flex;gap:14px;align-items:center;margin-bottom:20px}.logo-big{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,#1e73ff,#19c0ff);color:white;display:grid;place-items:center;font-size:28px;font-weight:900}
.mobile-bottom{display:none}
@media(max-width:1200px){.cards{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:220px 1fr}.product-grid{grid-template-columns:repeat(4,1fr)}.pos{grid-template-columns:1fr}.cart-side{position:relative;top:auto}}
@media(max-width:760px){.layout{display:block}.sidebar{display:none}.topbar{position:relative}.top-search{display:none}.content{padding:10px}.cards,.two,.three,.four{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--bd);z-index:30;justify-content:space-around;padding:7px 2px}.mobile-bottom a{font-size:11px;color:#4d5f78}.content{padding-bottom:70px}}

.noticebar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.notice{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow);font-size:13px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tab{padding:8px 12px;border-radius:8px;background:#edf2f7;font-size:13px;font-weight:700}.tab.active{background:#176cff;color:#fff}
.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:left}.qtyinput{width:90px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10b981;margin-right:5px}
@media print{.sidebar,.topbar,.btn,.mobile-bottom{display:none!important}.layout{display:block}.content{padding:0}.card{box-shadow:none;border:0}}


html[data-theme="dark"]{
 --nav:#071525;--nav2:#0c223b;--primary:#4d8dff;--primary2:#19b9ff;
 --bg:#0f1722;--card:#17212e;--txt:#e9f0f7;--muted:#9cadbf;--bd:#2b3a4d;
 --green:#19c98a;--green2:#12ad78;--blue:#4d8dff;--orange:#ff9a4a;--purple:#9a74ff;
 --danger:#ff6776;--shadow:0 10px 30px rgba(0,0,0,.22)
}
html[data-theme="dark"] body{background:var(--bg);color:var(--txt)}
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .card,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .notice,
html[data-theme="dark"] .mobile-bottom{background:var(--card);color:var(--txt);border-color:var(--bd)}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{background:#101923;color:#eef4fb;border-color:#34455b}
html[data-theme="dark"] th{background:#111b27;color:#b8c7d9}
html[data-theme="dark"] td{border-color:#263649}
html[data-theme="dark"] tr:hover td{background:#1b2938}
html[data-theme="dark"] .muted{color:var(--muted)}
html[data-theme="dark"] .donut:after{background:var(--card)}
html[data-theme="dark"] .top-search input{background:#101923}
html[data-theme="dark"] .tab,.html[data-theme="dark"] .btn{background:#253447;color:#e8f0f8}
@media (prefers-color-scheme:dark){
 html[data-theme="system"]{
  --nav:#071525;--nav2:#0c223b;--primary:#4d8dff;--primary2:#19b9ff;
  --bg:#0f1722;--card:#17212e;--txt:#e9f0f7;--muted:#9cadbf;--bd:#2b3a4d;
  --green:#19c98a;--green2:#12ad78;--blue:#4d8dff;--orange:#ff9a4a;--purple:#9a74ff;
  --danger:#ff6776;--shadow:0 10px 30px rgba(0,0,0,.22)
 }
 html[data-theme="system"] body{background:var(--bg);color:var(--txt)}
 html[data-theme="system"] .topbar,html[data-theme="system"] .card,html[data-theme="system"] .product-card,html[data-theme="system"] .notice,html[data-theme="system"] .mobile-bottom{background:var(--card);color:var(--txt);border-color:var(--bd)}
 html[data-theme="system"] input,html[data-theme="system"] select,html[data-theme="system"] textarea{background:#101923;color:#eef4fb;border-color:#34455b}
 html[data-theme="system"] th{background:#111b27;color:#b8c7d9}
 html[data-theme="system"] td{border-color:#263649}
 html[data-theme="system"] tr:hover td{background:#1b2938}
 html[data-theme="system"] .donut:after{background:var(--card)}
}

.quick-grid .product-card{cursor:grab;user-select:none}.quick-grid .product-card.dragging{opacity:.45}.quick-grid .product-card.drag-over{outline:2px dashed var(--primary);outline-offset:2px}.pos-search-wrap{position:relative;flex:1}.search-results{display:none;position:absolute;left:0;right:0;top:48px;z-index:50;background:var(--card);border:1px solid var(--bd);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.2);max-height:520px;overflow:auto;padding:8px}.search-results.show{display:block}.search-item{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:9px;border-bottom:1px solid var(--bd);cursor:pointer;border-radius:8px}.search-item:hover{background:rgba(30,115,255,.08)}.search-thumb{width:58px;height:58px;border-radius:8px;background:#e7edf4;display:grid;place-items:center;overflow:hidden;font-size:24px}.search-thumb img{width:100%;height:100%;object-fit:cover}.stock-editor-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.stock-result{display:flex;justify-content:space-between;gap:10px;padding:11px;border-bottom:1px solid var(--bd);align-items:center}.stock-result:hover{background:rgba(30,115,255,.06)}.stock-value{font-size:26px;font-weight:900}.quick-empty{padding:32px;text-align:center;border:2px dashed var(--bd);border-radius:12px;color:var(--muted)}@media(max-width:900px){.stock-editor-grid{grid-template-columns:1fr}.search-results{position:fixed;left:8px;right:8px;top:90px;max-height:70vh}}


/* v4.2.1 Professional POS */
.pos-pro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.95fr);gap:16px;align-items:start}
.pos-surface{background:var(--card);border:1px solid var(--bd);border-radius:18px;box-shadow:var(--shadow)}
.pos-header{padding:16px 16px 12px;border-bottom:1px solid var(--bd)}
.pos-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pos-title{margin:0;font-size:22px;line-height:1.15}
.pos-subtitle{color:var(--muted);font-size:13px;margin-top:4px}
.pos-actions{display:flex;gap:8px;flex-wrap:wrap}
.pos-search-wrap-pro{position:relative;margin-top:12px}
.pos-search-input{width:100%;height:52px;border-radius:14px;padding:0 16px 0 48px;font-size:16px;font-weight:700}
.pos-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;opacity:.7;pointer-events:none}
.pos-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px}
.pos-kpi{border:1px solid var(--bd);border-radius:14px;padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0))}
.pos-kpi-label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.pos-kpi-value{font-size:22px;font-weight:900;margin-top:6px}
.pos-section{padding:0 16px 16px}
.pos-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 12px}
.pos-section-title{font-size:18px;font-weight:900;margin:0}
.pos-section-note{color:var(--muted);font-size:12px}
.pos-grid-pro{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:12px}
.quick-card{position:relative;overflow:hidden;border:1px solid var(--bd);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.02));padding:10px;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease,border-color .12s ease}
.quick-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.10);border-color:rgba(23,108,255,.35)}
.quick-card.dragging{opacity:.5;transform:scale(.98)}
.quick-card.drag-over{outline:2px dashed var(--primary);outline-offset:2px}
.quick-media{width:100%;height:104px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#eef3f8,#dce6f0);display:grid;place-items:center;font-size:34px}
.quick-media img{width:100%;height:100%;object-fit:cover}
.quick-body{padding-top:10px}
.quick-name{font-weight:800;font-size:14px;line-height:1.25;min-height:36px}
.quick-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}
.quick-price{font-weight:900;font-size:16px}
.quick-stock{font-size:11px;color:var(--muted)}
.quick-plus{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:12px;border:0;background:rgba(255,255,255,.88);box-shadow:0 6px 18px rgba(0,0,0,.12);font-size:20px;font-weight:900;cursor:pointer}
.cart-panel{position:sticky;top:14px}
.cart-header{padding:16px;border-bottom:1px solid var(--bd)}
.cart-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cart-table-wrap{max-height:320px;overflow:auto;padding:0 16px 12px}
.cart-table{width:100%;border-collapse:collapse}
.cart-table th,.cart-table td{padding:10px 0;border-bottom:1px solid var(--bd);vertical-align:top}
.cart-item-name{font-weight:800}
.cart-qty-controls{display:flex;align-items:center;gap:8px;margin-top:6px}
.icon-btn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;border:1px solid var(--bd);background:transparent;cursor:pointer}
.cart-summary{padding:10px 16px 16px;border-top:1px solid var(--bd)}
.cart-summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0 0;font-size:20px;font-weight:900}
.cart-pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.pay-btn{height:48px;border-radius:14px;border:1px solid var(--bd);font-weight:900;cursor:pointer;background:#fff}
.pay-btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border:0}
.pay-btn.success{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;border:0}
.pay-btn.warn{background:linear-gradient(135deg,#ffb14a,#ff8b37);color:#fff;border:0}
.pay-btn.dark{background:linear-gradient(135deg,#1b2a41,#0f172a);color:#fff;border:0}
.cart-footer-note{color:var(--muted);font-size:12px;margin-top:10px;line-height:1.35}
.cart-empty{padding:36px 8px;text-align:center;color:var(--muted)}
.search-results.pro{top:58px;border-radius:16px;padding:8px}
.search-results.pro .search-item{grid-template-columns:56px 1fr auto;gap:10px;padding:10px 12px}
.search-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:rgba(23,108,255,.08);color:var(--primary);font-size:11px;font-weight:800}
.search-item-price{font-weight:900}
.search-item-sub{font-size:12px;color:var(--muted);margin-top:3px}
.search-empty{padding:26px;text-align:center;color:var(--muted)}
.order-status-pill{padding:8px 12px;border-radius:999px;background:rgba(23,108,255,.08);color:var(--primary);font-size:12px;font-weight:800}
@media(max-width:1100px){.pos-pro{grid-template-columns:1fr}.cart-panel{position:static}.pos-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pos-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-title{font-size:20px}.quick-media{height:92px}}
html[data-theme="dark"] .quick-card,
html[data-theme="system"] .quick-card{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01))}
html[data-theme="dark"] .pay-btn,
html[data-theme="system"] .pay-btn{background:#223247;color:#f2f5f8;border-color:#314357}
html[data-theme="dark"] .pay-btn.primary,
html[data-theme="system"] .pay-btn.primary,
html[data-theme="dark"] .pay-btn.success,
html[data-theme="system"] .pay-btn.success,
html[data-theme="dark"] .pay-btn.warn,
html[data-theme="system"] .pay-btn.warn,
html[data-theme="dark"] .pay-btn.dark,
html[data-theme="system"] .pay-btn.dark{border:0}


/* =========================================================
   v5.0.0 REFERENCE UI — global application shell
   ========================================================= */
:root{
 --nav:#102337;--nav-soft:#17324d;--nav-line:#23435f;
 --primary:#0878f9;--primary2:#0668e7;--bg:#f4f7fb;--card:#fff;
 --txt:#101827;--muted:#6e7d91;--bd:#dde5ee;--green:#0bbf65;
 --orange:#ff9800;--purple:#8b43df;--danger:#ff353f;
 --shadow:0 4px 18px rgba(18,38,63,.06);
 --sidebar-w:208px;--top-h:64px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--txt)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,#10263d 0%,#10283f 55%,#0c2035 100%);color:#e8f0f7;border-right:1px solid rgba(255,255,255,.04);padding:10px 9px 74px;z-index:30}
.brand{padding:2px 5px 12px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:8px}
.brandrow{display:flex;align-items:center;gap:9px}
.brand-badge{width:36px;height:36px;border-radius:8px;background:linear-gradient(145deg,#1779ff,#005bc4);display:grid;place-items:center;color:#fff;font-weight:900;font-size:17px;box-shadow:0 5px 15px rgba(0,101,230,.27);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}
.brand h1{margin:0;color:#fff;font-size:15px;font-weight:800;line-height:1.15}
.brand h1 span{color:#fff}.brand small{display:block;color:#d4e0eb;font-size:12px;margin-top:3px}
.nav-section{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#7690a9;padding:12px 10px 4px;font-weight:800}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;margin:2px 0;color:#dce6ef;font-size:13px;font-weight:500;transition:.12s}
.nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav a.active{background:linear-gradient(90deg,#0577ff,#0c83ff);box-shadow:0 5px 16px rgba(0,105,255,.24);color:#fff}
.nav-ico{width:18px;text-align:center;font-size:15px}
.side-theme{position:fixed;left:10px;bottom:12px;width:188px;background:#18344f;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;color:#dce9f4;font-size:12px;z-index:35}
.theme-switch{display:flex;gap:4px;background:#0e263b;padding:3px;border-radius:999px}
.theme-switch button{width:28px;height:24px;border:0;background:transparent;color:#9cb1c4;border-radius:999px;cursor:pointer}.theme-switch button.active{background:#0d7aff;color:#fff}

.main{min-width:0}
.topbar{height:var(--top-h);background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd);display:grid;grid-template-columns:minmax(360px,1fr) auto;align-items:center;gap:18px;padding:8px 18px;position:sticky;top:0;z-index:25}
.top-left{display:flex;align-items:center;gap:12px;min-width:0}
.hamb{width:42px;height:42px;border:1px solid var(--bd);border-radius:8px;display:grid;place-items:center;font-size:18px;color:#203147;background:#fff;cursor:pointer}
.global-search{position:relative;flex:1;max-width:720px}
.global-search input{height:42px;padding:0 48px 0 42px;border:1px solid #d2dce7;border-radius:8px;background:#fff;font-size:13px}
.global-search .gicon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:17px}
.global-search .hotkey{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:1px solid var(--bd);background:#f3f6fa;border-radius:5px;padding:3px 7px;font-size:10px;color:#64748b;font-weight:800}
.top-meta{display:flex;align-items:center;gap:8px;white-space:nowrap}
.meta-chip{height:40px;padding:0 12px;border:1px solid var(--bd);border-radius:8px;display:flex;align-items:center;gap:7px;background:#fff;font-size:12px;color:#334155}
.meta-chip.online{color:#0a9950;background:#f0fff7}
.clock-box{text-align:right;padding:0 8px}.clock-time{font-weight:900;font-size:14px}.clock-date{font-size:9px;color:var(--muted);margin-top:2px}
.top-user{display:flex;align-items:center;gap:8px;padding-left:8px;border-left:1px solid var(--bd)}
.avatar{width:34px;height:34px;border-radius:50%;background:#0979f9;color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px}.top-user strong{font-size:12px}.top-user .role{font-size:9px;color:var(--muted)}

.content{padding:12px 14px 72px;max-width:1800px;margin:0 auto}
.breadcrumb{display:none}
.card{background:var(--card);border:1px solid var(--bd);border-radius:9px;box-shadow:var(--shadow);padding:13px}
.btn{border:1px solid var(--bd);border-radius:7px;padding:8px 11px;background:#fff;color:#27364a;font-weight:700;cursor:pointer;transition:.1s}.btn:hover{background:#f4f7fb}.btn.primary{background:#0878f9;color:#fff;border-color:#0878f9}.btn.ok{background:#04b759;color:#fff;border-color:#04b759}.btn.warn{background:#ff9209;color:#fff;border-color:#ff9209}.btn.purple{background:#8a45df;color:#fff;border-color:#8a45df}.btn.danger{background:#fff4f4;color:#e9212b;border-color:#ffd6d9}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid #d4dee9;border-radius:7px;background:#fff;color:#162033}label{font-size:11px;color:#5d6b7e;font-weight:700}
table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:8px;border-bottom:1px solid #e6ebf1;text-align:left}th{color:#5f6e82;background:#f9fbfd;font-size:10px;text-transform:none;position:sticky;top:0}tr:hover td{background:#fbfdff}
.flash{padding:10px 12px;border-radius:7px;background:#edf5ff;color:#1e4e8f;border:1px solid #d7e8ff;margin-bottom:10px}.flash.error{background:#fff0f1;color:#9b1f28;border-color:#ffd8dc}

.app-page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.app-page-head h2{font-size:18px;margin:0}.app-page-head .sub{font-size:11px;color:var(--muted)}
.category-strip{display:flex;gap:7px;align-items:center;overflow:auto;padding:7px 0 10px;scrollbar-width:none}.category-strip::-webkit-scrollbar{display:none}
.category-chip{height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--bd);border-radius:7px;background:#fff;font-size:11px;font-weight:700;color:#263549;white-space:nowrap;cursor:pointer}.category-chip.active{background:#0b79f7;color:#fff;border-color:#0b79f7}.category-chip:hover{border-color:#8bbcff}
.status-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:5px;font-size:10px;font-weight:800}.status-badge.stock-ok{background:#dcf8e7;color:#15924c}.status-badge.stock-low{background:#fff0cf;color:#d36a00}

/* POS matching approved reference */
.pos-reference{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:10px;align-items:start}
.pos-left{min-width:0}
.pos-tools{display:flex;gap:8px;align-items:center;margin-bottom:7px}
.pos-main-search{position:relative;flex:1}.pos-main-search input{height:42px;padding-left:40px;font-size:13px}.pos-main-search .sicon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:17px}
.pos-main-search .shortcut{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:9px;background:#eef2f6;border:1px solid #d9e1e9;padding:3px 6px;border-radius:4px;color:#69778a}
.quick-section,.results-panel,.cart-reference,.pay-reference{background:#fff;border:1px solid var(--bd);border-radius:8px;box-shadow:var(--shadow)}
.quick-section{padding:10px 10px 11px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.section-heading h3{font-size:15px;margin:0;display:flex;align-items:center;gap:7px}.section-heading .link{font-size:10px;color:#0672f5;font-weight:800}
.quick-products-ref{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:8px}
.product-ref-card{position:relative;border:1px solid #e2e8ef;border-radius:7px;background:#fff;padding:8px;cursor:pointer;min-width:0;transition:.12s}.product-ref-card:hover{border-color:#9dc4fa;box-shadow:0 5px 14px rgba(29,78,216,.08);transform:translateY(-1px)}.product-ref-card.dragging{opacity:.45}.product-ref-card.drag-over{outline:2px dashed #0878f9}
.product-ref-media{height:78px;border-radius:5px;background:#f5f7fa;display:grid;place-items:center;overflow:hidden;font-size:28px}.product-ref-media img{width:100%;height:100%;object-fit:contain}
.product-ref-star{position:absolute;right:8px;top:7px;color:#ffb000;font-size:16px}.product-ref-name{font-size:10px;font-weight:800;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-ref-price{font-size:12px;font-weight:900;margin-top:3px}.product-ref-stock{margin-top:4px}
.results-panel{margin-top:9px;overflow:hidden}.results-title{padding:8px 11px;border-bottom:1px solid var(--bd);font-size:12px;font-weight:900;display:flex;align-items:center;gap:7px}
.product-search-list{max-height:290px;overflow:auto}.result-row{display:grid;grid-template-columns:45px minmax(0,1fr) 95px 42px;align-items:center;gap:8px;padding:6px 9px;border-bottom:1px solid #edf1f5;cursor:pointer}.result-row:hover{background:#f8fbff}.result-thumb{width:40px;height:40px;border-radius:5px;background:#f1f4f8;display:grid;place-items:center;overflow:hidden}.result-thumb img{width:100%;height:100%;object-fit:contain}.result-name{font-size:10px;font-weight:800}.result-meta{font-size:9px;color:#738196;margin-top:2px}.result-price{text-align:right;font-size:11px;font-weight:900}.result-plus{width:34px;height:30px;border:0;border-radius:6px;background:#0878f9;color:#fff;font-size:20px;cursor:pointer}
.results-empty{padding:26px;text-align:center;color:var(--muted);font-size:11px}

.pos-right{position:sticky;top:75px;display:grid;gap:8px}.cart-reference{overflow:hidden}.cart-ref-head{padding:10px 12px;border-bottom:1px solid var(--bd);display:flex;justify-content:space-between;align-items:center}.cart-ref-head h3{font-size:15px;margin:0}.cart-tools{display:flex;gap:6px}.cart-scroll{max-height:310px;overflow:auto}.cart-ref-item{display:grid;grid-template-columns:50px minmax(0,1fr) 86px;gap:8px;padding:9px 11px;border-bottom:1px solid #e8edf3;align-items:start}.cart-ref-thumb{width:46px;height:46px;border-radius:5px;background:#f5f7fa;display:grid;place-items:center;overflow:hidden}.cart-ref-thumb img{width:100%;height:100%;object-fit:contain}.cart-ref-name{font-size:10px;font-weight:900}.cart-ref-unit{font-size:9px;color:#66758a;text-align:right}.cart-ref-total{font-size:12px;font-weight:900;text-align:right;margin-top:4px}.cart-ref-controls{display:flex;align-items:center;gap:0;margin-top:5px}.cart-ref-controls button{width:27px;height:25px;border:1px solid var(--bd);background:#fff;font-weight:900;cursor:pointer}.cart-ref-controls span{min-width:30px;height:25px;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);display:grid;place-items:center;font-size:10px;font-weight:800}.cart-empty-ref{padding:30px;text-align:center;color:var(--muted);font-size:11px}
.cart-totals{padding:8px 11px;border-top:1px solid var(--bd)}.cart-total-line{display:grid;grid-template-columns:1fr 105px 34px;align-items:center;gap:5px;padding:4px 0;font-size:10px}.cart-total-line.simple{grid-template-columns:1fr auto}.cart-total-line input{height:30px;text-align:right;padding:4px 7px}.percent-btn{height:30px;border:1px solid var(--bd);border-radius:5px;background:#fff;font-weight:900}.grand-box{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#eef6ff;border-radius:6px;margin-top:5px;color:#075fda}.grand-box strong:first-child{font-size:14px}.grand-box strong:last-child{font-size:22px}
.pay-reference{padding:9px 11px}.pay-reference h3{font-size:12px;margin:0 0 7px}.pay-types{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pay-type{height:52px;border-radius:7px;border:0;color:#fff;font-size:10px;font-weight:900;cursor:pointer}.pay-type.cash{background:#06b652}.pay-type.card{background:#117cf2}.pay-type.mix{background:#ff9707}.pay-type.current{background:#914bdc}.received-row{display:grid;grid-template-columns:80px 1fr;gap:7px;align-items:center;margin-top:8px;font-size:10px;font-weight:800}.received-row input{height:34px}.cash-preset{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:6px}.cash-preset button{height:31px;border:1px solid var(--bd);background:#f9fbfd;border-radius:5px;font-size:9px;font-weight:800;cursor:pointer}.complete-sale{width:100%;height:44px;margin-top:7px;border:0;border-radius:6px;background:#06b953;color:#fff;font-size:13px;font-weight:900;cursor:pointer}.pos-bottom-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}.pos-bottom-actions button{height:50px;border:1px solid var(--bd);background:#fff;border-radius:6px;font-size:9px;font-weight:700;cursor:pointer}

html[data-theme="dark"]{--bg:#0f1720;--card:#162231;--txt:#eef4fb;--muted:#9badc0;--bd:#2c3c50}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .card,html[data-theme="dark"] .quick-section,html[data-theme="dark"] .results-panel,html[data-theme="dark"] .cart-reference,html[data-theme="dark"] .pay-reference,html[data-theme="dark"] .category-chip,html[data-theme="dark"] .product-ref-card,html[data-theme="dark"] .pay-btn,html[data-theme="dark"] .pos-bottom-actions button,html[data-theme="dark"] .hamb,html[data-theme="dark"] .meta-chip{background:var(--card);color:var(--txt);border-color:var(--bd)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#111c28;color:#eef4fb;border-color:#34485f}
html[data-theme="dark"] th{background:#111c28;color:#b4c2d2}html[data-theme="dark"] td{border-color:#26384c}html[data-theme="dark"] tr:hover td,html[data-theme="dark"] .result-row:hover{background:#1d2b3b}.dark-placeholder{background:#1c2b3b}
@media(prefers-color-scheme:dark){html[data-theme="system"]{--bg:#0f1720;--card:#162231;--txt:#eef4fb;--muted:#9badc0;--bd:#2c3c50}html[data-theme="system"] body{background:var(--bg);color:var(--txt)}html[data-theme="system"] .topbar,html[data-theme="system"] .card,html[data-theme="system"] .quick-section,html[data-theme="system"] .results-panel,html[data-theme="system"] .cart-reference,html[data-theme="system"] .pay-reference,html[data-theme="system"] .category-chip,html[data-theme="system"] .product-ref-card,html[data-theme="system"] .pos-bottom-actions button,html[data-theme="system"] .hamb,html[data-theme="system"] .meta-chip{background:var(--card);color:var(--txt);border-color:var(--bd)}html[data-theme="system"] input,html[data-theme="system"] select,html[data-theme="system"] textarea{background:#111c28;color:#eef4fb;border-color:#34485f}}
@media(max-width:1280px){.quick-products-ref{grid-template-columns:repeat(4,1fr)}.pos-reference{grid-template-columns:minmax(0,1fr) 390px}.top-meta .clock-box{display:none}}
@media(max-width:1050px){.layout{grid-template-columns:78px 1fr}.sidebar{padding-left:7px;padding-right:7px}.brand h1,.brand small,.nav a span:not(.nav-ico),.nav-section,.side-theme span:first-child{display:none}.brandrow{justify-content:center}.nav a{justify-content:center}.side-theme{width:58px}.theme-switch button:not(.active){display:none}.topbar{grid-template-columns:1fr auto}.pos-reference{grid-template-columns:1fr}.pos-right{position:static}.quick-products-ref{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.layout{display:block}.sidebar{display:none}.topbar{height:auto;min-height:60px;padding:8px}.top-meta .meta-chip,.clock-box,.top-user>div:last-child{display:none}.content{padding:8px 8px 70px}.pos-tools{align-items:stretch}.quick-products-ref{grid-template-columns:repeat(3,1fr)}.pos-right{position:static}.product-ref-media{height:70px}.global-search{max-width:none}}
@media(max-width:480px){.quick-products-ref{grid-template-columns:repeat(2,1fr)}.pay-types{grid-template-columns:repeat(2,1fr)}.cash-preset{grid-template-columns:repeat(3,1fr)}}
