@font-face{font-family:Tajawal;src:url(/fonts/Tajawal-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Tajawal;src:url(/fonts/Tajawal-Medium.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Tajawal;src:url(/fonts/Tajawal-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
:root{--navy:#054990;--navy-d:#022C80;--blue:#0E80BC;--orange:#EF924C;--ok:#2E7D32;--bad:#C62828;--line:#D6DEE8;--soft:#F4F7FB;--ink:#16233A}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:Tajawal,Arial,sans-serif;font-size:17px;line-height:1.6}
a{color:var(--blue)}
header.top{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:3px solid var(--navy);background:#fff}
header.top img{height:54px;width:auto}
header.top .name{font-weight:700;color:var(--navy-d);font-size:1.05rem;line-height:1.3}
header.top .name small{display:block;font-weight:400;color:#5b6b82;font-size:.8rem}
header.top .who{margin-inline-start:auto;font-size:.85rem;color:#5b6b82;text-align:end}
nav.main{display:flex;gap:6px;flex-wrap:wrap;padding:8px 18px;background:var(--soft);border-bottom:1px solid var(--line)}
nav.main a{padding:7px 14px;border-radius:8px;text-decoration:none;color:var(--navy-d);font-weight:500}
nav.main a:hover,nav.main a.on{background:var(--navy);color:#fff}
main{max-width:1100px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:1.5rem;color:var(--navy-d);margin:.2em 0 .6em}
h2{font-size:1.15rem;color:var(--navy);margin:1.4em 0 .5em}
.msgs{list-style:none;margin:0 0 14px;padding:0}
.msgs li{padding:10px 14px;border-radius:8px;margin-bottom:6px;background:#E8F3EA;border:1px solid #bcd9c1;color:#1d5a24}
.msgs li.error{background:#FBE9E9;border-color:#e5b4b4;color:#8e1d1d}
.msgs li.warn{background:#FFF4E8;border-color:var(--orange);color:#7a3d06}
.alert{padding:12px 16px;border-radius:10px;margin:0 0 16px;border:1px solid}
.alert.warn{background:#FFF4E8;border-color:var(--orange);color:#7a3d06}
.alert.ok{background:#EAF4EC;border-color:#bcd9c1;color:#1d5a24}
.group{margin:0 0 22px}.group h2{margin-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.btn-big{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:84px;padding:14px;border-radius:14px;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem;text-align:center;border:0;cursor:pointer}
.btn-big small{font-weight:400;font-size:.8rem;opacity:.85}
.btn-big:hover{background:var(--navy-d)}
.btn{display:inline-block;padding:9px 18px;border-radius:10px;background:var(--navy);color:#fff;text-decoration:none;border:0;font:inherit;font-weight:700;cursor:pointer}
.btn:hover{background:var(--navy-d)}
.btn.light{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.btn.small{padding:4px 12px;font-size:.9rem;font-weight:500}
.btn.warn{background:#fff;color:var(--bad);border:1px solid var(--bad)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:0 0 20px}
.kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px}
.kpi span{color:#5b6b82;font-size:.85rem}.kpi b{font-size:1.35rem;color:var(--navy-d)}.kpi b.neg{color:var(--bad)}.kpi small{color:#6b7a90;font-size:.78rem}
.kpi.warnb{border-color:var(--orange)}
table{width:100%;border-collapse:collapse;margin:8px 0 16px}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}
th{background:var(--navy);color:#fff;font-weight:700;font-size:.92rem}
tr.off td{color:#8b97a8}
tr.tot td{font-weight:700;background:var(--soft)}
td.num,th.num{text-align:end;font-variant-numeric:tabular-nums}
td.num,.kpi b{direction:ltr;unicode-bidi:isolate}
td.num{text-align:left}
.neg{color:var(--bad)}
.badge{display:inline-block;background:#E7ECF3;color:#4a5a73;border-radius:8px;padding:0 8px;font-size:.78rem;font-weight:500}
.table-wrap{overflow-x:auto}
form.f p{margin:0 0 14px}
form.f label{display:block;font-weight:500;margin-bottom:4px}
input[type=text],input[type=number],input[type=date],input[type=search],select,textarea{width:100%;padding:10px 12px;border:1px solid #b8c4d4;border-radius:10px;font:inherit;background:#fff}
input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-inline-end:6px}
.err{color:var(--bad);font-size:.92rem;margin:4px 0 0}
.helptext{color:#6b7a90;font-size:.85rem}
.search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.search input,.search select{width:auto;flex:1;min-width:140px}
.cancel-form{display:flex;gap:4px}.cancel-form input{padding:4px 8px;max-width:150px}
.pager{display:flex;gap:10px;align-items:center;margin:10px 0}
.print-only{display:none}
.print-head{border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:14px;gap:14px;align-items:center}
.print-head img{height:60px}
.doc-title{font-size:1.3rem;font-weight:700;margin:6px 0}
.hidden{display:none!important}
@media (max-width:640px){
 body{font-size:16px}
 header.top{padding:8px 12px}header.top img{height:44px}header.top .name{font-size:.92rem}
 .grid{grid-template-columns:1fr 1fr}.btn-big{min-height:76px;font-size:1rem}
 th,td{padding:8px 6px;font-size:.92rem}
}
@media print{
 @page{size:A4;margin:14mm}
 body{font-size:11pt;color:#000}
 nav.main,header.top,.no-print,.btn,.btn-big,.msgs,.alert{display:none!important}
 .print-only{display:block}
 .print-only.print-head{display:flex}
 th{background:#fff!important;color:#000!important;border-bottom:2px solid #000}
 td{border-bottom:1px solid #999}
 tr.tot td{background:#eee!important}
 main{max-width:none;padding:0}
 .kpi{break-inside:avoid}.kpi b,.neg{color:#000!important}
 a{color:#000;text-decoration:none}
 table{page-break-inside:auto}tr{page-break-inside:avoid}thead{display:table-header-group}
}
.ltr{unicode-bidi:isolate;white-space:nowrap}
.login-box{max-width:380px;margin:40px auto}.login-box .logo{text-align:center;margin-bottom:12px}.login-box .logo img{height:120px}
