:root{
  --bg:#fbf7f0; --surface:#ffffff; --border:#e5e9f2;
  --ink:#0f172a; --muted:#64748b; --primary:#4f46e5; --primary-dark:#4338ca;
  --ok:#16a34a; --warn:#d97706; --danger:#dc2626; --info:#0891b2;
  --sidebar:#0f4f4a; --sidebar-ink:#ffffff; --sidebar-active:rgba(255,255,255,.16);
  --shadow:0 1px 3px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}
a{color:var(--primary);text-decoration:none}
h1,h2,h3,h4{margin:0;line-height:1.2}
.mono{font-family:'Consolas',monospace}
.muted{color:var(--muted)}
.small{font-size:12px}
.num{text-align:right;font-variant-numeric:tabular-nums}
.warn{color:var(--warn);font-weight:600}
.ok{color:var(--ok);font-weight:600}

/* ---------- Layout ---------- */
.app{display:flex;min-height:100vh}
.sidebar{width:240px;background:var(--sidebar);color:#fff;position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;transition:transform .22s ease}
.brand{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.06)}
.brand-logo{width:auto;height:42px;max-width:150px;object-fit:contain;flex:0 0 auto;border-radius:8px;display:block}
.brand-logo-only{height:64px;max-width:190px}
.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:18px}
.brand-mark.large{width:52px;height:52px;font-size:24px;border-radius:12px}
.brand-text{display:flex;flex-direction:column}
.brand-text strong{color:#fff;font-size:16px}
.brand-text span{color:#94a3b8;font-size:11px;letter-spacing:.3px}
.nav{padding:14px 12px;display:flex;flex-direction:column;gap:2px;flex:1;overflow:auto}
.nav-caption{color:#64748b;font-size:11px;letter-spacing:.8px;text-transform:uppercase;margin:14px 10px 6px}
.nav-caption:first-child{margin-top:0}
.nav-link{display:flex;align-items:center;gap:12px;color:var(--sidebar-ink);text-decoration:none;padding:10px 12px;border-radius:8px;font-weight:500;font-size:13.5px;transition:background .15s,color .15s,transform .15s}
.nav-link .nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto;opacity:.8;transition:opacity .15s,transform .15s}
.nav-link .nav-icon svg{width:18px;height:18px}
.nav-link:hover{background:rgba(255,255,255,.08);color:#fff;transform:scale(1.05)}
.nav-link:hover .nav-icon{opacity:1;transform:scale(1.12)}
.nav-link.active{background:var(--sidebar-active);color:#fff;font-weight:600}
.nav-link.active .nav-icon{opacity:1}

.main-wrap{flex:1;margin-left:240px;min-width:0;display:flex;flex-direction:column}
.topbar{height:64px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:20}
.page-title{font-size:19px;font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer}
.topbar-right{display:flex;align-items:center;gap:14px}
.user-chip{display:flex;align-items:center;gap:10px}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.user-meta{display:flex;flex-direction:column;line-height:1.15}
.user-meta strong{font-size:13px}
.user-meta small{color:var(--muted);font-size:11px;text-transform:capitalize}
.content{padding:24px;max-width:1200px;width:100%;margin:0 auto;flex:1}
.footer{text-align:center;color:var(--muted);padding:16px;font-size:12px;border-top:1px solid var(--border);background:var(--surface)}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:30}
.sidebar-overlay.show{display:block}

/* ---------- Components ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--ink);font-weight:600;font-size:13px;cursor:pointer;text-decoration:none;transition:background .15s,border .15s}
.btn:hover{background:#f8fafc}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark)}
.btn-sm{padding:6px 10px;font-size:12px;border-radius:6px}
.btn-lg{padding:12px 22px;font-size:14px}
.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn-ghost:hover{background:#f1f5f9;color:var(--ink)}
.btn-danger{color:var(--danger);border-color:#fecaca;background:#fef2f2}
.btn-danger:hover{background:#fee2e2}
.btn-block{width:100%}

.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.card-head h3{font-size:15px;}
.card-head .count{background:#eef2ff;color:var(--primary);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;margin-left:6px}
.card>p{padding:0 18px}
.empty{color:var(--muted);text-align:center;padding:28px}

/* stats */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:18px;display:flex;align-items:center;gap:16px}
.stat-icon{width:52px;height:52px;border-radius:12px;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-size:24px}
.stat-num{display:block;font-size:24px;font-weight:800}
.stat-label{color:var(--muted);font-size:12px}
.stat-accent .stat-icon{background:#ecfdf5}

/* table */
.table-wrap{overflow-x:auto}
.table{width:100%;border-collapse:collapse;font-size:13.5px}
.table th,.table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.table thead th{background:#f8fafc;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.table tbody tr:last-child td{border-bottom:none}
.table tbody tr:hover{background:#f8fafc}
.row-actions{display:flex;gap:6px;align-items:center}
.row-actions form{margin:0}

/* badges */
.badge{padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700}
.badge-ok{background:#ecfdf5;color:var(--ok)}
.badge-warn{background:#fffbeb;color:var(--warn)}
.badge-info{background:#e0f2fe;color:#0369a1}
.badge-default{background:#f1f5f9;color:#475569}

/* flash */
.flash{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:10px;margin-bottom:18px;font-weight:500}
.flash-success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.flash-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.flash-x{background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.6}

/* forms */
.form-row{display:flex;gap:16px;padding:18px;flex-wrap:wrap;align-items:flex-end}
.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}
.field label{font-size:12px;font-weight:600;color:var(--muted)}
.field input,.field select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;font-family:inherit}
.field input:focus,.field select:focus{outline:2px solid #c7d2fe;border-color:var(--primary)}
.field-actions{flex:0 0 auto;display:flex;flex-direction:row;align-items:flex-end;gap:8px}
.search-form{display:flex;gap:8px}
.search-form input{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;min-width:220px}
.inp{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;width:110px}

/* actions */
.actions-bar{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.actions-bar .spacer{flex:1}

/* alerts */
.alert{padding:14px 16px;border-radius:10px;font-weight:500;margin-bottom:18px}
.alert-ok{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}

/* ledger summary */
.ledger-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;padding:18px}
.ledger-summary>div{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.ledger-summary span{display:block;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}
.ledger-summary strong{font-size:16px}

/* ---------- Challan document ---------- */
.document{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px;max-width:820px;margin:0 auto}
.doc-head{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:16px}
.doc-head h2{font-size:20px}
.doc-title{text-align:right}
.doc-title h3{font-size:16px;color:var(--primary)}
.doc-no{display:inline-block;margin-top:6px;background:var(--ink);color:#fff;padding:4px 12px;border-radius:6px;letter-spacing:1px;font-family:Consolas,monospace}
.doc-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;margin-bottom:18px}
.doc-meta span{display:block;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}
.doc-meta strong{font-size:14px}
.doc-note{grid-column:1/-1;border-top:1px dashed var(--border);padding-top:8px;margin-top:4px}
.doc-table{width:100%;border-collapse:collapse;margin-bottom:26px}
.doc-table th,.doc-table td{border:1px solid var(--border);padding:9px 12px}
.doc-table thead th{background:#f8fafc;font-size:12px;text-transform:uppercase}
.doc-table .mono{font-weight:600}
.doc-total td{background:#f8fafc;font-size:14px}
.doc-sign{display:flex;justify-content:space-between;gap:40px;margin-top:18px}
.doc-sign span{display:inline-block;font-size:12px;color:var(--muted);border-top:1px dashed var(--border);padding-top:6px;white-space:nowrap}

/* ---------- Auth ---------- */
.auth-body{background:linear-gradient(135deg,#0f172a,#4f46e5);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.auth-wrap{width:100%;max-width:400px}
.auth-card{background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.25);padding:34px}
.auth-brand{text-align:center;margin-bottom:24px}
.auth-brand .brand-mark{margin:0 auto 14px}
.auth-brand .auth-logo{height:60px;max-width:220px;object-fit:contain;margin:0 auto 14px;border-radius:10px}
.auth-brand h2{margin:0 0 4px;font-size:20px}
.auth-brand p{color:var(--muted);font-size:13px;margin:0}
.auth-form{display:flex;flex-direction:column;gap:14px}
.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}
.auth-form input{padding:11px 13px;border:1px solid var(--border);border-radius:10px;font-size:14px}
.auth-hint{margin-top:16px;font-size:12px;color:var(--muted);text-align:center}
.auth-hint code{background:#f1f5f9;padding:1px 6px;border-radius:5px}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .main-wrap{margin-left:0}
  .menu-toggle{display:block}
}
@media print{
  .sidebar,.topbar,.footer,.actions-bar{display:none!important}
  .no-print{display:none!important}
  .main-wrap{margin:0}
  .content{padding:0;max-width:none;background:#fff}
  .challan-wrap{max-width:100%}
  .document{border:none;padding:0;box-shadow:none}
  .print-area{border:none;padding:0;box-shadow:none}
  body{background:#fff}
}

/* ---------- Sheet style (stone/amber theme) ---------- */
.sheet{max-width:896px;margin:0 auto;background:#fff;border:1px solid #e7e5e4;border-radius:14px;box-shadow:0 1px 2px rgba(28,25,23,.05);padding:24px}
@media(min-width:768px){.sheet{padding:32px}}
.sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.sheet-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600}
.sheet-icon.amber{background:#fef3c7;color:#b45309}
.sheet-icon.emerald{background:#d1fae5;color:#047857}
.sheet-title{font-family:'Inter',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.3px;color:#1c1917}
.sheet-sub{font-size:13px;color:#78716c;margin:2px 0 0}
.sheet-empty{text-align:center;color:#78716c;padding:18px 0 6px}

.form-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:768px){.form-grid{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.item-label{font-size:12px;color:#78716c;font-weight:500}
.input{width:100%;padding:10px 12px;border:1px solid #d6d3d1;border-radius:8px;background:#fff;font-size:14px;color:#1c1917;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.input:focus{outline:none;border-color:#a8a29e;box-shadow:0 0 0 3px rgba(214,211,209,.35)}
select.input{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}

/* ---------- Karigar search combobox ---------- */
.karigar-search{position:relative}
.karigar-search .input{padding-right:32px}
.karigar-search-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;background:#fff;border:1px solid #e7e5e4;border-radius:10px;box-shadow:0 10px 30px rgba(28,25,23,.14);max-height:280px;overflow:auto;padding:4px}
.karigar-search-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer}
.karigar-search-option:hover,.karigar-search-option.active{background:#f5f5f4}
.karigar-search-option .ks-name{font-weight:600;color:#1c1917;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.karigar-search-option .ks-phone{color:#78716c;font-family:'Consolas',monospace;font-size:12.5px;flex:0 0 auto}
.karigar-search-option .ks-open{color:#047857;font-size:12px;font-weight:700;background:#d1fae5;padding:2px 8px;border-radius:999px;flex:0 0 auto}
.karigar-search-empty{padding:12px;color:#a8a29e;text-align:center;font-size:13.5px}

.items-block{background:#fafaf9;border:1px solid #e7e5e4;border-radius:12px;padding:16px;margin:24px 0}
.items-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.items-title{font-size:13px;font-weight:600;color:#44403c}
.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #d6d3d1;border-radius:8px;background:#fff;color:#44403c;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}
.btn-outline:hover{background:#f5f5f4;border-color:#a8a29e}
.space-y{display:flex;flex-direction:column;gap:12px}
.item-row{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border:1px solid #e7e5e4;border-radius:10px;background:#fff;position:relative}
@media(min-width:640px){.item-row{grid-template-columns:2fr 1fr 1fr auto;align-items:end}}
.item-cell{display:flex;flex-direction:column;gap:5px;min-width:0}
.btn-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid #d6d3d1;background:#fff;color:#78716c;font-size:18px;cursor:pointer;line-height:1;transition:background .15s,color .15s}
.btn-icon:hover{background:#fef2f2;color:#b91c1c;border-color:#fca5a5}
.items-total{font-size:12.5px;color:#78716c;margin:12px 2px 0}
.note-field{margin:0 0 20px}
.submit-bar{display:flex;justify-content:flex-end;padding-top:4px}
.btn-issue{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:none;border-radius:9px;background:#C25E3B;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}
.btn-issue:hover{background:#A64D2E}
.textarea{resize:vertical;min-height:42px;font-family:inherit}

/* return-item cards */
.return-item{border:1px solid #e7e5e4;border-radius:8px;background:#FAF8F3;padding:16px;margin-bottom:10px}
.return-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.return-model{font-weight:700;color:#1c1917;font-size:15px}
.return-stats{display:flex;gap:16px;font-size:12px;color:#78716c;align-items:baseline}
.return-stats b{font-family:'Consolas',monospace;font-size:14px;color:#1c1917;font-weight:600;margin-left:2px}
.return-stats .made b{color:#047857}
.return-stats .pending b{color:#e11d48}
.return-stats .due b{color:#b45309;font-weight:700}
.return-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.return-inputs{grid-template-columns:1fr}}
.return-fully{border:1px dashed #d6d3d1;border-radius:8px;padding:16px;text-align:center;color:#78716c;font-size:14px}

/* record groups (all records of a karigar) */
.records-title{font-size:14px;font-weight:600;color:#44403c;margin:4px 0 2px}
.record-group{border:1px solid #e7e5e4;border-radius:10px;background:#fff;padding:14px;margin-bottom:14px}
.record-group-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px dashed #e7e5e4;padding-bottom:10px;margin-bottom:12px;font-size:13px}
.record-group-head strong{font-size:14px;color:#1c1917}
.record-group-date{color:#78716c}
.record-group-due{margin-left:auto;font-weight:600;color:#b45309}

/* ---------- Records page (original layout) ---------- */
.records-search{max-width:34rem;margin-bottom:20px}
.records-search .relative{position:relative}
.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:17px;color:#a8a29e;pointer-events:none}
.records-search .input{padding:13px 14px 13px 42px;background:#fff;border-color:#d6d3d1;border-radius:8px;font-size:16px}

/* ---------- Product Details search ---------- */
.pd-search{max-width:34rem;margin-bottom:20px}
.pd-search .relative{position:relative}
.pd-search .input{padding:13px 14px 13px 42px;background:#fff;border-color:#d6d3d1;border-radius:8px;font-size:16px}
.records-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;box-shadow:0 1px 2px rgba(28,25,23,.06);overflow:hidden}
.overflow-x{overflow-x:auto}
.rtable{width:100%;border-collapse:collapse;font-size:15px}
.rtable thead tr{border-bottom:1px solid #e7e5e4}
.rtable th{font-size:12px;text-transform:uppercase;letter-spacing:.6px;font-weight:600;color:#57534e;text-align:left;padding:10px 10px;white-space:nowrap}
.rtable th.r,.rtable td.r{text-align:right}
.rtable tbody tr{border-bottom:1px solid #f5f5f4;cursor:pointer}
.rtable tbody tr:last-child{border-bottom:none}
.rtable tbody tr:hover{background:#fafaf9}
.rtable td{padding:11px 10px;font-size:15px;font-weight:600;color:#292524;white-space:nowrap;vertical-align:top}
.rtable td.mono{font-family:'Consolas',monospace}
.rtable td.semibold{font-weight:700;color:#1c1917}
.rtable .made{color:#047857;font-weight:700}
.rtable .bal{color:#e11d48;font-weight:700}
.rtable .pending{color:#e11d48;font-weight:700}
.rtable td.rowspan{border-right:1px solid #f5f5f4;background:#fff}
.rtable td.karigar{font-weight:700;color:#1c1917}
.rtable .badge{font-size:12.5px;padding:4px 12px}
.rtable td .small{font-size:12.5px}
.records-empty{text-align:center;color:#a8a29e;padding:48px 16px}
.hidden-form{display:none}
.badge-issued{background:#fef3c7;color:#92400e}
.badge-partial{background:#e0f2fe;color:#075985}
.badge-completed{background:#d1fae5;color:#065f46}
.badge{border:none;text-transform:capitalize}
.row-actions.right{justify-content:flex-end}
.act-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;background:transparent;color:#a8a29e;font-size:17px;cursor:pointer;transition:background .15s,color .15s}
.act-btn:hover{background:#f5f5f4;color:#C25E3B}
.act-btn.edit:hover{background:#ecfdf5;color:#047857}
.act-btn.danger:hover{background:#fff1f2;color:#e11d48}
@media(max-width:640px){
  .records-search{max-width:100%}
  .pd-search{max-width:100%}
  .rtable th{padding:9px 8px}
  .rtable td{padding:10px 8px;font-size:14px}
}

/* ---------- Products Details: responsive cards ---------- */
@media(max-width:768px){
  .pd-table,.pd-table tbody,.pd-table tr,.pd-table td{display:block;width:100%}
  .pd-table thead{display:none}
  .pd-table tr{background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:10px 14px 12px;margin:0 0 12px;box-shadow:0 1px 2px rgba(28,25,23,.06)}
  .pd-table td{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:7px 0;border:none;font-size:15px;white-space:normal}
  .pd-table td::before{content:attr(data-label);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#a8a29e}
  .pd-table td .row-actions{flex-direction:row;justify-content:center}
  .pd-table td .material-text{max-width:none}
  .pd-table td.pd-note{align-items:stretch}
}

/* ---------- Challan document (original emergent layout) ---------- */
.challan-wrap{max-width:768px;margin:0 auto}
.challan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding:0 16px}
.challan-toolbar-right{display:flex;gap:8px;flex-wrap:wrap}
.challan-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid #d6d3d1;background:#fff;color:#44403c;text-decoration:none;transition:background .15s,border-color .15s}
.challan-btn:hover{background:#f5f5f4;border-color:#a8a29e}
.challan-btn-wa{background:#25D366;border-color:#25D366;color:#fff}
.challan-btn-wa:hover{background:#1EBE5A;border-color:#1EBE5A}
.challan-btn-print{background:#C25E3B;border-color:#C25E3B;color:#fff}
.challan-btn-print:hover{background:#A64D2E;border-color:#A64D2E}
.print-area{background:#fff;border:1px solid #e7e5e4;box-shadow:0 1px 2px rgba(28,25,23,.06);padding:32px}
@media(min-width:768px){.print-area{padding:48px}}
.challan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:2px solid #1c1917;padding-bottom:20px}
.challan-brand{display:flex;align-items:center;gap:12px}
.challan-logo{width:44px;height:44px;border-radius:6px;background:#1c1917;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex:0 0 auto}
.challan-brand h2{font-size:20px;font-weight:800;letter-spacing:-.4px;color:#1c1917;margin:0;line-height:1.2}
.challan-brand p{margin:0;font-size:12px;color:#78716c}
.challan-no-block{text-align:right}
.challan-no-block .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#a8a29e;margin:0 0 2px}
.challan-no-block .no{font-family:'Consolas',monospace;font-size:14px;font-weight:600;color:#1c1917;margin:0}
.challan-no-block .dt{font-size:12px;color:#78716c;margin:4px 0 0}
.challan-karigar{margin-top:24px}
.challan-karigar .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#a8a29e;margin:0 0 2px}
.challan-karigar h3{margin:0;font-size:16px;font-weight:700;color:#1c1917}
.challan-karigar p{margin:0;font-size:14px;color:#57534e}
.challan-table{width:100%;border-collapse:collapse;margin-top:32px;font-size:14px;border:1px solid #d6d3d1}
.challan-table th,.challan-table td{border:1px solid #d6d3d1;padding:10px 12px}
.challan-table thead th{background:#f5f5f4;text-align:left;font-weight:600;color:#44403c}
.challan-table th.r,.challan-table td.r{text-align:right}
.challan-table tbody{font-family:'Consolas',monospace}
.challan-table td.model{font-weight:600;color:#1c1917}
.challan-table td small{font-size:11px}
.challan-made{color:#047857}
.challan-pending-ok{color:#047857}
.challan-pending-over{color:#e11d48}
.challan-table tr.total-row td{background:#fafaf9;font-weight:700;color:#1c1917}
.challan-note{margin-top:16px;font-size:14px;color:#57534e;line-height:1.5}
.challan-note b{color:#44403c}
.return-history{margin-top:32px}
.return-history h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#a8a29e;font-weight:600}
.return-table{width:100%;border-collapse:collapse;font-size:14px;border:1px solid #d6d3d1}
.return-table th,.return-table td{border:1px solid #d6d3d1;padding:8px 12px}
.return-table thead th{background:#f5f5f4;text-align:left;font-weight:600;color:#44403c}
.return-table th.r,.return-table td.r{text-align:right}
.return-table tbody{font-family:'Consolas',monospace}
.challan-sign{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:32px}
.challan-sign div{border-top:1px solid #a8a29e;padding-top:8px;text-align:center;font-size:14px;color:#57534e}

/* ---------- Models page (original layout) ---------- */
.models-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
@media(min-width:640px){.models-toolbar{flex-direction:row;align-items:center;justify-content:space-between}}
.models-search{position:relative;width:100%;max-width:30rem}
.models-search .search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:17px;color:#a8a29e;pointer-events:none}
.models-search .input{padding:13px 14px 13px 41px;background:#fff;border-color:#d6d3d1;border-radius:8px;font-size:16px;width:100%}
.models-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.models-btn{display:inline-flex;align-items:center;gap:7px;padding:11px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:background .15s,border-color .15s}
.models-btn-export{background:#059669;color:#fff}
.models-btn-export:hover{background:#047857}
.models-btn-outline{background:#fff;border-color:#d6d3d1;color:#44403c}
.models-btn-outline:hover{background:#f5f5f4;border-color:#a8a29e}
.add-model-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;box-shadow:0 1px 2px rgba(28,25,23,.06);margin-bottom:20px}
.add-model-card .form-row{padding:16px 20px}
.models-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;box-shadow:0 1px 2px rgba(28,25,23,.06);overflow:hidden}
.models-card + .models-card{margin-top:16px}
.models-head{display:flex;align-items:stretch}
.models-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:16px;padding:18px 20px;text-align:left;background:none;border:none;cursor:pointer;transition:background .15s}
.models-toggle:hover{background:#fafaf9}
.models-icon{width:46px;height:46px;flex:0 0 auto;border-radius:8px;background:#F4F1EA;color:#C25E3B;display:flex;align-items:center;justify-content:center}
.models-icon svg{width:24px;height:24px}
.models-title{min-width:0;flex:1}
.models-title strong{display:block;font-size:18px;font-weight:700;letter-spacing:-.3px;color:#1c1917}
.models-karigars{display:flex;align-items:center;gap:6px;font-size:13px;color:#78716c;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.models-stats{display:none;gap:26px;flex:0 0 auto}
@media(min-width:640px){.models-stats{display:flex}}
.models-stat{text-align:right}
.models-stat span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:#44403c}
.models-stat b{display:block;font-family:'Consolas',monospace;font-size:16px;font-weight:600;margin-top:3px;color:#1c1917}
.models-stat.made b{color:#047857}
.models-stat.pending b{color:#e11d48}
.models-stat.pending b.done{color:#047857}
.models-chevron{flex:0 0 auto;color:#a8a29e;font-size:16px;transition:transform .15s}
.models-card.open .models-chevron{transform:rotate(180deg)}
.models-del{flex:0 0 auto;align-self:center;width:40px;height:40px;margin-right:14px;border:none;border-radius:6px;background:transparent;color:#a8a29e;font-size:18px;cursor:pointer;transition:background .15s,color .15s}
.models-del:hover{background:#fff1f2;color:#e11d48}
.models-mobile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid #f5f5f4;padding:14px 20px}
@media(min-width:640px){.models-mobile-stats{display:none}}
.models-mobile-stats div p:first-child{font-size:11px;text-transform:uppercase;color:#57534e;margin:0}
.models-mobile-stats div p:last-child{font-family:'Consolas',monospace;font-size:16px;font-weight:600;color:#1c1917;margin:3px 0 0}
.models-mobile-stats div.made p:last-child{color:#047857}
.models-mobile-stats div.pending p:last-child{color:#e11d48}
.models-mobile-stats div.pending.done p:last-child{color:#047857}
.models-jobs{display:none}
.models-card.open .models-jobs{display:block;border-top:1px solid #e7e5e4}
.models-jobs-wrap{overflow-x:auto}
.mtable{width:100%;border-collapse:collapse;font-size:15px}
.mtable thead tr{border-bottom:1px solid #e7e5e4}
.mtable th{font-size:12px;text-transform:uppercase;letter-spacing:.6px;font-weight:600;color:#44403c;text-align:left;padding:12px 20px;white-space:nowrap}
.mtable th.r,.mtable td.r{text-align:right}
.mtable tbody tr{border-bottom:1px solid #f5f5f4;cursor:pointer}
.mtable tbody tr:last-child{border-bottom:none}
.mtable tbody tr:hover{background:#fafaf9}
.mtable td{padding:12px 20px;font-size:15px;color:#292524;white-space:nowrap}
.mtable td.mono{font-family:'Consolas',monospace}
.mtable td.date{color:#57534e}
.mtable td.karigar{font-weight:500;color:#1c1917}
.mtable td.made{color:#047857}
.mtable td.pending{color:#e11d48}
.mtable td .pending-ok{color:#047857}
.mtable td .small{font-size:12px}
.mtable .badge{font-size:12.5px;padding:4px 11px}
.models-empty{border:1px dashed #d6d3d1;border-radius:8px;padding:64px 16px;text-align:center;color:#a8a29e}

/* ---------- Dashboard stat cards (original layout) ---------- */
.dstats{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}
@media(min-width:640px){.dstats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.dstats{grid-template-columns:repeat(4,1fr)}}
.dstat{position:relative;overflow:hidden;border:1px solid;border-radius:16px;padding:20px;box-shadow:0 1px 2px rgba(28,25,23,.06);transition:transform .2s}
.dstat:hover{transform:translateY(-2px)}
.dstat-head{display:flex;align-items:center;justify-content:space-between}
.dstat-label{font-size:14px;font-weight:500;color:#57534e}
.dstat-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.15);flex:0 0 auto}
.dstat-icon svg{width:16px;height:16px}
.dstat-value{font-family:'Consolas',monospace;font-size:26px;font-weight:700;letter-spacing:-.5px;margin:14px 0 0}
.dstat-value .dstat-unit{font-family:'Inter',sans-serif;font-size:14px;font-weight:500;margin-left:5px;opacity:.6}
.dstat-amber{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#ffedd5)}
.dstat-amber .dstat-icon{background:linear-gradient(135deg,#f59e0b,#f97316)}
.dstat-amber .dstat-value{color:#7c2d12}
.dstat-slate{border-color:#e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}
.dstat-slate .dstat-icon{background:linear-gradient(135deg,#64748b,#334155)}
.dstat-slate .dstat-value{color:#1e293b}
.dstat-emerald{border-color:#a7f3d0;background:linear-gradient(135deg,#ecfdf5,#ccfbf1)}
.dstat-emerald .dstat-icon{background:linear-gradient(135deg,#10b981,#0d9488)}
.dstat-emerald .dstat-value{color:#064e3b}
.dstat-rose{border-color:#fecdd3;background:linear-gradient(135deg,#fff1f2,#fee2e2)}
.dstat-rose .dstat-icon{background:linear-gradient(135deg,#f43f5e,#ef4444)}
.dstat-rose .dstat-value{color:#881337}
.dstat-teal{border-color:#99f6e4;background:linear-gradient(135deg,#f0fdfa,#cffafe)}
.dstat-teal .dstat-icon{background:linear-gradient(135deg,#0d9488,#0891b2)}
.dstat-teal .dstat-value{color:#134e4a}
.dstat-indigo{border-color:#c7d2fe;background:linear-gradient(135deg,#eef2ff,#ede9fe)}
.dstat-indigo .dstat-icon{background:linear-gradient(135deg,#6366f1,#7c3aed)}
.dstat-indigo .dstat-value{color:#312e81}
.dstat-sky{border-color:#bae6fd;background:linear-gradient(135deg,#f0f9ff,#dbeafe)}
.dstat-sky .dstat-icon{background:linear-gradient(135deg,#0ea5e9,#2563eb)}
.dstat-sky .dstat-value{color:#0c4a6e}

/* ---------- Products Details page ---------- */
.pd-header{margin-bottom:20px}
.pd-header h2{font-size:22px;font-weight:800;letter-spacing:-.4px;color:#1c1917;margin:0}
.pd-header p{color:#78716c;font-size:14px;margin:4px 0 0}
.pd-form{background:#fff;border:1px solid #e7e5e4;border-radius:12px;box-shadow:0 1px 2px rgba(28,25,23,.06);padding:24px;margin-bottom:24px}
.pd-form-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.pd-form-head h3{font-size:16px;font-weight:700;color:#1c1917}
.pd-form-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.pd-form-grid{grid-template-columns:1fr 1fr}}
.pd-full{grid-column:1/-1}
.pd-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.rtable td.r-date{color:#57534e}
.rtable td.pd-note{white-space:normal;max-width:360px}
.pd-table{table-layout:auto;width:100%}
.pd-table th,.pd-table td{white-space:normal;overflow-wrap:break-word}
.pd-table th{text-align:center}
.pd-table td{text-align:center}
.pd-table td.r-date,.pd-table td.mono{white-space:nowrap}
.pd-table td.pd-note{min-width:300px;max-width:400px}
.material-text{font-size:15px;line-height:1.6;color:#1c1917;text-align:left}
.material-text p,.material-text div{margin:0 0 6px}
.material-text ul{margin:4px 0;padding-left:22px}
.material-text li{margin:2px 0}
.material-editor{display:flex;flex-direction:column}
.material-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;background:#fafaf9;border:1px solid #d6d3d1;border-bottom:none;border-radius:8px 8px 0 0}
.mt-btn{min-width:32px;height:30px;padding:0 8px;border:1px solid #e7e5e4;border-radius:6px;background:#fff;color:#292524;font-size:14px;cursor:pointer}
.mt-btn:hover{background:#f5f5f4}
.mt-select{flex:0 0 auto;min-height:30px;padding:5px 10px;border:1px solid #e7e5e4;border-radius:6px;background:#fff;font-size:14px;color:#292524;line-height:1.2}
.material-box{min-height:130px;padding:10px 12px;border:1px solid #d6d3d1;border-radius:0 0 8px 8px;background:#fff;font-size:15px;line-height:1.6;color:#1c1917;outline:none}
.material-box:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.material-box:empty::before{content:attr(data-placeholder);color:#a8a29e;pointer-events:none}

/* ---------- Settings page ---------- */
.settings-form{display:flex;flex-direction:column;gap:18px;padding:20px 22px 24px}
.settings-preview{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px}
.settings-preview-label{font-size:12px;font-weight:600;color:#78716c;width:100%;text-transform:uppercase;letter-spacing:.5px}
.settings-logo-preview{height:48px;max-width:180px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid #e7e5e4;padding:4px}
.checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#e11d48;font-weight:600;cursor:pointer}
.checkbox-label input{width:16px;height:16px;accent-color:#e11d48}
.settings-actions{display:flex;justify-content:flex-end}

@media(max-width:640px){
  .models-toggle{gap:12px;padding:14px 16px}
  .models-title strong{font-size:16px}
  .models-stats{gap:14px}
  .mtable th,.mtable td{padding:10px 14px;font-size:14px}
}