@font-face{
  font-family:"Vazirmatn";
  src:url("../webfonts/Vazirmatn[wght].woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg:#f3f6fb;
  --bg-soft:#eef3f9;
  --panel:#ffffff;
  --panel-2:#f8fbff;
  --panel-3:#eef4fb;
  --line:#dbe5f0;
  --line-strong:#c5d4e5;
  --text:#132238;
  --text-soft:#22344d;
  --muted:#60738b;
  --muted-2:#8b9bb0;
  --accent:#2563eb;
  --accent-strong:#1d4ed8;
  --accent-soft:#e8f0ff;
  --accent-soft-2:#f2f7ff;
  --success:#0f9f6e;
  --danger:#dc4c64;
  --warning:#b7791f;
  --shadow:0 18px 44px rgba(15, 23, 42, .08);
  --shadow-soft:0 8px 24px rgba(15, 23, 42, .05);
  --radius-xl:24px;
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:10px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Vazirmatn","Segoe UI","Tahoma",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 22%),
    radial-gradient(circle at top left, rgba(20,184,166,.05), transparent 18%),
    linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

button,
input,
select,
textarea{
  font-family:"Vazirmatn","Segoe UI","Tahoma",sans-serif;
}

a{color:inherit;text-decoration:none}
img{max-width:100%}

.admin-app{min-height:100vh;display:flex;flex-direction:row-reverse;gap:1.25rem;padding:1.25rem}
.sidebar-shell{width:290px;flex:0 0 290px}
.sidebar-panel{
  min-height:calc(100vh - 2.5rem);
  position:sticky;
  top:1.25rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:1rem;
  border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius-xl);
  background:linear-gradient(180deg, rgba(18,32,56,.96) 0%, rgba(22,37,63,.96) 100%);
  box-shadow:0 24px 50px rgba(15,23,42,.16);
}

.sidebar-brand,
.sidebar-user-card,
.section-card,
.card,
.flash-item,
.mobile-user-card,
.stat-card,
.detail-card,
.list-row{
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--panel);
}

.sidebar-brand,
.sidebar-user-card,
.nav-link-panel,
.mobile-drawer,
.mobile-user-card,
.sidebar-panel .nav-block-label,
.sidebar-panel .sidebar-user-kicker,
.sidebar-panel .sidebar-user-name,
.sidebar-panel .sidebar-user-text,
.sidebar-panel .nav-link-panel,
.sidebar-panel .nav-link-panel small,
.sidebar-panel .brand-title,
.sidebar-panel .brand-subtitle{color:#f5f8ff}
.sidebar-panel .brand-subtitle,
.sidebar-panel .sidebar-user-kicker,
.sidebar-panel .sidebar-user-text,
.sidebar-panel .nav-block-label,
.sidebar-panel .nav-link-panel small{color:rgba(233,240,255,.62)}

.sidebar-brand{display:flex;align-items:center;gap:.9rem;padding:1rem;border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.brand-mark{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  font-weight:900;font-size:1rem;color:#fff;
  background:linear-gradient(135deg,#3b82f6 0%, #14b8a6 100%);
  box-shadow:0 12px 24px rgba(37,99,235,.28);
}
.brand-title{font-size:1rem;font-weight:800;line-height:1.2}
.brand-subtitle{margin-top:.18rem;font-size:.82rem;line-height:1.65}

.sidebar-user-card{padding:1rem;border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.sidebar-user-kicker,.nav-block-label,.page-kicker{
  font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.sidebar-user-name{margin-top:.45rem;font-size:1rem;font-weight:800}
.sidebar-user-text{margin-top:.35rem;font-size:.88rem;line-height:1.85}
.nav-block{margin-top:.15rem}
.nav-block-label{margin:0 .3rem .6rem}
.nav-stack{display:grid;gap:.5rem}
.nav-link-panel{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.92rem .95rem;
  border:1px solid transparent;border-radius:15px;background:transparent;transition:all .18s ease;
}
.nav-link-panel:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.07)}
.nav-link-panel.active{
  background:linear-gradient(135deg, rgba(59,130,246,.26) 0%, rgba(20,184,166,.12) 100%);
  border-color:rgba(96,165,250,.22);
}
.nav-leading{display:flex;align-items:center;gap:.75rem;min-width:0}
.nav-badge{
  width:32px;height:32px;border-radius:11px;display:grid;place-items:center;flex:none;
  background:rgba(255,255,255,.1);color:#fff;font-size:.7rem;font-weight:800;
}
.nav-link-panel small{font-size:.73rem}

.workspace-shell{flex:1 1 auto;min-width:0}
.topbar-panel{
  position:sticky;top:1.25rem;z-index:10;margin-bottom:1rem;padding:1rem 1.15rem;
  border:1px solid rgba(255,255,255,.85);border-radius:var(--radius-xl);
  background:rgba(255,255,255,.8);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft);
}
.topbar-grid{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.topbar-left{display:flex;align-items:flex-start;gap:.9rem;flex:1 1 420px;min-width:0}
.topbar-right{display:flex;align-items:center;gap:.7rem;justify-content:flex-end;flex:1 1 340px;flex-wrap:wrap}
.page-kicker{color:var(--accent-strong)}
.page-title{margin:0;font-size:1.5rem;line-height:1.15;font-weight:900;letter-spacing:-.03em}
.page-subtitle{margin-top:.35rem;color:var(--muted);font-size:.94rem;line-height:1.75}

.command-bar,.user-chip,.soft-badge,.status-pill,.badge-soft,.hero-stat{
  border:1px solid var(--line);border-radius:999px;background:var(--panel);
}
.command-bar{
  display:flex;align-items:center;gap:.55rem;min-width:280px;padding:.35rem .85rem;
  background:rgba(248,251,255,.95);
}
.command-bar .form-control{min-height:36px;padding:0;border:0;background:transparent;color:var(--text);box-shadow:none}
.command-bar .form-control::placeholder{color:var(--muted)}
.user-chip{display:flex;align-items:center;gap:.65rem;padding:.35rem .6rem .35rem .35rem;box-shadow:var(--shadow-soft)}
.user-avatar{
  width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:#fff;
  font-size:.82rem;font-weight:900;background:linear-gradient(135deg,#3b82f6 0%, #14b8a6 100%);
}
.user-meta strong{font-size:.86rem}
.user-meta span{display:block;margin-top:.1rem;font-size:.73rem;color:var(--muted)}
.mobile-menu-btn{display:none}

.content-shell{border-radius:var(--radius-xl)}
.content-body{padding:0}
.flash-stack{display:grid;gap:.75rem;margin-bottom:1rem}
.flash-item{padding:.9rem 1rem;box-shadow:var(--shadow-soft)}
.soft-badge,.status-pill,.badge-soft{
  display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;color:var(--accent-strong);
  font-size:.77rem;font-weight:800;background:var(--accent-soft);
}
.status-pill{background:#edf7f3;color:var(--success);border-color:#cae9dc}

.section-card,.card{padding:1rem;box-shadow:var(--shadow-soft)}
.card:hover,.section-card:hover{border-color:var(--line-strong)}
.card-soft{background:linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%)}
.section-title{font-size:1.02rem;font-weight:800;letter-spacing:-.02em;margin:0}
.section-subtitle{margin-top:.28rem;color:var(--muted);font-size:.9rem;line-height:1.65}

.hero-card{
  padding:1.4rem;border:1px solid rgba(255,255,255,.85);border-radius:var(--radius-xl);
  background:linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(242,247,255,.96) 100%);
  box-shadow:var(--shadow);
}
.hero-eyebrow{
  display:inline-flex;align-items:center;padding:.34rem .64rem;border:1px solid #d7e5fb;
  border-radius:999px;color:var(--accent-strong);background:var(--accent-soft-2);
  font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.hero-title{margin:1rem 0 0;font-size:1.8rem;line-height:1.2;font-weight:900;letter-spacing:-.04em;color:var(--text)}
.hero-text{margin:.7rem 0 0;color:var(--muted);font-size:.98rem;line-height:1.95;max-width:62ch}
.hero-stat{margin-top:1rem;padding:.5rem .8rem;background:#fff;color:var(--text-soft);font-size:.8rem;font-weight:800}
.hero-side{
  height:100%;min-height:220px;padding:1rem;border:1px solid #dce7f4;border-radius:20px;
  background:linear-gradient(180deg, #f8fbff 0%, #f1f6fd 100%);
}
.hero-side-label{color:var(--muted);font-size:.82rem}
.hero-side-value{margin-top:.28rem;font-size:1.45rem;font-weight:900;letter-spacing:-.03em}
.hero-side-divider{height:1px;background:#dce7f4;margin:1rem 0}

.metric-card{position:relative;padding:1.15rem;min-height:160px;overflow:hidden}
.metric-card::before{
  content:"";position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:14px;
  background:linear-gradient(135deg, rgba(59,130,246,.14) 0%, rgba(20,184,166,.10) 100%);
}
.metric-label{color:var(--muted);font-size:.84rem}
.metric-value{margin-top:.75rem;font-size:2rem;font-weight:900;letter-spacing:-.05em;color:var(--text)}
.metric-footnote{margin-top:.45rem;color:var(--muted);font-size:.82rem;line-height:1.7}

.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.detail-card{padding:1rem;background:linear-gradient(180deg,#fff 0%, #fbfdff 100%)}
.detail-label{color:var(--muted);font-size:.82rem;margin-bottom:.3rem}
.detail-value{font-size:1rem;font-weight:800;word-break:break-word}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.field-span-2{grid-column:1 / -1}
.action-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.kv-list{display:grid;gap:.75rem}
.list-row{padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(180deg,#fff 0%, #fbfdff 100%)}
.list-row-main{min-width:0}
.list-row-title{font-weight:800}
.list-row-subtitle{margin-top:.2rem;color:var(--muted);font-size:.84rem;line-height:1.7}
.form-check{display:flex;align-items:center;gap:.55rem;padding:.25rem 0}
.form-check .form-check-input{margin:0}
textarea.form-control{min-height:120px}

.table-responsive{border:1px solid var(--line);border-radius:16px;overflow:auto;background:#fff}
.table{margin-bottom:0;color:var(--text)}
.table thead th{background:#f7faff;border-bottom:1px solid var(--line);color:var(--muted);font-size:.79rem;font-weight:800;white-space:nowrap}
.table td{vertical-align:middle;white-space:nowrap;border-color:#e6edf5;padding:.9rem .75rem}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg: #fbfdff}
.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:#f4f8fd;color:var(--text)}

.bg-white{background-color:#fff!important}
.bg-body-tertiary{background-color:#f7faff!important}
.border{border-color:var(--line)!important}
.text-muted{color:var(--muted)!important}
.alert{border:1px solid var(--line);background:#fff;color:var(--text)}
.alert-success{background:#edf9f3;color:#166b4a;border-color:#cdecd9}
.alert-warning{background:#fff7e9;color:#8a621b;border-color:#f0deb2}
.alert-danger{background:#fff0f2;color:#a7334b;border-color:#f3cad4}

.btn,.form-control,.form-select,.input-group-text{border-radius:12px}
.btn{font-weight:800;border-width:1px}
.btn-primary{color:#fff;border-color:transparent;background:linear-gradient(135deg,#2563eb 0%, #1d4ed8 100%)}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#1f5ad6 0%, #1846c1 100%);color:#fff}
.btn-success{color:#fff;background:linear-gradient(135deg,#14b87a 0%, #0f9f6e 100%);border-color:transparent}
.btn-outline-primary{color:var(--accent-strong);border-color:#cfe0fb;background:#fff}
.btn-outline-success{color:var(--success);border-color:#bfe3d3;background:#fff}
.btn-outline-danger{color:var(--danger);border-color:#efc3cc;background:#fff}
.btn-outline-light{color:#f5f8ff;border-color:rgba(255,255,255,.16);background:transparent}
.btn-outline-light:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.24)}

.form-control,.form-select{
  min-height:46px;border-color:var(--line);background:#fbfdff;color:var(--text);box-shadow:none;width:100%;
}
.form-control::placeholder{color:var(--muted-2)}
.form-control:focus,.form-select:focus{
  border-color:#9fc0f3;background:#fff;color:var(--text);box-shadow:0 0 0 .2rem rgba(37,99,235,.10)
}
.form-label{display:block;margin-bottom:.35rem;color:var(--text-soft);font-size:.9rem;font-weight:600}
.empty-state{padding:1.25rem;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:16px;background:#f9fbfe}

.mobile-overlay{position:fixed;inset:0;background:rgba(15,23,42,.22);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1039}
.mobile-drawer{
  position:fixed;top:0;inset-inline-end:0;width:min(86vw, 340px);height:100vh;overflow:auto;padding:1rem;
  border-inline-start:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(18,32,56,.98) 0%, rgba(22,37,63,.98) 100%);
  box-shadow:0 24px 48px rgba(15,23,42,.26);transform:translateX(-110%);transition:transform .24s ease;z-index:1040;display:none
}
.mobile-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.2rem 0 1rem;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-drawer-title{font-size:1rem;font-weight:800;color:#f5f8ff}
.mobile-user-card{margin-bottom:1rem}
body.mobile-menu-open{overflow:hidden}
body.mobile-menu-open .mobile-overlay{opacity:1;pointer-events:auto}
body.mobile-menu-open .mobile-drawer{transform:translateX(0)}

.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(180deg,#f7f9fc 0%, #eef3f8 100%)}
.login-shell{width:min(100%, 1120px);border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.85);background:#fff;box-shadow:var(--shadow)}
.login-visual{min-height:100%;padding:2rem;color:var(--text);background:linear-gradient(180deg, #f6faff 0%, #eef4fb 100%)}
.login-point{padding:.92rem 1rem;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--muted)}
.login-panel{padding:2rem;background:#fff}
.login-card{width:min(100%, 500px);overflow:hidden;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft)}
.login-header{padding:1.35rem 1.4rem;border-bottom:1px solid var(--line);background:#f9fbfe;color:var(--text)}
.login-body{padding:1.4rem}
.login-title{margin:.35rem 0 0;font-size:1.2rem;font-weight:900}
.login-text{margin:.35rem 0 0;color:var(--muted);font-size:.93rem;line-height:1.8}

.muted-panel{padding:1rem;border-radius:16px;background:#f9fbfe;border:1px solid var(--line)}
.split-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.stack-gap{display:grid;gap:1rem}
.stack-gap-sm{display:grid;gap:.75rem}
.panel-title{font-size:1rem;font-weight:800;margin:0}
.panel-subtitle{margin-top:.25rem;color:var(--muted);font-size:.92rem;line-height:1.6}
.code-inline{padding:.2rem .5rem;border-radius:999px;background:#f1f5fb;border:1px solid var(--line);font-size:.8rem}

@media (max-width: 1399.98px){.sidebar-shell{display:none}.mobile-menu-btn{display:inline-flex}.mobile-drawer{display:block}}
@media (max-width: 1199.98px){.topbar-left,.topbar-right{flex-basis:100%}.topbar-right{justify-content:space-between}}
@media (max-width: 991.98px){.admin-app{padding:.75rem}.topbar-panel{top:.75rem;border-radius:22px}.page-title{font-size:1.28rem}.hero-title{font-size:1.42rem}.info-grid,.form-grid{grid-template-columns:1fr}}
@media (max-width: 767.98px){.topbar-panel{position:relative;top:0;padding:.9rem}.command-bar{width:100%;min-width:0}.content-body{padding:0}.section-card,.card,.hero-card{padding:.9rem}.topbar-right,.topbar-left{width:100%}.list-row{align-items:flex-start;flex-direction:column}}
@media (max-width: 575.98px){.admin-app{padding:.5rem}.page-title{font-size:1.14rem}.metric-value{font-size:1.62rem}.user-chip{width:100%;justify-content:space-between}}

/* Nav polish + mobile drawer refinements */
.nav-link-panel,
.nav-link-panel:hover,
.nav-link-panel:focus,
.nav-link-panel:active,
.nav-link-panel *,
.nav-link-panel *:hover,
.nav-link-panel *:focus,
.nav-link-panel *:active{
  text-decoration:none !important;
}

.mobile-drawer{
  width:min(90vw,360px);
  padding:1.1rem 1rem 1.2rem;
  border-top-left-radius:20px;
  border-bottom-left-radius:20px;
  background:
    radial-gradient(circle at 20% 0%, rgba(59,130,246,.18), transparent 35%),
    linear-gradient(180deg, rgba(18,32,56,.98) 0%, rgba(21,36,60,.99) 100%);
}

.mobile-overlay{
  background:rgba(12,20,35,.36);
  backdrop-filter:blur(2px);
}

.mobile-drawer-header{
  padding:.35rem .15rem 1rem;
  margin-bottom:.9rem;
}

.mobile-user-card{
  padding:1rem;
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}

.mobile-drawer .nav-stack{
  gap:.55rem;
}

.mobile-drawer .nav-link-panel{
  border-radius:14px;
  padding:.85rem .9rem;
  border-color:rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);
}

.mobile-drawer .nav-link-panel:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
}

.mobile-drawer .nav-link-panel.active{
  background:linear-gradient(135deg, rgba(59,130,246,.34) 0%, rgba(20,184,166,.16) 100%);
  border-color:rgba(125,183,255,.35);
}

.mobile-drawer .nav-badge{
  width:30px;
  height:30px;
  border-radius:10px;
}

@media (max-width: 575.98px){
  .mobile-drawer{
    width:100vw;
    border-radius:0;
    padding:1rem .9rem 1.1rem;
  }
  .mobile-drawer-header{
    position:sticky;
    top:0;
    z-index:2;
    background:linear-gradient(180deg, rgba(18,32,56,.98) 0%, rgba(18,32,56,.9) 100%);
    backdrop-filter:blur(8px);
  }
}
