:root{
  --navy:#161d3f;
  --navy-dark:#0f1430;
  --blue:#2457c5;
  --blue-dark:#1a3f99;
  --gray-bg:#f4f6f9;
  --text:#2b2f3a;
  --muted:#6b7280;
  --border:#e6e8ee;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Segoe UI',Arial,Helvetica,sans-serif;background:var(--gray-bg);color:var(--text);}
a{text-decoration:none;color:inherit;}

.admin-wrap{display:flex;min-height:100vh;}

/* ---------- Sidebar (light blue theme) ---------- */
.admin-sidebar{width:240px;background:#eaf1fc;color:var(--text);flex-shrink:0;height:100vh;overflow-y:auto;position:sticky;top:0;border-right:1px solid #d7e3f7;}
.admin-sidebar .brand{display:flex;align-items:center;gap:10px;padding:20px;border-bottom:1px solid #d7e3f7;position:sticky;top:0;background:#eaf1fc;z-index:2;}
.brand-badge{background:var(--blue);color:#fff;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:18px;flex-shrink:0;}
.brand-text{display:flex;flex-direction:column;line-height:1.2;font-weight:bold;color:var(--navy);font-size:15px;}
.brand-text small{color:var(--muted);font-weight:normal;font-size:11px;}
.admin-sidebar nav{padding:10px 0;}

.nav-link{display:flex;align-items:center;gap:12px;padding:12px 20px;font-size:14px;border-left:3px solid transparent;color:var(--text);}
.nav-link i{width:18px;text-align:center;color:#9aa1b5;}
.nav-link:hover,.nav-link.active{background:#fff;color:var(--blue-dark);border-left-color:var(--blue);}
.nav-link:hover i,.nav-link.active i{color:var(--blue);}

.nav-divider{border-top:1px solid var(--border);margin:10px 0;}

/* Collapsible groups */
.nav-group{border-left:3px solid transparent;}
.nav-group summary{display:flex;align-items:center;gap:12px;padding:12px 20px;font-size:14px;cursor:pointer;list-style:none;color:var(--text);}
.nav-group summary::-webkit-details-marker{display:none;}
.nav-group summary i:first-child{width:18px;text-align:center;color:#9aa1b5;}
.nav-group summary span{flex:1;}
.nav-group summary .chev{width:auto;font-size:11px;color:#9aa1b5;transition:transform .15s;}
.nav-group[open] summary .chev{transform:rotate(180deg);}
.nav-group summary:hover{background:#dde9fb;}
.nav-group[open]{background:#dde9fb;}
.nav-group[open] summary{color:var(--blue-dark);font-weight:600;}

.nav-sub{padding:2px 0 8px;}
.nav-sub a{display:block;padding:9px 20px 9px 50px;font-size:13.5px;color:var(--muted);border-left:3px solid transparent;position:relative;}
.nav-sub a::before{content:'';position:absolute;left:32px;top:50%;width:5px;height:5px;border-radius:50%;background:#c7cbdb;transform:translateY(-50%);}
.nav-sub a:hover,.nav-sub a.active{color:var(--blue-dark);background:#fff;border-left-color:var(--blue);}
.nav-sub a:hover::before,.nav-sub a.active::before{background:var(--blue);}

/* ---------- Main area ---------- */
.admin-main{flex:1;display:flex;flex-direction:column;min-width:0;}
.admin-topbar{background:#fff;border-bottom:1px solid var(--border);padding:16px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.page-heading{font-size:19px;font-weight:700;color:var(--navy);flex-shrink:0;margin-right:20px;}
.topbar-right{display:flex;align-items:center;gap:18px;margin-left:auto;}

.flag-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;line-height:1;}
.flag-toggle:hover{border-color:var(--blue);}

.admin-avatar{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);}
.admin-avatar i{font-size:26px;color:var(--blue);}

.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;}
.theme-toggle:hover{border-color:var(--blue);color:var(--blue);}

.admin-content{padding:24px;}

/* ---------- Cards ---------- */
.admin-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:20px;box-shadow:0 1px 2px rgba(16,24,40,.04);}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px;}
.stat-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0;}
.stat-icon-blue{background:linear-gradient(135deg,#2457c5,#5b9bff);}
.stat-icon-orange{background:linear-gradient(135deg,#e2711d,#ffab4c);}
.stat-icon-purple{background:linear-gradient(135deg,#7b2ff7,#b06ffa);}
.stat-icon-green{background:linear-gradient(135deg,#12a454,#3fd17e);}
.stat-card .num{font-size:24px;font-weight:bold;color:var(--navy);line-height:1.2;}
.stat-card .label{color:var(--muted);font-size:12.5px;}

/* ---------- Tables ---------- */
table.admin-table{width:100%;border-collapse:collapse;background:#fff;}
table.admin-table th,table.admin-table td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:13.5px;}
table.admin-table th{background:#fafbfc;color:var(--muted);text-transform:uppercase;font-size:11.5px;letter-spacing:.4px;}
table.admin-table img{width:44px;height:44px;object-fit:cover;border-radius:6px;}
table.admin-table tr:hover td{background:#fafbfe;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;padding:9px 16px;border-radius:6px;border:none;cursor:pointer;font-size:13px;font-weight:600;}
.btn-pink{background:var(--blue);color:#fff;}
.btn-pink:hover{background:var(--blue-dark);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-outline{background:#fff;border:1px solid var(--border);color:var(--text);}
.btn-outline:hover{border-color:var(--blue);color:var(--blue);}
.btn-danger{background:#e33;color:#fff;}
.btn-sm{padding:6px 12px;font-size:12px;}

.badge{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:bold;text-transform:capitalize;}
.badge-paid,.badge-active,.badge-completed{background:#e0f6e6;color:#127a2e;}
.badge-pending,.badge-processing{background:#fff4d6;color:#a17400;}
.badge-failed,.badge-cancelled,.badge-inactive{background:#fde2e2;color:#a11;}

/* ---------- Forms ---------- */
.form-group{margin-bottom:14px;}
.form-group label{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:14px;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

.alert{padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:14px;}
.alert-error{background:#fde2e2;color:#a11;}
.alert-success{background:#e0f6e6;color:#127a2e;}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--blue-dark));}
.login-card{background:#fff;border-radius:10px;padding:34px;width:340px;box-shadow:0 10px 40px rgba(0,0,0,.25);}
.login-card h2{margin-top:0;color:var(--navy);text-align:center;}

/* ---------- Invoice (screen + print) ---------- */
.invoice-box{max-width:800px;margin:20px auto;background:#fff;border:1px solid var(--border);border-radius:8px;padding:36px;}
.invoice-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--navy);padding-bottom:16px;margin-bottom:20px;}
.invoice-head h1{margin:0;font-size:22px;color:var(--navy);}
.invoice-head .invoice-meta{text-align:right;font-size:13px;color:var(--muted);}
.invoice-parties{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px;font-size:13.5px;}
.invoice-parties h4{margin:0 0 6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;}
.invoice-table{width:100%;border-collapse:collapse;margin-bottom:20px;}
.invoice-table th,.invoice-table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;font-size:13.5px;}
.invoice-table th{background:#fafbfc;}
.invoice-totals{margin-left:auto;width:280px;font-size:14px;}
.invoice-totals div{display:flex;justify-content:space-between;padding:6px 0;}
.invoice-totals .grand{font-weight:bold;font-size:16px;border-top:2px solid var(--navy);padding-top:10px;color:var(--navy);}
.invoice-footer{margin-top:30px;text-align:center;color:var(--muted);font-size:12.5px;}
.invoice-actions{max-width:800px;margin:0 auto 10px;display:flex;justify-content:flex-end;gap:10px;}

@media print{
  .invoice-actions{display:none;}
  body{background:#fff;}
  .invoice-box{border:none;margin:0;padding:0;}
}

@media(max-width:768px){
  .admin-sidebar{width:64px;}
  .admin-sidebar .brand-text{display:none;}
  .nav-link span,.nav-group summary span,.nav-group .chev,.nav-sub{display:none;}
  .nav-link,.nav-group summary{justify-content:center;padding:14px 0;}
  .nav-sub{display:none;}
  .form-row{grid-template-columns:1fr;}
  .invoice-parties{flex-direction:column;}
}

/* ================= Dark Mode ================= */
html[data-theme="dark"] body{background:#0e1117;color:#dfe2ef;}

html[data-theme="dark"] .admin-sidebar{background:#141826;border-right-color:#242a3d;}
html[data-theme="dark"] .admin-sidebar .brand{background:#141826;border-bottom-color:#242a3d;}
html[data-theme="dark"] .brand-text{color:#fff;}
html[data-theme="dark"] .brand-text small{color:#8891c2;}
html[data-theme="dark"] .nav-link{color:#c3c8e0;}
html[data-theme="dark"] .nav-link i{color:#7d84a8;}
html[data-theme="dark"] .nav-link:hover,html[data-theme="dark"] .nav-link.active{background:#1d2336;color:#fff;}
html[data-theme="dark"] .nav-group summary{color:#c3c8e0;}
html[data-theme="dark"] .nav-group summary i:first-child{color:#7d84a8;}
html[data-theme="dark"] .nav-group summary:hover{background:#1d2336;}
html[data-theme="dark"] .nav-group[open]{background:#1a1f30;}
html[data-theme="dark"] .nav-group[open] summary{color:#fff;}
html[data-theme="dark"] .nav-sub a{color:#9099bf;}
html[data-theme="dark"] .nav-sub a::before{background:#3a3f5c;}
html[data-theme="dark"] .nav-sub a:hover,html[data-theme="dark"] .nav-sub a.active{color:#fff;background:#1d2336;}
html[data-theme="dark"] .nav-divider{border-top-color:#242a3d;}

html[data-theme="dark"] .admin-topbar{background:#141826;border-bottom-color:#242a3d;}
html[data-theme="dark"] .page-heading{color:#fff;}
html[data-theme="dark"] .admin-avatar{color:#dfe2ef;}
html[data-theme="dark"] .theme-toggle{background:#1d2336;border-color:#2a3049;color:#dfe2ef;}
html[data-theme="dark"] .flag-toggle{background:#1d2336;border-color:#2a3049;}

html[data-theme="dark"] .admin-card,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] table.admin-table,
html[data-theme="dark"] .login-card,
html[data-theme="dark"] .invoice-box{background:#171b2a;border-color:#242a3d;color:#dfe2ef;}
html[data-theme="dark"] table.admin-table th{background:#1d2336;color:#9099bf;}
html[data-theme="dark"] table.admin-table td{border-bottom-color:#242a3d;}
html[data-theme="dark"] table.admin-table tr:hover td{background:#1a1f30;}
html[data-theme="dark"] .stat-card .num{color:#fff;}
html[data-theme="dark"] .stat-card .label{color:#9099bf;}

html[data-theme="dark"] .form-group input,
html[data-theme="dark"] .form-group select,
html[data-theme="dark"] .form-group textarea{background:#1d2336;border-color:#2a3049;color:#dfe2ef;}
html[data-theme="dark"] .btn-outline{background:#1d2336;border-color:#2a3049;color:#dfe2ef;}
html[data-theme="dark"] .btn-outline:hover{border-color:var(--blue);color:#5b9bff;}

html[data-theme="dark"] .invoice-table th{background:#1d2336;}
html[data-theme="dark"] .invoice-parties h4{color:#9099bf;}
html[data-theme="dark"] .invoice-footer{color:#9099bf;}
html[data-theme="dark"] hr{border-top-color:#242a3d !important;}
