*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f6f7fb;color:#1f2937}
a{text-decoration:none;color:inherit}.wrap{display:flex;min-height:100vh}
.sidebar{width:250px;background:#111827;color:#fff;padding:22px;flex-shrink:0;transition:.25s ease;z-index:20}
.logo{font-size:22px;font-weight:800;margin-bottom:25px;color:#d4af37}.nav a{display:block;padding:12px 14px;border-radius:12px;margin:7px 0;color:#e5e7eb}.nav a:hover,.nav a.active{background:#d4af37;color:#111827}.main{flex:1;padding:24px;min-width:0}.card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 30px rgba(0,0,0,.07);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}input,select,button{padding:12px;border-radius:12px;border:1px solid #d1d5db;font-size:15px;max-width:100%}button,.btn{background:#d4af37;color:#111827;border:0;font-weight:700;cursor:pointer;display:inline-block;padding:12px 16px;border-radius:12px}.btn-danger{background:#dc2626;color:#fff}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left}.pos-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.cart-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding:10px 0}.total{font-size:28px;font-weight:900;text-align:right}.login{max-width:420px;margin:80px auto}.mobile-topbar{display:none}.overlay{display:none}
@media(max-width:800px){
  body{padding-top:62px}.wrap{display:block;min-height:auto}.mobile-topbar{display:flex;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;height:62px;background:#111827;color:#fff;padding:10px 14px;z-index:30;box-shadow:0 6px 22px rgba(0,0,0,.18)}.mobile-brand{font-size:18px;font-weight:800;color:#d4af37}.menu-toggle{width:44px;height:42px;padding:9px;background:#d4af37;border-radius:12px;display:flex;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span{display:block;height:3px;background:#111827;border-radius:99px}.sidebar{position:fixed;top:0;left:-280px;height:100vh;width:270px;padding-top:78px;box-shadow:12px 0 30px rgba(0,0,0,.20)}.sidebar.open{left:0}.overlay.show{display:block;position:fixed;inset:0;background:rgba(17,24,39,.48);z-index:10}.main{padding:16px}.pos-layout{grid-template-columns:1fr}.card{padding:16px;border-radius:16px}.table{display:block;overflow-x:auto;white-space:nowrap}.grid{grid-template-columns:1fr}.login{margin:30px 14px}.total{text-align:left;font-size:24px}.cart-line{align-items:flex-start}.nav a{padding:14px 15px;font-size:16px}
}

/* KS Market responsive sidebar / mobile hamburger */
.ks-mobile-topbar{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#111827;
  color:#fff;
  padding:12px 16px;
  position:sticky;
  top:0;
  z-index:1000;
}
.ks-mobile-brand{font-weight:800;color:#d4af37;font-size:18px}
.ks-menu-toggle{
  width:44px;height:40px;border:0;border-radius:10px;background:#d4af37;color:#111827;
  font-size:24px;font-weight:900;line-height:1;cursor:pointer;
}
.ks-sidebar-backdrop{display:none}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-small{padding:8px 10px;border-radius:10px;font-size:13px}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
.badge-ok{background:#dcfce7;color:#166534}
.badge-warn{background:#fef3c7;color:#92400e}
.badge-danger{background:#fee2e2;color:#991b1b}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.notice{padding:12px 14px;border-radius:12px;margin:10px 0;background:#ecfdf5;color:#065f46}
.notice.err{background:#fef2f2;color:#991b1b}
.searchbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.searchbar input,.searchbar select{min-width:180px}
@media(max-width:800px){
  .ks-mobile-topbar{display:flex}
  .wrap{display:block;min-height:100vh}
  .sidebar{
    position:fixed;left:-290px;top:0;bottom:0;width:250px;max-width:82vw;z-index:1200;
    transition:left .22s ease;overflow-y:auto;box-shadow:18px 0 45px rgba(0,0,0,.25);
  }
  body.ks-menu-open .sidebar{left:0}
  .ks-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100}
  body.ks-menu-open .ks-sidebar-backdrop{display:block}
  .main{padding:16px}
  .grid{grid-template-columns:1fr}
  .pos-layout{grid-template-columns:1fr}
  .table{display:block;overflow-x:auto;white-space:nowrap}
  input,select,button,.btn{max-width:100%}
}

/* KS Market Phase 3 - sales */
.sale-shell{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.scan-box{display:flex;gap:10px;flex-wrap:wrap}
.scan-box input{flex:1;min-width:220px}
.cart-table{width:100%;border-collapse:collapse}
.cart-table th,.cart-table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}
.qty-control{display:flex;gap:6px;align-items:center}
.qty-control input{width:80px;padding:8px}
.receipt-total{font-size:34px;font-weight:900;text-align:right;margin:12px 0}
.pay-grid{display:grid;grid-template-columns:1fr;gap:10px}
.ks-muted{color:#6b7280;font-size:13px}
.quick-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
.quick-product{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px;text-align:left;cursor:pointer}
.quick-product:hover{border-color:#d4af37;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.quick-product b{display:block;font-size:14px}
.quick-product span{font-size:13px;color:#6b7280}
@media(max-width:900px){.sale-shell{grid-template-columns:1fr}.receipt-total{text-align:left}.cart-table{display:block;overflow-x:auto;white-space:nowrap}}

/* KS Market Phase 4 - Admin Network */
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.stat-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.07)}
.stat-card .num{font-size:30px;font-weight:900;margin-top:8px}
.role-pill{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:#eef2ff;color:#3730a3}
.store-pill{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:#ecfdf5;color:#065f46}
.danger-zone{border:1px solid #fecaca;background:#fff7f7}
@media(max-width:800px){.admin-grid{grid-template-columns:1fr}}

/* KS Market Phase 5 - Barcode / Inventory */
.label-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.product-label{background:#fff;border:1px dashed #111827;border-radius:10px;padding:10px;text-align:center;color:#111827}
.product-label .name{font-weight:800;font-size:13px;min-height:34px}
.product-label .price{font-size:20px;font-weight:900;margin:6px 0}
.barcode-lines{height:46px;display:flex;align-items:end;justify-content:center;gap:2px;margin:8px auto}
.barcode-lines span{display:block;background:#111827;width:2px}
.qr-box{width:76px;height:76px;margin:8px auto;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);gap:1px;background:#fff}
.qr-box i{display:block;background:#111827}
.inventory-scan-box{display:grid;grid-template-columns:1fr 140px 160px;gap:10px}
@media(max-width:800px){.inventory-scan-box{grid-template-columns:1fr}.label-grid{grid-template-columns:repeat(2,1fr)}}
@media print{
  .sidebar,.ks-mobile-topbar,.ks-sidebar-backdrop,.no-print,button,.btn{display:none!important}
  .main{padding:0!important}
  body{background:#fff}
  .card{box-shadow:none!important;border:0!important;padding:0!important}
  .label-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .product-label{page-break-inside:avoid}
}

/* KS Market Phase 6 - Finance */
.finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.finance-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.07)}
.finance-card .amount{font-size:28px;font-weight:900;margin-top:8px}
.amount-pos{color:#166534}.amount-neg{color:#991b1b}.amount-warn{color:#92400e}
.shift-open{background:#ecfdf5;color:#065f46}.shift-closed{background:#f3f4f6;color:#374151}
@media(max-width:800px){.finance-grid{grid-template-columns:1fr}}

/* KS Market Phase 7 - Returns / Advanced Reports */
.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}
.report-box{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.07)}
.report-box .big{font-size:28px;font-weight:900;margin-top:8px}
.return-row{background:#fff7ed}
.status-cancelled{background:#fee2e2;color:#991b1b}
.status-completed{background:#dcfce7;color:#166534}
@media(max-width:800px){.report-filters{grid-template-columns:1fr}}

/* KS Market Phase 8 - Purchases */
.purchase-shell{display:grid;grid-template-columns:1fr .8fr;gap:18px}
.purchase-line{display:grid;grid-template-columns:1.5fr .6fr .6fr .4fr;gap:8px;align-items:center;margin-bottom:8px}
.purchase-total{font-size:30px;font-weight:900;text-align:right}
@media(max-width:900px){.purchase-shell{grid-template-columns:1fr}.purchase-line{grid-template-columns:1fr}.purchase-total{text-align:left}}

/* KS Market Phase 9 - Alerts / Audit */
.alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.alert-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.07);border-left:6px solid #d4af37}
.alert-card.danger{border-left-color:#dc2626}
.alert-card.warn{border-left-color:#f59e0b}
.alert-card.ok{border-left-color:#16a34a}
.alert-card .num{font-size:32px;font-weight:900;margin-top:8px}
.audit-details{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.expired-row{background:#fef2f2}
.expiring-row{background:#fffbeb}
.lowstock-row{background:#fff7ed}
@media(max-width:800px){.alert-grid{grid-template-columns:1fr}.audit-details{max-width:220px}}

/* KS Market Phase 10 - API / Mobile */
.api-token{font-family:monospace;background:#f3f4f6;border-radius:10px;padding:8px;display:inline-block;max-width:100%;overflow:auto}
.api-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.api-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.07)}
.endpoint{font-family:monospace;background:#111827;color:#fff;border-radius:12px;padding:10px;margin:8px 0;overflow:auto}
@media(max-width:800px){.api-grid{grid-template-columns:1fr}}

/* KS Market Phase 11 - Backup / Maintenance */
.maint-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.maint-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.07)}
.maint-card .big{font-size:28px;font-weight:900;margin-top:8px}
.backup-file{font-family:monospace;background:#f3f4f6;padding:7px 10px;border-radius:10px;display:inline-block}
.health-ok{color:#166534;font-weight:800}
.health-warn{color:#92400e;font-weight:800}
.health-bad{color:#991b1b;font-weight:800}
@media(max-width:800px){.maint-grid{grid-template-columns:1fr}}

/* KS Market Phase 12 - Security / Profile */
.security-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.security-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.07)}
.security-card .big{font-size:28px;font-weight:900;margin-top:8px}
.sec-ok{color:#166534;font-weight:800}
.sec-warn{color:#92400e;font-weight:800}
.sec-danger{color:#991b1b;font-weight:800}
.login-failed{background:#fef2f2}
.login-success{background:#ecfdf5}
.profile-box{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}
.avatar{width:92px;height:92px;border-radius:50%;background:#111827;color:#d4af37;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900}
@media(max-width:800px){.security-grid{grid-template-columns:1fr}.profile-box{grid-template-columns:1fr;text-align:center}.avatar{margin:auto}}

/* KS Market Phase 13 - Theme / Brand / Language */
:root{
  --ks-primary:#d4af37;
  --ks-primary-dark:#b8860b;
  --ks-dark:#111827;
  --ks-bg:#f6f7fb;
  --ks-card:#ffffff;
}
body{background:var(--ks-bg)}
.sidebar{background:var(--ks-dark)}
.logo,.ks-mobile-brand{color:var(--ks-primary)}
.nav a:hover,.nav a.active,button,.btn,.ks-menu-toggle{background:var(--ks-primary);color:#111827}
.ks-brand-header{background:linear-gradient(135deg,var(--ks-dark),#1f2937);color:#fff;border-radius:22px;padding:22px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 12px 35px rgba(0,0,0,.12)}
.ks-brand-title{font-size:26px;font-weight:900;color:var(--ks-primary)}
.ks-brand-subtitle{opacity:.88;margin-top:4px}
.ks-brand-logo{width:62px;height:62px;border-radius:18px;background:var(--ks-primary);color:#111827;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900}
.ks-footer{margin-top:24px;text-align:center;color:#6b7280;font-size:13px;padding:12px}
.theme-preview{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.color-dot{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.18)}
@media(max-width:800px){.ks-brand-header{display:block;text-align:center}.ks-brand-logo{margin:0 auto 10px}}

/* KS Market Phase 14 - Installer */
.install-wrap{max-width:980px;margin:30px auto;padding:18px}
.install-head{background:linear-gradient(135deg,#111827,#1f2937);color:#fff;border-radius:24px;padding:28px;margin-bottom:18px;text-align:center}
.install-head h1{color:#d4af37;margin:0 0 8px}
.install-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.install-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.07)}
.check-ok{color:#166534;font-weight:900}
.check-bad{color:#991b1b;font-weight:900}
.check-warn{color:#92400e;font-weight:900}
.step-badge{display:inline-block;background:#d4af37;color:#111827;border-radius:999px;padding:6px 12px;font-weight:900;margin-bottom:10px}
.install-code{background:#111827;color:#fff;border-radius:14px;padding:14px;overflow:auto;font-family:monospace}
