:root {
  --ink: #17211b;
  --paper: #f2f4ee;
  --sidebar: #15372f;
  --accent: #e6b94f;
  --panel: #ffffff;
}
html, body { min-height: 100%; }
body { margin: 0; font-family: "Vazirmatn", sans-serif; color: var(--ink); background: var(--paper); }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; }
.admin-sidebar { position: sticky; top: 0; height: 100vh; color: white; background: radial-gradient(circle at 20% 10%, #285b4c, transparent 35%), var(--sidebar); }
.admin-nav-link { display: flex; align-items: center; gap: .75rem; padding: .8rem 1rem; margin-bottom: .35rem; color: rgba(255,255,255,.72); border-radius: .8rem; text-decoration: none; transition: .2s ease; }
.admin-nav-link:hover { color: white; background: rgba(255,255,255,.1); transform: translateX(-3px); }
.admin-nav-link.active { color: #fff; background: rgba(230,185,79,.2); box-shadow: inset -3px 0 0 var(--accent); }
.admin-main { min-width: 0; }
.admin-topbar { min-height: 92px; display: flex; justify-content: space-between; align-items: center; padding: 1.2rem 2rem; border-bottom: 1px solid #dde1d7; background: rgba(255,255,255,.82); backdrop-filter: blur(12px); }
.admin-content { padding: 2rem; }
.admin-panel { background: var(--panel); border: 1px solid #e0e4db; border-radius: 1.25rem; box-shadow: 0 12px 35px rgba(23,33,27,.06); }
.admin-metric { color: white; border-radius: 1.25rem; min-height: 170px; box-shadow: 0 15px 35px rgba(21,55,47,.12); }
.metric-primary { background: linear-gradient(135deg, #15372f, #26705b); }
.metric-success { background: linear-gradient(135deg, #315b36, #6b914a); }
.metric-warning { background: linear-gradient(135deg, #9b651f, #dd9e3f); }
.metric-info { background: linear-gradient(135deg, #24546b, #3c8ca2); }
.admin-list-item { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #edf0ea; }
.admin-list-item:last-child { border-bottom: 0; }
.admin-empty { padding: 1rem; background: #f6f8f3; border-radius: .8rem; color: #627067; }
.pipeline-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.pipeline-stage { min-height: 110px; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; border-radius: 1rem; background: linear-gradient(145deg, #f5f6ef, #e8eee7); }
.pipeline-stage span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--sidebar); }
.status-dot { display: inline-block; width: 10px; height: 10px; margin-left: .4rem; border-radius: 50%; background: #38a169; box-shadow: 0 0 0 5px rgba(56,161,105,.14); }
.access-table th { color: #6d776f; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.access-form .form-control, .access-form .form-select { min-height: 44px; border-color: #dce2dc; border-radius: .7rem; }
.role-choice-grid, .permission-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.role-choice, .permission-choice { display: flex; align-items: flex-start; gap: .7rem; padding: .9rem; border: 1px solid #e1e6df; border-radius: .9rem; background: #fafbf9; cursor: pointer; }
.role-choice:has(input:checked), .permission-choice:has(input:checked) { border-color: #78a494; background: #f0f7f3; box-shadow: inset 0 0 0 1px rgba(38,112,91,.14); }
.role-choice input, .permission-choice input { margin-top: .25rem; accent-color: var(--sidebar); }
.role-choice span, .permission-choice span { min-width: 0; display: flex; flex-direction: column; }
.role-choice small, .permission-choice small { margin-top: .2rem; color: #758079; font-size: .72rem; line-height: 1.7; }
.permission-choice code { margin-top: .4rem; color: #4e665c; font-size: .68rem; }
.permission-group > h3 { padding-bottom: .65rem; border-bottom: 1px solid #ecefea; }
.role-card__stats { display: flex; gap: 1rem; padding: .8rem; border-radius: .75rem; background: #f5f7f3; color: #68736b; font-size: .8rem; }
.role-card__stats strong { color: var(--ink); }
.access-meta { display: grid; grid-template-columns: auto 1fr; gap: .7rem 1rem; font-size: .8rem; }
.access-meta dt { color: #7c867f; font-weight: 500; }.access-meta dd { margin: 0; text-align: left; direction: ltr; }
code { direction: ltr; unicode-bidi: embed; }
@media (max-width: 991.98px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; height: auto; }
  .admin-sidebar nav { display: flex; overflow-x: auto; }
  .admin-nav-link { flex: 0 0 auto; }
  .pipeline-grid { grid-template-columns: repeat(2, 1fr); }
  .role-choice-grid, .permission-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .admin-topbar, .admin-content { padding: 1rem; }
  .pipeline-grid { grid-template-columns: 1fr; }
}

.auth-admin-body{min-height:100vh;background:#edf0e9}.admin-login{min-height:100vh;display:grid;grid-template-columns:minmax(420px,44%) 1fr}.admin-login__visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:3rem;color:#fff;background:linear-gradient(145deg,rgba(12,43,36,.96),rgba(27,89,71,.94)),url("/images/admin-login-grid.svg");isolation:isolate}.admin-login__visual:before,.admin-login__visual:after{content:"";position:absolute;z-index:-1;border-radius:50%;border:1px solid rgba(230,185,79,.22)}.admin-login__visual:before{width:420px;height:420px;inset:auto -180px -140px auto}.admin-login__visual:after{width:260px;height:260px;inset:12% auto auto -110px}.admin-login__brand{display:flex;align-items:center;gap:.8rem}.admin-login__brand>span{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.1);font-size:1.25rem}.admin-login__brand strong,.admin-login__brand small{display:block}.admin-login__brand small{margin-top:.2rem;color:rgba(255,255,255,.6);font-size:.7rem}.admin-login__message{max-width:520px}.admin-login__message>span{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.admin-login__message h1{margin:1rem 0;font-size:2.45rem;font-weight:800;line-height:1.45}.admin-login__message p{max-width:430px;margin:0;color:rgba(255,255,255,.7);line-height:2}.admin-login__security{display:flex;align-items:center;gap:.55rem;color:rgba(255,255,255,.68);font-size:.76rem}.admin-login__security i{color:var(--accent)}.admin-login__form-column{display:grid;place-items:center;padding:3rem;background:linear-gradient(135deg,#f7f8f4,#edf0e9)}.admin-login__card{width:min(100%,430px);padding:2.6rem;border:1px solid rgba(21,55,47,.1);border-radius:24px;background:#fff;box-shadow:0 30px 80px rgba(21,55,47,.11)}.admin-login__icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:1.25rem;border-radius:17px;color:#fff;background:linear-gradient(145deg,var(--sidebar),#28705b);box-shadow:0 10px 24px rgba(21,55,47,.22);font-size:1.3rem}.admin-eyebrow{color:#a4741e;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.admin-login__card h2{margin:.55rem 0;font-size:1.45rem;font-weight:800}.admin-login__card>p{margin-bottom:1.7rem;color:#758079;font-size:.82rem}.admin-input{position:relative}.admin-input i{position:absolute;z-index:2;top:50%;inset-inline-start:14px;transform:translateY(-50%);color:#87918b}.admin-input .form-control{min-height:48px;padding-inline-start:2.7rem;border-color:#dce2dc;border-radius:12px;background:#f9faf8}.admin-input .form-control:focus{border-color:#4a8975;background:#fff;box-shadow:0 0 0 .22rem rgba(38,112,91,.11)}.admin-login__submit{min-height:50px;display:flex;align-items:center;justify-content:center;gap:.6rem;color:#fff;border:0;border-radius:12px;background:linear-gradient(135deg,var(--sidebar),#26705b);font-weight:700;box-shadow:0 10px 24px rgba(21,55,47,.2)}.admin-login__submit:hover{color:#fff;background:linear-gradient(135deg,#102e28,#1e5c4b);transform:translateY(-1px)}.admin-login__hint{display:flex;align-items:flex-start;gap:.5rem;margin-top:1.2rem;padding:1rem;border-radius:12px;color:#65716a;background:#f4f6f2;font-size:.72rem;line-height:1.8}.admin-login__hint i{margin-top:.15rem;color:#a4741e}@media(max-width:991.98px){.admin-login{grid-template-columns:1fr}.admin-login__visual{min-height:320px;padding:2rem}.admin-login__message h1{font-size:1.8rem}.admin-login__security{display:none}.admin-login__form-column{padding:2rem 1rem}}@media(max-width:575.98px){.admin-login__visual{min-height:250px}.admin-login__message p{display:none}.admin-login__card{padding:1.5rem;border-radius:18px}}
.admin-captcha{padding:.75rem;border:1px solid #dce2dc;border-radius:14px;background:linear-gradient(145deg,#fbfcfa,#f1f4ef)}.admin-captcha__visual{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:.6rem;align-items:stretch;margin-bottom:.75rem;direction:ltr}.admin-captcha__visual img{width:100%;height:80px;display:block;object-fit:cover;border:1px solid #d7ddd7;border-radius:11px;background:#eef1ed}.admin-captcha__refresh{display:grid;place-items:center;border:1px solid rgba(164,116,30,.25);border-radius:11px;color:#9b6d19;background:#fff;font-size:1.2rem;transition:.2s ease}.admin-captcha__refresh:hover{color:#fff;background:#a4741e;transform:translateY(-1px)}.admin-captcha__refresh:disabled{cursor:wait;opacity:.55}.admin-captcha__input{direction:ltr;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.65em;font-weight:800}.admin-captcha.is-loading img{opacity:.45}
