:root{
  --saffron:#FF6B00;--saffron-light:#FF8C3A;--saffron-pale:#FFF3E8;
  --maroon:#8B1A1A;--maroon-light:#C0392B;--maroon-pale:#FFF0F0;
  --gold:#C8962A;--gold-light:#E8B84B;--gold-pale:#FFFBF0;
  --cream:#FFFDF5;--cream-dark:#F7F1E3;--cream-border:#E8DFC8;
  --text-primary:#1A0A00;--text-secondary:#5C3D1E;--text-muted:#9C7B5A;
  --green:#1A7A3A;--green-pale:#E8F5ED;--blue:#1A3A7A;--blue-pale:#E8EDF5;
  --red:#8B1A1A;--red-pale:#FFF0F0;
  --sidebar-w:260px;--header-h:64px;--radius:12px;--radius-sm:8px;--radius-lg:16px;
  --shadow:0 2px 12px rgba(139,26,26,.08);--shadow-md:0 4px 24px rgba(139,26,26,.12);
  --font-dev:'Noto Sans Devanagari',sans-serif;--font-body:'Inter',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:var(--font-body);background:var(--cream);color:var(--text-primary);font-size:15px}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:inherit;border:none;outline:none}
input,select,textarea{font-family:inherit;outline:none}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--cream-border);border-radius:4px}

/* Layout */
.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,#1A0A00 0%,#2D1200 60%,#3D1A00 100%);color:#fff;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:100;transition:transform .3s ease}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99}
.main-content{margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh}
.top-header{height:var(--header-h);background:var(--cream);border-bottom:2px solid var(--cream-border);display:flex;align-items:center;padding:0 20px;gap:12px;position:sticky;top:0;z-index:50}
.page-body{flex:1;padding:20px;max-width:1600px;width:100%}
.sidebar-logo{padding:20px 16px 12px;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar-logo-title{font-family:var(--font-dev);font-size:13px;font-weight:700;color:#FFD580;line-height:1.4;text-align:center}
.sidebar-logo-sub{font-size:10px;color:rgba(255,255,255,.5);text-align:center;margin-top:4px}
.sidebar-nav{flex:1;overflow-y:auto;padding:8px}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;color:rgba(255,255,255,.7);font-size:13.5px;font-weight:500;margin-bottom:2px;font-family:var(--font-dev)}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item.active{background:linear-gradient(135deg,var(--saffron),var(--maroon-light));color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(255,107,0,.3)}
.nav-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}
.sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}
.sidebar-user{display:flex;align-items:center;gap:10px}
.menu-btn{width:40px;height:40px;border-radius:var(--radius-sm);background:transparent;display:none;align-items:center;justify-content:center;font-size:20px;color:var(--text-secondary)}
.header-brand{font-family:var(--font-dev);font-weight:700;color:var(--maroon);font-size:15px;line-height:1.2}
.header-spacer{flex:1}
.header-badge{background:var(--saffron-pale);border:1px solid var(--saffron);color:var(--saffron);padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}
.header-user{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--cream-dark);border-radius:var(--radius);cursor:pointer}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--saffron),var(--maroon));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid var(--cream-border);z-index:100}
.bottom-nav-inner{display:flex;align-items:stretch}
.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px 12px;gap:3px;cursor:pointer;color:var(--text-muted);background:transparent;transition:all .2s;font-family:var(--font-dev);text-decoration:none}
.bottom-nav-item.active{color:var(--saffron)}
.bottom-nav-icon{font-size:20px}
.bottom-nav-label{font-size:9px;font-weight:600}
.bottom-nav-new{background:linear-gradient(135deg,var(--saffron),#E55000);color:#fff!important;border-radius:16px 16px 8px 8px;margin-top:-24px;box-shadow:0 -4px 16px rgba(255,107,0,.3)}
.bottom-nav-new .bottom-nav-icon{font-size:24px}

/* Cards */
.card{background:#fff;border-radius:var(--radius);border:1px solid var(--cream-border);padding:16px;box-shadow:var(--shadow)}
.card-title{font-family:var(--font-dev);font-size:14px;font-weight:700;color:var(--text-secondary);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.kpi-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.chart-row{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px}
.kpi-card{background:#fff;border-radius:var(--radius);padding:16px;border:1px solid var(--cream-border);box-shadow:var(--shadow);position:relative;overflow:hidden}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.kpi-card.saffron::before{background:linear-gradient(90deg,var(--saffron),var(--saffron-light))}
.kpi-card.maroon::before{background:linear-gradient(90deg,var(--maroon),var(--maroon-light))}
.kpi-card.gold::before{background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.kpi-card.green::before{background:linear-gradient(90deg,var(--green),#2ECC71)}
.kpi-card.blue::before{background:linear-gradient(90deg,var(--blue),#3498DB)}
.kpi-card.red::before{background:linear-gradient(90deg,#C0392B,#E74C3C)}
.kpi-icon{font-size:22px;margin-bottom:6px}
.kpi-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-dev)}
.kpi-value{font-size:20px;font-weight:800;color:var(--text-primary);margin-top:2px;line-height:1;word-break:break-all}
.kpi-sub{font-size:11px;color:var(--text-muted);margin-top:4px;font-family:var(--font-dev)}
.balance-card{border-radius:var(--radius-lg);padding:16px;color:#fff;position:relative;overflow:hidden}
.balance-card.positive{background:linear-gradient(135deg,#1A7A3A,#27AE60)}
.balance-card.negative{background:linear-gradient(135deg,#8B1A1A,#C0392B)}
.balance-card.neutral{background:linear-gradient(135deg,var(--gold),var(--saffron))}
.balance-label{font-family:var(--font-dev);font-size:12px;opacity:.85;margin-bottom:4px}
.balance-amount{font-size:26px;font-weight:800;word-break:break-all}
.balance-sub{font-family:var(--font-dev);font-size:11px;opacity:.7;margin-top:4px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;transition:all .2s;font-family:var(--font-dev);min-height:40px;cursor:pointer;text-decoration:none}
.btn-primary{background:linear-gradient(135deg,var(--saffron),#E55000);color:#fff;box-shadow:0 2px 8px rgba(255,107,0,.3)}
.btn-primary:hover{background:linear-gradient(135deg,#E55000,#C44000);transform:translateY(-1px)}
.btn-maroon{background:linear-gradient(135deg,var(--maroon),#6B1010);color:#fff}
.btn-red{background:linear-gradient(135deg,#C0392B,#E74C3C);color:#fff}
.btn-green{background:linear-gradient(135deg,var(--green),#1A9A3A);color:#fff}
.btn-outline{background:transparent;border:1.5px solid var(--cream-border);color:var(--text-secondary)}
.btn-outline:hover{border-color:var(--saffron);color:var(--saffron);background:var(--saffron-pale)}
.btn-ghost{background:transparent;color:var(--text-muted);padding:6px 10px;font-size:12px}
.btn-ghost:hover{background:var(--cream-dark);color:var(--text-primary)}
.btn-sm{padding:6px 12px;font-size:12px;min-height:32px}
.btn-xl{padding:16px 24px;font-size:15px;min-height:56px;width:100%;border-radius:var(--radius);justify-content:center}
.btn-whatsapp{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff}

/* Forms */
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px;font-family:var(--font-dev)}
.form-input{width:100%;padding:10px 12px;border:1.5px solid var(--cream-border);border-radius:var(--radius-sm);font-size:14px;background:#fff;color:var(--text-primary);transition:border-color .2s;font-family:var(--font-dev)}
.form-input:focus{border-color:var(--saffron);box-shadow:0 0 0 3px rgba(255,107,0,.1)}
.form-select{width:100%;padding:10px 12px;border:1.5px solid var(--cream-border);border-radius:var(--radius-sm);font-size:14px;background:#fff;color:var(--text-primary);font-family:var(--font-dev)}
.form-select:focus{border-color:var(--saffron)}
.form-textarea{width:100%;padding:10px 12px;border:1.5px solid var(--cream-border);border-radius:var(--radius-sm);font-size:13px;background:#fff;color:var(--text-primary);font-family:var(--font-dev);resize:vertical;min-height:72px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Tables */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--cream-border)}
table{width:100%;border-collapse:collapse}
thead th{background:var(--cream-dark);padding:10px 12px;font-size:11px;font-weight:700;color:var(--text-muted);text-align:left;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--cream-border);white-space:nowrap}
tbody td{padding:10px 12px;border-bottom:1px solid var(--cream-border);font-size:13px;color:var(--text-primary);vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--cream)}
tfoot td{padding:10px 12px;font-size:13px;font-weight:700;background:var(--cream-dark);border-top:2px solid var(--cream-border)}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:700}
.badge-valid{background:var(--green-pale);color:var(--green)}
.badge-voided{background:var(--red-pale);color:var(--red)}
.badge-pending{background:#FFF8E0;color:#A06000}
.badge-partial{background:#E8F0FF;color:#1A3A7A}
.badge-paid{background:var(--green-pale);color:var(--green)}
.badge-promised{background:#F0E8FF;color:#5A1A7A}
.badge-cash{background:#E8F5FF;color:#1A5A7A}
.badge-upi{background:var(--saffron-pale);color:var(--saffron)}
.badge-bank{background:var(--gold-pale);color:var(--gold)}

/* Misc */
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.page-title{font-family:var(--font-dev);font-size:22px;font-weight:800;color:var(--text-primary)}
.page-subtitle{font-size:13px;color:var(--text-muted);margin-top:2px;font-family:var(--font-dev)}
.tabs{display:flex;gap:2px;background:var(--cream-dark);padding:3px;border-radius:var(--radius-sm);margin-bottom:16px;flex-wrap:wrap}
.tab-btn{padding:7px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-muted);background:transparent;border:none;font-family:var(--font-dev);transition:all .2s;white-space:nowrap}
.tab-btn.active{background:#fff;color:var(--saffron);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--cream-border);border-radius:var(--radius);padding:8px 14px;flex:1;max-width:400px}
.search-bar input{border:none;outline:none;font-family:var(--font-dev);font-size:14px;color:var(--text-primary);width:100%;background:transparent}
.perf-bar-wrap{margin-bottom:10px}
.perf-bar-top{display:flex;justify-content:space-between;margin-bottom:4px}
.perf-bar-name{font-family:var(--font-dev);font-size:13px;font-weight:600;color:var(--text-primary)}
.perf-bar-val{font-size:12px;font-weight:700;color:var(--saffron)}
.perf-bar-bg{background:var(--cream-dark);border-radius:4px;height:8px;overflow:hidden}
.perf-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--saffron),var(--maroon));transition:width .8s ease}
.perf-bar-fill-red{height:100%;border-radius:4px;background:linear-gradient(90deg,#C0392B,#E74C3C)}
.pending-card{background:#fff;border-radius:var(--radius);border:1px solid var(--cream-border);padding:14px;margin-bottom:10px;box-shadow:var(--shadow)}
.expense-card{background:#fff;border-radius:var(--radius);border:1px solid var(--cream-border);padding:14px;margin-bottom:10px;box-shadow:var(--shadow);border-left:4px solid #C0392B}
.alert{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:14px;font-family:var(--font-dev);font-size:13px}
.alert-success{background:var(--green-pale);color:var(--green);border:1px solid var(--green)}
.alert-error{background:var(--red-pale);color:var(--red);border:1px solid var(--maroon)}
.toast-container{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);z-index:999;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.toast{background:#1A0A00;color:#fff;padding:10px 20px;border-radius:var(--radius);font-family:var(--font-dev);font-size:13px;font-weight:500;box-shadow:var(--shadow-md);animation:toastIn .3s ease;max-width:90vw;text-align:center}
.toast.success{background:var(--green)}
.toast.error{background:var(--maroon)}
@keyframes toastIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.quick-amounts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.amount-chip{padding:6px 12px;border:1.5px solid var(--cream-border);border-radius:20px;font-size:12px;font-weight:700;background:#fff;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-family:var(--font-dev)}
.amount-chip:hover,.amount-chip.selected{border-color:var(--saffron);background:var(--saffron);color:#fff}
.mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.mode-btn{padding:10px;border:2px solid var(--cream-border);border-radius:var(--radius-sm);background:#fff;font-family:var(--font-dev);font-size:13px;font-weight:600;color:var(--text-secondary);transition:all .2s;cursor:pointer}
.mode-btn.selected{border-color:var(--saffron);background:var(--saffron-pale);color:var(--saffron)}
.receipt-doc{background:#FFFDF0;border:2px solid var(--gold);border-radius:12px;max-width:420px;margin:0 auto;overflow:hidden;box-shadow:0 8px 40px rgba(139,26,26,.2)}
.receipt-header-bg{background:linear-gradient(180deg,#2D0A00 0%,#5C1A00 100%);padding:18px 16px 14px;text-align:center;border-bottom:4px solid var(--gold)}
.receipt-mandal-name{font-family:var(--font-dev);font-size:17px;font-weight:800;color:#FFD580;margin:6px 0 2px}
.receipt-pavti-title{font-size:20px;font-weight:700;color:#FFD580;margin-top:8px;font-family:var(--font-dev)}
.receipt-body{padding:16px}
.receipt-no-row{display:flex;justify-content:space-between;padding:8px 12px;background:var(--maroon);border-radius:var(--radius-sm);margin-bottom:14px}
.receipt-row{display:flex;padding:6px 0;border-bottom:1px dashed var(--cream-border)}
.receipt-lbl{font-family:var(--font-dev);font-size:11px;color:var(--text-muted);width:120px;flex-shrink:0}
.receipt-val{font-family:var(--font-dev);font-size:13px;font-weight:600;color:var(--text-primary);flex:1}
.receipt-amount-big{text-align:center;padding:14px;background:var(--gold-pale);border-radius:var(--radius-sm);margin:12px 0}
.receipt-amount-num{font-size:32px;font-weight:800;color:var(--maroon)}
.receipt-sigs{display:flex;justify-content:space-between;padding:14px 12px 8px;border-top:2px dashed var(--gold);margin-top:12px}
.receipt-sig{text-align:center;font-family:var(--font-dev);font-size:10px;color:var(--text-muted)}
.receipt-sig-line{width:80px;height:1px;background:var(--text-muted);margin:0 auto 4px}
.empty-state{text-align:center;padding:48px 24px}
.empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}
.empty-text{font-family:var(--font-dev);font-size:15px;color:var(--text-muted)}

/* Login */
.login-page{min-height:100vh;background:linear-gradient(160deg,#1A0A00 0%,#3D1200 40%,#1A0A00 100%);display:flex;align-items:center;justify-content:center;padding:16px}
.login-card{background:rgba(255,253,245,.97);border-radius:var(--radius-lg);padding:32px 28px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.4);border:1px solid rgba(200,150,42,.3)}
.login-ganesh{font-size:56px;text-align:center;margin-bottom:8px}

/* Responsive */
@media(max-width:1024px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay.open{display:block}
  .main-content{margin-left:0}
  .menu-btn{display:flex}
  .bottom-nav{display:block}
  .page-body{padding:16px 12px 80px}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .hero-grid{grid-template-columns:1fr}
  .chart-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .kpi-grid-3{grid-template-columns:repeat(3,1fr);gap:8px}
  .kpi-card{padding:12px}
  .kpi-value{font-size:16px}
  .kpi-icon{font-size:18px}
  .page-title{font-size:18px}
  .form-row{grid-template-columns:1fr}
  .hero-grid{gap:8px}
  .balance-amount{font-size:20px}
  .balance-label{font-size:10px}
}
@media print{.sidebar,.bottom-nav,.top-header,.btn{display:none!important}.main-content{margin-left:0}.page-body{padding:0}}
