@font-face{font-family:IRANSans;font-weight:400;src:local("IRANSans"),url(../fonts/IRANSans.ttf) format("truetype")}
@font-face{font-family:IRANSans;font-weight:700;src:local("IRANSans Bold"),local("IRANSans_Bold"),url(../fonts/IRANSans_Bold.ttf) format("truetype")}
:root{--site:#001d9f;--coral:#e84e36;--navy:#082a52;--navy2:#0d3b73;--teal:#05b8c1;--teal-d:#0a8f98;--bg:#e9f0f8;--card:#fff;--ink:#12263f;--mute:#5d6f86;--line:#dbe4ef;
--green:#2f9e57;--red:#e5484d;--orange:#f0a02b;--blue:#2f7be5;--violet:#7c5cd6}
*{box-sizing:border-box;margin:0}
html{font-size:15px}
body{font-family:IRANSans,Tahoma,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.7}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
button,select,input{font:inherit;color:inherit}

/* ---------- صفحه اول (رنگ‌ها، الگو و فوتر برگرفته از CSS اصلی farshamyari.ir) ---------- */
.home{background-color:#001d9f;background-image:url("data:image/svg+xml,%3Csvg width='80' height='88' viewBox='0 0 80 88' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 21.91V26h-2c-9.94 0-18 8.06-18 18 0 9.943 8.058 18 18 18h2v4.09c8.012.722 14.785 5.738 18 12.73 3.212-6.99 9.983-12.008 18-12.73V62h2c9.94 0 18-8.06 18-18 0-9.943-8.058-18-18-18h-2v-4.09c-8.012-.722-14.785-5.738-18-12.73-3.212 6.99-9.983 12.008-18 12.73zM54 58v4.696c-5.574 1.316-10.455 4.428-14 8.69-3.545-4.262-8.426-7.374-14-8.69V58h-5.993C12.27 58 6 51.734 6 44c0-7.732 6.275-14 14.007-14H26v-4.696c5.574-1.316 10.455-4.428 14-8.69 3.545 4.262 8.426 7.374 14 8.69V30h5.993C67.73 30 74 36.266 74 44c0 7.732-6.275 14-14.007 14H54zM42 88c0-9.94 8.06-18 18-18h2v-4.09c8.016-.722 14.787-5.738 18-12.73v7.434c-3.545 4.262-8.426 7.374-14 8.69V74h-5.993C52.275 74 46 80.268 46 88h-4zm-4 0c0-9.943-8.058-18-18-18h-2v-4.09c-8.012-.722-14.785-5.738-18-12.73v7.434c3.545 4.262 8.426 7.374 14 8.69V74h5.993C27.73 74 34 80.266 34 88h4zm4-88c0 9.943 8.058 18 18 18h2v4.09c8.012.722 14.785 5.738 18 12.73v-7.434c-3.545-4.262-8.426-7.374-14-8.69V14h-5.993C52.27 14 46 7.734 46 0h-4zM0 34.82c3.213-6.992 9.984-12.008 18-12.73V18h2c9.94 0 18-8.06 18-18h-4c0 7.732-6.275 14-14.007 14H14v4.696c-5.574 1.316-10.455 4.428-14 8.69v7.433z' fill='%23ffffff' fill-opacity='0.04' fill-rule='evenodd'/%3E%3C/svg%3E");min-height:100vh;color:#fff}
.cs{padding-inline:1rem;margin-inline:auto;max-width:1280px}
@media(min-width:640px){.cs{padding-inline:2rem}}@media(min-width:1024px){.cs{padding-inline:3rem}}@media(min-width:1280px){.cs{padding-inline:4rem}}
.site-nav{position:sticky;top:0;z-index:20;filter:drop-shadow(0 6px 8px rgba(0,0,0,.25));font-size:.82rem}
.site-nav .cs>ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;background:#fff;color:var(--ink);border-radius:0 0 1.5rem 1.5rem;padding:8px}
.site-nav li{position:relative;border-radius:10px}
.site-nav li:hover,.site-nav li:focus-within{background:#e5e7eb}
.site-nav a,.site-nav button.dd{display:flex;align-items:center;gap:4px;padding:12px 10px;background:none;border:0;cursor:pointer;color:inherit;white-space:nowrap}
.site-nav .sub{display:none;position:absolute;top:100%;inset-inline-start:0;z-index:30;width:12.5rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 10px 24px rgba(0,0,0,.18);margin-top:4px;list-style:none;gap:4px}
.site-nav li:hover>.sub,.site-nav li:focus-within>.sub{display:grid}
.site-nav .sub li:hover{background:#e5e7eb}
.site-nav .sub a{padding:8px;white-space:normal;line-height:1.7}
.site-nav .sub .sub{top:0;inset-inline-start:100%;margin:0}
.site-nav svg{width:14px;height:14px;transition:transform .2s}
.site-nav li:hover>button svg,.site-nav li:hover>a svg{transform:rotate(180deg)}
.m-bar{display:none;background:#fff;color:var(--ink);padding:8px 14px;border-radius:0 0 12px 12px}
.m-bar button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 10px;cursor:pointer}
.banner{position:relative;display:flex;justify-content:center;align-items:center;padding:16px 0 8px;min-height:8rem}
.banner .bl{position:absolute;inset-inline-start:0;top:24px;width:5rem;height:auto}
.banner .tx{height:3rem;width:auto;max-width:100%}
.banner .ld{position:absolute;inset-inline-end:-8rem;top:0;height:8rem;width:auto}
.vh{position:absolute;opacity:0;pointer-events:none}
@media(min-width:1024px){.banner .tx{height:4rem}}
.panel{background:#fff;color:var(--ink);border-radius:clamp(1.2rem,3vw,3rem);padding:clamp(14px,2.4vw,28px);margin-top:8px}
.panel h2{font-size:1.1rem;margin:2px 6px 16px;color:var(--site)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.co{display:flex;flex-direction:column;gap:12px;justify-content:space-between;min-height:160px;padding:20px;border:1px solid var(--line);border-radius:1.5rem;background:#f6f8fd;transition:transform .15s,border-color .15s,box-shadow .15s}
.co:hover,.co:focus-visible{transform:translateY(-3px);border-color:var(--site);box-shadow:0 10px 24px rgba(0,29,159,.16)}
.co i{width:48px;height:48px;border-radius:50%;background:var(--site);color:#fff;display:grid;place-items:center}
.co b{line-height:1.9}
.co span{font-size:.8rem;color:var(--site)}
.sfoot{position:relative;padding-top:16px;margin-top:56px}
.sfoot .up{position:absolute;inset:0;transform:translateY(-1px);background:#f3f4f6;clip-path:ellipse(100% 100% at 50% -86.5%)}
.sfoot .bd{position:relative;background-image:linear-gradient(0deg,#001d9f,#e84e36);clip-path:ellipse(100% 100% at 50% 100%);color:#fff;padding:96px 0 32px}
.sfoot .cols{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:28px;font-size:.85rem}
.sfoot .fl img{height:200px;width:auto}
.sfoot h3{color:#fcd34d;font-size:1.05rem;margin-bottom:8px}
.sfoot ul{list-style:none;padding:0;display:grid;gap:4px}
.sfoot a:hover{text-decoration:underline}
.sfoot .cp{text-align:center;margin-top:24px;font-size:.85rem;opacity:.9}
.drawer{position:fixed;inset:0;z-index:40;display:none}
.drawer.on{display:flex}
.drawer .ov{flex:1;background:rgba(0,0,0,.45)}
.drawer .pn{order:-1;width:17rem;background:#fff;color:var(--ink);overflow:auto;padding:10px;font-size:.88rem}
.drawer details{padding-inline-start:8px}.drawer summary,.drawer a{display:block;padding:8px;border-radius:8px;cursor:pointer}
.drawer summary:hover,.drawer a:hover{background:#e5e7eb}
.fab{display:none;position:fixed;inset-inline-end:20px;bottom:16px;z-index:10;width:48px;height:48px;border-radius:50%;border:0;background:#e74e36;color:#fff;box-shadow:0 6px 14px rgba(0,0,0,.3);cursor:pointer}
@media(max-width:1023px){.site-nav .cs>ul{display:none}.m-bar{display:block}.fab{display:grid;place-items:center}.sfoot .cols{grid-template-columns:1fr 1fr}.banner .bl,.banner .ld{display:none}}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid{grid-template-columns:1fr}.sfoot .cols{grid-template-columns:1fr}}

/* ---------- قالب داشبورد: منو سمت راست ---------- */
.app{display:grid;grid-template-columns:92px 1fr;min-height:100vh}
.side{background:var(--navy);color:#cfe0f5;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:0 0 0 0}
.side .logo{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--site);margin-bottom:12px}
.side .logo img{width:40px}
.side a.nav{width:76px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:14px;font-size:.7rem;text-align:center;line-height:1.5;transition:background .15s}
.side a.nav:hover{background:rgba(255,255,255,.08)}
.side a.nav.on{background:var(--teal);color:#fff}
.side svg{width:24px;height:24px}
.side .sp{flex:1}
main{padding:16px 20px 28px;min-width:0}
.top{display:flex;align-items:center;gap:16px;background:linear-gradient(90deg,#fff,#eaf6fb);border-radius:16px;padding:12px 20px;margin-bottom:14px}
.top h1{font-size:1.2rem;color:var(--navy)}
.top p{font-size:.8rem;color:var(--mute)}
.top .org{margin-inline-start:auto;text-align:center}
.top .org b{color:var(--navy2);display:block}
.top .meta{display:flex;align-items:center;gap:12px;font-size:.8rem;color:var(--mute)}
.top .date{background:#fff;border:1px solid var(--line);border-radius:10px;padding:2px 12px}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#fff;border-radius:16px;padding:14px 18px;margin-bottom:14px}
.f{display:flex;flex-direction:column;gap:4px;flex:1 1 140px;min-width:130px}
.f label{font-size:.76rem;color:var(--mute);font-weight:700}
.f select,.f input{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;width:100%}
.f .rg{display:flex;gap:6px}
.btns{display:flex;gap:8px}
.btn{height:38px;border-radius:10px;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:0 16px;background:var(--teal);color:#fff;font-weight:700}
.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line);padding:0 12px}
.btn svg{width:18px;height:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.kpi{border-radius:16px;padding:12px 14px;text-align:center;border:1px solid transparent}
.kpi .h{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.84rem;font-weight:700;min-height:44px}
.kpi svg{width:22px;height:22px;flex:none}
.kpi b{display:block;font-size:2rem;line-height:1.3}
.kpi small{font-size:.78rem;color:var(--mute)}
.t-blue{--ac:#2f7be5;background:#e8f1fd;color:#1f4f99;border-color:#cfe0f8}.t-violet{--ac:#7c5cd6;background:#f0eafd;color:#4b34a0;border-color:#ddd2f7}
.t-green{--ac:#2f9e57;background:#e6f6ec;color:#1d7a40;border-color:#c9ebd5}.t-orange{--ac:#f0a02b;background:#fff2dd;color:#a2600a;border-color:#fbe0b2}
.t-red{--ac:#e5484d;background:#fde8e8;color:#b3262b;border-color:#f8cccc}.t-teal{--ac:#05b8c1;background:#e0f6f7;color:#0a6d74;border-color:#bfe9ec}
.row{display:grid;gap:14px;margin-bottom:14px}
.r-ch{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.r-bt{grid-template-columns:minmax(240px,.8fr) minmax(0,2.4fr) minmax(230px,.8fr)}
.card{background:#fff;border-radius:16px;padding:16px 18px;min-width:0;box-shadow:0 1px 0 var(--line)}
.card h3{font-size:.98rem;color:var(--navy);margin-bottom:12px}
.empty{color:var(--mute);text-align:center;padding:30px 0;font-size:.9rem}
/* donut */
.dn{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.dn .ring{position:relative;width:170px;height:170px;flex:none}
.dn svg{width:100%;height:100%;transform:rotate(-90deg)}
.dn .ct{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-size:.78rem;color:var(--mute);line-height:1.4}
.dn .ct b{font-size:1.25rem;color:var(--ink)}
.lg{flex:1;min-width:150px;display:grid;gap:8px;font-size:.82rem}
.lg div{display:flex;gap:8px;align-items:flex-start}.lg i{width:11px;height:11px;border-radius:50%;margin-top:7px;flex:none}
.lg small{display:block;color:var(--mute)}
/* bars */
.vb{display:flex;gap:8px;align-items:flex-end;height:230px;border-bottom:1px solid var(--line);padding-top:6px}
.vb .g{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.vb .bars{display:flex;gap:3px;align-items:flex-end;flex:1;width:100%;justify-content:center}
.vb .b{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;max-width:34px;flex:1;height:100%;font-size:.74rem;font-weight:700}
.vb .b i{display:block;width:100%;border-radius:6px 6px 0 0;min-height:2px}
.vl{display:flex;gap:8px}.vl em{flex:1;font-style:normal;font-size:.7rem;text-align:center;color:var(--mute);line-height:1.4;padding-top:4px;min-width:0;overflow-wrap:anywhere}
.vb.two .b span{display:none}.vb.two{gap:4px}
.f.rgf{flex:2 1 280px}
.key{display:flex;gap:14px;font-size:.78rem;margin-bottom:8px;color:var(--mute)}.key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:5px}
.hb{display:grid;gap:9px}
.hb .r{display:grid;grid-template-columns:minmax(80px,38%) 1fr;gap:10px;align-items:center;font-size:.8rem}
.hb .t{display:flex;align-items:center;gap:8px;height:22px}
.hb .t i{display:block;height:18px;border-radius:6px;background:linear-gradient(90deg,var(--teal-d),var(--teal));flex:none}
.hb .t b{font-size:.76rem;color:var(--ink);white-space:nowrap}
/* table */
.tw{overflow:auto;max-height:360px;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:.8rem}
th{position:sticky;top:0;background:#f1f5fa;font-size:.74rem;color:var(--mute);text-align:right;padding:8px 8px;line-height:1.4}
td{padding:8px;border-top:1px solid var(--line);vertical-align:middle}
td.n{white-space:nowrap;font-weight:700}
.chip{display:inline-block;padding:1px 10px;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap}
/* alerts + lists */
.al{display:grid;gap:8px}
.al div{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border-radius:12px;font-size:.82rem;line-height:1.7;font-weight:700}
.al div:before{content:"!";flex:none;width:20px;height:20px;border-radius:50%;background:var(--ac,currentColor);color:#fff;display:grid;place-items:center;font-size:.8rem;margin-top:2px}
.al div span{color:var(--ink)}
.ls{display:grid;gap:8px}
.ls div{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;font-size:.82rem}
.ls div b{white-space:nowrap}
.ls .hi{background:#e6f6ec;border-color:#c9ebd5;color:#1d7a40}
@media(max-width:1100px){.r-bt{grid-template-columns:1fr 1fr}.r-bt .card:nth-child(2){grid-column:1/-1;order:3}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.app{grid-template-columns:1fr}
.side{position:fixed;inset:auto 0 0 0;top:auto;height:auto;flex-direction:row;justify-content:space-around;padding:6px;z-index:5}
.side .logo,.side .sp{display:none}.side a.nav{width:auto;flex:1}
main{padding:10px 10px 96px}.top{flex-wrap:wrap}.top .org{display:none}.r-bt{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.brand h1{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
