@font-face{font-family:IRANSans;src:url("/static/fonts/IRANSans.woff2") format("woff2"),url("/static/fonts/IRANSans.woff") format("woff"),url("/static/fonts/IRANSans.ttf") format("truetype");font-display:swap}
:root{--nav:#312e81;--bg:#f3f4f6;--card:#fff;--text:#1f2937;--muted:#6b7280;--blue:#4f46e5;--green:#16a34a;--yellow:#d97706;--red:#dc2626}
*{box-sizing:border-box}
html{direction:rtl}
body{margin:0;font-family:IRANSans,Vazirmatn,Tahoma,sans-serif;background:var(--bg);color:var(--text);display:flex;min-height:100vh;text-align:right}
aside{width:250px;background:linear-gradient(180deg,var(--nav),#1e1b4b);color:#fff;position:fixed;inset:0 0 0 auto;padding:22px 14px}
.brand{text-align:center;padding:10px 5px 25px;border-bottom:1px solid #ffffff22}.brand b{font-size:25px}.brand small{display:block;color:#c7d2fe;margin-top:5px}
nav{display:grid;gap:7px;margin-top:20px}nav a{color:#e0e7ff;text-decoration:none;padding:11px 13px;border-radius:9px}nav a:hover,nav a.active{background:#ffffff18;color:#fff}
.logout{position:absolute;bottom:20px;right:14px;left:14px;background:var(--red)!important;text-align:center}
main{margin-right:250px;width:calc(100% - 250px)}header{background:white;padding:17px 25px;box-shadow:0 1px 8px #11182712;display:flex;justify-content:space-between}.content{padding:25px;max-width:1400px}
h1,h2{margin:0 0 16px}h2{margin-top:25px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:17px 0}.card,table,form{background:var(--card);border-radius:12px;box-shadow:0 3px 14px #11182712}.card{padding:19px;border-right:4px solid var(--blue)}
.ok{border-right-color:var(--green)}.warn{border-right-color:var(--yellow)}.bad{border-right-color:var(--red)}.value{font-size:26px;font-weight:bold;margin-top:8px}.muted{color:var(--muted);font-size:13px}
.table-wrap{overflow-x:auto;margin-top:14px;border-radius:12px}table{width:100%;border-collapse:collapse;overflow:hidden}td,th{padding:12px;border-bottom:1px solid #eee;text-align:right;vertical-align:top}th{background:#f9fafb;white-space:nowrap}
form{padding:20px;margin-bottom:18px}.inline-form{display:inline;box-shadow:none;padding:0}.button,button{display:inline-block;border:0;background:var(--blue);color:#fff;padding:10px 15px;border-radius:8px;text-decoration:none;cursor:pointer;margin:3px;font-family:inherit}
label{display:block;font-weight:700;margin-top:6px}input,select,textarea{width:100%;padding:11px;margin:6px 0 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font:inherit;text-align:right}select[multiple]{min-height:130px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}
.progress{height:20px;background:#e5e7eb;border-radius:12px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#16a34a);color:#fff;text-align:center;direction:ltr}
pre,.ltr{direction:ltr;text-align:left}pre{background:#111827;color:#d1fae5;padding:16px;border-radius:10px;max-height:400px;overflow:auto;white-space:pre-wrap}.security,.notice{background:#fffbeb;border:1px solid #fbbf24;padding:10px;border-radius:8px;margin-bottom:15px}
.success{background:#f0fdf4;border:1px solid #22c55e;padding:12px;border-radius:8px;margin-bottom:15px}.login-page{display:grid;place-items:center;width:100%;min-height:100vh;background:linear-gradient(135deg,#eef2ff,#f3f4f6)}.login-box{width:min(420px,92vw)}
@media(max-width:800px){aside{position:static;width:100%}.logout{position:static}body{display:block}main{margin:0;width:100%}.content{padding:14px}}
