/* ── Reset & Tokens ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --font:'DM Sans',system-ui,-apple-system,sans-serif;
  --font-display:'Cormorant Garamond','Times New Roman',Georgia,serif;
  --font-nav:'Playfair Display',Georgia,serif;
  /* Palette */
  --bg:#F5F7FA;
  --surface:#FFFFFF;
  --surface-2:#F8FAFC;
  --border:#E2E8F0;
  --border-2:#CBD5E1;
  --accent:#2563EB;
  --accent-light:#EFF6FF;
  --accent-dark:#1D4ED8;
  --accent-2:#7C3AED;
  --success:#059669; --success-bg:#ECFDF5;
  --warning:#D97706; --warning-bg:#FFFBEB;
  --danger:#DC2626;  --danger-bg:#FEF2F2;
  --info:#0284C7;    --info-bg:#F0F9FF;
  --text-1:#0F172A;
  --text-2:#475569;
  --text-3:#94A3B8;
  --text-4:#CBD5E1;
  /* Shadows */
  --shadow-xs:0 1px 2px rgba(15,23,42,.06);
  --shadow-sm:0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.06);
  --shadow-lg:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.06);
  --shadow-xl:0 20px 25px -5px rgba(15,23,42,.1),0 8px 10px -6px rgba(15,23,42,.06);
  --shadow-dropdown:0 8px 30px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.06);
  /* Radius */
  --r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;
  /* Timing */
  --t-fast:120ms;--t-base:200ms;--t-slow:300ms;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
  /* Layout */
  --nav-h:60px;
  --sidebar-w:240px;
}
html,body{
  height:100%;
  font-family:var(--font);
  font-size:15px;
  color:var(--text-1);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  letter-spacing:0.01em;
}
a{text-decoration:none;color:inherit}
button{font-family:var(--font);cursor:pointer;letter-spacing:0.01em}
input,select,textarea{font-family:var(--font);letter-spacing:0.01em}

/* ══════════════════════════════════════
   TOP NAVIGATION
══════════════════════════════════════ */
.topnav{
  position:fixed;top:0;left:0;right:0;
  height:var(--nav-h);
  background:linear-gradient(105deg,#0F1E56 0%,#1D3FBF 34%,#3B7DED 64%,#82B8F9 100%);
  border-bottom:1px solid rgba(9,20,58,.55);
  box-shadow:0 2px 10px rgba(9,20,58,.28), 0 12px 32px rgba(13,30,90,.18);
  z-index:1000;
}
.topnav-inner{
  max-width:1600px;margin:0 auto;
  height:var(--nav-h);
  display:flex;align-items:center;gap:8px;
  padding:0 24px;
}

/* Brand */
.brand{display:flex;align-items:center;gap:10px;margin-right:8px;flex-shrink:0}
.brand-icon{
  width:36px;height:36px;border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);
  color:#fff;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(37,99,235,.35);
  flex-shrink:0;
}
.brand-name{display:block;font-size:19px !important;font-weight:800;color:#FFFFFF;line-height:1.2;font-family:var(--font-display);letter-spacing:0.01em;text-shadow:0 1px 2px rgba(6,15,48,.35)}
.brand-sub{display:block;font-size:11px !important;font-weight:600;color:#C9DAFF;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font)}

/* Nav Links */
.nav-links{display:flex;align-items:center;gap:6px;flex:1}
.nav-link,
button.nav-link,
a.nav-link {
  height:32px;padding:0 13px;
  border:1px solid var(--border);
  background:var(--surface-2);
  color:var(--text-2) !important;
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:0.02em;
  border-radius:999px;
  display:flex;align-items:center;gap:5px;
  transition:all 0.25s cubic-bezier(0.16,1,0.3,1);
  white-space:nowrap;
  position:relative;
  cursor:pointer;
  text-decoration:none;
  box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.nav-link:hover,
button.nav-link:hover,
a.nav-link:hover {
  background:#EFF3F9;
  color:var(--accent) !important;
  border-color:var(--border-2);
  box-shadow:0 3px 10px rgba(15,23,42,.08);
  transform:translateY(-1px);
  outline:none;
}
.nav-link.active,
button.nav-link.active,
a.nav-link.active {
  background:var(--accent-light);
  color:var(--accent) !important;
  border-color:#C7D5F2;
  box-shadow:0 2px 8px rgba(37,99,235,.12);
  font-weight:700 !important;
}
.chevron{font-size:9px;transition:transform var(--t-base) var(--ease);display:inline-block;opacity:0.7}

/* Dropdown */
.nav-dropdown,.user-menu{position:relative}
.nav-dropdown:hover .dropdown-panel,
.nav-dropdown:focus-within .dropdown-panel{
  opacity:1;transform:translateY(0) scale(1);pointer-events:all;
}
.nav-dropdown:hover .chevron,
.nav-dropdown:focus-within .chevron{transform:rotate(180deg)}
.dropdown-panel{
  position:absolute;top:calc(100% + 8px);left:0;
  min-width:300px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  box-shadow:var(--shadow-dropdown);
  padding:8px;
  font-size:15px !important;
  opacity:0;transform:translateY(-8px) scale(0.97);pointer-events:none;
  transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease);
  transform-origin:top left;
}
.dp-section{padding:4px 0}
.dp-label{font-size:13px !important;font-weight:600;color:var(--text-3) !important;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px 6px}
.dp-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:var(--r-md);
  transition:background var(--t-fast);
  cursor:pointer;
}
.dp-item:hover{background:var(--accent-light)}
.dp-item:hover .dp-title{color:var(--accent)}
.dp-item.danger:hover{background:var(--danger-bg)}
.dp-item.danger:hover .dp-title{color:var(--danger)}
.dp-icon{font-size:18px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:var(--r-sm);flex-shrink:0}
.dp-title{font-size:14px !important;font-weight:600;color:var(--text-1);line-height:1.3;font-family:var(--font)}
.dp-desc{font-size:12px !important;color:var(--text-3);margin-top:1px;font-family:var(--font)}
.dp-divider{height:1px;background:var(--border);margin:4px 0}

/* Right Actions */
.nav-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.icon-btn{
  width:36px;height:36px;border:1px solid var(--border);
  background:var(--surface-2);color:var(--text-2);
  border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
  transition:all var(--t-fast);position:relative;
}
.icon-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}
.hist-nav{display:flex;align-items:center;gap:4px;margin-right:6px;flex-shrink:0}
.hist-nav .icon-btn{background:var(--surface-2);color:var(--text-2)}
.hist-nav .icon-btn:hover{background:var(--accent-light);color:var(--accent)}
.notif-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;background:var(--danger);border-radius:50%;border:2px solid #fff}
.user-btn{
  height:36px;padding:0 10px 0 6px;
  border:1px solid var(--border);background:var(--surface-2);color:var(--text-1);
  border-radius:var(--r-lg);
  display:flex;align-items:center;gap:8px;
  transition:all var(--t-fast);
}
.user-btn:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent);}
.user-avatar{
  width:26px;height:26px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.user-name{display:block;font-size:15px !important;font-weight:600;color:var(--text-1);line-height:1.2}
.user-role{display:block;font-size:13px !important;color:var(--text-3);line-height:1.2}
.user-dropdown{
  position:absolute;top:calc(100% + 8px);right:0;
  min-width:200px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-xl);box-shadow:var(--shadow-dropdown);
  padding:8px;
  opacity:0;transform:translateY(-8px) scale(0.97);pointer-events:none;
  transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease);
  transform-origin:top right;
}
.user-menu:hover .user-dropdown,
.user-menu:focus-within .user-dropdown{opacity:1;transform:translateY(0) scale(1);pointer-events:all}

/* Search Bar */
.search-bar{
  position:absolute;top:100%;left:0;right:0;
  background:rgba(255,255,255,0.96);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:12px 24px;
  transform:translateY(-4px);opacity:0;pointer-events:none;
  transition:all var(--t-base) var(--ease);
}
.search-bar.open{transform:translateY(0);opacity:1;pointer-events:all}
.search-inner{
  max-width:600px;margin:0 auto;
  display:flex;align-items:center;gap:10px;
  background:var(--surface-2);border:1.5px solid var(--border);
  border-radius:var(--r-lg);padding:0 14px;
  transition:border-color var(--t-fast),box-shadow var(--t-fast);
}
.search-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}
.search-inner svg{color:var(--text-3);flex-shrink:0}
.search-inner input{flex:1;height:40px;border:none;background:transparent;font-family:var(--font);font-size:14px;color:var(--text-1);outline:none}
.search-inner input::placeholder{color:var(--text-3)}
.search-inner kbd{font-size:10px;color:var(--text-3);background:var(--border);padding:2px 6px;border-radius:4px;flex-shrink:0}

/* ══════════════════════════════════════
   LAYOUT
══════════════════════════════════════ */
.page-container{margin-top:var(--nav-h);min-height:calc(100vh - var(--nav-h))}
.page{display:none;min-height:calc(100vh - var(--nav-h))}
.page.active{display:flex}

/* Home page layout (sidebar + content) */
#page-home{flex-direction:row}

/* Other pages (full width) */
.page:not(#page-home){flex-direction:column}

/* ══════════════════════════════════════
   SIDEBAR (home only)
══════════════════════════════════════ */
.sidebar{
  width:var(--sidebar-w);flex-shrink:0;
  background:var(--surface);
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  padding:16px 12px;
  position:sticky;top:var(--nav-h);
  height:calc(100vh - var(--nav-h));
  overflow-y:auto;
}
.sidebar-section{margin-bottom:20px}
.sidebar-label{
  font-size:10.5px;font-weight:600;color:var(--text-3);
  text-transform:uppercase;letter-spacing:.06em;
  padding:0 10px;margin-bottom:4px;
}
.sidebar-item{
  display:flex;align-items:center;gap:9px;
  height:36px;padding:0 10px;
  border-radius:var(--r-md);
  font-size:13.5px;font-weight:500;color:var(--text-2);
  transition:all var(--t-fast);
  margin-bottom:2px;
}
.sidebar-item:hover{background:var(--accent-light);color:var(--accent)}
.sidebar-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}
.si-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0}
.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}
.sf-store{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2)}
.sf-icon{font-size:22px}
.sf-name{font-size:12px;font-weight:600;color:var(--text-1)}
.sf-status{font-size:11px;color:var(--success);margin-top:1px}

/* ══════════════════════════════════════
   MAIN CONTENT
══════════════════════════════════════ */
.main-content{flex:1;padding:28px 32px;overflow-y:auto;min-height:calc(100vh - var(--nav-h))}
.main-content.full{max-width:1400px;width:100%;margin:0 auto}

/* Page Header */
.page-header{margin-bottom:24px}
.page-title{font-family:var(--font-display);font-size:32px !important;font-weight:700;color:var(--text-1);line-height:1.15;letter-spacing:-0.01em}
.page-subtitle{font-family:var(--font);font-size:15px !important;color:var(--text-2);margin-top:5px;font-weight:400;letter-spacing:0.01em}
.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ══════════════════════════════════════
   BUTTONS
══════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:6px;
  height:36px;padding:0 16px;
  border:none;border-radius:var(--r-md);
  font-family:var(--font);font-size:14px !important;font-weight:600;
  letter-spacing:0.02em;
  cursor:pointer;white-space:nowrap;
  transition:all var(--t-fast);
  position:relative;overflow:hidden;
}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0);transition:background var(--t-fast)}
.btn:hover::after{background:rgba(255,255,255,0.12)}
.btn:active{transform:scale(0.98)}

.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;box-shadow:0 1px 3px rgba(37,99,235,.4),0 0 0 0 rgba(37,99,235,.2)}
.btn-primary:hover{box-shadow:0 4px 12px rgba(37,99,235,.45),0 0 0 0 rgba(37,99,235,.2);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0) scale(0.98)}

.btn-secondary{background:var(--surface);color:var(--text-1);border:1px solid var(--border);box-shadow:var(--shadow-xs)}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);box-shadow:var(--shadow-sm)}

.btn-ghost{background:transparent;color:var(--text-2);border:1px solid transparent}
.btn-ghost:hover{background:var(--surface-2);color:var(--text-1);border-color:var(--border)}

.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#b91c1c 100%);color:#fff;box-shadow:0 1px 3px rgba(220,38,38,.4)}
.btn-danger:hover{box-shadow:0 4px 12px rgba(220,38,38,.4);transform:translateY(-1px)}

.btn-sm{height:30px;padding:0 12px;font-size:12.5px}
.btn-lg{height:42px;padding:0 22px;font-size:14.5px}
.btn-icon{width:36px;padding:0;justify-content:center}
.btn-icon.btn-sm{width:30px}

/* ══════════════════════════════════════
   CARDS
══════════════════════════════════════ */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}
.card-header{padding:18px 20px 0;display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:16px;font-weight:600;color:var(--text-1);font-family:var(--font-display);letter-spacing:0.01em}
.card-body{padding:20px}
.card-footer{padding:0 20px 18px;display:flex;align-items:center;gap:8px}

/* KPI Cards */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-bottom:24px}
.kpi-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:20px;
  box-shadow:var(--shadow-sm);
  transition:all var(--t-base) var(--ease);
  cursor:default;
}
.kpi-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--accent)}
.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.kpi-icon-wrap{width:42px;height:42px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:20px}
.kpi-icon-wrap.blue{background:var(--accent-light)}
.kpi-icon-wrap.green{background:var(--success-bg)}
.kpi-icon-wrap.amber{background:var(--warning-bg)}
.kpi-icon-wrap.red{background:var(--danger-bg)}
.kpi-icon-wrap.purple{background:#F5F3FF}
.kpi-delta{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:999px;display:flex;align-items:center;gap:3px}
.kpi-delta.up{background:var(--success-bg);color:var(--success)}
.kpi-delta.down{background:var(--danger-bg);color:var(--danger)}
.kpi-value{font-size:26px;font-weight:700;color:var(--text-1);line-height:1.1;margin-bottom:4px;font-family:var(--font-display)}
.kpi-label{font-size:12px;color:var(--text-2);font-weight:500;letter-spacing:0.03em;text-transform:uppercase}

/* ══════════════════════════════════════
   DATA TABLE
══════════════════════════════════════ */
.table-wrap{overflow:auto;border-radius:var(--r-lg);border:1px solid var(--border)}
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table thead tr{background:var(--surface-2)}
.data-table th{
  padding:8px 10px;text-align:left;
  font-size:10px;font-weight:600;color:var(--text-2);
  text-transform:uppercase;letter-spacing:.08em;
  border-bottom:1px solid var(--border);
  white-space:nowrap;cursor:pointer;user-select:none;
  font-family:var(--font);
}
.data-table th:hover{color:var(--text-1)}
.data-table th.sorted{color:var(--accent)}
.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-1);vertical-align:middle}
.data-table tbody tr{transition:background var(--t-fast)}
.data-table tbody tr:hover{background:var(--accent-light)}
.data-table tbody tr:hover td:first-child{border-left:2.5px solid var(--accent)}
.data-table tbody tr:last-child td{border-bottom:none}

/* ══════════════════════════════════════
   BADGES
══════════════════════════════════════ */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600}
.badge::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.badge.paid{background:var(--success-bg);color:var(--success)}
.badge.unpaid{background:var(--danger-bg);color:var(--danger)}
.badge.pending{background:var(--warning-bg);color:var(--warning)}
.badge.processing{background:var(--info-bg);color:var(--info)}
.badge.overdue{background:#FEF2F2;color:#B91C1C}
.badge.cancelled{background:#F8FAFC;color:#64748B;border:1px solid var(--border)}
.badge.instock{background:var(--success-bg);color:var(--success)}
.badge.lowstock{background:var(--warning-bg);color:var(--warning)}
.badge.outofstock{background:var(--danger-bg);color:var(--danger)}

/* ══════════════════════════════════════
   FORM CONTROLS
══════════════════════════════════════ */
.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.form-label{font-size:12px !important;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:0.06em;font-family:var(--font)}
.form-input{
  height:38px;background:var(--surface);
  border:1.5px solid var(--border);border-radius:var(--r-md);
  padding:0 12px;color:var(--text-1);
  font-family:var(--font);font-size:16px !important;outline:none;
  transition:border-color var(--t-fast),box-shadow var(--t-fast);
}
.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}
.form-input:hover:not(:focus){border-color:var(--border-2)}
textarea.form-input{height:auto;padding:10px 12px;resize:vertical}
select.form-input{cursor:pointer}

/* ══════════════════════════════════════
   PAGINATION
══════════════════════════════════════ */
.pagination{display:flex;align-items:center;gap:4px;justify-content:flex-end;padding:14px 0 0}
.pg-btn{
  width:32px;height:32px;border:1px solid var(--border);
  background:var(--surface);color:var(--text-2);
  border-radius:var(--r-sm);font-size:13px;font-family:var(--font);
  cursor:pointer;transition:all var(--t-fast);
  display:flex;align-items:center;justify-content:center;
}
.pg-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.pg-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 6px rgba(37,99,235,.35)}

/* ══════════════════════════════════════
   BREADCRUMB
══════════════════════════════════════ */
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12.5px;margin-bottom:16px}
.bc-item{color:var(--text-2);cursor:pointer;transition:color var(--t-fast)}
.bc-item:hover{color:var(--accent)}
.bc-item.active{color:var(--text-1);font-weight:600;cursor:default}
.bc-sep{color:var(--text-4);font-size:10px}

/* ══════════════════════════════════════
   TOAST
══════════════════════════════════════ */
#toast-container{position:fixed;top:72px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{
  width:340px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--r-lg);
  padding:14px 16px;box-shadow:var(--shadow-xl);
  pointer-events:all;display:flex;gap:12px;align-items:flex-start;
  animation:toastIn var(--t-base) var(--ease) forwards;
  position:relative;overflow:hidden;
}
.toast.out{animation:toastOut var(--t-base) var(--ease) forwards}
.toast-progress{position:absolute;bottom:0;left:0;height:2px;animation:toastProg linear forwards}
.toast.success .toast-progress{background:var(--success)}
.toast.error   .toast-progress{background:var(--danger)}
.toast.warning .toast-progress{background:var(--warning)}
.toast.info    .toast-progress{background:var(--accent)}
.toast-icon{font-size:18px;flex-shrink:0;margin-top:1px}
.toast-title{font-size:13.5px;font-weight:600;color:var(--text-1)}
.toast-msg{font-size:12.5px;color:var(--text-2);margin-top:2px}
.toast.success{border-left:3px solid var(--success)}
.toast.error  {border-left:3px solid var(--danger)}
.toast.warning{border-left:3px solid var(--warning)}
.toast.info   {border-left:3px solid var(--accent)}
@keyframes toastIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes toastOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}
@keyframes toastProg{from{width:100%}to{width:0}}

/* ══════════════════════════════════════
   SCROLLBAR
══════════════════════════════════════ */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:var(--text-3)}
*{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}

/* ══════════════════════════════════════
   ITEM REGISTER PAGE STYLES
══════════════════════════════════════ */
#barcode-input {
  font-size: 14px;
  letter-spacing: 0.5px;
}

.form-group input[type="number"]::-webkit-inner-spin-button,
.form-group input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.form-group input[type="number"] {
  -moz-appearance: textfield;
}

.form-group select.form-input {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
  appearance: none;
}

/* ══════════════════════════════════════
   MISC UTILITIES
══════════════════════════════════════ */
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}
.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}
.text-sm{font-size:12.5px}.text-xs{font-size:11.5px}
.text-muted{color:var(--text-2)}.text-accent{color:var(--accent)}
.font-semibold{font-weight:600}.font-bold{font-weight:700}
.divider{height:1px;background:var(--border);margin:16px 0}
.section-title{font-size:18px !important;font-weight:700;color:var(--text-1);margin-bottom:14px;font-family:var(--font-display);letter-spacing:0.01em}

/* ══════════════════════════════════════
   TABS
══════════════════════════════════════ */
.tabs{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:var(--r-md);width:fit-content}
.tab{
  padding:8px 16px;border:none;background:transparent;color:var(--text-2);font-size:14px;font-weight:500;border-radius:var(--r-sm);transition:all var(--t-fast);white-space:nowrap;cursor:pointer
}
.tab:hover{color:var(--text-1);background:rgba(255,255,255,0.5)}
.tab.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-xs);font-weight:600}
.tab-content{display:none;width:100%}
.tab-content.active{display:block}

/* ══════════════════════════════════════
   AUTO UPPERCASE ALL INPUTS
══════════════════════════════════════ */
input[type="text"],
input[type="number"],
input[type="search"],
input[type="email"],
input[type="tel"],
textarea { text-transform:uppercase }
input[type="date"],
input[type="file"],
input[type="checkbox"],
input[type="password"] { text-transform:none }

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;transition-duration:1ms!important}}

/* ══════════════════════════════════════
   EXPIRY ALERT ANIMATIONS
══════════════════════════════════════ */
@keyframes expirySoon {
  0%,100% { box-shadow: 0 0 0 0 rgba(217,119,6,0.4); }
  50%      { box-shadow: 0 0 0 8px rgba(217,119,6,0); }
}
@keyframes expiryBlink {
  0%,100% { opacity:1; box-shadow: 0 0 0 0 rgba(220,38,38,0.5); }
  50%      { opacity:0.85; box-shadow: 0 0 0 10px rgba(220,38,38,0); }
}
.expiry-soon  { animation: expirySoon  1.8s ease-in-out infinite; border:1.5px solid var(--warning) !important; }

/* ═══════════════════════════════════════════════════════════════
   PURCHASE REGISTER — CASH & BANK BOOK (Ghosh ERP) STYLE
   Scoped to #purchase-register-content so it never leaks into the SPA.
   ═══════════════════════════════════════════════════════════════ */
#purchase-register-content{
  padding:0 !important;
  max-width:none !important;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:calc(100vh - var(--nav-h));
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
#purchase-register-content .pr-ledger{
  position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;
  display:flex;flex-direction:column;min-height:0;
  background:#F6F3EC;color:#000;font-size:15px;font-weight:700;line-height:1.4;
  letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:'cv11','ss01','tnum';
}

/* ── Info panel (Supplier / Bill) ── */
#purchase-register-content .pr-info-panel{
  flex:0 0 auto;background:#F6F3EC;padding:10px 20px;border-bottom:1px solid #bbb;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
#purchase-register-content .pr-info-title{
  color:#4C1D95;font-weight:800;font-size:15px;white-space:nowrap;
}
#purchase-register-content .pr-info-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;flex:1;min-width:520px;
}
#purchase-register-content .pr-field{display:flex;flex-direction:column;gap:2px}
#purchase-register-content .pr-info-label{
  color:#4C1D95;font-weight:800;font-size:12px;letter-spacing:.02em;text-transform:uppercase;
}
#purchase-register-content .pr-input{
  border:1px solid #b9b2a3;background:#fff;color:#1a2233;
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;padding:5px 9px;border-radius:5px;outline:none;width:100%;
}
#purchase-register-content .pr-input:focus{border-color:#5B21B6;box-shadow:0 0 0 2px rgba(91,33,182,.25)}

/* ── Grid wrapper (fills remaining height, scrollable body) ── */
#purchase-register-content .pr-grid-wrapper{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#purchase-register-content .pr-grid-body{flex:1 1 0;min-height:0;overflow:auto}

/* ── Grid table (Marg ERP 9+ ledger look) ── */
#purchase-register-content .xls-table{
  width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;
}
#purchase-register-content .xls-table thead{position:sticky;top:0;z-index:2}
#purchase-register-content .xls-table thead th{
  background:#F6F3EC;color:#4C1D95;font-weight:800;font-size:13px;text-align:center;
  padding:0 8px;height:34px;vertical-align:middle;border-right:1px solid #999;border-bottom:2px solid #5B21B6;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#purchase-register-content .xls-table thead th:last-child{border-right:none}
#purchase-register-content .xls-table td{
  border-right:1px solid #aaa;border-bottom:1px solid #ddd;padding:0;height:30px;vertical-align:middle;
}
#purchase-register-content .xls-table td:last-child{border-right:none}
#purchase-register-content .xls-table tbody tr:hover td{background:rgba(76,29,149,.07)}

#purchase-register-content .xls-cell{
  width:100%;border:none;background:transparent;padding:4px 8px;font-size:13px;outline:none;
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-weight:700;color:#000;
}
#purchase-register-content .xls-cell::placeholder{color:#9a958a}
#purchase-register-content .xls-cell:focus{background:#fff;box-shadow:inset 0 0 0 2px #5B21B6}
#purchase-register-content .xls-cell[type="number"]{text-align:right;font-variant-numeric:tabular-nums}
#purchase-register-content .xls-idx{text-align:center;color:#4C1D95;font-size:12px;width:38px;background:#EDE9FE;font-weight:800}
#purchase-register-content .xls-del{text-align:center;width:42px}
#purchase-register-content .xls-del button{
  border:none;background:transparent;cursor:pointer;color:#6D28D9;font-size:14px;line-height:1;padding:5px 8px;border-radius:5px;
}
#purchase-register-content .xls-del button:hover{background:#EDE9FE}

/* ── Fixed Total Row ── */
#purchase-register-content .pr-total-fixed{
  flex:0 0 auto;border-top:2px solid #5B21B6;background:#E8E4D8;
}
#purchase-register-content .pr-total-fixed table{width:100%;border-collapse:collapse;table-layout:fixed}
#purchase-register-content .pr-total-fixed td{
  border-right:1px solid #aaa;padding:4px 8px;font-size:14px;font-weight:800;
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;height:30px;vertical-align:middle;background:#E8E4D8;
}
#purchase-register-content .pr-total-fixed td:last-child{border-right:none}
#purchase-register-content .pr-num{text-align:right}

/* ── Bottom Summary Panel ── */
#purchase-register-content .pr-bottom-panel{
  flex:0 0 auto;background:#fff;border-top:1px solid #222;display:flex;min-height:120px;
}
#purchase-register-content .pr-bottom-left{flex:1;padding:14px 22px;border-right:1px solid #d8dde6;display:flex;align-items:center}
#purchase-register-content .pr-sum-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;width:100%}
#purchase-register-content .pr-sum-item{display:flex;flex-direction:column;gap:2px}
#purchase-register-content .pr-sum-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b7a8d}
#purchase-register-content .pr-sum-value{font-size:19px;font-weight:800;color:#1a2233;line-height:1.1}
#purchase-register-content .pr-sum-stock{color:#1e8e4e}
#purchase-register-content .pr-sum-amt{color:#5B21B6}
#purchase-register-content .pr-bottom-right{flex:0 0 340px;padding:18px 24px;display:flex;flex-direction:column;justify-content:center;gap:4px}
#purchase-register-content .pr-bs-row{display:flex;justify-content:space-between;line-height:1.5}
#purchase-register-content .pr-bs-row .pr-info-label{color:#5b6b7d}

/* ── Status Bar ── */
#purchase-register-content .pr-statusbar{ flex:0 0 auto;background:var(--accent-light);color:var(--accent);height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 16px; font-size:13px;font-weight:700;letter-spacing:.02em; border-bottom:1px solid var(--border); }
#purchase-register-content .pr-status-info{opacity:.9}
#purchase-register-content .pr-status-btns{display:flex;gap:10px}
#purchase-register-content .pr-status-btns button{ min-width:140px;background:var(--surface);color:var(--accent);border:1.5px solid var(--accent);font-family:inherit;font-size:13px;font-weight:700; letter-spacing:.05em;padding:7px 22px;border-radius:7px;cursor:pointer;white-space:nowrap; box-shadow:0 1px 3px rgba(37,99,235,.15);transition:all .18s ease; }
#purchase-register-content .pr-status-btns button:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:0 3px 10px rgba(37,99,235,.25)}
#purchase-register-content .pr-status-btns button:active{transform:translateY(0);box-shadow:0 1px 3px rgba(37,99,235,.2)}
#purchase-register-content .pr-btn-save{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}

/* ── Deep purple accents: per-row dropdown lists (body-level) & GST popup ── */
.pr-dd-item,.pr-unit-item{transition:background .12s ease,color .12s ease}
.pr-dd-item:hover,.pr-unit-item:hover{background:#EDE9FE!important;color:#4C1D95!important}
#purchase-register-content .gst-pop{box-shadow:var(--shadow-xl),0 0 0 1px rgba(91,33,182,.08)}
#purchase-register-content .gst-pop__head{background:linear-gradient(135deg,#EDE9FE,#F5F3FF)}
#purchase-register-content .gst-pop__icon{background:linear-gradient(135deg,#5B21B6,#8B5CF6);box-shadow:0 4px 10px rgba(91,33,182,.35)}
#purchase-register-content .gst-field__label span{color:#5B21B6}
#purchase-register-content .gst-num:focus{border-color:#5B21B6;box-shadow:0 0 0 3px #EDE9FE}
#purchase-register-content .gst-preset:hover{background:#EDE9FE;border-color:#5B21B6;color:#5B21B6}
#purchase-register-content .gst-preset{border:1px solid #DDD6FE;color:#4C1D95;background:#FAF7FF}
#purchase-register-content .gst-pop__foot-value{background:var(--accent);box-shadow:0 4px 12px rgba(37,99,235,.3)}

/* ═══════════════════════════════════════════════════════════════
   INVOICE REGISTER — mirrors PURCHASE REGISTER ledger design
   Scoped to #invoice-register-content so it never leaks into the SPA.
   ═══════════════════════════════════════════════════════════════ */
#invoice-register-content{
padding:0 !important;
max-width:none !important;
overflow:hidden;
display:flex;
flex-direction:column;
height:calc(100vh - var(--nav-h));
font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
#invoice-register-content .pr-ledger{
position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;
display:flex;flex-direction:column;min-height:0;
background:#F6F3EC;color:#000;font-size:15px;font-weight:700;line-height:1.4;
letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
font-feature-settings:'cv11','ss01','tnum';
}
#invoice-register-content .pr-info-panel{
flex:0 0 auto;background:#F6F3EC;padding:10px 20px;border-bottom:1px solid #bbb;
display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
#invoice-register-content .pr-info-title{
color:#4C1D95;font-weight:800;font-size:15px;white-space:nowrap;
}
#invoice-register-content .pr-info-grid{
display:grid;grid-template-columns:repeat(5,1fr);gap:14px;flex:1;min-width:520px;
}
#invoice-register-content .pr-field{display:flex;flex-direction:column;gap:2px}
#invoice-register-content .pr-info-label{
color:#4C1D95;font-weight:800;font-size:12px;letter-spacing:.02em;text-transform:uppercase;
}
#invoice-register-content .pr-input{
border:1px solid #b9b2a3;background:#fff;color:#1a2233;
font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;padding:5px 9px;border-radius:5px;outline:none;width:100%;
}
#invoice-register-content .pr-input:focus{border-color:#5B21B6;box-shadow:0 0 0 2px rgba(91,33,182,.25)}
#invoice-register-content .pr-grid-wrapper{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#invoice-register-content .pr-grid-body{flex:1 1 0;min-height:0;overflow:auto}
#invoice-register-content .xls-table{
width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;
}
#invoice-register-content .xls-table thead{position:sticky;top:0;z-index:2}
#invoice-register-content .xls-table thead th{
background:#F6F3EC;color:#4C1D95;font-weight:800;font-size:13px;text-align:center;
padding:0 8px;height:34px;vertical-align:middle;border-right:1px solid #999;border-bottom:2px solid #5B21B6;
white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#invoice-register-content .xls-table thead th:last-child{border-right:none}
#invoice-register-content .xls-table td{
border-right:1px solid #aaa;border-bottom:1px solid #ddd;padding:0;height:30px;vertical-align:middle;
}
#invoice-register-content .xls-table td:last-child{border-right:none}
#invoice-register-content .xls-table tbody tr:hover td{background:rgba(76,29,149,.07)}
#invoice-register-content .xls-cell{
width:100%;border:none;background:transparent;padding:4px 8px;font-size:13px;outline:none;
font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-weight:700;color:#000;
}
#invoice-register-content .xls-cell::placeholder{color:#9a958a}
#invoice-register-content .xls-cell:focus{background:#fff;box-shadow:inset 0 0 0 2px #5B21B6}
#invoice-register-content .xls-cell[type="number"]{text-align:right;font-variant-numeric:tabular-nums}
#invoice-register-content .xls-idx{text-align:center;color:#4C1D95;font-size:12px;width:38px;background:#EDE9FE;font-weight:800}
#invoice-register-content .pr-num{text-align:right;font-weight:800;padding:0 8px;font-variant-numeric:tabular-nums}
#invoice-register-content .xls-del{text-align:center;width:42px}
#invoice-register-content .xls-del button{
border:none;background:transparent;cursor:pointer;color:#6D28D9;font-size:14px;line-height:1;padding:5px 8px;border-radius:5px;
}
#invoice-register-content .xls-del button:hover{background:#EDE9FE}
#invoice-register-content .pr-total-fixed{
flex:0 0 auto;border-top:2px solid #5B21B6;background:#E8E4D8;
}
#invoice-register-content .pr-total-fixed table{width:100%;border-collapse:collapse;table-layout:fixed}
#invoice-register-content .pr-total-fixed td{
border-right:1px solid #aaa;padding:4px 8px;font-size:14px;font-weight:800;
font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;height:30px;vertical-align:middle;background:#E8E4D8;
}
#invoice-register-content .pr-total-fixed td:last-child{border-right:none}
#invoice-register-content .pr-bottom-panel{
flex:0 0 auto;background:#fff;border-top:1px solid #222;display:flex;min-height:110px;
}
#invoice-register-content .pr-bottom-left{flex:1;padding:14px 22px;display:flex;align-items:center}
#invoice-register-content .pr-sum-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:10px 40px;width:100%}
#invoice-register-content .pr-sum-item{display:flex;flex-direction:column;gap:2px}
#invoice-register-content .pr-sum-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b7a8d}
#invoice-register-content .pr-sum-value{font-size:19px;font-weight:800;color:#1a2233;line-height:1.1}
#invoice-register-content .pr-sum-amt{color:#5B21B6}
#invoice-register-content .pr-statusbar{ flex:0 0 auto;background:var(--accent-light);color:var(--accent);height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 16px; font-size:13px;font-weight:700;letter-spacing:.02em; border-bottom:1px solid var(--border); }
#invoice-register-content .pr-status-info{opacity:.9}
#invoice-register-content .pr-status-btns{display:flex;gap:10px}
#invoice-register-content .pr-status-btns button{ min-width:140px;background:var(--surface);color:var(--accent);border:1.5px solid var(--accent);font-family:inherit;font-size:13px;font-weight:700; letter-spacing:.05em;padding:7px 22px;border-radius:7px;cursor:pointer;white-space:nowrap; box-shadow:0 1px 3px rgba(37,99,235,.15);transition:all .18s ease; }
#invoice-register-content .pr-status-btns button:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:0 3px 10px rgba(37,99,235,.25)}
#invoice-register-content .pr-status-btns button:active{transform:translateY(0);box-shadow:0 1px 3px rgba(37,99,235,.2)}
#invoice-register-content .pr-btn-save{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
#invoice-register-content .inv-bc-item:hover{background:#F5F3FF}
#invoice-register-content .inv-bc-item[style*="accent-light"]{background:#EDE9FE}

/* ═══════════════════════════════════════════════════════════════
   PURCHASE RETURN — CASH & BANK BOOK STYLE, RED THEME
   Scoped to #purchase-return-content so it never leaks into the SPA.
   ═══════════════════════════════════════════════════════════════ */
#purchase-return-content{
  padding:0 !important;max-width:none !important;overflow:hidden;
  display:flex;flex-direction:column;height:calc(100vh - var(--nav-h));
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
#purchase-return-content .pr-ledger{
  position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;
  display:flex;flex-direction:column;min-height:0;
  background:#FBECEC;color:#000;font-size:15px;font-weight:700;line-height:1.4;
  letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:'cv11','ss01','tnum';
}
#purchase-return-content .pr-info-panel{
  flex:0 0 auto;background:#FBECEC;padding:10px 20px;border-bottom:1px solid #d9b3b3;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
#purchase-return-content .pr-info-title{color:#8A0000;font-weight:800;font-size:15px;white-space:nowrap}
#purchase-return-content .pr-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;flex:1;min-width:420px}
#purchase-return-content .pr-field{display:flex;flex-direction:column;gap:2px}
#purchase-return-content .pr-info-label{color:#8A0000;font-weight:800;font-size:12px;letter-spacing:.02em;text-transform:uppercase}
#purchase-return-content .pr-input{
  border:1px solid #e0b4b4;background:#fff;color:#1a2233;
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;padding:5px 9px;border-radius:5px;outline:none;width:100%;
}
#purchase-return-content .pr-input:focus{border-color:#b91c1c;box-shadow:0 0 0 2px rgba(185,28,28,.2)}
#purchase-return-content .pr-search-dd{
  display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:400;
  background:#fff;border:1px solid #e0b4b4;border-radius:8px;box-shadow:0 12px 30px rgba(138,0,0,.18);
  max-height:260px;overflow-y:auto;
}
#purchase-return-content .pr-grid-wrapper{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#purchase-return-content .pr-grid-body{flex:1 1 0;min-height:0;overflow:auto}
#purchase-return-content .xls-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;min-width:1100px}
#purchase-return-content .xls-table thead{position:sticky;top:0;z-index:2}
#purchase-return-content .xls-table thead th{
  background:#FBECEC;color:#B91C1C;font-weight:800;font-size:13px;text-align:center;
  padding:0 8px;height:34px;vertical-align:middle;border-right:1px solid #e3c4c4;border-bottom:2px solid #B91C1C;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#purchase-return-content .xls-table thead th:last-child{border-right:none}
#purchase-return-content .xls-table td{border-right:1px solid #e9dada;border-bottom:1px solid #f0dddd;padding:0;height:32px;vertical-align:middle}
#purchase-return-content .xls-table td:last-child{border-right:none}
#purchase-return-content .xls-table tbody tr:hover td{background:rgba(185,28,28,.06)}
#purchase-return-content .xls-cell{
  width:100%;border:none;background:transparent;padding:4px 8px;font-size:13px;outline:none;
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-weight:700;color:#000;
}
#purchase-return-content .xls-cell::placeholder{color:#bb9a9a}
#purchase-return-content .xls-cell:focus{background:#fff;box-shadow:inset 0 0 0 2px #b91c1c}
#purchase-return-content .xls-cell[type="number"]{text-align:right;font-variant-numeric:tabular-nums}
#purchase-return-content .xls-idx{text-align:center;color:#7a3b3b;font-size:12px;width:38px;background:#F6D9D9;font-weight:800}
#purchase-return-content .xls-del{text-align:center;width:90px}
#purchase-return-content .xls-del button{
  border:none;background:transparent;cursor:pointer;color:#b91c1c;font-size:13px;font-weight:800;
  padding:5px 10px;border-radius:5px;
}
#purchase-return-content .xls-del button:hover{background:#fdeaea}
#purchase-return-content .pr-total-fixed{flex:0 0 auto;border-top:2px solid #B91C1C;background:#F6D9D9}
#purchase-return-content .pr-total-fixed table{width:100%;border-collapse:collapse;table-layout:fixed}
#purchase-return-content .pr-total-fixed td{
  border-right:1px solid #e3c4c4;padding:4px 8px;font-size:14px;font-weight:800;
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;height:30px;vertical-align:middle;background:#F6D9D9;
}
#purchase-return-content .pr-total-fixed td:last-child{border-right:none}
#purchase-return-content .pr-num{text-align:right}
#purchase-return-content .pr-bottom-panel{flex:0 0 auto;background:#fff;border-top:1px solid #8A0000;display:flex;min-height:120px}
#purchase-return-content .pr-bottom-left{flex:1;padding:14px 22px;border-right:1px solid #f0dddd;display:flex;align-items:center}
#purchase-return-content .pr-sum-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 30px;width:100%}
#purchase-return-content .pr-sum-item{display:flex;flex-direction:column;gap:2px}
#purchase-return-content .pr-sum-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#a85252}
#purchase-return-content .pr-sum-value{font-size:19px;font-weight:800;color:#7f1d1d;line-height:1.1}
#purchase-return-content .pr-sum-stock{color:#b91c1c}
#purchase-return-content .pr-sum-amt{color:#8A0000}
#purchase-return-content .pr-bottom-right{flex:0 0 340px;padding:18px 24px;display:flex;flex-direction:column;justify-content:center;gap:4px}
#purchase-return-content .pr-bs-row{display:flex;justify-content:space-between;line-height:1.5}
#purchase-return-content .pr-bs-row .pr-info-label{color:#a85252}
#purchase-return-content .pr-statusbar{ flex:0 0 auto;background:var(--danger-bg);color:var(--danger);height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 16px; font-size:13px;font-weight:700;letter-spacing:.02em; border-bottom:1px solid #fecaca; }
#purchase-return-content .pr-status-info{opacity:.92}
#purchase-return-content .pr-status-btns{display:flex;gap:10px}
#purchase-return-content .pr-status-btns button{ min-width:140px;background:var(--surface);color:var(--danger);border:1.5px solid var(--danger);font-family:inherit;font-size:13px;font-weight:800; letter-spacing:.05em;padding:7px 22px;border-radius:7px;cursor:pointer;white-space:nowrap; box-shadow:0 1px 3px rgba(220,38,38,.15);transition:all .18s ease; }
#purchase-return-content .pr-status-btns button:hover{background:var(--danger-bg);transform:translateY(-1px);box-shadow:0 3px 10px rgba(220,38,38,.25)}
#purchase-return-content .pr-status-btns button:active{transform:translateY(0);box-shadow:0 1px 3px rgba(220,38,38,.2)}
/* Recapture primary buttons used inside the grid (e.g. row Return) to red */
#purchase-return-content .btn-primary{background:var(--danger);border-color:var(--danger);color:#fff}
#purchase-return-content .btn-primary:hover{background:#b91c1c}

.expiry-gone  { animation: expiryBlink 0.9s ease-in-out infinite; border:1.5px solid var(--danger)  !important; }
/* ---------------------------------------------------------------------------
   GHOSH ERP THEME OVERRIDES
   The Departmental Store dashboard is restyled to match the GHOSH ERP reference
   UI (Tabler-style top navbar + fixed left sidebar). Only visual styling changes;
   all markup IDs, JS behaviour and page content are preserved. This block is
   appended so the original component rules below (barcode dropdown, expiry
   animations, purchase-register ledger grid) keep working untouched.
   --------------------------------------------------------------------------- */
:root{
  --nav-h:52px;
  --sidebar-w:240px;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --accent:#2563EB;
  --accent-dark:#1D4ED8;
  --accent-light:#EFF6FF;
  --accent-cyan:#0ea5e9;
  --text-1:#0F172A;
  --text-2:#475569;
  --text-3:#94A3B8;
  --border:#E2E8F0;
  --border-2:#CBD5E1;
  --surface:#FFFFFF;
  --surface-2:#F8FAFC;
  --bg:#F5F7FA;
  --ghosh-navbar:linear-gradient(105deg,#0F1E56 0%,#1D3FBF 34%,#3B7DED 64%,#82B8F9 100%);
  --ghosh-sidebar:#ffffff;
}

html,body{ font-family:var(--font); background:var(--bg); }

/* -- Top navigation (royal deep-blue → light-blue gradient) -- */
.topnav{
  height:var(--nav-h);
  background:var(--ghosh-navbar);
  border-bottom:1px solid rgba(9,20,58,.55);
  box-shadow:0 2px 10px rgba(9,20,58,.28), 0 12px 32px rgba(13,30,90,.18);
}
.topnav-inner{ height:var(--nav-h); padding:0 16px; }
.brand-icon{ background:linear-gradient(135deg,#FFFFFF 0%,#DCE9FF 100%); color:#16255F; box-shadow:0 2px 10px rgba(6,15,48,.45); }
.brand-name{ font-family:var(--font); font-size:15px; font-weight:800; color:#FFFFFF; letter-spacing:.01em; text-shadow:0 1px 2px rgba(6,15,48,.35); }
.brand-sub{ font-family:var(--font); font-size:10px; color:#C9DAFF; letter-spacing:.14em; font-weight:600; }

/* Navbar pill buttons — glassmorphism, green hover */
.topnav .nav-link,
.topnav button.nav-link,
.topnav a.nav-link{
  background:rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(12px) saturate(160%);
  backdrop-filter:blur(12px) saturate(160%);
  border:1px solid rgba(255,255,255,.38);
  color:#FFFFFF !important;
  font-weight:800 !important;
  padding:0 20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30), 0 2px 10px rgba(7,17,51,.28);
}
.topnav .nav-link:hover{
  background:rgba(16,185,129,.32);
  color:#FFFFFF !important;
  border-color:rgba(110,231,183,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 6px 18px rgba(16,185,129,.42);
}
.topnav .nav-link.active{
  background:#1D4ED8;
  color:#FFFFFF !important;
  border-color:#93C5FD;
  box-shadow:0 3px 12px rgba(29,78,216,.45);
}

/* Glass icon buttons on gradient */
.topnav .nav-actions .icon-btn{
  background:rgba(255,255,255,.16);
  color:#FFFFFF;
  width:40px;
  border:1px solid rgba(255,255,255,.45);
}
.topnav .nav-actions .icon-btn:hover{
  background:rgba(16,185,129,.34);
  color:#FFFFFF;
  border-color:rgba(110,231,183,.80);
  box-shadow:0 4px 14px rgba(16,185,129,.38);
}
.topnav .hist-nav .icon-btn{ background:rgba(255,255,255,.16); color:#FFFFFF; width:40px; border-color:rgba(255,255,255,.45); }
.topnav .hist-nav .icon-btn:hover{ background:rgba(16,185,129,.34); color:#FFFFFF; border-color:rgba(110,231,183,.80); }
.notif-dot{ border-color:#fff; }

/* User chip */
.topnav .user-btn{
  background:rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(12px) saturate(160%);
  backdrop-filter:blur(12px) saturate(160%);
  border-color:rgba(255,255,255,.38);
  color:#FFFFFF;
  padding:0 16px 0 8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30), 0 2px 10px rgba(7,17,51,.28);
}
.topnav .user-btn:hover{ background:rgba(16,185,129,.32); border-color:rgba(110,231,183,.78); color:#FFFFFF; }
.topnav .user-name{ color:#FFFFFF; font-weight:800; }
.topnav .user-role{ color:#DCE9FF; font-weight:600; }
.user-dropdown{ top:calc(100% + 8px); }
.search-bar{ background:rgba(255,255,255,.97); }

/* Layout: fixed sidebar + content offset */
.page-container{
  margin-top:0;
  margin-left:0;
  padding-top:var(--nav-h);
  min-height:100vh;
  transition:margin-left .3s ease;
}
.page-container.sidebar-visible{ margin-left:var(--sidebar-w); }
.page-container.sidebar-visible.sidebar-collapsed{ margin-left:64px; }
.page{ display:none; min-height:calc(100vh - var(--nav-h)); }
.page.active{ display:flex; flex-direction:column; }
#page-home{ flex-direction:column; }
.main-content{ flex:1; padding:20px 24px; min-height:calc(100vh - var(--nav-h)); }
.main-content.full{ max-width:none; width:100%; margin:0 auto; }
.ir-bottom-bar{ left:0; }
#page-container.sidebar-visible .ir-bottom-bar{ left:var(--sidebar-w); }

/* Page header / title */
.page-header{
  margin-bottom:20px; background:#fff; border:1px solid var(--border);
  border-radius:12px; padding:16px 20px;
}
.page-title{ font-family:var(--font); font-size:20px; font-weight:700; color:var(--text-1); line-height:1.2; letter-spacing:0; }
.page-subtitle{ font-family:var(--font); font-size:13px; color:var(--text-2); margin-top:2px; font-weight:400; }

/* -- Cards (Tabler) -- */
.card{ background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.card-header{ padding:14px 18px; border-bottom:1px solid var(--border); background:transparent; display:flex; align-items:center; justify-content:space-between; }
.card-title{ font-size:15px; font-weight:700; color:var(--text-1); font-family:var(--font); letter-spacing:.01em; }
.card-body{ padding:18px; }
.card-footer{ padding:0 18px 16px; }

/* -- KPI cards -- */
.kpi-card{ background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:16px; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.kpi-card:hover{ box-shadow:0 4px 12px rgba(0,0,0,.08); transform:translateY(-2px); border-color:var(--accent); }
.kpi-value{ font-size:24px; font-weight:800; color:var(--text-1); font-family:var(--font); }
.kpi-label{ font-size:11px; color:var(--text-2); text-transform:uppercase; letter-spacing:.04em; }
.kpi-icon-wrap{ border-radius:8px; }

/* -- Data table (Tabler) -- */
.data-table thead tr{ background:var(--surface-2); }
.data-table th{
  font-size:10px; font-weight:700; color:var(--text-2); text-transform:uppercase; letter-spacing:.06em;
  border-bottom:2px solid var(--border); padding:10px 12px;
}
.data-table td{ padding:11px 14px; color:var(--text-1); border-bottom:1px solid var(--border); }
.data-table tbody tr:hover{ background:var(--accent-light); }
.data-table tbody tr:hover td:first-child{ border-left:none; }

/* -- Buttons (light primary) -- */
.btn{ font-family:var(--font); }
.btn-primary{ background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%); color:#fff; box-shadow:0 1px 3px rgba(37,99,235,.4); }
.btn-primary:hover{ background:linear-gradient(135deg,#16213e 0%,var(--accent-dark) 100%); box-shadow:0 4px 12px rgba(37,99,235,.4); transform:translateY(-1px); }
.btn-secondary{ background:var(--surface); color:var(--text-1); border:1px solid var(--border); }
.btn-secondary:hover{ border-color:var(--accent); color:var(--accent); background:var(--accent-light); }
.btn-danger{ background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%); color:#fff; }
.btn-danger:hover{ box-shadow:0 4px 12px rgba(220,38,38,.4); transform:translateY(-1px); }

/* -- Form controls (Tabler) -- */
.form-label{ font-size:11px; font-weight:600; color:var(--text-2); text-transform:uppercase; letter-spacing:.05em; }
.form-input{ font-family:var(--font); font-size:14px; height:36px; border:1.5px solid var(--border); border-radius:6px; color:var(--text-1); }
.form-input:focus{ border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-light); }
.form-input:hover:not(:focus){ border-color:var(--border-2); }

/* -- Tabs / pagination / breadcrumb -- */
.tabs{ background:var(--surface-2); }
.tab.active{ background:var(--surface); color:var(--accent); }
.pg-btn:hover{ border-color:var(--accent); color:var(--accent); background:var(--accent-light); }
.pg-btn.active{ background:var(--accent); border-color:var(--accent); color:#fff; }
.bc-item:hover{ color:var(--accent); }

/* ---------------------------------------------------------------
   LEFT SIDEBAR (GHOSH ERP style)
   --------------------------------------------------------------- */
.dashboard-sidebar{
   position:fixed; top:var(--nav-h); left:0; width:var(--sidebar-w);
   height:calc(100vh - var(--nav-h));
   background:var(--ghosh-sidebar);
   border-right:1px solid var(--border);
   overflow-y:auto; z-index:1015; padding:14px 0;
   box-shadow:2px 0 8px rgba(15,23,42,.04);
   transition:width .3s ease, left .3s ease;
   display:none;
}
.dashboard-sidebar.visible{ display:block; }
.dashboard-sidebar.collapsed{ width:64px; }
.dashboard-sidebar.collapsed .sidebar-section-title,
.dashboard-sidebar.collapsed .sidebar-link span{ display:none; }
.dashboard-sidebar.collapsed .sidebar-link{ justify-content:center; padding:12px 0; border-left:none; }
.dashboard-sidebar.collapsed .sidebar-link .si-ico{ margin:0; }
.dashboard-sidebar.collapsed .sidebar-toggle-btn{ margin:16px auto 0; }
.dashboard-sidebar.collapsed .sidebar-toggle-btn span{ display:inline-block; transform:rotate(180deg); }

.dashboard-sidebar .sidebar-section{ margin-bottom:8px; }
.dashboard-sidebar .sidebar-section-title{
   font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
   color:var(--text-3); padding:8px 16px 4px;
}
.dashboard-sidebar .sidebar-link{
   display:flex; align-items:center; gap:10px; padding:9px 16px;
   color:var(--text-2); text-decoration:none; font-size:.82rem; font-weight:500;
   border-left:3px solid transparent; transition:all .15s ease;
}
.dashboard-sidebar .sidebar-link .si-ico{ font-size:1.05rem; width:22px; text-align:center; flex-shrink:0; }
.dashboard-sidebar .sidebar-link:hover{ background:var(--accent-light); color:var(--accent); border-left-color:var(--accent); }
.dashboard-sidebar .sidebar-link:hover .si-ico{ color:var(--accent); }
.dashboard-sidebar .sidebar-link.active{
   background:var(--accent-light); color:var(--accent);
   border-left-color:var(--accent); font-weight:600;
}
.dashboard-sidebar .sidebar-link.active .si-ico{ color:var(--accent); }

.sidebar-toggle-btn{
   background:var(--surface-2); border:1px solid var(--border);
   border-radius:8px; color:var(--text-2); width:32px; height:32px;
   display:flex; align-items:center; justify-content:center;
   cursor:pointer; margin:16px 16px 0; transition:all .15s ease;
}
.sidebar-toggle-btn:hover{ background:var(--accent-light); color:var(--accent); border-color:var(--accent); }

/* Scrollbar inside sidebar */
.dashboard-sidebar::-webkit-scrollbar{ width:6px; }
.dashboard-sidebar::-webkit-scrollbar-thumb{ background:var(--border-2); border-radius:999px; }
.dashboard-sidebar::-webkit-scrollbar-track{ background:transparent; }

/* GST Popup — premium split editor */
.gst-pop{
  position:fixed;
  z-index:900;
  width:248px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  box-shadow:var(--shadow-xl),0 0 0 1px rgba(37,99,235,.06);
  overflow:hidden;
  transform-origin:top center;
  animation:gstPopIn var(--t-base) var(--ease) forwards;
}
.gst-pop__head{
  display:flex;align-items:center;gap:10px;
  padding:13px 16px;
  background:linear-gradient(135deg,var(--accent-light),#F5F3FF);
  border-bottom:1px solid var(--border);
}
.gst-pop__icon{
  width:30px;height:30px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 4px 10px rgba(37,99,235,.35);
}
.gst-pop__titles{display:flex;flex-direction:column;line-height:1.25}
.gst-pop__title{font-size:13.5px;font-weight:700;color:var(--text-1)}
.gst-pop__sub{font-size:11px;color:var(--text-3);font-weight:500}

.gst-pop__body{padding:14px 16px;display:flex;flex-direction:column;gap:11px}
.gst-field{display:flex;flex-direction:column;gap:5px}
.gst-field__label{font-size:11px;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em}
.gst-field__label span{color:var(--accent);font-weight:700}
.gst-num{
  width:100%;height:38px;
  border:1px solid var(--border-2);border-radius:var(--r-md);
  background:var(--surface);padding:0 12px;
  font-family:var(--font);font-size:14px;font-weight:600;color:var(--text-1);outline:none;
  transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) ease,background var(--t-fast) ease;
}
.gst-num::placeholder{color:var(--text-4);font-weight:500}
.gst-num:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:#fff}

.gst-presets{display:flex;gap:6px;margin-top:1px}
.gst-preset{
  flex:1;height:32px;
  border:1px solid var(--border);border-radius:var(--r-md);
  background:var(--surface-2);
  font-family:var(--font);font-size:12px;font-weight:700;color:var(--text-2);
  cursor:pointer;transition:all var(--t-fast) ease;
}
.gst-preset:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}
.gst-preset:active{transform:translateY(1px)}

.gst-pop__foot{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 16px;background:var(--surface-2);border-top:1px solid var(--border);
}
.gst-pop__foot-label{font-size:12px;font-weight:600;color:var(--text-2)}
.gst-pop__foot-value{
  display:inline-flex;align-items:baseline;gap:1px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;
  padding:4px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(37,99,235,.3);
}
.gst-pop__foot-value .gst-combined{font-size:16px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.gst-pop__unit{font-size:11px;font-weight:700;opacity:.85}

@keyframes gstPopIn{
  from{opacity:0;transform:translateY(-8px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ═══════════════════════════════════════════════════════════════
   SUPPLIER REGISTER — ERP LEDGER STYLE, PURPLE THEME
   Mirrors #purchase-return-content (red) but recoloured purple.
   Scoped to #supplier-register-content so it never leaks into the SPA.
   UI/design only — all markup IDs, JS behaviour and data flow preserved.
   ═══════════════════════════════════════════════════════════════ */
#supplier-register-content{
  background:#FBF9FF;
  color:#14102A;
  font-family:'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
#supplier-register-content .page-header{display:none}
#supplier-register-content .page-title{color:#2A0E52;font-size:22px;font-weight:800}
#supplier-register-content .page-subtitle{color:#4A3D63;font-size:13px;margin-top:3px}
#supplier-register-content #supplier-search{
  height:38px;border:1.5px solid #cdbdee;border-radius:8px;background:#fff;
  color:#14102A;font-size:13px;font-weight:600;
}
#supplier-register-content #supplier-search::placeholder{color:#6b5b8f;font-weight:500}
#supplier-register-content #supplier-search:focus{border-color:#5B21B6;box-shadow:0 0 0 3px rgba(91,33,182,.18)}
#supplier-register-content .sup-suggest{
  position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;
  background:#fff;border:1px solid #cdbdee;border-radius:10px;overflow:hidden;
  box-shadow:0 16px 36px rgba(20,16,42,.18);
}
#supplier-register-content .sup-suggest-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 14px;cursor:pointer;border-bottom:1px solid #f1ebfb;color:#14102A;
}
#supplier-register-content .sup-suggest-item:last-child{border-bottom:none}
#supplier-register-content .sup-suggest-item:hover,
#supplier-register-content .sup-suggest-item.active{background:#F3EDFF}
#supplier-register-content .sup-suggest-name{font-weight:700;color:#14102A}
#supplier-register-content .sup-suggest-mobile{font-size:12px;font-family:monospace;color:#5B21B6;font-weight:600}
#supplier-register-content .sup-suggest-empty{padding:12px 14px;color:#4A3D63;font-size:13px}
#supplier-register-content .card{border:1px solid #cdbdee;border-radius:10px;overflow:hidden}
#supplier-register-content .card-header{background:#F3EDFF;border-bottom:1px solid #cdbdee}
#supplier-register-content .card-title{color:#3B0E6B;font-weight:800}
#supplier-register-content .data-table{width:100%;border-collapse:collapse;font-size:14px;color:#14102A}
#supplier-register-content .data-table thead{position:sticky;top:0;z-index:2}
#supplier-register-content .data-table thead th{
  background:#F3EDFF;color:#3B0E6B;font-weight:800;font-size:13px;text-align:left;
  padding:9px 12px;vertical-align:middle;border-right:1px solid #e3d8fb;border-bottom:2px solid #5B21B6;
  white-space:nowrap;
}
#supplier-register-content .data-table thead th:last-child{border-right:none}
#supplier-register-content .data-table td{border-right:1px solid #efe9fb;border-bottom:1px solid #f3eefb;padding:9px 12px;vertical-align:middle;font-size:13px;color:#14102A}
#supplier-register-content .data-table td:last-child{border-right:none}
#supplier-register-content .data-table tbody tr:hover td{background:#F3EDFF}
#supplier-register-content .data-table tbody tr{cursor:pointer}
#supplier-register-content .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
#supplier-register-content .btn-primary:hover{background:var(--accent-dark)}
#supplier-register-content .btn-secondary{background:#fff;border-color:#cdbdee;color:#3B0E6B}
#supplier-register-content .btn-secondary:hover{background:#F3EDFF}
#supplier-register-content .btn-danger{background:var(--danger);border:1px solid #3B0E6B;color:#fff;font-weight:700}
#supplier-register-content .btn-danger:hover{background:linear-gradient(135deg,#3B0E6B 0%,#4C1D95 100%)}
#supplier-register-content .btn-sm{font-weight:700}
#supplier-register-content .form-input{color:#14102A}
#supplier-register-content .form-input:focus{border-color:#5B21B6;box-shadow:0 0 0 3px rgba(91,33,182,.18)}
#supplier-register-content .form-label{color:#3B0E6B;font-weight:700}
#supplier-register-content #supplier-modal > div:first-child{
  background:var(--accent) !important;
}

/* Dashboard-only light theme overrides — sidebar only (navbar unchanged) */
body.dashboard-light .dashboard-sidebar{
  background:var(--surface);
  border-right:1px solid var(--border);
  box-shadow:2px 0 8px rgba(0,0,0,.06);
}
body.dashboard-light .dashboard-sidebar .sidebar-section-title{ color:var(--text-3); }
body.dashboard-light .dashboard-sidebar .sidebar-link{ color:var(--text-1); }
body.dashboard-light .dashboard-sidebar .sidebar-link:hover{ background:var(--accent-light); color:var(--accent); border-left-color:var(--accent); }
body.dashboard-light .dashboard-sidebar .sidebar-link:hover .si-ico{ color:var(--accent); }
body.dashboard-light .dashboard-sidebar .sidebar-link.active{ background:var(--accent-light); color:var(--accent); border-left-color:var(--accent); }
body.dashboard-light .dashboard-sidebar .sidebar-link.active .si-ico{ color:var(--accent); }
body.dashboard-light .sidebar-toggle-btn{ background:var(--surface-2); border:1px solid var(--border); color:var(--text-2); }
body.dashboard-light .sidebar-toggle-btn:hover{ background:var(--accent-light); color:var(--accent); border-color:var(--accent); }
body.dashboard-light .dashboard-sidebar::-webkit-scrollbar-thumb{ background:var(--border-2); }


