/* طراحی RTL با فونت سیستمی فارسی. فونت خارجی استفاده نمی‌شود (CSP و محیط بدون شبکه). */
:root { --c-primary:#1f5a8a; --c-bg:#f4f6f9; --c-card:#fff; --c-text:#1d2630; --c-muted:#5b6777; --c-border:#d5dce5; --c-err:#b00020; --c-warn:#7a4b00; --c-warn-bg:#fff4dc; }
* { box-sizing: border-box; }
body { margin:0; font-family: Tahoma, "Noto Naskh Arabic", "Segoe UI", "DejaVu Sans", sans-serif; background:var(--c-bg); color:var(--c-text); line-height:1.8; direction:rtl; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:.6rem 1.2rem; background:var(--c-primary); color:#fff; }
.brand { display:flex; gap:.8rem; align-items:baseline; }
.phase { font-size:.85rem; opacity:.85; }
.userbox { display:flex; gap:.6rem; align-items:center; }
.notice { background:var(--c-warn-bg); color:var(--c-warn); padding:.6rem 1.2rem; border-bottom:1px solid #f0d9a8; font-size:.92rem; }
.container { max-width:1200px; margin:1rem auto; padding:0 1rem; }
.card { background:var(--c-card); border:1px solid var(--c-border); border-radius:10px; padding:1rem 1.2rem; margin-bottom:1rem; }
.card.narrow, .narrow { max-width:460px; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:800px) { .grid-2 { grid-template-columns:1fr; } }
h1 { font-size:1.4rem; margin-top:0; } h2 { font-size:1.15rem; margin:.2rem 0 .6rem; } h3 { font-size:1rem; }
label { display:block; margin:.5rem 0; font-weight:600; }
label small { font-weight:400; color:var(--c-muted); }
input, select, textarea { display:block; width:100%; margin-top:.25rem; padding:.45rem .6rem; border:1px solid var(--c-border); border-radius:6px; font:inherit; background:#fff; color:var(--c-text); }
input[type=file] { padding:.3rem; }
.btn { display:inline-block; padding:.45rem 1rem; border:1px solid var(--c-border); border-radius:6px; background:#fff; cursor:pointer; font:inherit; margin-top:.4rem; }
.btn-primary { background:var(--c-primary); color:#fff; border-color:var(--c-primary); }
.btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.tabs { display:flex; gap:.4rem; margin-bottom:1rem; flex-wrap:wrap; }
.tab { padding:.5rem 1rem; border:1px solid var(--c-border); background:#fff; border-radius:8px; cursor:pointer; font:inherit; }
.tab.active { background:var(--c-primary); color:#fff; border-color:var(--c-primary); }
.stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.8rem; }
.stat { background:var(--c-card); border:1px solid var(--c-border); border-radius:10px; padding:.9rem; }
.stat .num { font-size:1.6rem; font-weight:700; direction:ltr; text-align:right; }
.list { list-style:none; padding:0; margin:0; }
.list li { padding:.55rem .4rem; border-bottom:1px solid var(--c-border); cursor:pointer; }
.list li:hover, .list li.sel { background:#eef4fa; }
.list .sub { color:var(--c-muted); font-size:.88rem; }
.code, .ltr, td.ltr { font-family: "DejaVu Sans Mono", Consolas, monospace; direction:ltr; unicode-bidi:isolate; display:inline-block; }
.table { width:100%; border-collapse:collapse; font-size:.9rem; }
.table th, .table td { border-bottom:1px solid var(--c-border); padding:.45rem .5rem; text-align:right; vertical-align:top; }
.table td.hash { font-family:"DejaVu Sans Mono", monospace; direction:ltr; font-size:.78rem; word-break:break-all; text-align:left; }
.muted { color:var(--c-muted); font-size:.92rem; }
.error { color:var(--c-err); min-height:1.2em; margin:.4rem 0 0; }
.inline-form { border-top:1px dashed var(--c-border); margin-top:1rem; padding-top:.5rem; }
[hidden] { display:none !important; }
.topbar .brand { flex-wrap:wrap; }
.badge { display:inline-block; padding:.1rem .6rem; border-radius:999px; font-size:.8rem; border:1px solid rgba(255,255,255,.6); }
.badge-off { background:rgba(255,255,255,.15); color:#fff; }
.banner { background:var(--c-warn-bg); color:var(--c-warn); border:1px solid #f0d9a8; border-radius:8px; padding:.5rem .8rem; }
.pre { background:#f7f9fb; border:1px solid var(--c-border); border-radius:8px; padding:.6rem; overflow:auto; max-height:260px; white-space:pre-wrap; font-size:.82rem; font-family:"DejaVu Sans Mono", Consolas, monospace; direction:ltr; text-align:left; }
.btn-small { padding:.2rem .6rem; font-size:.85rem; margin:0 .2rem; }
.clickable { cursor:pointer; }
.clickable:hover { background:#eef4fa; }
.table td .btn-small { margin-top:0; }
h4 { margin:.8rem 0 .3rem; font-size:.95rem; }
