/* ══════════════════════════════════════
   رانش — استایل اصلی
   ══════════════════════════════════════ */

/* فونت */
@font-face{font-family:'Vazirmatn';src:url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}

/* ── متغیرها — حالت روشن ── */
:root{
  --blue:#1d4ed8;--orange:#c2410c;--purple:#6d28d9;--green:#15803d;
  --bg:#f5f7fa;--bg2:#eef1f6;
  --nav-bg:rgba(255,255,255,.95);
  --card:#ffffff;--card2:#f0f3f8;
  --border:#d1d5db;--border2:#c0c5cf;
  --text:#111827;--muted:#4b5563;
  --shadow:0 1px 4px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.06);
  --shadow-sm:0 1px 3px rgba(0,0,0,.06);
  --btn-ghost-bg:#f0f3f8;--btn-ghost-c:#374151;--btn-ghost-b:#d0d5e0;
  --input-bg:#f8fafc;--input-focus-bg:#eff6ff;
  --select-opt:#fff;
  --alert-err-bg:#fef2f2;--alert-err-b:#fca5a5;--alert-err-c:#dc2626;
  --alert-ok-bg:#f0fdf4;--alert-ok-b:#86efac;--alert-ok-c:#16a34a;
  --badge-blue-bg:#dbeafe;--badge-blue-c:#1d4ed8;--badge-blue-b:#bfdbfe;
  --badge-orange-bg:#ffedd5;--badge-orange-c:#c2410c;--badge-orange-b:#fed7aa;
  --badge-purple-bg:#ede9fe;--badge-purple-c:#6d28d9;--badge-purple-b:#ddd6fe;
  --badge-green-bg:#dcfce7;--badge-green-c:#15803d;--badge-green-b:#bbf7d0;
}

/* ── متغیرها — حالت تاریک ── */
html.dark{
  --bg:#0e0e1a;--bg2:#13131f;
  --nav-bg:rgba(14,14,26,.88);
  --card:rgba(255,255,255,.05);--card2:rgba(255,255,255,.03);
  --border:rgba(255,255,255,.1);--border2:rgba(255,255,255,.07);
  --text:#e8e8f0;--muted:rgba(255,255,255,.45);
  --shadow:0 1px 4px rgba(0,0,0,.4),0 4px 16px rgba(0,0,0,.3);
  --shadow-sm:0 1px 3px rgba(0,0,0,.3);
  --btn-ghost-bg:rgba(255,255,255,.07);--btn-ghost-c:#e8e8f0;--btn-ghost-b:rgba(255,255,255,.12);
  --input-bg:rgba(255,255,255,.06);--input-focus-bg:rgba(74,144,217,.08);
  --select-opt:#1a1a2e;
  --alert-err-bg:rgba(248,113,113,.1);--alert-err-b:rgba(248,113,113,.3);--alert-err-c:#f87171;
  --alert-ok-bg:rgba(74,222,128,.1);--alert-ok-b:rgba(74,222,128,.3);--alert-ok-c:#4ade80;
  --badge-blue-bg:rgba(74,144,217,.2);--badge-blue-c:#93c5fd;--badge-blue-b:rgba(74,144,217,.3);
  --badge-orange-bg:rgba(245,129,63,.2);--badge-orange-c:#fdba74;--badge-orange-b:rgba(245,129,63,.3);
  --badge-purple-bg:rgba(124,92,191,.2);--badge-purple-c:#c4b5fd;--badge-purple-b:rgba(124,92,191,.3);
  --badge-green-bg:rgba(74,222,128,.15);--badge-green-c:#4ade80;--badge-green-b:rgba(74,222,128,.3);
}

/* ── Reset ── */
*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;}
body{font-family:'Vazirmatn',Tahoma,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;width:100%;transition:background .25s,color .25s;}
a{color:inherit;text-decoration:none;}
input,select,textarea,button{font-family:inherit;}

/* ── Navbar ── */
nav{position:sticky;top:0;z-index:200;background:var(--nav-bg);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:0 20px;transition:background .25s;}
.nav-inner{max-width:1100px;margin:0 auto;height:62px;display:flex;align-items:center;justify-content:space-between;direction:rtl;}
.logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:var(--blue);flex-shrink:0;order:3;}
.logo svg{width:36px;height:36px;}
.nav-links{display:flex;align-items:center;gap:4px;order:2;}
.nav-links a{padding:7px 14px;border-radius:10px;font-size:13px;font-weight:500;color:var(--muted);transition:all .2s;}
.nav-links a:hover{color:var(--text);background:var(--card2);}
.nav-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;order:1;}
.theme-toggle{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--btn-ghost-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .2s;flex-shrink:0;color:var(--muted);}
.theme-toggle:hover{background:var(--card2);color:var(--text);}

/* Hamburger */
.nav-ham{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--btn-ghost-bg);padding:0;}
.nav-ham span{display:block;width:18px;height:2px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .25s;}
.nav-ham.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-ham.active span:nth-child(2){opacity:0;}
.nav-ham.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile drawer */
.nav-drawer{display:none;position:fixed;top:62px;left:0;right:0;bottom:0;z-index:500;background:var(--card);overflow-y:auto;-webkit-overflow-scrolling:touch;}
.nav-drawer.open{display:block;animation:drawerSlide .25s ease forwards;}
@keyframes drawerSlide{from{opacity:0;transform:translateY(-16px);}to{opacity:1;transform:translateY(0);}}
.nav-drawer-inner{padding:8px 12px 60px;}
.nav-drawer-inner a{display:flex;align-items:center;gap:14px;padding:15px 16px;border-radius:14px;font-size:15px;font-weight:500;color:var(--text);margin-bottom:2px;text-decoration:none;border-bottom:1px solid var(--border);}
.nav-drawer-inner a:last-of-type{border-bottom:none;}
.nav-drawer-inner a i{width:22px;text-align:center;font-size:17px;flex-shrink:0;}
.nav-drawer-inner .drawer-divider{height:8px;background:var(--bg2);margin:8px -12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.nav-drawer-inner .drawer-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 4px;}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:10px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;}
.btn-primary{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff !important;box-shadow:0 2px 8px rgba(37,99,235,.35);}
.btn-orange{background:linear-gradient(135deg,var(--orange),#c2410c);color:#fff;}
.btn-ghost{background:var(--btn-ghost-bg);color:var(--btn-ghost-c);border:1px solid var(--btn-ghost-b);}
.btn-ghost:hover{background:var(--card2);color:var(--text);border-color:var(--border);filter:none !important;}
.btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5;}
html.dark .btn-danger{background:rgba(248,113,113,.1);color:#f87171;border-color:rgba(248,113,113,.3);}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05);}
.btn-ghost:hover,.btn-danger:hover{filter:none;}
.btn:active{transform:none;}

/* ── Icon helpers ── */
.ic-blue{color:var(--blue);}
.ic-orange{color:var(--orange);}
.ic-purple{color:var(--purple);}
.ic-green{color:var(--green);}
.ic-muted{color:var(--muted);}
.ic-red{color:#dc2626;}
html.dark .ic-red{color:#f87171;}

/* ── Layout ── */
.page{max-width:1100px;margin:0 auto;padding:36px 20px;flex:1;}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);}
.card-sm{padding:18px;}

/* ── Badges ── */
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.badge-blue{background:var(--badge-blue-bg);color:var(--badge-blue-c);border:1px solid var(--badge-blue-b);}
.badge-orange{background:var(--badge-orange-bg);color:var(--badge-orange-c);border:1px solid var(--badge-orange-b);}
.badge-purple{background:var(--badge-purple-bg);color:var(--badge-purple-c);border:1px solid var(--badge-purple-b);}
.badge-green{background:var(--badge-green-bg);color:var(--badge-green-c);border:1px solid var(--badge-green-b);}

/* ── Forms ── */
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:7px;text-transform:uppercase;letter-spacing:.4px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--input-bg);border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text);font-size:14px;outline:none;transition:all .25s;direction:rtl;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);background:var(--input-focus-bg);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted);}
.form-group select option{background:var(--select-opt);}
.form-group textarea{resize:vertical;min-height:90px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* ── Alerts ── */
.alert{padding:12px 16px;border-radius:12px;font-size:13px;margin-bottom:20px;}
.alert-error{background:var(--alert-err-bg);border:1px solid var(--alert-err-b);color:var(--alert-err-c);}
.alert-success{background:var(--alert-ok-bg);border:1px solid var(--alert-ok-b);color:var(--alert-ok-c);}

/* ── Grids ── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}

/* ── Table ── */
table{width:100%;border-collapse:collapse;font-size:13px;}
table th{padding:10px 14px;text-align:right;color:var(--muted);font-weight:600;font-size:11px;border-bottom:1px solid var(--border);text-transform:uppercase;}
table td{padding:11px 14px;border-bottom:1px solid var(--border);color:var(--text);}
table tr:last-child td{border-bottom:none;}
table tr:hover td{background:var(--card2);}

/* ── Footer ── */
.site-footer{text-align:center;padding:20px 16px;color:var(--muted);font-size:12px;border-top:1px solid var(--border);margin-top:auto;background:var(--bg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.has-panel-nav .site-footer{display:none;}

/* ── Panel bottom nav ── */
.panel-bottom-nav{display:none;position:fixed;bottom:0;right:0;left:0;z-index:150;background:var(--card);border-top:1px solid var(--border);padding:6px 4px env(safe-area-inset-bottom,0);box-shadow:0 -2px 16px rgba(0,0,0,.08);}
.panel-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:10px;color:var(--muted);text-decoration:none;border-radius:10px;transition:color .2s;min-width:0;}
.panel-bottom-nav a i{font-size:19px;line-height:1;}
.panel-bottom-nav a.active{color:var(--blue);}
.panel-bottom-nav a span{font-size:9px;display:block;text-align:center;}

/* ══════════════════════════════════════
   Responsive — موبایل
   ══════════════════════════════════════ */
@media(max-width:768px){
  nav{padding:0 14px;}
  .nav-links{display:none;}
  .nav-ham{display:flex;}

  .page{padding:14px 12px 20px;}
  .has-panel-nav .page{padding-bottom:20px;}
  .card{padding:14px;border-radius:14px;}

  .grid-3,.grid-2{grid-template-columns:1fr;gap:12px;}
  .form-row{grid-template-columns:1fr;}

  .dash-grid,.health-layout,.profile-grid,.admin-layout{grid-template-columns:1fr !important;gap:14px !important;}
  .ps-sidebar{position:static !important;top:auto !important;z-index:auto !important;}
  .panel-bottom-nav{display:none !important;}

  .tbl-wrap,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table{min-width:520px;}

  .btn{padding:8px 14px;font-size:12px;}
  h1{font-size:22px !important;}
  h2{font-size:18px !important;}
  canvas{max-width:100% !important;}
  .card{overflow:hidden;}
}
