@import"https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css";:root{--bg: #020617;--bg-1: #0b1220;--bg-2: #111827;--bg-3: #1b2433;--border: rgba(148, 163, 184, .18);--border-2: rgba(148, 163, 184, .3);--text: #f8fafc;--text-dim: #94a3b8;--text-mute: #64748b;--accent: #2dd4bf;--accent-2: #14b8a6;--accent-gl: rgba(45, 212, 191, .16);--green: #34d399;--amber: #fbbf24;--red: #fb7185;--blue: #60a5fa;--violet: #a78bfa;--radius: 16px;--radius-s: 10px;--shadow: 0 16px 48px rgba(0,0,0,.55);--shadow-s: 0 6px 20px rgba(0,0,0,.35)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Vazirmatn,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;background-image:radial-gradient(900px 500px at 85% -5%,rgba(45,212,191,.06),transparent 60%),radial-gradient(700px 500px at 5% 105%,rgba(167,139,250,.05),transparent 60%);background-attachment:fixed}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#3a4150}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius-s);padding:11px 20px;font-size:14px;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1);letter-spacing:-.2px}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#04201c;box-shadow:0 4px 14px var(--accent-gl)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px var(--accent-gl)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:var(--bg-3);color:var(--text-dim);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--border-2);background:var(--bg-2)}.btn-green{background:#34d39924;color:var(--green);border:1px solid rgba(52,211,153,.3)}.btn-green:hover:not(:disabled){background:#34d39938}.btn-red{background:#f871711f;color:var(--red);border:1px solid rgba(248,113,113,.3)}.btn-red:hover{background:#f8717133}input,textarea,select{font-family:inherit;width:100%;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-s);padding:12px 15px;color:var(--text);font-size:14px;transition:all .18s}input::placeholder,textarea::placeholder{color:var(--text-mute)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-gl)}label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:7px;font-weight:500}.card{background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-s)}.layout{display:flex;min-height:100vh}.sidebar{width:256px;background:linear-gradient(180deg,var(--bg-1),var(--bg));border-left:1px solid var(--border);padding:26px 16px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.sidebar .brand{font-size:19px;font-weight:800;padding:0 10px 24px;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.sidebar .brand .dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 14px var(--accent)}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:var(--radius-s);color:var(--text-dim);font-weight:500;font-size:14px;cursor:pointer;transition:all .15s;border:1px solid transparent}.nav-item:hover{background:var(--bg-2);color:var(--text)}.nav-item.active{background:linear-gradient(135deg,#2dd4bf2e,#a78bfa29);color:var(--text);border-color:#2dd4bf59;box-shadow:inset 0 0 0 1px #2dd4bf1f,0 0 18px #2dd4bf1a}.main{flex:1;padding:34px 42px;overflow-x:hidden}.main-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.main-header h1{font-size:26px;font-weight:800;letter-spacing:-.6px}.badge{display:inline-block;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:700}.badge.pending{background:#fbbf2424;color:var(--amber)}.badge.assigned,.badge.in_progress{background:#60a5fa24;color:var(--blue)}.badge.submitted{background:#a78bfa24;color:var(--violet)}.badge.rejected{background:#f8717124;color:var(--red)}.badge.delivered{background:#34d39924;color:var(--green)}.badge.prio-urgent{background:#f8717129;color:var(--red)}.badge.prio-high{background:#fbbf2424;color:var(--amber)}.badge.prio-normal{background:var(--bg-3);color:var(--text-dim)}.badge.prio-low,.badge.dl-normal{background:var(--bg-3);color:var(--text-mute)}.badge.dl-near{background:#fbbf2429;color:var(--amber)}.badge.dl-overdue{background:#f8717129;color:var(--red)}.badge.dl-critical{background:var(--red);color:#fff;font-weight:800}table{width:100%;border-collapse:collapse}th,td{text-align:right;padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--text-mute);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}tbody tr{transition:background .12s}tbody tr:hover td{background:#ffffff05}tbody tr:last-child td{border-bottom:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050609b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border:1px solid var(--border-2);border-radius:var(--radius);padding:30px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow);animation:pop .22s cubic-bezier(.4,0,.2,1)}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal h2{font-size:20px;margin-bottom:22px;letter-spacing:-.4px}.field{margin-bottom:18px}.row{display:flex;gap:14px}.row>*{flex:1}.error-box{background:#f871711a;color:#fda4a4;padding:13px 16px;border-radius:var(--radius-s);margin-bottom:18px;font-size:14px;border:1px solid rgba(248,113,113,.2)}.ok-box{background:#34d3991a;color:#6ee7b7;padding:13px 16px;border-radius:var(--radius-s);margin-bottom:18px;font-size:14px;border:1px solid rgba(52,211,153,.2)}.empty{text-align:center;color:var(--text-mute);padding:70px 20px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:440px;padding:36px}.login-card .brand-big{font-size:30px;font-weight:800;text-align:center;margin-bottom:6px;letter-spacing:-.8px;display:flex;align-items:center;justify-content:center;gap:12px}.login-card .brand-big .dot{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 18px var(--accent)}.login-card .sub{text-align:center;color:var(--text-dim);margin-bottom:30px;font-size:14px}.steps{font-size:13px;color:var(--text-dim);margin-top:22px;line-height:2.1;padding-top:20px;border-top:1px solid var(--border)}.steps b{color:var(--text)}.link-btn{background:none;padding:0;color:var(--accent);font-size:13px;font-weight:600}.divider{display:flex;align-items:center;gap:12px;color:var(--text-mute);font-size:12px;margin:22px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{background:var(--bg-3);border:1px solid var(--border);padding:6px 13px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:9px}.tag button{padding:0;background:none;color:var(--red);font-size:17px;line-height:1}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}.stat{padding:20px 22px}.stat .num{font-size:32px;font-weight:800;letter-spacing:-1px}.stat .lbl{color:var(--text-dim);font-size:13px;margin-top:4px}.user-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.user-foot .uname{padding:10px;font-size:14px;color:var(--text);font-weight:600}.user-foot .urole{font-size:12px;color:var(--text-mute)}.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}@media (max-width: 1100px){.dash-grid{grid-template-columns:1fr}}.metric-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width: 1100px){.metric-row{grid-template-columns:repeat(2,1fr)}}.metric{background:var(--bg-2);border:1px solid var(--border);border-radius:16px;padding:18px;position:relative;overflow:hidden;transition:transform .18s,border-color .18s}.metric:hover{transform:translateY(-3px);border-color:var(--border-2)}.metric .icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px}.metric .icon.c1{background:linear-gradient(135deg,#f43f5e,#fb7185)}.metric .icon.c2{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.metric .icon.c3{background:linear-gradient(135deg,#ec4899,#f472b6)}.metric .icon.c4{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.metric .icon.c5{background:linear-gradient(135deg,#06b6d4,#22d3ee)}.metric .big{font-size:30px;font-weight:800;letter-spacing:-1px;line-height:1}.metric .cap{color:var(--text-dim);font-size:13px;margin-top:6px}.panel{background:var(--bg-2);border:1px solid var(--border);border-radius:18px;padding:22px}.panel-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-h h2{font-size:17px;font-weight:700}.legend{display:flex;flex-direction:column;gap:12px}.legend-item{display:flex;align-items:center;gap:10px;font-size:14px}.legend-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.donut-wrap{position:relative;display:flex;align-items:center;justify-content:center}.donut-center{position:absolute;text-align:center}.donut-center .dn{font-size:26px;font-weight:800}.donut-center .dl{font-size:12px;color:var(--text-dim)}.seg-pill{display:flex;gap:6px;align-items:center;background:var(--bg-3);padding:4px;border-radius:10px;flex-wrap:wrap}.seg-pill button{padding:6px 14px;font-size:13px;border-radius:7px;background:transparent;color:var(--text-dim)}.seg-pill button.on{background:var(--accent);color:#04201c}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.badge.cap-ok{background:#34d39924;color:var(--green)}.badge.cap-warn{background:#fbbf2429;color:var(--amber)}.badge.cap-over{background:#fb718529;color:var(--red)}.alert-bell{position:relative}.alert-bell .bell-menu{position:absolute;top:0;right:calc(100% + 8px);width:300px;max-width:78vw;z-index:60;padding:14px}.mobile-topbar{display:none}.hamburger{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-s);width:42px;height:42px;font-size:20px;padding:0;line-height:1}.nav-overlay{display:none}.card:has(>table),.panel:has(>table){overflow-x:auto}table{min-width:520px}@media (max-width: 1024px){.main{padding:26px 22px}.metric-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width: 860px){.mobile-topbar{display:flex;align-items:center;gap:12px;position:fixed;top:0;right:0;left:0;height:58px;z-index:80;padding:0 14px;background:#0b1220eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.mobile-topbar .brand{font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}.mobile-topbar .brand .dot{width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 12px var(--accent)}.sidebar{position:fixed;top:0;right:0;height:100vh;width:80%;max-width:300px;z-index:100;transform:translate(105%);transition:transform .25s ease;box-shadow:var(--shadow);overflow-y:auto}.sidebar.open{transform:translate(0)}.alert-bell .bell-menu{position:static;width:100%;max-width:none;right:auto;margin-top:8px}.nav-overlay.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#02061799;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main{padding:74px 16px 24px}.main-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:20px}.main-header h1{font-size:22px}.dash-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:1fr 1fr}.row{flex-direction:column;align-items:stretch}.row>*{width:100%}.main-header .btn-primary,.main-header .btn-ghost{min-height:44px}.modal-overlay{padding:12px;align-items:flex-start}.modal{padding:20px;max-height:94vh}}@media (max-width: 430px){.metric-row,.stat-grid{grid-template-columns:1fr}.main-header h1{font-size:20px}body{line-height:1.7}}
