:root{--red:#DA2127;--red-d:#b5171d;--ink:#1d2330;--ink2:#566074;--line:#e3e6ec;--bg:#f4f5f8;--card:#fff;--side:#1d2330;--ok:#1a8f4d;--warn:#c47a00;--err:#c62828;--blue:#2457c5;--r:12px;--sh:0 1px 2px rgba(20,25,40,.06),0 4px 14px rgba(20,25,40,.05)}
*{box-sizing:border-box}
html{font-size:15px}
body{margin:0;font-family:"Segoe UI",Tahoma,"Noto Naskh Arabic","Noto Sans Arabic",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
code{font-family:ui-monospace,Consolas,monospace;font-size:.88em;background:#f0f1f5;padding:1px 6px;border-radius:5px;direction:ltr;unicode-bidi:embed}
small{color:var(--ink2)}.muted{color:var(--ink2)}.nowrap{white-space:nowrap}.dim{opacity:.5}
html[data-lang=ar] .en,html[data-lang=en] .ar{display:none!important}
/* layout */
body.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.side{background:var(--side);color:#cfd5e2;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column}
.brand{display:block;background:#fff;border-radius:10px;padding:10px 12px}.brand img{width:100%;display:block}
.brand-sub{font-size:.8rem;text-align:center;margin:10px 0 18px;color:#99a3b8;letter-spacing:.3px}
.side nav a{display:flex;gap:10px;align-items:center;color:#cfd5e2;padding:10px 12px;border-radius:9px;margin-bottom:3px;text-decoration:none}
.side nav a:hover{background:rgba(255,255,255,.07)}
.side nav a.on{background:var(--red);color:#fff;font-weight:600}
.side .ic{width:22px;text-align:center}
.side-foot{margin-top:auto;font-size:.75rem;color:#6e788d;text-align:center;padding-top:14px}
.main{min-width:0}
.top{display:flex;gap:12px;align-items:center;background:#fff;border-bottom:1px solid var(--line);padding:10px 22px;position:sticky;top:0;z-index:5}
.gsearch{flex:1;max-width:520px}.gsearch input{width:100%;border-radius:999px;background:var(--bg);border:1px solid var(--line);padding:9px 16px}
.top-r{margin-inline-start:auto;display:flex;gap:8px;align-items:center}
.pill{background:var(--bg);border:1px solid var(--line);padding:6px 12px;border-radius:999px;color:var(--ink);font-size:.88rem;text-decoration:none!important;white-space:nowrap}
.pill small{margin-inline-start:6px}.pill.out{color:var(--red)}
.burger{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer}
.content{padding:22px;max-width:1500px}
.page-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.page-h h1{font-size:1.45rem;margin:0}.acts{margin-inline-start:auto;display:flex;gap:8px;flex-wrap:wrap}
/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:16px;box-shadow:var(--sh)}
.card.flush{padding:0;overflow:hidden}.card.narrow{max-width:520px}
.card h3{margin:0 0 12px;font-size:1.05rem}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;align-items:start}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;display:grid;gap:2px;box-shadow:var(--sh);color:var(--ink);text-decoration:none!important;border-inline-start:4px solid var(--red)}
.kpi:hover{transform:translateY(-2px)}.kic{font-size:1.4rem}.kn{font-size:2rem;font-weight:700;line-height:1.1}.kl{color:var(--ink2);font-size:.88rem}
.bars{display:grid;gap:9px}.bar{display:grid;grid-template-columns:150px 1fr 40px;gap:10px;align-items:center;color:var(--ink);text-decoration:none!important;font-size:.92rem}
.bt{height:12px;background:var(--bg);border-radius:99px;overflow:hidden;display:block}.bt i{display:block;height:100%;background:linear-gradient(90deg,var(--red),#f0645a);border-radius:99px}.bn{font-weight:700;text-align:end}
/* tables */
.tbl-wrap{overflow:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th{background:#fafbfc;text-align:start;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink2);font-weight:600;white-space:nowrap}
.tbl td{padding:9px 12px;border-bottom:1px solid #eef0f4;vertical-align:top}
.tbl tbody tr:hover{background:#fcfcfe}
.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:start}
/* forms */
input,select,textarea{font:inherit;color:inherit;background:#fff;border:1px solid #cfd4de;border-radius:8px;padding:8px 10px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(218,33,39,.25);border-color:var(--red)}
input[type=checkbox]{width:18px;height:18px;accent-color:var(--red)}
textarea{width:100%;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.form-grid.one{grid-template-columns:1fr}
.fld{display:grid;gap:5px;align-content:start}.fld .lbl{font-size:.85rem;color:var(--ink2);font-weight:600}.fld input,.fld select{width:100%}.span2{grid-column:span 2}
.grp{margin:22px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--line);font-size:1rem}.grp:first-child{margin-top:0}
.form-actions{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters input[type=search]{min-width:260px;flex:1}
.inline{display:inline}.inline-form{display:flex;gap:8px;flex-wrap:wrap}.inline-form input{flex:1;min-width:120px}
.upload{margin-top:12px}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfd4de;background:#fff;color:var(--ink);padding:8px 14px;border-radius:9px;cursor:pointer;font:inherit;font-weight:600;text-decoration:none!important}
.btn:hover{background:#f6f7fa}.btn.primary{background:var(--red);border-color:var(--red);color:#fff}.btn.primary:hover{background:var(--red-d)}
.btn.danger{background:var(--err);border-color:var(--err);color:#fff}.btn.danger.ghost{background:#fff;color:var(--err)}.btn.sm{padding:4px 9px;font-size:.85rem}.btn.wide{width:100%;justify-content:center}
button.link{background:none;border:0;cursor:pointer;color:var(--err)}
/* badges */
.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.8rem;font-weight:600}
.b-green{background:#e3f6ec;color:#12703b}.b-blue{background:#e5edff;color:#1f48a8}.b-amber{background:#fff1d6;color:#8a5600}.b-red{background:#fde5e5;color:#a51d1d}.b-gray{background:#eceef3;color:#586074}.b-purple{background:#efe6ff;color:#5b2ea8}
.chip{display:inline-block;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:0 6px;margin-inline-end:3px;font-size:.85rem}.chip.warn{background:#fff1d6;border-color:#f0cf8a}
.flash{padding:10px 14px;border-radius:9px;margin-bottom:12px;border:1px solid}.flash.slim{padding:4px 10px;margin:6px 0 0;display:inline-block}
.f-ok{background:#e3f6ec;border-color:#a6dfc0;color:#0f5f33}.f-err{background:#fde5e5;border-color:#f3b4b4;color:#8c1717}.f-warn{background:#fff1d6;border-color:#f0cf8a;color:#7a4b00}
.empty{padding:26px;text-align:center;color:var(--ink2)}
.pager{display:flex;gap:6px;margin:14px 0}.pager a{padding:5px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.pager a.on{background:var(--red);color:#fff;border-color:var(--red)}
/* profile */
.prof-head{display:flex;gap:16px;align-items:center}.avatar{width:62px;height:62px;border-radius:50%;background:var(--red);color:#fff;font-size:1.7rem;font-weight:700;display:grid;place-items:center;flex:none}
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:16px;overflow:auto}.tabs a{padding:10px 16px;color:var(--ink2);border-bottom:3px solid transparent;margin-bottom:-2px;text-decoration:none!important;white-space:nowrap}.tabs a.on{color:var(--red);border-color:var(--red);font-weight:700}
.kv{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:7px 12px;margin:0}.kv dt{color:var(--ink2);font-size:.88rem}.kv dd{margin:0;word-break:break-word}
.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline li{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:0 0 18px;position:relative}
.timeline li:before{content:"";position:absolute;inset-block:8px 0;inset-inline-start:104px;width:2px;background:var(--line)}
.timeline li:after{content:"";position:absolute;top:6px;inset-inline-start:99px;width:12px;height:12px;border-radius:50%;background:var(--red);border:2px solid #fff}
.tl-date{color:var(--ink2);font-size:.88rem;padding-top:2px}.tl-body{padding-inline-start:26px}.arrow{color:var(--red)}
.files{list-style:none;padding:0}.files li{padding:6px 0;border-bottom:1px solid #eef0f4}
.plain{list-style:none;margin:0;padding:0}.plain li{padding:5px 0;border-bottom:1px solid #f0f1f5}
.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.type-btn{display:grid;gap:4px;justify-items:center;padding:16px 8px;background:var(--bg);border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none!important;font-weight:600}.type-btn span{font-size:1.8rem}.type-btn:hover{border-color:var(--red);background:#fff}
.hc summary{cursor:pointer;font-weight:700;list-style:none}.hc summary .badge{min-width:30px;text-align:center;margin-inline-end:8px}.hc table{margin-top:10px}
.tempbox{border:2px dashed var(--red);background:#fff8f8}.big{font-size:1.3rem;background:#fff;padding:4px 10px;border:1px solid var(--line)}
/* login */
body.plain{background:linear-gradient(135deg,#1d2330 0%,#2c3446 60%,#DA2127 160%);min-height:100vh}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.login-card{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:400px;display:grid;gap:14px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.login-logo{width:70%;margin:0 auto}.login-card h1{font-size:1.1rem;text-align:center;margin:0;color:var(--ink2)}.lang-link{text-align:center;font-size:.9rem}
/* print */
.print-doc{max-width:800px;margin:20px auto;padding:20px;background:#fff}.print-logo{width:180px}.sigs{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px;text-align:center}
@media print{.side,.top,.filters,.acts,.tabs{display:none!important}body.app{display:block}body{background:#fff}.print-doc{margin:0}}
@media(max-width:900px){body.app{grid-template-columns:1fr}.side{position:fixed;inset-block:0;inset-inline-start:0;width:260px;z-index:20;transform:translateX(-110%);transition:.2s}html[dir=rtl] .side{transform:translateX(110%)}body.nav-open .side{transform:none!important}.burger{display:block}.content{padding:14px}.span2{grid-column:auto}.bar{grid-template-columns:110px 1fr 34px}.pill.user small{display:none}.gsearch{display:none}.grid2{grid-template-columns:1fr}.timeline li{grid-template-columns:1fr}.timeline li:before,.timeline li:after{display:none}.tl-body{padding:0}}

.bell{position:relative}.bell-n{position:absolute;top:-6px;inset-inline-end:-6px;background:#c62828;color:#fff;border-radius:10px;font-size:.7rem;padding:0 5px;min-width:16px;text-align:center}
.notif-list{list-style:none;margin:0;padding:0}.notif-list li{padding:10px 0;border-bottom:1px solid var(--line,#e5e7eb)}.notif-list a{text-decoration:none;color:inherit;display:flex;gap:10px;align-items:center}
.score{display:inline-block;min-width:26px;text-align:center;border-radius:6px;background:#fde8e8;color:#b71c1c;font-weight:700;padding:1px 6px}
@media print{.no-print{display:none!important}}
