@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap');
:root{--bg:#f4f6fa;--card:#fff;--text:#1a2233;--muted:#6b7a90;--line:#e3e8ef;--primary:#0f766e;--primary-2:#14b8a6;--primary-soft:#e6f7f5;--danger:#dc2626;--warn:#d97706;--ok:#16a34a;--info:#2563eb;--radius:14px;--shadow:0 1px 2px rgba(16,24,40,.05),0 8px 24px -12px rgba(16,24,40,.12)}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:'IBM Plex Sans Arabic',system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;font-size:15px;line-height:1.6}
a{color:var(--primary);text-decoration:none}
h1,h2,h3{margin:0 0 .4em;font-weight:700}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1.05rem}
.muted{color:var(--muted)}.small{font-size:.85rem}.b{font-weight:600}.center{text-align:center}.ltr{direction:ltr;unicode-bidi:embed}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--text);padding:9px 16px;border-radius:10px;cursor:pointer;font:inherit;font-weight:600;transition:.15s}
.btn:hover{border-color:#c9d2de;background:#f8fafc}.btn.p{background:var(--primary);border-color:var(--primary);color:#fff}.btn.p:hover{background:#0b5d57}
.btn.d{color:var(--danger);border-color:#fecaca}.btn.d:hover{background:#fef2f2}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.sm{padding:5px 10px;font-size:.85rem;border-radius:8px}.btn.lg{padding:14px 26px;font-size:1.05rem;border-radius:12px}
.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{border-color:transparent;background:transparent}
input,select,textarea{font:inherit;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;width:100%;outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(20,184,166,.15)}
label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:4px;font-weight:600}.f{margin-bottom:12px}
input[type=checkbox]{width:auto;transform:scale(1.15);margin-inline-end:6px}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.82rem;background:#f8fafc}tr:hover td{background:#fafcff}
.tbl{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:#eef2f7;color:#334155}
.tag.ok{background:#dcfce7;color:#166534}.tag.warn{background:#fef3c7;color:#92400e}.tag.bad{background:#fee2e2;color:#991b1b}.tag.info{background:#dbeafe;color:#1e40af}.tag.p{background:var(--primary-soft);color:var(--primary)}
.stat{padding:16px 18px}.stat .v{font-size:1.9rem;font-weight:700;line-height:1.1}.stat .l{color:var(--muted);font-size:.85rem;margin-top:4px}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#1a2233;color:#fff;padding:12px 20px;border-radius:12px;z-index:999;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:90vw;animation:up .25s}.toast.err{background:var(--danger)}.toast.ok{background:var(--ok)}
@keyframes up{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.modal-bg{position:fixed;inset:0;background:rgba(10,15,30,.45);display:flex;align-items:center;justify-content:center;z-index:500;padding:14px;backdrop-filter:blur(2px)}
.modal{background:#fff;border-radius:18px;padding:22px;width:100%;max-width:640px;max-height:92vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.3);animation:pop .2s}@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
.banner{border-radius:12px;padding:12px 16px;margin-bottom:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.banner.warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.banner.info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.banner.bad{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.empty{padding:36px;text-align:center;color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:.85rem;font-weight:600}.chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.perm-grid{display:grid;grid-template-columns:1fr repeat(3,70px);gap:4px 8px;align-items:center}.perm-grid .h{font-size:.78rem;color:var(--muted);text-align:center;font-weight:600}.perm-grid .c{text-align:center}
@media print{.no-print{display:none!important}body{background:#fff}.card{box-shadow:none;border:none}}
