:root{
  --ink:#0b0f17; --ink-2:#3d4659; --ink-3:#6b7488;
  --bg:#f4f6fa; --card:#ffffff; --line:#e1e5ee; --line-2:#eef1f6;
  --brand:#0b1630; --brand-2:#1c3566; --accent:#2f5bd3; --accent-soft:#e8eefc;
  --gold:#2f5bd3; --gold-soft:#e8eefc;
  --ok:#1f7a4d; --ok-bg:#e3f3ea; --warn:#9a6700; --warn-bg:#fdf1d3;
  --bad:#b42318; --bad-bg:#fde8e6; --mute:#5b6478; --mute-bg:#eef0f4; --info:#1d4ed8; --info-bg:#e6edfd;
  --radius:12px; --shadow:0 1px 2px rgba(11,22,48,.05),0 2px 6px rgba(11,22,48,.05);
}
*{box-sizing:border-box}
html{overflow-x:clip}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:"IBM Plex Sans Arabic",system-ui,sans-serif;font-size:15px;line-height:1.55}
a{color:var(--brand-2)}
button,input,select,textarea{font:inherit;color:inherit}
.boot{display:grid;place-items:center;height:100vh;color:var(--ink-3);background:radial-gradient(circle at 50% 42%,#fff 0%,#eef2f9 75%)}
.boot-in{display:grid;justify-items:center;gap:18px;font-size:14px;letter-spacing:.2px}
.boot-logo{width:132px;height:auto;animation:bkPulse 1.8s ease-in-out infinite;filter:drop-shadow(0 8px 18px rgba(11,22,48,.18))}
.boot-bar{width:170px;height:4px;border-radius:4px;background:#dde3ee;overflow:hidden}
.boot-bar i,.loading i::before{display:block;width:40%;height:100%;border-radius:4px;background:linear-gradient(90deg,#0b1630,#c9a227);animation:bkSlide 1.15s ease-in-out infinite}
@keyframes bkPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.07);opacity:.82}}
@keyframes bkSlide{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
html[dir=rtl] .boot-bar i,html[dir=rtl] .loading i::before{animation-name:bkSlideR}
@keyframes bkSlideR{0%{transform:translateX(110%)}100%{transform:translateX(-260%)}}
.loading{display:grid;justify-items:center;gap:12px;padding:60px 20px;color:var(--ink-3);font-size:13px}
.loading img{width:180px;max-width:55vw;height:auto;animation:bkPulse 1.8s ease-in-out infinite}
.loading .lg-svg{width:180px;max-width:55vw;height:auto;filter:drop-shadow(0 8px 18px rgba(11,22,48,.14))}
.loading i{display:block;width:90px;height:3px;border-radius:3px;background:#dde3ee;overflow:hidden}
.loading i::before{content:""}
/* ساعة الكويت */
.kw-clock{display:grid;gap:1px;margin-bottom:8px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.kw-clock .kc-t{color:#fff;font-weight:700;font-size:15px;direction:ltr;text-align:start;font-variant-numeric:tabular-nums}
html[dir=rtl] .kw-clock .kc-t{direction:rtl}
.kw-clock .kc-d{font-size:11.5px;color:#aab6cf}
.home-clock{display:inline-grid;margin:8px 0 0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.home-clock .kc-t{color:var(--brand);font-size:16px}
.home-clock .kc-d{color:var(--ink-2);font-size:12.5px}
.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;display:inline-block}

/* ---------- Layout ---------- */
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.shell>div{min-width:0}
.side{background:linear-gradient(180deg,#0b1630 0%,#070d1d 100%);color:#d5dcec;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:4px}
.brand{display:flex;gap:10px;align-items:center;padding:4px 8px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:10px}
.brand img{width:46px;height:46px;object-fit:contain}
.brand b{display:block;color:#fff;font-size:15px}
.brand small{color:#8e9bb8;font-size:11.5px;line-height:1.4;display:block}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:#c3cce0;text-decoration:none;font-weight:500}
.nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav a.active{background:rgba(255,255,255,.09);color:#fff;box-shadow:inset -3px 0 0 #fff}
.nav .sec{font-size:11px;letter-spacing:.04em;color:#6f7d9c;padding:14px 12px 4px}
.nav .badge{margin-inline-start:auto;background:#fff;color:var(--brand);border-radius:20px;padding:0 8px;font-size:12px;font-weight:700}
.side .me{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.08);font-size:13px}
.side .me b{color:#fff;display:block}
.side .me button{margin-top:8px;background:transparent;border:1px solid rgba(255,255,255,.2);color:#d5dcec;border-radius:8px;padding:5px 10px;cursor:pointer}
.main{padding:26px 30px 60px;min-width:0}
.topbar{display:none}
.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.page-h h1{font-size:22px;margin:0}
.page-h p{margin:2px 0 0;color:var(--ink-3);font-size:13px}

/* ---------- Cards / tiles ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.card h3{margin:0 0 12px;font-size:15px}
.grid{display:grid;gap:14px}
.grid>*{min-width:0}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:inherit;display:block;box-shadow:var(--shadow)}
.tile .v{font-size:28px;font-weight:700;line-height:1.1}
.tile .l{color:var(--ink-2);font-size:13px;margin-top:4px}
.tile.warn{border-color:#f0d58a;background:#fffbf2}.tile.warn .v{color:var(--warn)}
.tile.bad{border-color:#f5c2bd;background:#fff7f6}.tile.bad .v{color:var(--bad)}
.tile.ok .v{color:var(--ok)}
.balance-hero{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border:none}
.balance-hero .big{font-size:46px;font-weight:700;line-height:1}
.balance-hero .sub{color:#aebbd8;font-size:13px}
.balance-hero .kv{display:flex;gap:22px;flex-wrap:wrap}
.balance-hero .kv div b{display:block;font-size:18px}
.balance-hero .btn{margin-inline-start:auto}

/* ---------- Tables ---------- */
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:9px 12px;text-align:start;border-bottom:1px solid var(--line-2);white-space:nowrap;vertical-align:middle}
th{background:#f7f8fb;color:var(--ink-2);font-weight:600;font-size:12.5px;position:sticky;top:0;z-index:1}
tbody tr:hover{background:#f7f9fd}
tr.click{cursor:pointer}
td.wrap{white-space:normal;min-width:180px}
tfoot td{font-weight:700;background:#f7f8fb}

/* ---------- Chips ---------- */
.chip{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:1px 10px;font-size:12.5px;font-weight:600;white-space:nowrap}
.c-ok{background:var(--ok-bg);color:var(--ok)}.c-warn{background:var(--warn-bg);color:var(--warn)}
.c-bad{background:var(--bad-bg);color:var(--bad)}.c-mute{background:var(--mute-bg);color:var(--mute)}
.c-info{background:var(--info-bg);color:var(--info)}.c-gold{background:var(--accent-soft);color:#1c3566}

/* ---------- Forms ---------- */
.form{display:grid;gap:14px}
.row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
label.f{display:grid;gap:5px;font-size:13px;color:var(--ink-2);font-weight:500}
input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;width:100%;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(47,91,211,.15)}
textarea{min-height:70px;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 14px;cursor:pointer;font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn:hover{background:#f3f5f9}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-2)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.bad{background:#fff;border-color:#f1b8b2;color:var(--bad)}
.btn.sm{padding:4px 10px;font-size:13px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.toolbar input,.toolbar select{width:auto;min-width:140px}
.alert{border-radius:10px;padding:10px 14px;font-size:14px;margin:0}
.alert.warn{background:var(--warn-bg);color:#6b4800}.alert.bad{background:var(--bad-bg);color:#8a1c12}
.alert.ok{background:var(--ok-bg);color:#145a37}.alert.info{background:var(--info-bg);color:#1e3a8a}
.stack{display:grid;gap:8px}
.muted{color:var(--ink-3)}.small{font-size:12.5px}
.preview{background:#f7f8fb;border:1px dashed var(--line);border-radius:10px;padding:12px 14px;display:flex;gap:22px;flex-wrap:wrap}
.preview div b{display:block;font-size:18px}
.empty{padding:30px;text-align:center;color:var(--ink-3)}
hr.sep{border:none;border-top:1px solid var(--line-2);margin:14px 0}

/* ---------- Approval cards ---------- */
.ap{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}
.ap .meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--ink-2);font-size:13.5px;margin-top:6px}
.ap .acts{display:flex;gap:6px;flex-wrap:wrap}
.flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}

/* ---------- Detail ---------- */
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}
dl.kv dt{color:var(--ink-3);font-size:13px}
dl.kv dd{margin:0;font-weight:500}
.timeline{list-style:none;margin:0;padding:0;border-inline-start:2px solid var(--line);}
.timeline li{padding:0 14px 12px;position:relative;font-size:13.5px}
.timeline li::before{content:"";position:absolute;inset-inline-start:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--brand-2);border:2px solid #fff}

/* ---------- Gantt ---------- */
.gantt{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.gantt table{font-size:12px}
.gantt th,.gantt td{padding:0;border-bottom:1px solid var(--line-2);border-inline-start:1px solid var(--line-2);text-align:center;min-width:24px;height:30px}
.gantt th.name,.gantt td.name{text-align:start;padding:0 10px;min-width:200px;position:sticky;inset-inline-start:0;background:#fff;z-index:2}
.gantt th.name{background:#f7f8fb;z-index:3}
.gantt th.we{background:#eef1f6}
.gantt td.today,.gantt th.today{box-shadow:inset 0 0 0 2px var(--accent)}
.gantt td.hol{background:repeating-linear-gradient(45deg,#eef1f6,#eef1f6 4px,#fff 4px,#fff 8px)}
.bar{height:20px;margin:0 -1px;}
.t-annual{background:#1c3566}.t-sick{background:#c2410c}.t-unpaid{background:#94a3b8}.t-other{background:#3b82f6}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin:8px 0}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-inline-end:5px}

/* ---------- Modal / toast ---------- */
.modal-bg{position:fixed;inset:0;background:rgba(16,24,40,.45);display:grid;place-items:center;z-index:50;padding:16px}
.modal{background:#fff;border-radius:14px;max-width:760px;width:100%;max-height:92vh;overflow:auto;padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.modal h2{margin:0 0 14px;font-size:18px}
.modal .foot{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(120%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:10px;transition:.25s;z-index:60;max-width:90vw}
#toast:not(.show){opacity:0;pointer-events:none}
#toast.show{transform:translateX(-50%) translateY(0)}
#toast.err{background:var(--bad)}

/* ---------- Auth ---------- */
.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:
  radial-gradient(900px 500px at 100% 0,rgba(47,91,211,.28),transparent),linear-gradient(160deg,#0b1630,#04070f)}
.auth .card{width:100%;max-width:400px;padding:28px}
.auth h1{font-size:20px;margin:10px 0 2px}
.auth .tabs{display:flex;gap:6px;background:#eef1f6;padding:4px;border-radius:10px;margin:16px 0}
.auth .tabs button{flex:1;border:none;background:transparent;padding:7px;border-radius:8px;cursor:pointer;font-weight:600;color:var(--ink-2)}
.auth .tabs button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow)}

/* ---------- Print form ---------- */
.print-page{background:#fff;max-width:820px;margin:0 auto;padding:30px 36px;border:1px solid var(--line);border-radius:6px}
.print-page .hdr{text-align:center;border-bottom:3px double var(--brand);padding-bottom:10px;margin-bottom:14px}
.print-page .hdr h2{margin:0;font-size:20px;color:var(--brand)}
.print-page .hdr p{margin:2px 0;color:var(--ink-2);font-size:13px}
.print-page .hdr h3{margin:10px 0 0;font-size:17px}
.print-page table td{white-space:normal;border:1px solid #c9cfdb;padding:7px 10px}
.print-page table td:first-child{background:#f4f6fa;width:44%;font-weight:600}
.sig{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;text-align:center;font-size:13px}
.sig div{border:1px solid #c9cfdb;border-radius:6px;padding:8px 6px 46px;position:relative}
.sig div span{position:absolute;bottom:8px;left:8px;right:8px;font-size:12px;color:var(--ink-2)}

@media print{
  body{background:#fff}
  .side,.topbar,.no-print,#toast{display:none!important}
  .shell{display:block}.main{padding:0}
  .print-page{border:none;padding:0;max-width:none}
}

/* ---------- Mobile ---------- */
@media (max-width:900px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;inset:0 0 0 auto;width:min(280px,85vw);transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;z-index:40;height:100%}
  .side.open{transform:none;visibility:visible;box-shadow:-10px 0 40px rgba(0,0,0,.3)}
  .side.open ~ .backdrop{display:block}
  .side-close{display:grid}
  .topbar{display:flex;align-items:center;gap:10px;background:var(--brand);color:#fff;padding:10px 14px;position:sticky;top:0;z-index:30}
  .topbar button{background:transparent;border:none;color:#fff;font-size:22px;cursor:pointer}
  .main{padding:16px 14px 50px}
  .g2,.g3{grid-template-columns:minmax(0,1fr)}
  .ap{grid-template-columns:1fr}
  .balance-hero .btn{margin-inline-start:0}
}

/* ---------- Logo ---------- */
.auth .logo{width:84px;height:84px;object-fit:contain;display:block;margin:0 auto 4px}
.auth .card{text-align:start}
.auth .card h1,.auth .card>.muted{text-align:center}
.print-page .hdr img{width:70px;height:70px;object-fit:contain;display:block;margin:0 auto 6px}
.topbar img{width:30px;height:30px;object-fit:contain}
.balance-hero{background:linear-gradient(135deg,#0b1630 0%,#1c3566 100%)}
td.num{display:table-cell;direction:ltr;text-align:start}

/* ---------- نموذج الإجازة الرسمي ---------- */
.pf{background:#fff;max-width:820px;margin:0 auto;padding:28px 34px 22px;border:1px solid var(--line);border-radius:6px;color:#0b0f17;font-size:13px;line-height:1.5}
.pf-head{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border-bottom:3px solid #0b1630;padding-bottom:12px}
.pf-head img{width:70px;height:70px;object-fit:contain}
.pf-co b{display:block;font-size:17px;color:#0b1630}
.pf-co span{font-size:11px;color:#4b5568;direction:ltr;display:block;text-align:right}
.pf-ref{display:grid;gap:4px;text-align:center;border:1px solid #c9cfdb;border-radius:6px;padding:6px 12px;font-size:12px}
.pf-ref small{display:block;color:#6b7488;font-size:10px}
.pf-title{text-align:center;font-size:19px;margin:14px 0 10px;color:#0b1630}
.pf-title small{display:block;font-size:11px;font-weight:500;color:#6b7488;letter-spacing:.08em}
.pf section{margin-top:10px}
.pf h2{font-size:13px;margin:0 0 6px;padding:5px 10px;background:#0b1630;color:#fff;border-radius:4px}
.pf h2 small{font-weight:400;opacity:.75;margin-inline-start:6px;font-size:10.5px}
.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #c9cfdb;border-radius:4px;overflow:hidden}
.pf-cell{padding:6px 9px;border-inline-start:1px solid #e1e5ee;border-bottom:1px solid #e1e5ee;min-height:44px}
.pf-cell.wide{grid-column:span 2}
.pf-l{display:block;font-size:11px;color:#4b5568;font-weight:600}
.pf-l small{font-weight:400;color:#8a93a6;margin-inline-start:4px;font-size:9.5px}
.pf-v{display:block;font-size:13px;font-weight:500}
.pf-decl p{margin:4px 2px 8px;text-align:justify}
.pf-sign{display:flex;justify-content:space-between;gap:20px;padding:8px 2px 2px;font-size:12.5px}
.pf-appr{width:100%;border-collapse:collapse;font-size:12.5px}
.pf-appr th{background:#eef1f6;color:#0b1630;border:1px solid #c9cfdb;padding:6px;text-align:center;position:static}
.pf-appr td{border:1px solid #c9cfdb;padding:6px 8px;height:52px;white-space:normal;vertical-align:middle}
.pf-appr td small{display:block;color:#8a93a6;font-size:9.5px}
.pf-appr td:nth-child(4){width:24%}
.pf-box{display:inline-block;width:13px;height:13px;border:1.4px solid #0b1630;border-radius:2px;vertical-align:middle;margin:0 2px 0 6px;font-size:10px;line-height:11px;text-align:center}
.pf-box.on{background:#0b1630;color:#fff}
.pf-stamp{margin:10px 0 0 auto;width:150px;height:84px;border:1.5px dashed #9aa3b5;border-radius:50%;display:grid;place-content:center;text-align:center;color:#9aa3b5;font-size:12px}
.pf-stamp small{display:block;font-size:9.5px}
.pf-foot{display:flex;justify-content:space-between;margin-top:12px;padding-top:6px;border-top:1px solid #c9cfdb;font-size:10px;color:#6b7488}
@media (max-width:700px){ .pf{padding:16px} .pf-grid{grid-template-columns:repeat(2,1fr)} .pf-head{grid-template-columns:auto 1fr} .pf-ref{grid-column:1/-1;grid-template-columns:1fr 1fr} }
@media print{
  @page{size:A4;margin:9mm 10mm}
  html,body{background:#fff!important}
  .pf{border:none;padding:0;max-width:none;font-size:10.5px;line-height:1.4}
  .pf-head{padding-bottom:7px;gap:12px}
  .pf-head img{width:54px;height:54px}
  .pf-co b{font-size:15px}
  .pf-title{font-size:16px;margin:7px 0 5px}
  .pf section{margin-top:6px}
  .pf h2{font-size:11.5px;padding:3px 9px;margin-bottom:4px}
  .pf-grid{grid-template-columns:repeat(4,1fr)!important}
  .pf-cell{min-height:0;padding:3px 7px}
  .pf-l{font-size:9.5px}.pf-l small{font-size:8.5px}
  .pf-v{font-size:11px}
  .pf-decl p{margin:2px 2px 4px}
  .pf-sign{padding:4px 2px 0;font-size:10.5px}
  .pf-appr{font-size:10.5px}
  .pf-appr th{padding:3px}
  .pf-appr td{height:36px;padding:3px 7px}
  .pf-stamp{width:120px;height:64px;margin-top:6px;font-size:10px}
  .pf-foot{margin-top:6px}
  .pf h2,.pf-box.on,.pf-appr th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pf section,.pf-appr tr{break-inside:avoid}
}

.side-close{display:none;place-items:center;margin-inline-start:auto;width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:16px;cursor:pointer;flex:none}
.backdrop{display:none;position:fixed;inset:0;background:rgba(5,10,25,.45);z-index:35}
.topbar button{min-width:40px;min-height:40px}
.modal{position:relative}
.modal-x{position:sticky;top:0;float:left;margin:-8px -8px 0 0;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:15px;cursor:pointer;z-index:2;box-shadow:var(--shadow)}

/* ---------- البحث عن موظف ---------- */
.picker{position:relative;display:flex;gap:8px;flex-wrap:wrap}
.picker .pk-in{flex:1;min-width:220px}
.pk-res{position:absolute;top:100%;inset-inline:0;z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(11,22,48,.12);margin-top:4px;overflow:hidden}
.pk-res:empty{display:none}
.pk-item{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:start;border:none;background:#fff;padding:10px 12px;border-bottom:1px solid var(--line-2);cursor:pointer;font:inherit}
.pk-item:hover{background:var(--accent-soft)}
.pk-item span{color:var(--ink-3);font-size:12.5px}
.pk-none{padding:12px;color:var(--ink-3)}

/* ---------- التقارير ---------- */
.rpt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.rpt-card{display:flex;gap:14px;align-items:center}
.rpt-card .v{font-size:30px}
.rpt-card b{font-size:16px}
.rpt{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px 28px;max-width:1000px;margin:0 auto;font-size:13px}
.rpt-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border-bottom:3px solid #0b1630;padding-bottom:10px}
.rpt-head img{width:58px;height:58px;object-fit:contain}
.rpt-head b{display:block;font-size:16px;color:#0b1630}
.rpt-head span{display:block;font-size:11px;color:#4b5568;direction:ltr;text-align:right}
.rpt-meta{text-align:center;font-size:12px}.rpt-meta small{display:block;color:#6b7488;font-size:10px}
.rpt-title{text-align:center;font-size:20px;margin:12px 0 10px;color:#0b1630}
.rpt-title small{display:block;font-size:12px;font-weight:500;color:#4b5568;margin-top:2px}
.rpt-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid #c9cfdb;border-radius:6px;overflow:hidden;margin-bottom:10px}
.rpt-info>div{padding:7px 10px;border-inline-start:1px solid #e1e5ee;border-bottom:1px solid #e1e5ee}
.rpt-info small{display:block;color:#6b7488;font-size:11px}
.rpt-h{font-size:13.5px;margin:14px 0 6px;padding:5px 10px;background:#0b1630;color:#fff;border-radius:4px}
.rpt-h span{font-weight:400;opacity:.8;font-size:12px}
.rpt-t{width:100%;border-collapse:collapse;font-size:12.5px}
.rpt-t th{background:#eef1f6;color:#0b1630;border:1px solid #c9cfdb;padding:6px 8px;position:static;white-space:nowrap}
.rpt-t td{border:1px solid #d6dbe5;padding:5px 8px;white-space:nowrap}
.rpt-t td.wrap{white-space:normal;min-width:140px}
.rpt-t tfoot td{background:#f4f6fa;font-weight:700}
.rpt-t tbody tr:nth-child(even){background:#fafbfd}
.rpt-sum{max-width:560px}
.bad-t{color:var(--bad)}
.rpt-foot{display:flex;justify-content:space-between;margin-top:18px;padding-top:8px;border-top:1px solid #c9cfdb;font-size:11px;color:#6b7488}
.rpt{overflow-x:auto}
@media (max-width:700px){ .rpt{padding:14px} .rpt-head{grid-template-columns:auto 1fr} .rpt-meta{grid-column:1/-1} }
@media print{
  .rpt{border:none;padding:0;max-width:none;font-size:11px;overflow:visible}
  .rpt-h,.rpt-t th,.rpt-t tfoot td{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rpt-t{font-size:10.5px}.rpt-t td,.rpt-t th{padding:3px 6px}
  .rpt-sec{break-inside:auto}.rpt-h{break-after:avoid}
  .rpt-t tr{break-inside:avoid}
  .rpt-t thead{display:table-header-group}
}
.perm-t th.c,.perm-t td.c{text-align:center;width:110px}
.perm-t input[type=checkbox]{width:20px;height:20px;accent-color:#0b1630;cursor:pointer}
.perm-t td.wrap{min-width:240px}
/* ---------- التراخيص ---------- */
.lic-h{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0b1630;color:#fff}
.lic-h b{font-size:15px}
.lic-brs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 12px;max-height:240px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px}
.lic-brs label{display:flex;gap:6px;align-items:center}
.modal h2 small{margin-top:2px}
/* ---------- سجل النشاط ---------- */
.aud-list{display:grid;gap:0;border:1px solid #d6dbe5;border-radius:6px;overflow:hidden;margin-bottom:6px}
.aud-row{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:8px 12px;border-bottom:1px solid #e8ebf1;font-size:13px}
.aud-row:last-child{border-bottom:none}
.aud-row:nth-child(even){background:#fafbfd}
.aud-time{color:#6b7488;font-size:12.5px;padding-top:2px}
.aud-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.aud-link{margin-inline-start:auto;font-size:12px}
.aud-ch{margin:5px 0 0;padding-inline-start:18px;color:#3d4659;font-size:12.5px}
.aud-ch li{margin:1px 0}
.aud-arr{color:var(--accent);font-weight:700;margin:0 4px}
@media print{ .aud-row{break-inside:avoid;font-size:10.5px;padding:4px 8px} .aud-ch{font-size:10px} }
/* إشعارات */
.tb-bell{margin-inline-start:auto;position:relative;color:#fff;text-decoration:none;font-size:20px;padding:4px 8px}
.tb-bell .nb-count{position:absolute;top:-2px;inset-inline-end:-2px;background:#e5484d;color:#fff;border-radius:20px;font-size:11px;font-weight:700;padding:0 6px;line-height:18px}
.notif{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;padding:12px 16px}
.notif.unread{border-inline-start:4px solid var(--brand);background:#f4f7fd}
.stack>.notif{margin:0}
/* شهادات ومكافأة */
table.kvt{width:100%;border-collapse:collapse;margin-top:12px}
table.kvt th,table.kvt td{border:1px solid #d6dbe6;padding:7px 10px;text-align:start}
table.kvt th{background:#f2f4f9;width:16%;color:#0b1630;font-weight:600}
.cert-p{font-size:15px;line-height:2;margin:18px 0}
.sign3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px;text-align:center}
.sign3>div{border-top:1px solid #0b1630;padding-top:6px;font-weight:600;font-size:13px}
.chart{width:100%;height:auto;font-family:inherit}
.chart text{fill:var(--ink,#1a2233)}
@media print{.rpt.cert{border:none}.cert-p{font-size:14px}}
/* لوجو الصفحة الرئيسية */
.home-h{align-items:center}
.home-logo{width:150px;height:150px;object-fit:contain;flex-shrink:0}
.brand img{width:60px;height:60px}
.auth .logo{width:130px;height:130px}
@media (max-width:700px){.home-logo{width:96px;height:96px}.home-h{flex-wrap:nowrap}}
.leftbox{border:1px dashed #e5a19b;background:#fff7f6;border-radius:10px;padding:12px;display:grid;gap:10px}
.rpt-sec{font-size:15px;color:#0b1630;border-bottom:2px solid #0b1630;padding-bottom:4px;margin:20px 0 8px}
.alert.bad{background:#fff1f0;border:1px solid #f5c2bd;color:#a12622;padding:10px 14px;border-radius:8px}
/* الحضور */
.att-card{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;border-inline-start:5px solid var(--brand)}
.btn.big{font-size:17px;padding:14px 22px;border-radius:12px}
.bad-t{color:var(--bad)}
.eval-t{width:100%;border-collapse:collapse}
.eval-t td{padding:6px 4px;border-bottom:1px solid var(--line);font-size:14px}
.eval-t td:last-child{white-space:nowrap;text-align:left}
.eval-t label{display:inline-flex;align-items:center;gap:2px;margin-inline-start:8px;font-weight:600}
.eval-t input{width:auto;margin:0}
/* القائمة الجانبية: أقسام رئيسية وفرعية */
.nav-grp{margin:2px 0}
.nav-grp>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:10px;color:#e8edf7;font-weight:700;font-size:14px;user-select:none}
.nav-grp>summary::-webkit-details-marker{display:none}
.nav-grp>summary::after{content:"‹";margin-inline-start:auto;transition:transform .15s;opacity:.7;font-size:16px}
.nav-grp[open]>summary::after{transform:rotate(-90deg)}
.nav-grp>summary:hover{background:rgba(255,255,255,.06)}
.nav-grp>summary .badge{margin-inline-start:6px;background:#fff;color:var(--brand);border-radius:20px;padding:0 8px;font-size:12px}
.nav-sub{padding-inline-start:10px;margin-inline-start:14px;border-inline-start:1px solid rgba(255,255,255,.12);margin-bottom:6px}
.nav-sub a{font-size:13.5px;padding:7px 10px}
.ho-fs{border:1px solid var(--line);border-radius:10px;padding:12px}
.ho-fs legend{font-weight:700;padding:0 6px;color:var(--brand)}
.ho-card{border-inline-start:5px solid #c9a227}
/* التقرير الشهري للرواتب */
.pm-sheet{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;max-width:1150px;margin:0 auto;overflow-x:auto}
.pm-title{background:#8eaadb;text-align:center;font-size:26px;font-weight:700;color:#111;padding:14px 8px;margin-bottom:0;border:1px solid #333}
.pm-t{width:100%;border-collapse:collapse;font-size:12px;color:#000}
.pm-t th,.pm-t td{border:1px solid #333;padding:2px 5px;white-space:nowrap}
.pm-t th{background:#fff;font-size:11px;text-align:center;line-height:1.2}
.pm-t td.c{text-align:center;font-weight:700}
.pm-t td.en{text-align:left;font-weight:700;direction:ltr}
.pm-t td.ar{text-align:right;direction:rtl}
.pm-t td.note{white-space:normal;min-width:260px;font-size:11px}
.pm-t tr.pm-grp td{text-align:center;font-weight:700;font-size:12px}
.pm-man{width:100%;margin-top:3px;font-size:11px;padding:3px 6px;border:1px dashed #9aa6bf;background:rgba(255,255,255,.7)}
.print-only{display:none}
.pm-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;margin-top:8px;color:#333}
@media print{
  .pm-sheet{border:none;padding:0;max-width:none;overflow:visible}
  .pm-t{font-size:8.5px}.pm-t th{font-size:8px}.pm-t td.note{font-size:8px;min-width:0}
  .pm-title{font-size:20px;padding:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pm-t tr{-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
  .print-only{display:inline}
  .car-h{break-after:page}
}
.pbar{height:8px;background:#e7ebf3;border-radius:20px;overflow:hidden}
.pbar i{display:block;height:100%;background:var(--brand);border-radius:20px}
.ob-item.done{opacity:.75}
.ps-net{margin-top:14px;padding:12px 16px;border:2px solid #0b1630;border-radius:8px;font-size:18px;text-align:center}
.ps-net b{font-size:22px}
.rs-acts{display:flex;gap:10px;flex-wrap:wrap}
/* ---------- اللغة الإنجليزية (LTR) ---------- */
.lang-sw{background:transparent;border:1px solid rgba(255,255,255,.25);color:inherit;border-radius:8px;padding:5px 10px;cursor:pointer;font:inherit;font-size:13px}
.topbar .tb-lang{margin-inline-start:auto;padding:4px 8px;font-size:12px;color:#fff}
.auth .auth-lang{border-color:var(--line);color:var(--ink-2);background:#fff}
html[dir=ltr] .nav a.active{box-shadow:inset 3px 0 0 #fff}
html[dir=ltr] .nav-grp>summary::after{content:"›";}
html[dir=ltr] .nav-grp[open]>summary::after{transform:rotate(90deg)}
html[dir=ltr] .modal-x{float:right;margin:-8px 0 0 -8px}
html[dir=ltr] .pf-co span,html[dir=ltr] .rpt-head span{text-align:left}
html[dir=ltr] .eval-t td:last-child{text-align:right}
@media (max-width:900px){
  html[dir=ltr] .side{inset:0 auto 0 0;transform:translateX(-100%)}
  html[dir=ltr] .side.open{transform:none;box-shadow:10px 0 40px rgba(0,0,0,.3)}
}
.topbar .tb-lang ~ .tb-bell{margin-inline-start:4px}
/* أيام الراحة الشهرية */
.rd-wrap{max-height:none}
.rd-t th,.rd-t td{padding:4px 3px;text-align:center;font-size:12px}
.rd-t .rd-n{text-align:start;position:sticky;inset-inline-start:0;background:#fff;z-index:2;min-width:150px;padding:6px 8px;white-space:nowrap}
.rd-t thead .rd-n{background:var(--line-2,#f3f5f9)}
.rd-h{min-width:24px;line-height:1.1}
.rd-h small{color:var(--ink-3);font-weight:400}
.rd-we{background:#f6f1e3!important}
.rd-c{border-inline-start:1px solid var(--line-2,#eef1f6);min-width:24px;height:30px;font-weight:700}
.rd-ed{cursor:pointer}
.rd-ed:hover{background:#eef3ff}
.rd-full{background:#1d3a78;color:#fff}
.rd-half{background:#c9a227;color:#fff}
.rd-lv{background:#e8f4ec;color:#2f7a4a;font-size:11px}
.rd-tot td{background:#fafbfd;font-weight:700}
/* الإعلانات */
.ann-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.ann-h h3{margin:0}
.ann-b{margin-top:8px;line-height:1.8}
.ann-new{border-inline-start:4px solid #c9a227}
.ann-off{opacity:.55}
@media print{.rd-t th,.rd-t td{font-size:9px;padding:2px 1px}.rd-t .rd-n{min-width:110px}}
/* التوقيع الإلكتروني */
.esig{display:inline-flex;flex-direction:column;align-items:center;gap:2px;vertical-align:middle;min-width:120px}
.esig img{max-height:56px;max-width:180px;object-fit:contain}
.esig small{font-size:10px;color:var(--ink-3);font-weight:400}
.esig .btn{margin-top:2px}
.sign3>div{position:relative;padding-top:6px}
.sign3>div>.esig{position:absolute;bottom:calc(100% + 2px);left:0;right:0;margin:auto}
.pf-appr td .esig img{max-height:40px}
.sig-pad{width:100%;max-width:600px;aspect-ratio:600/240;border:2px dashed #b9c3d6;border-radius:12px;background:#fff;touch-action:none;display:block;margin:0 auto}
@media print{.esig .btn,.esig-btn{display:none!important}}
/* قفل البصمة */
.bio-lock{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fff 0%,#eef2f9 75%)}
.bio-card{display:grid;justify-items:center;gap:6px;text-align:center;padding:30px;max-width:340px}
.bio-card img{width:110px;margin-bottom:8px}
.bio-card h2{margin:0}
.bio-card .btn{width:100%;justify-content:center}
/* ---------- لوحة الإدارة (الملف 29) ---------- */
.dash{margin:0 0 18px}
.dash-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 10px}
.dash-h h2{margin:0;font-size:19px;color:var(--brand)}
.dk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px;margin-bottom:14px}
.dk{position:relative;background:linear-gradient(160deg,#0b1630 0%,#1c3566 100%);color:#fff;border-radius:14px;padding:14px 16px 12px;box-shadow:0 6px 18px rgba(11,22,48,.16);overflow:hidden}
.dk::after{content:"";position:absolute;inset-inline-end:-26px;top:-26px;width:78px;height:78px;border-radius:50%;background:rgba(201,162,39,.18)}
.dk-v{font-size:25px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}
.dk-l{font-size:12.5px;color:#c9d3e8;margin-top:3px}
.dk-s{font-size:11.5px;color:#aab6cf;margin-top:6px}
.dk.bad{background:linear-gradient(160deg,#5a1410 0%,#b42318 100%)}
.dk-d{font-weight:700;padding:1px 6px;border-radius:6px;background:rgba(255,255,255,.12)}
.dk-d.up{color:#7ee2a8}.dk-d.down{color:#ffb4ab}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:14px}
.dcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);min-width:0}
.dcard h3{margin:0 0 10px;font-size:14.5px}
.dchart{width:100%;height:auto;display:block}
.dchart .dl{font-size:11px;fill:var(--ink-3);font-family:inherit}
.dchart .dv{font-size:11.5px;fill:var(--ink);font-weight:700;font-family:inherit}
.dchart .dv.sm{font-size:9.5px}
.dchart .dg{stroke:var(--line-2);stroke-width:1}
.dleg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ink-2);margin-top:6px}
.dleg span{display:inline-flex;align-items:center;gap:5px}
.dleg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.dleg.col{flex-direction:column;gap:5px}
.donut{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:center}
@media (max-width:520px){.donut{grid-template-columns:1fr}.donut svg{max-width:190px;margin:auto}}
.ok-t{color:var(--ok);font-weight:700}
/* ---------- القضايا ---------- */
.case-ev{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0;background:#fbfcfe;break-inside:avoid}
.case-ev-h{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between;margin-bottom:4px}
.case-sig{display:inline-grid;justify-items:center;margin-top:6px;border-top:1px dashed var(--line);padding-top:4px}
.case-sig img{height:54px}
.pm-matrix td.c,.pm-matrix th{text-align:center}
.pm-matrix td:first-child{text-align:start;min-width:200px}
@media print{.dash{display:none}}
.ms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.ms-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);text-decoration:none;color:inherit}
.ms-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line-2);padding-bottom:6px;margin-bottom:6px}
.ms-net{font-size:20px;font-weight:700;color:var(--brand)}
.ms-l{display:flex;justify-content:space-between;font-size:13.5px;padding:2px 0}
.ms-f{font-size:12px;color:var(--accent);margin-top:6px;text-align:end}

/* شاشة التحميل: لوجو البيرق بيتبني */
.lg-svg{width:150px;height:auto;overflow:visible;filter:drop-shadow(0 10px 22px rgba(11,22,48,.16))}
.lg-p{fill:#0b1630;fill-opacity:0;stroke:#c9a227;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:lgBuild 3.4s cubic-bezier(.55,.1,.3,1) infinite;animation-delay:calc(var(--i) * .11s)}
.lg-shine{animation:lgShine 3.4s ease-in-out infinite}
@keyframes lgBuild{
  0%{stroke-dashoffset:1;fill-opacity:0;stroke-opacity:1}
  38%{stroke-dashoffset:0;fill-opacity:0;stroke-opacity:1}
  56%{fill-opacity:1;stroke-opacity:.15}
  86%{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0;opacity:1}
  97%,100%{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0;opacity:0}}
@keyframes lgShine{0%,58%{transform:translateX(0)}82%,100%{transform:translateX(260px)}}
.loading .lg-svg{width:78px;filter:none}
@media (prefers-reduced-motion:reduce){.lg-p{animation:none;fill-opacity:1;stroke-opacity:0}.lg-shine{animation:none;opacity:0}}
/* ---------- صور الموظفين (الملف 30) ---------- */
.av{--s:36px;width:var(--s);height:var(--s);flex:0 0 var(--s);border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(150deg,#1c3566,#0b1630);color:#fff;font-weight:700;font-size:calc(var(--s) * .38);background-size:cover;background-position:center;vertical-align:middle;box-shadow:0 0 0 2px #fff,0 1px 4px rgba(11,22,48,.18);overflow:hidden;line-height:1}
.av.has-ph{color:transparent}
.av-xl{box-shadow:0 0 0 3px #fff,0 0 0 5px #c9a227,0 6px 16px rgba(11,22,48,.18)}
.hello{display:flex;align-items:center;gap:10px}
.me .me-av{float:inline-start;margin-inline-end:10px;margin-top:2px}
.er-av{display:flex;justify-content:center;margin:-4px 0 10px}
.ph-card .ph-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.ph-pend{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-top:6px;border:2px dashed var(--warn)}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.ph-req{text-align:center}
.ph-cmp{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px}
.ph-cmp>div{display:grid;justify-items:center;gap:4px}.ph-cmp small{color:var(--ink-3)}
.ph-new{width:92px;height:92px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ok)}
.ph-arrow{font-size:22px;color:var(--ink-3)}
.ph-th{width:40px;height:40px;border-radius:50%;object-fit:cover}
.crop-wrap{display:flex;justify-content:center}
.crop-cv{width:min(320px,80vw);aspect-ratio:1;border-radius:50%;touch-action:none;cursor:grab;box-shadow:0 0 0 3px #c9a227;background:#eee}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
/* ---------- المحادثات ---------- */
.chat-search input{width:100%}
.chat-list{padding:4px}
.chat-item{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;text-decoration:none;color:inherit}
.chat-item:hover{background:var(--line-2)}
.chat-item+.chat-item{border-top:1px solid var(--line-2)}
.chat-item.unread b{color:var(--brand)}
.ci-b{flex:1;min-width:0}.ci-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.ci-h small{color:var(--ink-3);font-size:11.5px;white-space:nowrap}
.ci-t{color:var(--ink-2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:6px;align-items:center}
.ci-t .badge{margin-inline-start:auto;background:var(--ok);color:#fff;border-radius:20px;padding:0 7px;font-size:11.5px;font-weight:700}
.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:420px;padding:0;overflow:hidden}
.chat-h{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.chat-note{font-size:11.5px;text-align:center;color:var(--warn);background:var(--warn-bg);padding:4px 10px}
.chat-msgs{flex:1;overflow-y:auto;padding:14px;background:#eef2f8 radial-gradient(circle at 20% 20%,rgba(201,162,39,.05),transparent 40%);display:flex;flex-direction:column;gap:6px}
.msg{display:flex}.msg.mine{justify-content:flex-end}
.bub{max-width:min(78%,520px);background:#fff;border-radius:14px;border-start-start-radius:4px;padding:7px 10px 4px;box-shadow:0 1px 1px rgba(11,22,48,.08);overflow-wrap:anywhere}
.msg.mine .bub{background:#0b1630;color:#fff;border-start-start-radius:14px;border-start-end-radius:4px}
.msg-m{font-size:10.5px;opacity:.65;text-align:end;margin-top:2px;white-space:nowrap}
.msg-m .seen{color:#7ee2a8;opacity:1}
.msg-img{display:block;max-width:240px;max-height:260px;min-width:120px;min-height:80px;border-radius:10px;cursor:zoom-in;background:rgba(0,0,0,.06);object-fit:cover}
.msg-file{display:flex;gap:6px;align-items:center;border:0;border-radius:10px;padding:8px 10px;background:rgba(0,0,0,.06);color:inherit;cursor:pointer;font:inherit}
.msg.mine .msg-file{background:rgba(255,255,255,.12)}
.msg-file small{opacity:.7}
.chat-in{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--line);background:#fff}
.chat-tx{flex:1}.chat-tx textarea{width:100%;resize:none;max-height:140px;border-radius:20px;padding:9px 14px}
.chat-att,.chat-send{border-radius:50%;width:42px;height:42px;padding:0;display:grid;place-items:center;flex:0 0 42px;font-size:18px}
.chat-attp{margin-bottom:4px}
@media (max-width:760px){.chat-wrap{height:calc(100dvh - 86px);margin:-6px -6px 0;border-radius:0}}
.chat-tx textarea{min-height:42px;height:42px;line-height:1.5}
.grp-av{background:linear-gradient(150deg,#c9a227,#a8821a);font-size:calc(var(--s) * .45)}
.msg.grp{gap:6px;align-items:flex-end}
.msg-who{font-size:11.5px;font-weight:700;color:var(--brand-2);margin-bottom:2px}
.chat-h .btn+.btn{margin-inline-start:6px}
.ap-who{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nm-av .av{margin-inline-end:8px}
td.name .av{margin-inline-end:4px}
.att-btns{display:flex;gap:8px;flex-wrap:wrap}.att-btns .btn[disabled]{opacity:.45}
/* ---------- كارت الموظف (الملف 32) ---------- */
.idc-wrap{display:flex;justify-content:center}
.idcard{width:min(340px,92vw);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(11,22,48,.22);text-align:center;border:1px solid var(--line);position:relative}
.idcard:fullscreen{width:auto;max-width:440px;margin:auto;display:flex;flex-direction:column;justify-content:center;border-radius:0}
.idc-top{background:linear-gradient(160deg,#0b1630,#1c3566);color:#fff;display:flex;align-items:center;gap:10px;padding:14px 16px 46px;text-align:start}
.idc-top img{width:44px}.idc-top b{display:block;font-size:14px}.idc-top small{color:#c9d3e8;font-size:11.5px}
.idc-ph{margin-top:-40px;display:flex;justify-content:center}
.idc-ph img,.idc-ph .av{width:118px;height:118px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 0 0 6px #c9a227;background:#eef2f8;font-size:40px}
.idc-name{font-size:20px;font-weight:700;margin-top:10px;color:var(--brand);padding:0 12px}
.idc-en{font-size:12.5px;color:var(--ink-3);direction:ltr}
.idc-job{display:inline-block;margin-top:6px;background:#fbf4dc;color:#7a5d0c;border-radius:20px;padding:2px 12px;font-size:13px;font-weight:600}
.idc-rows{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 16px 0}
.idc-rows>div{background:var(--bg);border-radius:10px;padding:6px}.idc-rows small{display:block;color:var(--ink-3);font-size:11px}.idc-rows b{font-size:14px}
.idc-qr{width:150px;margin:12px auto 4px}.idc-qr svg{width:100%;height:auto;display:block}
.idc-foot{font-size:11px;color:var(--ink-3);padding:6px 14px 14px}
.verify{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 30%,#fff,#eef2f9)}
.vf-card{max-width:420px;width:100%;text-align:center}
.vf-logo{width:70px}.vf-card h1{font-size:19px;margin:6px 0 12px}
.vf-st{font-size:18px;font-weight:700;border-radius:12px;padding:10px;margin-bottom:12px}
.vf-st.ok{background:var(--ok-bg);color:var(--ok)}.vf-st.bad{background:var(--bad-bg);color:var(--bad)}
.vf-ph{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--ok)}
.vf-card .kvt{text-align:start}
@media print{.idcard{box-shadow:none;border:1px solid #999}}
.geo-st{margin-top:6px}.geo-st .chip{white-space:normal;line-height:1.5;padding:3px 10px;border-radius:12px}.geo-st .btn{margin-inline-start:4px}
/* الملف 34/35 */
.sf-box{position:relative;border-radius:16px;overflow:hidden;background:#0b1730;aspect-ratio:1/1;max-width:340px;margin:0 auto}
.sf-box video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block}
.sf-ring{position:absolute;inset:12%;border:3px dashed rgba(255,255,255,.6);border-radius:50%;pointer-events:none}
.sf-cell{white-space:nowrap}.sf-th{width:34px;height:34px;border-radius:50%;object-fit:cover;cursor:zoom-in;margin-inline-end:3px;background:#e9edf5;border:2px solid #fff;box-shadow:0 0 0 1px #d5dbe6}
.blr{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin:0}
.lockbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-radius:12px;margin:0 0 12px;background:#fff7e6;border:1px solid #f3d69b;font-size:14px}
.lockbar.locked{background:#eef6ef;border-color:#a9d3b0}
.lcal td{min-width:22px}.lcal .lc-pd{background:repeating-linear-gradient(45deg,#f4b740,#f4b740 3px,#fff3d6 3px,#fff3d6 6px);height:14px;border-radius:4px}
.lc-rs{font-size:11px;color:#4a6fa5;background:#e6eefb;border-radius:4px;text-align:center;line-height:16px}.lc-rs.half{opacity:.7}
.lc-foot td{font-weight:700;background:#f4f6fa;text-align:center}.lc-foot td.lc-short{background:#fde2e2;color:#b42318}.lc-foot td.lc-risk{background:#fff1d6;color:#9a6100}
.legend i.lc-pd-i{background:repeating-linear-gradient(45deg,#f4b740,#f4b740 3px,#fff3d6 3px,#fff3d6 6px)}.legend i.lc-rs-i{background:#e6eefb}.legend i.lc-short-i{background:#fde2e2}
.notif.urgent{border-inline-start:4px solid #d92d20;background:#fff1f0}.notif.urgent.unread{background:#ffe4e1}
.notif.weekly{border-inline-start:4px solid #b08d3c}
.nb-count.urg,.badge.nb-count.urg{background:#d92d20!important;animation:urgPulse 1.4s infinite}
.tb-bell.urg{animation:urgShake 2.2s infinite}
@keyframes urgPulse{0%,100%{box-shadow:0 0 0 0 rgba(217,45,32,.6)}50%{box-shadow:0 0 0 6px rgba(217,45,32,0)}}
@keyframes urgShake{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-14deg)}90%{transform:rotate(12deg)}95%{transform:rotate(-6deg)}}
#urgent-pop{position:fixed;top:14px;left:50%;transform:translate(-50%,-160%);z-index:70;width:min(440px,92vw);background:#d92d20;color:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;gap:8px;align-items:flex-start;padding:12px 14px;transition:.3s}
#urgent-pop.show{transform:translate(-50%,0)}#urgent-pop a{color:#fff;text-decoration:none;flex:1;display:grid;gap:3px}#urgent-pop a span{font-size:13px;opacity:.92}
#urgent-pop button{background:none;border:0;color:#fff;font-size:16px;cursor:pointer}
.mfa-gate .bio-card p{margin:4px 0}
@media print{.lockbar,#urgent-pop{display:none!important}}
.dmy-wrap{position:relative;display:block}.dmy-wrap.inl{display:inline-block}
.dmy-wrap>input[type=date]{color:transparent;-webkit-text-fill-color:transparent}
.dmy-wrap>input[type=date]:focus{color:inherit;-webkit-text-fill-color:currentColor}
.dmy-ov{position:absolute;top:0;bottom:0;left:12px;display:flex;align-items:center;pointer-events:none;direction:ltr;font-size:inherit;color:var(--ink,#14213d)}
.dmy-ov.ph{color:#9aa6bd}
.dmy-wrap>input[type=date]:focus+.dmy-ov{display:none}
.fh-item{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0}

/* ================= الشكل البريميوم (data-theme=premium) — الكلاسيكي هو الافتراضي =================
   زرار «🎨 الشكل» جنب اللغة (theme.js). كله CSS: نفس الصفحات والبيانات والصلاحيات، شكل مختلف بس. */
.ni-s{display:none}
.bnav{display:none}
html[data-theme=premium]{
  --bg:#f3f5f9; --line:#e3e7ef; --line-2:#eff2f7; --radius:14px;
  --shadow:0 1px 2px rgba(11,22,48,.05),0 4px 14px rgba(11,22,48,.06);
  --pg:#c9a227; --pg-2:#e6c65a; --pg-soft:#faf3dc; --pg-ink:#2b2000;
}
html[data-theme=premium] .ni-e{display:none}
html[data-theme=premium] .ni-s{display:inline-block;width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
html[data-theme=premium] .ni-dot{width:7px;height:7px;border-radius:50%;background:currentColor;margin-inline:6px;opacity:.6}
/* القائمة الجانبية */
html[data-theme=premium] .side{background:linear-gradient(180deg,#0b1630 0%,#13234a 100%)}
html[data-theme=premium] .brand small{color:var(--pg-2)}
html[data-theme=premium] .nav a{gap:11px;border-radius:10px;color:#c9d3ea}
html[data-theme=premium] .nav a.active{background:rgba(201,162,39,.15);color:#fff;box-shadow:inset -3px 0 0 var(--pg)}
html[data-theme=premium][dir=ltr] .nav a.active{box-shadow:inset 3px 0 0 var(--pg)}
html[data-theme=premium] .nav a.active .ni-s{color:var(--pg-2);opacity:1}
html[data-theme=premium] .nav .badge,html[data-theme=premium] .nav-grp>summary .badge{background:var(--pg);color:var(--pg-ink)}
html[data-theme=premium] .nav-grp>summary{gap:10px;color:#eef2fa}
html[data-theme=premium] .nav-sub{border-inline-start-color:rgba(201,162,39,.25)}
html[data-theme=premium] .side .me{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-top:auto}
html[data-theme=premium] .side .me button{border-radius:9px}
/* المحتوى */
html[data-theme=premium] .page-h h1{color:#0b1630;font-size:23px}
html[data-theme=premium] .card{border-radius:var(--radius)}
html[data-theme=premium] .card h3{color:#0b1630}
html[data-theme=premium] .tile{border-radius:var(--radius);transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}
html[data-theme=premium] .tile::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:linear-gradient(180deg,var(--pg),#1c3566);opacity:.85}
html[data-theme=premium] a.tile:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(11,22,48,.12)}
html[data-theme=premium] .tile .v{color:#0b1630}
html[data-theme=premium] .tile.warn .v{color:var(--warn)} html[data-theme=premium] .tile.bad .v{color:var(--bad)} html[data-theme=premium] .tile.ok .v{color:var(--ok)}
html[data-theme=premium] .balance-hero{border-bottom:3px solid var(--pg)}
html[data-theme=premium] .btn{border-radius:10px;transition:background .15s,filter .15s}
html[data-theme=premium] body{background:linear-gradient(180deg,#e9edf5 0,#f3f5f9 260px) no-repeat,#f3f5f9}
html[data-theme=premium] .btn.primary{background:linear-gradient(180deg,#d6b23a,#c9a227);border-color:#b8921c;color:#2b2000}
html[data-theme=premium] .btn.primary:hover{filter:brightness(1.06);}
html[data-theme=premium] .page-h h1{position:relative;padding-bottom:6px}
html[data-theme=premium] .page-h h1::after{content:"";position:absolute;bottom:0;inset-inline-start:0;width:46px;height:3px;border-radius:3px;background:var(--pg)}
html[data-theme=premium] .balance-hero{background:radial-gradient(420px 220px at 0 0,rgba(201,162,39,.28),transparent),linear-gradient(135deg,#0b1630 0%,#1c3566 100%)}
html[data-theme=premium] .topbar{border-bottom:2px solid var(--pg)}
html[data-theme=premium] .card{box-shadow:0 1px 2px rgba(11,22,48,.05),0 6px 18px rgba(11,22,48,.07)}
html[data-theme=premium] input,html[data-theme=premium] select,html[data-theme=premium] textarea{border-radius:10px}
html[data-theme=premium] .tbl-wrap{border-radius:var(--radius);box-shadow:var(--shadow)}
html[data-theme=premium] th{background:#fafbfd;color:var(--ink-3);font-size:12px}
html[data-theme=premium] tbody tr:hover{background:#f8f9fc}
html[data-theme=premium] .chip{padding:2px 10px}
html[data-theme=premium] .modal{border-radius:18px}
html[data-theme=premium] .modal h2{color:#0b1630}
html[data-theme=premium] #toast{background:#0b1630;border-radius:12px;box-shadow:0 12px 40px rgba(11,22,48,.25)}
html[data-theme=premium] #toast.err{background:var(--bad)}
html[data-theme=premium] .alert{border-radius:12px}
html[data-theme=premium] .dash-h h2{color:#0b1630}
html[data-theme=premium] .auth{background:radial-gradient(900px 500px at 100% 0,rgba(201,162,39,.22),transparent),linear-gradient(160deg,#0b1630,#04070f)}
html[data-theme=premium] .auth .card{border-radius:20px;border-top:3px solid var(--pg)}
/* الموبايل: شريط علوي + شريط تنقل سفلي */
@media (max-width:900px){
  html[data-theme=premium] .topbar{background:linear-gradient(90deg,#0b1630,#13234a);box-shadow:0 2px 10px rgba(11,22,48,.2)}
  /* شريط التنقل السفلي موحّد في الكلاسيكي والبريميوم */
  .bnav{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:30;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(11,22,48,.06);padding:5px 4px calc(5px + env(safe-area-inset-bottom))}
  .bnav a{flex:1;display:grid;justify-items:center;gap:1px;font-size:10.5px;color:var(--ink-3);text-decoration:none;padding:4px 0;position:relative;font-weight:500}
  .bnav a .ni-s{display:inline-block;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .bnav a.on{color:#0b1630;font-weight:700}
  .bnav a.on .ni-s{color:var(--pg,#c9a227)}
  .bn-c{position:absolute;top:0;inset-inline-end:calc(50% - 22px);background:#e5484d;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:0 5px;line-height:16px}
  .main{padding-bottom:86px}
  #toast{bottom:84px}
}
/* لوحة الإدارة: كروت بيضا بدل الكحلي */
html[data-theme=premium] .dk{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);padding:16px 16px 13px;transition:transform .15s,box-shadow .15s}
html[data-theme=premium] .dk:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(11,22,48,.12)}
html[data-theme=premium] .dk::after{inset-inline-end:auto;inset-inline-start:0;top:0;width:100%;height:3px;border-radius:0;background:linear-gradient(90deg,var(--pg),#1c3566)}
html[data-theme=premium] .dk-v{color:#0b1630;font-size:27px}
html[data-theme=premium] .dk-l{color:var(--ink-2)}
html[data-theme=premium] .dk-s{color:var(--ink-3)}
html[data-theme=premium] .dk-d{background:var(--line-2)}
html[data-theme=premium] .dk-d.up{color:var(--ok)} html[data-theme=premium] .dk-d.down{color:var(--bad)}
html[data-theme=premium] .dk.bad{background:#fff7f6;border-color:#f5c2bd}
html[data-theme=premium] .dk.bad::after{background:var(--bad)}
html[data-theme=premium] .dk.bad .dk-v{color:var(--bad)}
html[data-theme=premium] .dcard{border-radius:var(--radius)}
html[data-theme=premium] .dcard h3{color:#0b1630}
@media print{.bnav{display:none!important}}


/* Theme chooser */
.theme-picker-bg{position:fixed;inset:0;z-index:1000;background:rgba(8,12,24,.62);display:grid;place-items:center;padding:18px;backdrop-filter:blur(5px)}
.theme-picker{width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.3)}
.theme-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.theme-picker-head h2{font-size:20px;margin:0}.theme-picker-head p{margin:4px 0 0;color:var(--ink-3);font-size:13px}
.theme-picker-close{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);font-size:23px;cursor:pointer}
.theme-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-choice{position:relative;display:grid;justify-items:start;gap:7px;text-align:start;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--bg);color:var(--ink);cursor:pointer;min-height:112px}
.theme-choice:hover{border-color:var(--accent);transform:translateY(-1px)}.theme-choice.selected{border:2px solid var(--accent);padding:13px;box-shadow:0 0 0 3px var(--accent-soft)}
.theme-choice b{font-size:14px}.theme-choice small{color:var(--ink-3);font-size:12px}.theme-swatches{display:flex;gap:5px}.theme-swatches i{display:block;width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}
.theme-choice-check{position:absolute;inset-inline-end:12px;top:12px;color:var(--accent);font-weight:800}
@media(max-width:520px){.theme-picker{padding:16px}.theme-picker-grid{grid-template-columns:1fr}.theme-choice{min-height:94px}}
/* Obsidian Emerald */
html[data-theme=obsidian]{--ink:#edf2f7;--ink-2:#c0cad6;--ink-3:#91a0b2;--bg:#171c24;--card:#252f3b;--line:#394655;--line-2:#303d4b;--brand:#202833;--brand-2:#10b981;--accent:#10b981;--accent-soft:rgba(16,185,129,.16);--gold:#10b981;--gold-soft:rgba(16,185,129,.16);--ok:#34d399;--ok-bg:rgba(52,211,153,.14);--warn:#fbbf24;--warn-bg:rgba(251,191,36,.14);--bad:#fb7185;--bad-bg:rgba(251,113,133,.14);--mute:#aab6c4;--mute-bg:#354252;--info:#60a5fa;--info-bg:rgba(96,165,250,.14);color-scheme:dark}
html[data-theme=obsidian] body{background:var(--bg);color:var(--ink)}html[data-theme=obsidian] .side{background:linear-gradient(180deg,#202833,#141a22)}html[data-theme=obsidian] .topbar{background:#202833}
html[data-theme=obsidian] .card,html[data-theme=obsidian] .tile,html[data-theme=obsidian] .tbl-wrap,html[data-theme=obsidian] .gantt{background:var(--card);color:var(--ink)}
html[data-theme=obsidian] th,html[data-theme=obsidian] tfoot td{background:#202b36;color:var(--ink-2)}html[data-theme=obsidian] tbody tr:hover{background:#303d4b}
html[data-theme=obsidian] input,html[data-theme=obsidian] select,html[data-theme=obsidian] textarea{background:#1c2631;color:var(--ink);border-color:var(--line)}
html[data-theme=obsidian] .btn{background:#263341;color:var(--ink);border-color:var(--line)}html[data-theme=obsidian] .btn.primary{background:#059669;color:#fff;border-color:#059669}
html[data-theme=obsidian] .auth{background:radial-gradient(900px 500px at 100% 0,rgba(16,185,129,.2),transparent),linear-gradient(160deg,#202833,#10151c)}
html[data-theme=obsidian] .modal,html[data-theme=obsidian] .theme-picker{background:#252f3b;color:var(--ink)}html[data-theme=obsidian] .home-clock{background:var(--card)}html[data-theme=obsidian] .home-clock .kc-t{color:var(--ink)}
/* Ivory & Navy */
html[data-theme=ivory]{--ink:#252b35;--ink-2:#596273;--ink-3:#7b8492;--bg:#f6f3eb;--card:#fffdf8;--line:#e6dfd1;--line-2:#eee8dd;--brand:#172b4d;--brand-2:#315f9b;--accent:#315f9b;--accent-soft:#e8edf5;--gold:#c39a43;--gold-soft:#f5edda}
html[data-theme=ivory] .side{background:linear-gradient(180deg,#172b4d,#101e36)}html[data-theme=ivory] .topbar{background:#172b4d}
html[data-theme=ivory] .auth{background:radial-gradient(900px 500px at 100% 0,rgba(49,95,155,.22),transparent),linear-gradient(160deg,#172b4d,#0d182b)}html[data-theme=ivory] .balance-hero{background:linear-gradient(135deg,#172b4d,#315f9b)}
/* Sandstone */
html[data-theme=sandstone]{--ink:#302a25;--ink-2:#66594f;--ink-3:#8c7c6e;--bg:#f3eee6;--card:#fffaf3;--line:#e5d9ca;--line-2:#eee5da;--brand:#46372d;--brand-2:#8c5b3e;--accent:#b87945;--accent-soft:#f4e6d8;--gold:#b87945;--gold-soft:#f4e6d8;--ok:#32765a;--ok-bg:#e2f1e7;--warn:#98631d;--warn-bg:#f8edd8}
html[data-theme=sandstone] .side{background:linear-gradient(180deg,#46372d,#2d241e)}html[data-theme=sandstone] .topbar{background:#46372d}
html[data-theme=sandstone] .auth{background:radial-gradient(900px 500px at 100% 0,rgba(184,121,69,.25),transparent),linear-gradient(160deg,#46372d,#261f1a)}html[data-theme=sandstone] .balance-hero{background:linear-gradient(135deg,#46372d,#8c5b3e)}
/* Indigo Glass */
html[data-theme=indigo]{--ink:#252342;--ink-2:#5e5b7c;--ink-3:#8582a2;--bg:#f0efff;--card:rgba(255,255,255,.88);--line:#dedcf5;--line-2:#e9e7fa;--brand:#29245c;--brand-2:#5c52b8;--accent:#8b7cff;--accent-soft:#eeebff;--gold:#8b7cff;--gold-soft:#eeebff;--shadow:0 8px 28px rgba(48,42,110,.08)}
html[data-theme=indigo] .side{background:linear-gradient(180deg,#29245c,#1b1942)}html[data-theme=indigo] .topbar{background:#29245c}
html[data-theme=indigo] .card,html[data-theme=indigo] .tile,html[data-theme=indigo] .theme-picker{backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(48,42,110,.08)}
html[data-theme=indigo] .auth{background:radial-gradient(900px 500px at 100% 0,rgba(139,124,255,.3),transparent),linear-gradient(160deg,#29245c,#171638)}html[data-theme=indigo] .balance-hero{background:linear-gradient(135deg,#29245c,#5c52b8)}


/* =====================================================   VISUAL THEME SYSTEM v2 — each theme has its own visual language
   Shared behavior/data; differentiated navigation, surfaces,
   dashboard hierarchy, controls, tables and mobile experience.
   ============================================================ */

/* CLASSIC — compact, familiar operational workspace */
html[data-theme="classic"]{
  --radius:10px;--shadow:0 1px 3px rgba(15,23,42,.06);
  --accent:#315bd6;--accent-soft:#eaf0ff;--brand:#102344;--brand-2:#244879;
}
html[data-theme="classic"] .side{background:#102344}
html[data-theme="classic"] .nav a{border-radius:7px}
html[data-theme="classic"] .card{box-shadow:none}
html[data-theme="classic"] .tile{box-shadow:0 1px 2px rgba(15,23,42,.04)}
html[data-theme="classic"] .page-h{padding-bottom:10px;border-bottom:1px solid var(--line)}
html[data-theme="classic"] .btn.primary{background:#315bd6;border-color:#315bd6}
html[data-theme="classic"] .tbl-wrap{border-radius:8px}

/* PREMIUM — editorial command center, gold details and layered dashboard */
html[data-theme="premium"]{
  --bg:#f1f4f8;--card:#fff;--line:#dfe5ee;--line-2:#edf0f5;
  --radius:17px;--shadow:0 8px 26px rgba(12,28,56,.065);
  --accent:#bd982f;--accent-soft:#f8f1dc;--brand:#0b1630;--brand-2:#1c3566;
}
html[data-theme="premium"] .shell{grid-template-columns:276px minmax(0,1fr)}
html[data-theme="premium"] .side{padding:24px 17px;background:linear-gradient(165deg,#101e3a 0%,#091225 72%,#182b4e 100%);border-inline-start:4px solid #c9a227}
html[data-theme="premium"] .brand{padding:8px 10px 23px;margin-bottom:18px}
html[data-theme="premium"] .brand img{width:54px;height:54px}
html[data-theme="premium"] .brand b{font-size:17px;letter-spacing:.01em}
html[data-theme="premium"] .nav .sec{padding:18px 13px 6px;color:#c9a227;font-weight:700}
html[data-theme="premium"] .nav a{padding:11px 13px;border:1px solid transparent}
html[data-theme="premium"] .nav a.active{border-color:rgba(201,162,39,.2);background:linear-gradient(90deg,rgba(201,162,39,.18),rgba(201,162,39,.04))}
html[data-theme="premium"] .main{padding:34px clamp(22px,3vw,48px) 70px}
html[data-theme="premium"] .page-h{padding:0 0 18px;border-bottom:1px solid #dfe5ee;margin-bottom:24px}
html[data-theme="premium"] .page-h h1{font-size:27px;letter-spacing:-.03em}
html[data-theme="premium"] .card{padding:22px;border-color:#e4e9f1;box-shadow:0 7px 24px rgba(11,22,48,.045)}
html[data-theme="premium"] .card h3{font-size:16px;padding-bottom:12px;border-bottom:1px solid #edf0f5}
html[data-theme="premium"] .tiles{gap:16px}
html[data-theme="premium"] .tile{padding:19px 20px 18px;min-height:116px}
html[data-theme="premium"] .tile .v{font-size:32px}
html[data-theme="premium"] .tile .l{font-size:13.5px}
html[data-theme="premium"] .btn{border-radius:11px;padding:9px 16px}
html[data-theme="premium"] .btn.primary{background:linear-gradient(135deg,#102344,#244879);box-shadow:0 5px 12px rgba(16,35,68,.16);color:#fff;border-color:#102344}
html[data-theme="premium"] .btn.ok{box-shadow:0 4px 10px rgba(31,122,77,.14)}
html[data-theme="premium"] .tbl-wrap{border:0;box-shadow:0 6px 22px rgba(11,22,48,.055)}
html[data-theme="premium"] table{border-collapse:separate;border-spacing:0}
html[data-theme="premium"] th{background:#f2f5f9;padding:13px 14px;text-transform:none}
html[data-theme="premium"] td{padding:12px 14px}
html[data-theme="premium"] tbody tr:last-child td{border-bottom:0}
html[data-theme="premium"] .modal{border-radius:22px;padding:28px}
html[data-theme="premium"] .auth .card{padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.25)}

/* OBSIDIAN EMERALD — dense dark operator console with luminous status */
html[data-theme="obsidian"]{
  --bg:#111820;--card:#1b2631;--line:#344452;--line-2:#2a3946;
  --radius:8px;--shadow:0 5px 18px rgba(0,0,0,.18);
  --accent:#10b981;--accent-soft:rgba(16,185,129,.13);--brand:#18232e;--brand-2:#10b981;
}
html[data-theme="obsidian"] .shell{grid-template-columns:218px minmax(0,1fr)}
html[data-theme="obsidian"] .side{padding:14px 10px;background:#101820;border-inline-end:1px solid #2d3d49}
html[data-theme="obsidian"] .brand{padding:5px 8px 14px}
html[data-theme="obsidian"] .brand img{width:39px;height:39px}
html[data-theme="obsidian"] .brand b{font-size:14px}
html[data-theme="obsidian"] .nav a{font-size:13px;padding:8px 10px;border-radius:6px}
html[data-theme="obsidian"] .nav a.active{background:rgba(16,185,129,.13);box-shadow:inset -3px 0 #10b981;color:#eafff7}
html[data-theme="obsidian"] .nav .sec{color:#5dd6ae;font-weight:700}
html[data-theme="obsidian"] .main{padding:22px 24px 60px}
html[data-theme="obsidian"] .page-h{border-bottom:1px solid #344452;padding-bottom:12px}
html[data-theme="obsidian"] .page-h h1{color:#f1f8f6}
html[data-theme="obsidian"] .card{border:1px solid #344452;box-shadow:inset 0 1px rgba(255,255,255,.025),0 7px 20px rgba(0,0,0,.12)}
html[data-theme="obsidian"] .card h3{color:#e7f4ef}
html[data-theme="obsidian"] .tile{border:1px solid #344452;box-shadow:none;min-height:104px}
html[data-theme="obsidian"] .tile .v{color:#f4fffb}
html[data-theme="obsidian"] .tile .l{color:#aab9c5}
html[data-theme="obsidian"] .tile:hover{border-color:#10b981;transform:translateY(-2px)}
html[data-theme="obsidian"] .balance-hero{background:linear-gradient(120deg,#102b28,#16483c);border:1px solid #236d57}
html[data-theme="obsidian"] .btn{border-radius:7px}
html[data-theme="obsidian"] .btn.primary{background:#087f5b;border-color:#10b981;color:#fff}
html[data-theme="obsidian"] .tbl-wrap{border:1px solid #344452}
html[data-theme="obsidian"] th{background:#202e39;color:#b9c9d3}
html[data-theme="obsidian"] td{border-bottom-color:#2c3a46}
html[data-theme="obsidian"] tbody tr:hover{background:#263641}
html[data-theme="obsidian"] .chip{border:1px solid rgba(255,255,255,.06)}
html[data-theme="obsidian"] .modal{border:1px solid #435563}
html[data-theme="obsidian"] .modal-x{background:#202e39;color:#e7f4ef;border-color:#435563}
html[data-theme="obsidian"] .kw-clock{background:#1b2a32}

/* IVORY & NAVY — corporate portal with a horizontal information architecture */
html[data-theme="ivory"]{
  --bg:#f5f1e8;--card:#fffdf8;--line:#e5ddcf;--line-2:#eee7dc;
  --radius:5px;--shadow:0 2px 8px rgba(39,48,62,.045);
  --accent:#315f9b;--accent-soft:#e8edf5;
}
html[data-theme="ivory"] .shell{display:block;min-height:100vh}
html[data-theme="ivory"] .side{position:relative;top:auto;height:auto;min-height:0;overflow:visible;padding:12px 24px 10px;background:#172b4d;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 24px;border-bottom:4px solid #c39a43}
html[data-theme="ivory"] .brand{border:0;margin:0;padding:0;min-width:205px}
html[data-theme="ivory"] .brand img{width:42px;height:42px}
html[data-theme="ivory"] .brand small{color:#d5dcec}
html[data-theme="ivory"] .side>.kw-clock{display:none}
html[data-theme="ivory"] .nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
html[data-theme="ivory"] .nav .sec{display:none}
html[data-theme="ivory"] .nav a{padding:8px 10px;border-radius:3px;font-size:12.5px}
html[data-theme="ivory"] .nav a.active{background:#fff;color:#172b4d;box-shadow:inset 0 -3px #c39a43}
html[data-theme="ivory"] .side .me{grid-column:1/-1;margin:0;padding:7px 0 0;border-top:1px solid rgba(255,255,255,.15);font-size:12px}
html[data-theme="ivory"] .side .me button{padding:3px 9px;border-radius:3px}
html[data-theme="ivory"] .main{max-width:1500px;margin:0 auto;padding:30px clamp(18px,3vw,48px) 65px}
html[data-theme="ivory"] .page-h{padding-bottom:14px;border-bottom:2px solid #c39a43}
html[data-theme="ivory"] .page-h h1{font-family:Georgia,"IBM Plex Sans Arabic",serif;color:#172b4d;font-size:25px}
html[data-theme="ivory"] .card{box-shadow:none;border-top:2px solid #d5c6aa}
html[data-theme="ivory"] .tile{box-shadow:none;border-radius:4px;border-top:3px solid #315f9b}
html[data-theme="ivory"] .tile .v{color:#172b4d}
html[data-theme="ivory"] .btn{border-radius:3px}
html[data-theme="ivory"] .btn.primary{background:#172b4d;border-color:#172b4d}
html[data-theme="ivory"] .tbl-wrap{border-radius:3px;box-shadow:none}
html[data-theme="ivory"] th{background:#eae4d8;color:#34445d}
html[data-theme="ivory"] .modal{border-radius:5px;border-top:4px solid #c39a43}
@media(max-width:900px){
 html[data-theme="ivory"] .side{position:fixed;inset:0 0 0 auto;width:min(300px,88vw);height:100%;display:flex;align-items:stretch;padding:18px;overflow:auto}
 html[data-theme="ivory"] .nav{display:block}
 html[data-theme="ivory"] .nav .sec{display:block}
 html[data-theme="ivory"] .side .me{margin-top:auto}
}

/* SANDSTONE — warm workspace, tactile panels and copper markers */
html[data-theme="sandstone"]{
  --bg:#eee7dc;--card:#fffaf2;--line:#dfd1bf;--line-2:#eee3d5;
  --radius:20px;--shadow:0 7px 20px rgba(70,55,45,.07);
  --accent:#b87945;--accent-soft:#f4e6d8;
}
html[data-theme="sandstone"] .shell{grid-template-columns:92px minmax(0,1fr)}
html[data-theme="sandstone"] .side{padding:17px 9px;background:linear-gradient(180deg,#49382e,#33271f);align-items:center}
html[data-theme="sandstone"] .brand{justify-content:center;padding:0 0 15px;border-bottom-color:rgba(255,255,255,.18)}
html[data-theme="sandstone"] .brand img{width:52px;height:52px}
html[data-theme="sandstone"] .brand>div{display:none}
html[data-theme="sandstone"] .nav{width:100%}
html[data-theme="sandstone"] .nav .sec{font-size:0;padding:10px 0 3px;text-align:center}
html[data-theme="sandstone"] .nav a{justify-content:center;padding:12px 4px;border-radius:14px;font-size:0;min-height:44px}
html[data-theme="sandstone"] .nav a .ni-e{font-size:19px}
html[data-theme="sandstone"] .nav a .ni-t{display:none}
html[data-theme="sandstone"] .nav a .ni-s{display:none}
html[data-theme="sandstone"] .nav a.active{background:#b87945;color:#fff;box-shadow:0 5px 12px rgba(0,0,0,.2)}
html[data-theme="sandstone"] .nav .badge{font-size:10px;padding:0 5px}
html[data-theme="sandstone"] .side .me{width:100%;padding:10px 3px;text-align:center}
html[data-theme="sandstone"] .side .me b{font-size:11px}
html[data-theme="sandstone"] .side .me button{font-size:10px;padding:4px}
html[data-theme="sandstone"] .main{padding:30px clamp(18px,3vw,44px) 65px}
html[data-theme="sandstone"] .page-h h1{font-family:Georgia,"IBM Plex Sans Arabic",serif;font-size:26px;color:#46372d}
html[data-theme="sandstone"] .card{border:0;box-shadow:0 8px 22px rgba(70,55,45,.055)}
html[data-theme="sandstone"] .tile{border:0;border-bottom:3px solid #d2a17b}
html[data-theme="sandstone"] .tile .v{color:#704a32}
html[data-theme="sandstone"] .btn{border-radius:24px;padding-inline:17px}
html[data-theme="sandstone"] .btn.primary{background:#8c5b3e;border-color:#8c5b3e}
html[data-theme="sandstone"] .tbl-wrap{border:0;box-shadow:var(--shadow)}
html[data-theme="sandstone"] th{background:#eadfce;color:#66594f}
html[data-theme="sandstone"] tbody tr:hover{background:#f8efe4}
@media(max-width:900px){
 html[data-theme="sandstone"] .shell{display:block}
 html[data-theme="sandstone"] .side{position:fixed;inset:0 0 0 auto;width:min(280px,85vw);height:100%;align-items:stretch;padding:18px 14px}
 html[data-theme="sandstone"] .brand{justify-content:flex-start}
 html[data-theme="sandstone"] .brand>div{display:block}
 html[data-theme="sandstone"] .nav a{justify-content:flex-start;font-size:14px;padding:9px 12px}
 html[data-theme="sandstone"] .nav a .ni-t{display:inline}
 html[data-theme="sandstone"] .nav a .ni-e{font-size:16px}
 html[data-theme="sandstone"] .nav .sec{font-size:11px;text-align:start;padding:14px 12px 4px}
 html[data-theme="sandstone"] .side .me{text-align:start}
}

/* INDIGO GLASS — airy floating panels and translucent navigation */
html[data-theme="indigo"]{
  --bg:#eeedff;--card:rgba(255,255,255,.76);--line:rgba(125,116,190,.2);--line-2:rgba(125,116,190,.13);
  --radius:22px;--shadow:0 12px 34px rgba(48,42,110,.09);
  --accent:#7667e8;--accent-soft:#eeebff;
}
html[data-theme="indigo"] body{background:radial-gradient(ellipse at 8% 5%,rgba(139,124,255,.16),transparent 35%),radial-gradient(ellipse at 90% 30%,rgba(110,178,255,.13),transparent 35%),var(--bg)}
html[data-theme="indigo"] .shell{grid-template-columns:258px minmax(0,1fr)}
html[data-theme="indigo"] .side{margin:14px 0 14px 14px;height:calc(100vh - 28px);top:14px;border:1px solid rgba(255,255,255,.16);border-radius:25px;background:linear-gradient(155deg,rgba(41,36,92,.96),rgba(28,25,66,.94));box-shadow:0 18px 48px rgba(41,36,92,.2);backdrop-filter:blur(18px);padding:19px 13px}
html[data-theme="indigo"] .brand{padding-bottom:19px}
html[data-theme="indigo"] .nav a{border:1px solid transparent;border-radius:13px;padding:10px 12px}
html[data-theme="indigo"] .nav a.active{background:rgba(139,124,255,.23);border-color:rgba(194,187,255,.22);box-shadow:inset 0 0 18px rgba(255,255,255,.04)}
html[data-theme="indigo"] .main{padding:30px clamp(18px,3vw,44px) 70px}
html[data-theme="indigo"] .page-h h1{color:#29245c;font-size:26px}
html[data-theme="indigo"] .card,html[data-theme="indigo"] .tile{border:1px solid rgba(255,255,255,.86);background:rgba(255,255,255,.68);backdrop-filter:blur(16px);box-shadow:0 12px 32px rgba(48,42,110,.07),inset 0 1px rgba(255,255,255,.8)}
html[data-theme="indigo"] .card{padding:22px}
html[data-theme="indigo"] .tile{padding:18px}
html[data-theme="indigo"] .tile:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(48,42,110,.13)}
html[data-theme="indigo"] .tile .v{color:#383078}
html[data-theme="indigo"] .btn{border-radius:13px;border-color:rgba(125,116,190,.24);background:rgba(255,255,255,.75)}
html[data-theme="indigo"] .btn.primary{background:linear-gradient(135deg,#5146a9,#8172ef);border-color:#8172ef;box-shadow:0 7px 17px rgba(81,70,169,.2)}
html[data-theme="indigo"] input,html[data-theme="indigo"] select,html[data-theme="indigo"] textarea{background:rgba(255,255,255,.82);border-color:rgba(125,116,190,.25);border-radius:12px}
html[data-theme="indigo"] .tbl-wrap{border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(15px);box-shadow:0 12px 32px rgba(48,42,110,.07)}
html[data-theme="indigo"] th{background:rgba(235,233,255,.92);color:#514b81}
html[data-theme="indigo"] tbody tr:hover{background:rgba(139,124,255,.08)}
html[data-theme="indigo"] .modal{border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(35,29,90,.24)}
html[data-theme="indigo"] .auth .card{background:rgba(255,255,255,.9);backdrop-filter:blur(18px)}
@media(max-width:900px){
 html[data-theme="indigo"] .side{margin:0;height:100%;top:0;border-radius:0 24px 24px 0}
 html[data-theme="indigo"] .topbar{background:rgba(41,36,92,.96);backdrop-filter:blur(16px)}
}

/* Shared responsive polish — preserve bottom navigation and official print layouts */
@media(max-width:900px){
 html[data-theme="premium"] .main,html[data-theme="obsidian"] .main,html[data-theme="ivory"] .main,html[data-theme="sandstone"] .main,html[data-theme="indigo"] .main{padding-left:14px;padding-right:14px}
 html[data-theme="premium"] .topbar,html[data-theme="obsidian"] .topbar,html[data-theme="sandstone"] .topbar{box-shadow:0 3px 16px rgba(0,0,0,.12)}
 html[data-theme="obsidian"] .bnav{background:#18232e;border-color:#344452}
 html[data-theme="obsidian"] .bnav a{color:#91a0b2}
 html[data-theme="obsidian"] .bnav a.on{color:#34d399}
 html[data-theme="ivory"] .bnav{background:#fffdf8;border-color:#e5ddcf}
 html[data-theme="sandstone"] .bnav{background:#fffaf2;border-color:#dfd1bf}
 html[data-theme="indigo"] .bnav{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-color:rgba(125,116,190,.2)}
}
@media print{
 html[data-theme] body{background:#fff!important;color:#000!important}
 html[data-theme] .card,html[data-theme] .tile,html[data-theme] .tbl-wrap{box-shadow:none!important;backdrop-filter:none!important}
}

/* Distinct iconography: line icons in the premium, obsidian, ivory and indigo systems */
html[data-theme="obsidian"] .ni-e,html[data-theme="ivory"] .ni-e,html[data-theme="indigo"] .ni-e{display:none}
html[data-theme="obsidian"] .ni-s,html[data-theme="ivory"] .ni-s,html[data-theme="indigo"] .ni-s{display:inline-block;width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="obsidian"] .nav a.active .ni-s{color:#34d399}
html[data-theme="ivory"] .nav a .ni-s{color:#d9c18e}
html[data-theme="ivory"] .nav a.active .ni-s{color:#172b4d}
html[data-theme="indigo"] .nav a.active .ni-s{color:#c6c0ff}


/* Mobile layout correction: theme-specific desktop grid tracks must not
   survive the compact breakpoint when the sidebar becomes a fixed drawer. */
@media (max-width: 900px) {
  html[data-theme="premium"] .shell,
  html[data-theme="obsidian"] .shell,
  html[data-theme="indigo"] .shell {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    min-width: 0;
  }
  html[data-theme="premium"] .main,
  html[data-theme="obsidian"] .main,
  html[data-theme="indigo"] .main {
    width: 100%;
    min-width: 0;
  }
}

/* People operations and AI assistant */
.ai-thread{display:flex;flex-direction:column;gap:10px;max-height:52vh;overflow:auto;padding:12px;background:var(--surface-2,rgba(120,130,150,.07));border-radius:14px;margin:12px 0}
.ai-message{max-width:88%;padding:12px 14px;border-radius:14px;white-space:pre-wrap;line-height:1.7}
.ai-message.assistant{align-self:flex-start;background:var(--card,#fff);border:1px solid var(--line,rgba(120,130,150,.2))}
.ai-message.user{align-self:flex-end;background:var(--accent, #3159a5);color:#fff}
.clickable{cursor:pointer}
.clickable:hover{background:var(--surface-2,rgba(120,130,150,.08))}
.modal.wide{width:min(920px,96vw);max-height:90vh;overflow:auto}

/* AI assistant usage meter */
.ai-quota{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface2,var(--card));}
.ai-quota-head,.ai-quota-row>div{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ai-quota-head span,.ai-quota-row small{color:var(--muted);font-size:12px}
.ai-quota-row{display:grid;gap:6px}
.ai-quota-row strong{font-variant-numeric:tabular-nums}
.ai-quota-track{height:9px;overflow:hidden;border-radius:99px;background:var(--line)}
.ai-quota-track span{display:block;height:100%;border-radius:99px;background:var(--accent,#27856b);transition:width .25s ease}


/* توحيد أيقونات القائمة وعناوين التصنيفات في جميع الثيمات الستة */
.nav .ni-e{display:none!important}
.nav .ni-s{
  display:inline-block!important;
  width:19px;height:19px;min-width:19px;flex:0 0 19px;
  stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;opacity:.96;
  overflow:visible;vertical-align:middle;
}
.nav-grp>summary .ni-s{width:20px;height:20px;min-width:20px;flex-basis:20px}
.nav a,.nav-grp>summary{align-items:center}
.nav .ni-t{min-width:0}


/* People hub: proper phone layout */
@media (max-width:600px){
  html,body,#app,.shell,.main{width:100%;max-width:100%;min-width:0}
  .shell{display:block;grid-template-columns:minmax(0,1fr);overflow-x:clip}
  .main{padding:14px 10px 76px}
  .page-head{width:100%;min-width:0}
  .page-head>div{min-width:0}
  #ph-list{width:100%;min-width:0;overflow:visible}
  #ph-list table,#ph-list tbody{display:block;width:100%}
  #ph-list thead{display:none}
  #ph-list tbody{display:grid;gap:10px}
  #ph-list tr[data-emp]{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;
    width:100%;padding:10px 12px;background:var(--card);
    border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);
  }
  #ph-list tr[data-emp] td{
    display:flex;align-items:baseline;justify-content:space-between;gap:8px;
    min-width:0;padding:7px 0;border:0;white-space:normal;
    overflow-wrap:anywhere;font-size:13px;
  }
  #ph-list tr[data-emp] td:first-child{grid-column:1/-1;border-bottom:1px solid var(--line-2);font-size:14px;padding-bottom:9px;margin-bottom:3px}
  #ph-list tr[data-emp] td:nth-child(1)::before{content:"الموظف"}
  #ph-list tr[data-emp] td:nth-child(2)::before{content:"الرقم"}
  #ph-list tr[data-emp] td:nth-child(3)::before{content:"الفرع"}
  #ph-list tr[data-emp] td:nth-child(4)::before{content:"الوظيفة"}
  #ph-list tr[data-emp] td:nth-child(5)::before{content:"الحالة"}
  #ph-list tr[data-emp] td::before{flex:0 0 auto;color:var(--ink-3);font-size:11px;font-weight:600}
  #ph-list tr[data-emp] td:first-child::before{display:none}
  #ph-list tr[data-emp] td:first-child b{font-size:14px}
  #modal-root .modal-backdrop{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:55}
  #modal-root .modal.wide{
    width:100%;max-width:none;height:min(92dvh,900px);max-height:92dvh;
    margin:0;border-radius:18px 18px 0 0;padding:18px 14px calc(18px + env(safe-area-inset-bottom));
    overflow:auto;overscroll-behavior:contain
  }
  #ph-detail{width:100%;min-width:0}
  #ph-detail>.grid-2{grid-template-columns:minmax(0,1fr);gap:8px}
  #ph-detail>.card{padding:12px;margin:10px 0}
  #ph-detail .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}


/* Manual full-system refresh control */
.system-refresh{white-space:nowrap}
@media(max-width:700px){.system-refresh{margin-top:6px}}


/* English equivalents for labels generated by CSS (not visible to the DOM translator). */
@media (max-width:600px){
  html[lang="en"] #ph-list tr[data-emp] td:nth-child(1)::before{content:"Employee"}
  html[lang="en"] #ph-list tr[data-emp] td:nth-child(2)::before{content:"ID"}
  html[lang="en"] #ph-list tr[data-emp] td:nth-child(3)::before{content:"Branch"}
  html[lang="en"] #ph-list tr[data-emp] td:nth-child(4)::before{content:"Job"}
  html[lang="en"] #ph-list tr[data-emp] td:nth-child(5)::before{content:"Status"}
}

/* ================= الهيد ليتر + الطباعة عليه (الملف 43، اتعدّل 05/11) =================
   - كروم/أندرويد/الكمبيوتر: الهيدر والفوتر والإطار واللوجو الباهت position:fixed بيتكرروا في كل صفحة، والجدول (thead/tfoot) بيحجز مكانهم.
   - آيفون/سفاري (html.lh-wk): WebKit ما بيكررش thead ولا fixed — فالهيدر بيتطبع أول الورقة والفوتر آخرها جوه نفس السياق (من غير fixed). */
@media screen{
  .lh-wrap,.lh-wrap>tbody,.lh-wrap>tbody>tr,.lh-wrap>tbody>tr>td{display:block;width:auto;min-width:0;max-width:100%;border:0;padding:0;white-space:normal;background:none;box-shadow:none}
  .lh-wrap>tbody>tr:hover{background:none}
  .lh-sp,#lh-print{display:none}
}
.lh-flow{display:none}
.lh-h{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3mm;align-items:center;direction:rtl;color:#000;padding-bottom:1.5mm}
.lh-logo{width:25mm;height:25mm;object-fit:contain}
.lh-t{text-align:center;line-height:1.18;min-width:0}
.lh-ar{font-size:19pt;font-weight:900;text-align:justify;text-align-last:justify;letter-spacing:.3px}
.lh-en{font-size:15.5pt;font-weight:900;direction:ltr;font-family:"Arial Black","Arial",sans-serif;letter-spacing:-.3px;white-space:nowrap}
.lh-cs{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6mm 3mm;direction:ltr;font-size:8.5pt;font-weight:700;margin-top:.8mm;font-family:Arial,sans-serif}
.lh-c{display:inline-flex;align-items:center;gap:.8mm;white-space:nowrap}
.lh-c svg{width:3.8mm;height:3.8mm;fill:none;stroke:#000;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lh-ad{font-size:10pt;font-weight:800;margin-top:.6mm}
.lh-f{border:.6mm solid #000;border-radius:3mm;padding:1.2mm;direction:rtl;color:#000;background:#fff}
.lh-f0{border:none;padding:0}
.lh-br{display:grid;gap:.9mm}
.lh-br span{border:.25mm solid #9aa1ad;border-radius:1mm;padding:.5mm .8mm;font-size:var(--lh-bfs,7pt);line-height:1.2;font-weight:700;text-align:center;white-space:normal;overflow-wrap:anywhere;min-width:0;background:#fff}
.lh-fr{border:.7mm solid #000;border-radius:5mm}
.lh-wm{display:block;opacity:.09;pointer-events:none;object-fit:contain}
/* معاينة على الشاشة: ورقة A4 بنفس شكل الوورد */
.lh-fit{width:100%;overflow:hidden}
.lh-paper{position:relative;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:6mm 7mm;box-shadow:0 2px 14px rgba(11,22,48,.15);border:1px solid var(--line);display:flex;flex-direction:column;gap:1.5mm;font-size:12px;transform-origin:top right;color:#000}
.lh-paper>.lh-fr{flex:1;position:relative;min-height:0}
.lh-paper .lh-wm{position:absolute;inset:3mm;width:calc(100% - 6mm);height:calc(100% - 6mm);margin:auto}
.lh-paper-body{position:relative;padding:7mm 8mm}
.lh-ed,.lt-ed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}
.lt-ed #lt-prev,.lh-ed #lh-prev{position:sticky;top:12px}
@media (max-width:1100px){.lh-ed,.lt-ed{grid-template-columns:minmax(0,1fr)}.lt-ed #lt-prev,.lh-ed #lh-prev{position:static}}
/* نص المكاتبة */
.letter-doc{font-size:13pt;line-height:1.9;color:#000}
.ld-meta{display:flex;justify-content:space-between;gap:10px;font-size:11pt;margin-bottom:5mm}
.ld-to{font-weight:700;margin-bottom:4mm;white-space:pre-wrap}
.ld-sub{text-align:center;font-weight:800;text-decoration:underline;margin:3mm 0 5mm}
.ld-body{white-space:pre-wrap;text-align:justify}
.ld-sign{margin-top:12mm;margin-inline-start:auto;width:max-content;max-width:60%;text-align:center;font-weight:700}
mark{background:#fde68a;border-radius:3px;padding:0 2px}
/* أزرار الشكل */
.side-theme{display:grid;place-items:center;margin-inline-start:auto;width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:16px;cursor:pointer;flex:none}
.brand .side-theme + .side-close{margin-inline-start:6px}
.topbar .tb-theme{margin-inline-start:4px;font-size:15px;padding:3px 7px}
/* كارت التفعيل */
.act-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#f8fafd;display:grid;gap:8px}
.act-h{font-weight:700;color:var(--warn)}
.act-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:8px 10px}
.act-row span{color:var(--ink-3);font-size:13px}
.act-row b{font-size:17px;letter-spacing:1px}
.act-code{font-size:22px!important;letter-spacing:3px!important;color:#0b1630}
.act-steps{margin:0;padding-inline-start:20px;font-size:13.5px;color:var(--ink-2);display:grid;gap:3px}
@media print{
  html,body{overflow:visible!important;height:auto!important;min-height:0!important}
  html.lh-on body,html.lh-on .shell,html.lh-on .main,html.lh-on #app,html.lh-on .lh-wrap{background:#fff!important}
  .shell,.main,#app{height:auto!important;min-height:0!important;overflow:visible!important;width:auto!important;max-width:none!important}
  .scr-only{display:none!important}
  .lh-fit{overflow:visible}
  .lh-paper{box-shadow:none;border:none;width:auto;height:auto;padding:0;display:block;zoom:1!important}
  .lh-paper-body{padding:0;overflow:visible}
  .lh-paper>.lh-fr{border:none;border-radius:0}
  /* من غير هيد ليتر: الجدول عادي */
  html:not(.lh-on) .lh-sp,html:not(.lh-on) #lh-print,.lh-flow{display:none}
  html:not(.lh-on) .lh-wrap,html:not(.lh-on) .lh-wrap>tbody,html:not(.lh-on) .lh-wrap>tbody>tr,html:not(.lh-on) .lh-wrap>tbody>tr>td{display:block;padding:0;border:0}
  html.lh-on .lh-wrap{width:100%;border-collapse:collapse;border:0}
  html.lh-on .lh-wrap td{padding:0;border:0;background:none!important}
  html.lh-on .lh-cell{padding:0 6mm!important}
  /* كروم */
  html.lh-on:not(.lh-wk) .lh-wrap{display:table}
  html.lh-on:not(.lh-wk) .lh-wrap>thead.lh-sp{display:table-header-group}
  html.lh-on:not(.lh-wk) .lh-wrap>tfoot.lh-sp{display:table-footer-group}
  html.lh-on:not(.lh-wk) .lh-sp-top{height:var(--lh-top,38mm)}
  html.lh-on:not(.lh-wk) .lh-sp-bot{height:var(--lh-bot,30mm)}
  html.lh-on:not(.lh-wk) #lh-print{display:block}
  html.lh-on:not(.lh-wk) #lh-print .lh-h{position:fixed;top:0;left:0;right:0}
  html.lh-on:not(.lh-wk) #lh-print .lh-f{position:fixed;bottom:0;left:0;right:0}
  html.lh-on:not(.lh-wk) #lh-print .lh-fr{position:fixed;left:0;right:0;top:calc(var(--lh-top,38mm) - 4mm);bottom:calc(var(--lh-bot,30mm) - 1.5mm);z-index:49;pointer-events:none}
  html.lh-on:not(.lh-wk) #lh-print .lh-wm{position:fixed;left:5mm;right:5mm;top:calc(var(--lh-top,38mm));bottom:calc(var(--lh-bot,30mm) + 1mm);width:calc(100% - 10mm);height:calc(100% - var(--lh-top,38mm) - var(--lh-bot,30mm) - 1mm);z-index:50;opacity:.07}
  /* آيفون/سفاري: في السياق */
  html.lh-on.lh-wk #lh-print{display:none}
  html.lh-on.lh-wk .lh-wrap,html.lh-on.lh-wk .lh-wrap>*,html.lh-on.lh-wk .lh-wrap>*>tr,html.lh-on.lh-wk .lh-wrap>*>tr>td{display:block}
  html.lh-on.lh-wk .lh-sp-top,html.lh-on.lh-wk .lh-sp-bot{height:auto}
  html.lh-on.lh-wk .lh-flow{display:block}
  html.lh-on.lh-wk .lh-flow .lh-h{margin-bottom:2mm}
  html.lh-on.lh-wk .lh-flow .lh-f{margin-top:3mm;break-inside:avoid}
  html.lh-on.lh-wk .lh-cell{position:relative;border:.7mm solid #000;border-radius:5mm;padding:4mm 5mm!important;min-height:0}
  html.lh-on.lh-wk .lh-wmw{position:absolute;top:4mm;left:6mm;right:6mm;bottom:4mm;max-height:210mm;z-index:50;opacity:.8;pointer-events:none}
  html.lh-on.lh-wk .lh-wmw .lh-wm{width:100%;height:100%}
  /* الطباعات اللي ليها هيدر خاص: نشيل اللوجو واسم الشركة ونسيب البيانات */
  html.lh-on .rpt-head img,html.lh-on .rpt-head>div:not(.rpt-meta){display:none}
  html.lh-on .rpt-head{grid-template-columns:1fr;border-bottom:none;padding-bottom:0}
  html.lh-on .rpt-meta{justify-self:end}
  html.lh-on .pf-head img,html.lh-on .pf-co{display:none}
  html.lh-on .pf-head{grid-template-columns:1fr;border-bottom:none;padding-bottom:0}
  html.lh-on .pf-ref{justify-self:end}
  html.lh-on .print-page .hdr img,html.lh-on .print-page .hdr h2{display:none}
}

/* صفحات التشغيل (people_ops.js): كروت الأرقام جنب بعض + الوصف تحت عنوان المهمة */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.stats-grid>.card{padding:14px 16px;margin:0}
.stats-grid>.card b{display:block;font-size:26px;line-height:1.15;color:var(--brand)}
.stats-grid>.card small{color:var(--ink-3);font-size:13px}
#task-table td small,#ticket-table td small{display:block;color:var(--ink-3);font-weight:400;margin-top:2px}

/* مركز الموافقات + الأرقام المهمة (hub.js) */
.ib-bar{flex-wrap:wrap;gap:6px}.ib-bar .btn b{margin-inline-start:4px}
.ib-h{margin:16px 0 8px;font-size:16px}
.ib-late{border-inline-start:4px solid var(--bad,#d93f3f)!important;background:#fff6f6}
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ct-card{margin:0;display:grid;gap:6px;padding:12px 14px}
.ct-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.ct-top b{font-size:16px}
.ct-ph{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ct-ph a.num{font-size:17px;font-weight:700;color:var(--brand);text-decoration:none}
.ct-brs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px 10px;max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:4px}
.ct-brs label{display:flex;gap:6px;align-items:center;font-size:13px}.ct-brs input{width:auto}
@media print{.ct-grid{grid-template-columns:repeat(3,1fr)}.ct-card{break-inside:avoid;box-shadow:none;border:1px solid #999}.ib-late{background:none}}

/* ================= 05/11 (2): اسم المنصة + الرئيسية + التحميل + الشريط السفلي + تباين الأشكال ================= */
.brand-name{white-space:nowrap;letter-spacing:.2px}
.brand-hr{display:inline-block;font-family:Inter,Arial,sans-serif;font-weight:800;font-size:.78em;letter-spacing:.5px;padding:1px 7px;border-radius:7px;background:linear-gradient(135deg,#c9a227,#e6c75a);color:#0b1630;vertical-align:2px;direction:ltr}
.auth h1 .brand-hr{font-size:.6em;vertical-align:4px}
.topbar .brand-name{font-size:16px}
/* الرئيسية: صورة كبيرة + الوظيفة الفعلية */
.hello-row{display:flex;align-items:center;gap:14px}
.hello-av{flex:none;text-decoration:none;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--pg,#c9a227),0 10px 24px rgba(11,22,48,.18)}
.hello-av .av{font-size:30px}
.hello-job{margin-top:4px!important;font-size:14px!important}
.hello-job b{color:var(--ink);font-weight:700}
@media (max-width:600px){.hello-row{gap:12px}.hello-av .av{--s:76px!important}.home-h .home-logo{display:none}}
/* لوجو التحميل: يملا الشاشة على الموبايل وكبير على الكمبيوتر */
.boot .lg-svg{width:min(78vw,62vh);height:auto}
.loading{min-height:60vh;align-content:center}
.loading .lg-svg{width:min(70vw,52vh)!important;filter:drop-shadow(0 12px 26px rgba(11,22,48,.16))!important}
@media (min-width:901px){.boot .lg-svg{width:min(38vw,58vh)}.loading .lg-svg{width:min(28vw,46vh)!important}}
/* الأزرار الملونة ما تتغطاش بلون الشكل */
html[data-theme] .btn.ok{background:var(--ok,#1f7a4d);border-color:var(--ok,#1f7a4d);color:#fff}
html[data-theme] .btn.ok:disabled{opacity:.55}
html[data-theme] .btn.bad{background:#fff;border-color:#f1b8b2;color:#c0392b}
html[data-theme="obsidian"] .btn.bad{background:#2b1d22;border-color:#7a3940;color:#ff8f8f}
html[data-theme="obsidian"] .btn.ok{background:#059669;border-color:#059669}
/* كارت الرصيد: لون الشكل (كان بيتغطى بخلفية الكروت الشفافة في Indigo) */
html[data-theme] .card.balance-hero{color:#fff;border:none}
html[data-theme="indigo"] .card.balance-hero{background:radial-gradient(420px 220px at 0 0,rgba(167,155,255,.4),transparent),linear-gradient(135deg,#29245c 0%,#4a3fa3 100%);backdrop-filter:none}
html[data-theme="indigo"] .card.balance-hero .sub{color:#d6d1ff}
html[data-theme="indigo"] .card.balance-hero .btn{background:#fff;color:#29245c}
html[data-theme="indigo"] .muted,html[data-theme="indigo"] .page-h p{color:#5b5689}
html[data-theme="sandstone"] .muted,html[data-theme="sandstone"] .page-h p{color:#6f6052}
html[data-theme="ivory"] .muted,html[data-theme="ivory"] .page-h p{color:#5c6577}
/* الشريط السفلي (موبايل) — شريط عائم احترافي بكل الأشكال */
:root{--bn-bg:#fff;--bn-ink:#6b7690;--bn-on:#0b1630;--bn-onbg:rgba(201,162,39,.18);--bn-ic:#b08a17;--bn-line:rgba(11,22,48,.08)}
html[data-theme="obsidian"]{--bn-bg:#18232e;--bn-ink:#93a3b5;--bn-on:#ecfdf5;--bn-onbg:rgba(16,185,129,.2);--bn-ic:#34d399;--bn-line:#2c3a48}
html[data-theme="ivory"]{--bn-bg:#fffdf8;--bn-ink:#6d7586;--bn-on:#172b4d;--bn-onbg:rgba(49,95,155,.14);--bn-ic:#315f9b;--bn-line:#e5ddcf}
html[data-theme="sandstone"]{--bn-bg:#fffaf2;--bn-ink:#86766a;--bn-on:#46372d;--bn-onbg:rgba(184,121,69,.18);--bn-ic:#a5652f;--bn-line:#e4d5c2}
html[data-theme="indigo"]{--bn-bg:rgba(255,255,255,.92);--bn-ink:#6f6a9a;--bn-on:#29245c;--bn-onbg:rgba(139,124,255,.2);--bn-ic:#5b4fd6;--bn-line:rgba(125,116,190,.22)}
@media (max-width:900px){
  html[data-theme] .bnav{display:flex;position:fixed;inset-inline:10px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:30;gap:2px;padding:6px;border-radius:22px;
    background:var(--bn-bg);border:1px solid var(--bn-line);box-shadow:0 10px 30px rgba(11,22,48,.16),0 2px 6px rgba(11,22,48,.06);backdrop-filter:blur(14px)}
  html[data-theme] .bnav a{flex:1;display:grid;justify-items:center;align-content:center;gap:2px;min-height:52px;padding:4px 0;border-radius:16px;color:var(--bn-ink);font-size:10.5px;font-weight:600;text-decoration:none;position:relative;transition:background .18s,color .18s,transform .12s}
  html[data-theme] .bnav a:active{transform:scale(.94)}
  html[data-theme] .bnav a .ni-s{display:inline-block;width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  html[data-theme] .bnav a.on{background:var(--bn-onbg);color:var(--bn-on);font-weight:800}
  html[data-theme] .bnav a.on .ni-s{color:var(--bn-ic);stroke-width:2.2}
  html[data-theme] .bnav a.on::before{content:"";position:absolute;top:3px;width:18px;height:3px;border-radius:3px;background:var(--bn-ic)}
  html[data-theme] .bnav .bn-c{position:absolute;top:2px;inset-inline-end:calc(50% - 24px);min-width:18px;text-align:center;background:#e5484d;color:#fff;font-size:10px;font-weight:800;border-radius:10px;padding:0 5px;line-height:17px;box-shadow:0 0 0 2px var(--bn-bg)}
  html[data-theme] .main{padding-bottom:110px}
}

/* هيدر ملف الوورد (صورة مقصوصة من الملف نفسه — نفس الخط والتنسيق) + الهيدر المكتوب يمين */
.lh-h.lh-h-img{display:block;padding:0 0 1mm;border:0}
.lh-h-img img{display:block;width:100%;height:auto;margin-inline-start:auto}
.lh-h:not(.lh-h-img) .lh-t{text-align:right}
.lh-h:not(.lh-h-img) .lh-ar{text-align:right;text-align-last:auto;letter-spacing:0}
.lh-h:not(.lh-h-img) .lh-cs{justify-content:flex-start;direction:rtl}
.lh-h:not(.lh-h-img) .lh-en{text-align:right}
/* تصميم مودرن: شريط كحلي + شريط تواصل ذهبي */
.lh-st-mod{display:block;padding-bottom:1mm;border:0}
.lh-mb{display:flex;align-items:center;gap:3mm;background:#1d2a44;color:#fff;border-radius:3mm 3mm 0 0;padding:2mm 3mm;direction:rtl}
.lh-mb img{height:19mm;width:auto;background:#fff;border-radius:50%;padding:1mm;flex:none}
.lh-mb .lh-ar{color:#fff;font-size:15pt;font-weight:900;text-align:right;text-align-last:auto;letter-spacing:0}
.lh-mb .lh-en{color:#fff;opacity:.88;font-size:7.5pt;direction:ltr;text-align:right}
.lh-mc{display:flex;flex-wrap:wrap;justify-content:center;gap:.5mm 3mm;direction:ltr;background:#b8893b;color:#fff;font-size:8pt;font-weight:700;padding:1mm 2mm;border-radius:0 0 3mm 3mm;font-family:Arial,sans-serif}
.lh-mc .lh-c svg{stroke:#fff}
/* تصميم مينيمال: خط فاصل رفيع وبيانات التواصل في سطر */
.lh-st-min{display:block;padding-bottom:1.5mm;border:0;border-bottom:.6mm solid #1d2a44}
.lh-mn{display:flex;align-items:center;gap:3mm;direction:rtl}
.lh-mn img{height:17mm;width:auto;flex:none}
.lh-mn .lh-mt{flex:1;min-width:0}
.lh-mn .lh-ar{color:#1d2a44;font-size:15pt;font-weight:900;text-align:right;text-align-last:auto;letter-spacing:0}
.lh-mn .lh-en{color:#555;font-size:7.5pt;direction:ltr;text-align:right}
.lh-st-min .lh-cs{font-size:7.5pt;color:#555;font-weight:400;direction:ltr;justify-content:flex-start;margin-top:.6mm}
/* أثناء الطباعة: من غير أي حركة (الآيفون بيقف لو فيه أنيميشن شغال وهو بيجهز المعاينة) */
html.printing *,html.printing *::before,html.printing *::after{animation:none!important;transition:none!important}
@media print{*,*::before,*::after{animation:none!important;transition:none!important}.kw-clock{display:none!important}}
@media print{
  .tbl-wrap,.table-wrap,.rpt,.pm-sheet,.lh-fit,.card,.stack,.main,#view{overflow:visible!important;max-height:none!important;height:auto!important}
  thead th,th{position:static!important}
  .side,.bnav,.topbar,#modal-root,#toast,#urgent-pop{display:none!important}
}

/* البحث في القائمة + البحث الشامل + دليل الاستخدام */
.nav-search{display:grid;gap:6px;padding:0 4px 10px}
.nav-search input{width:100%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:11px;padding:9px 12px;font-size:13.5px}
.nav-search input::placeholder{color:rgba(255,255,255,.62)}
.nav-search input:focus{outline:none;border-color:var(--pg,#c9a227);background:rgba(255,255,255,.16)}
.gs-open{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border:1px solid rgba(255,255,255,.18);background:transparent;color:rgba(255,255,255,.85);border-radius:11px;padding:7px 10px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.gs-open:hover{background:rgba(255,255,255,.1);color:#fff}
.nav-none{padding:4px 8px 10px;color:rgba(255,255,255,.7);font-size:13px;display:grid;gap:6px}
html[data-theme="ivory"] .nav-search input,html[data-theme="sandstone"] .nav-search input{color:inherit}
.topbar .tb-search{background:transparent;border:0;color:#fff;font-size:19px;padding:4px 6px;cursor:pointer;margin-inline-start:auto}
.topbar .tb-search + .tb-bell{margin-inline-start:0}
.home-search{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 16px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card,#fff);color:var(--ink-3);font:inherit;font-size:14px;text-align:start;cursor:pointer;box-shadow:var(--shadow)}
.home-search span:nth-child(2){flex:1}
.home-search kbd{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--ink-3);direction:ltr}
@media (max-width:900px){.home-search kbd{display:none}}
.modal.gs-modal{max-width:640px;padding:0;overflow:hidden;align-self:start;margin-top:8vh}
.gs-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.gs-in input{border:0;box-shadow:none;font-size:16px;padding:6px 0;background:transparent}
.gs-in input:focus{outline:none}
.gs-res{max-height:60vh;overflow:auto;padding:6px 8px 12px}
.gs-g{font-size:12px;font-weight:800;color:var(--ink-3);padding:10px 8px 4px}
.gs-it{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:inherit;text-decoration:none}
.gs-it span{display:grid;min-width:0}.gs-it small{color:var(--ink-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-it:hover,.gs-it.on{background:rgba(201,162,39,.14)}
.gs-hint{padding:18px 10px;color:var(--ink-3);font-size:13px;text-align:center}
.help-search input{font-size:15px}
.faq-list{display:grid;gap:8px}
.faq-item{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:0 14px;box-shadow:var(--shadow)}
.faq-item summary{cursor:pointer;padding:13px 0;font-weight:700;display:flex;justify-content:space-between;gap:8px;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"＋";color:var(--ink-3);font-weight:400}
.faq-item[open] summary::after{content:"－"}
.faq-a{white-space:pre-wrap;line-height:1.85;padding:0 0 10px;color:var(--ink-2)}
.faq-f{display:flex;gap:6px;padding-bottom:12px}.faq-f:empty{display:none}
.faq-off{opacity:.6}
.ai-faq{margin-bottom:12px}.ai-faq-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ai-faq-l{display:flex;flex-wrap:wrap;gap:6px}.ai-faq-l .chip{text-decoration:none;cursor:pointer;white-space:normal}

#nav [hidden],#nav details[hidden]{display:none!important}


/* A4 print tuning for the deductions report: keep its compact table on the page
   when possible, while allowing long details to wrap instead of creating a
   nearly-empty overflow page on iOS Safari. */
@media print {
  @page { size: A4 portrait; margin: 7mm 8mm; }
  .rpt-deductions { width: 100%; max-width: none; overflow: visible !important; }
  .rpt-deductions .rpt-head { margin-bottom: 2mm; padding-bottom: 1.5mm; }
  .rpt-deductions .rpt-title { font-size: 15px; line-height: 1.25; margin: 2mm 0 1.5mm; }
  .rpt-deductions .rpt-info { display: flex; flex-wrap: wrap; margin-bottom: 2mm; }
  .rpt-deductions .rpt-info > div { flex: 1 1 24%; min-width: 0; padding: 1.5mm 2mm; }
  .rpt-deductions .rpt-info small { font-size: 8pt; }
  .rpt-deductions .rpt-info b { font-size: 9pt; }
  .rpt-deductions .rpt-t { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 8pt; line-height: 1.2; }
  .rpt-deductions .rpt-t th,
  .rpt-deductions .rpt-t td {
    padding: 1.2mm 1mm;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    vertical-align: top;
  }
  .rpt-deductions .rpt-t th { font-size: 7.5pt; }
  .rpt-deductions .rpt-t td.num { white-space: nowrap !important; }
  .rpt-deductions .rpt-t thead { display: table-header-group; }
  .rpt-deductions .rpt-t tbody { display: table-row-group; }
  .rpt-deductions .rpt-t tr { break-inside: avoid; page-break-inside: avoid; }
  .rpt-deductions.all-employees.with-amount .rpt-t th:nth-child(1),
  .rpt-deductions.all-employees.with-amount .rpt-t td:nth-child(1) { width: 8%; }
  .rpt-deductions.all-employees.with-amount .rpt-t th:nth-child(2),
  .rpt-deductions.all-employees.with-amount .rpt-t td:nth-child(2) { width: 13%; }
  .rpt-deductions.all-employees.with-amount .rpt-t th:nth-child(3),
  .rpt-deductions.all-employees.with-amount .rpt-t td:nth-child(3) { width: 12%; }
  .rpt-deductions.all-employees.with-amount .rpt-t th:nth-child(4),
  .rpt-deductions.all-employees.with-amount .rpt-t td:nth-child(4) { width: 16%; }
  .rpt-deductions.all-employees.with-amount .rpt-t th:nth-child(5),
  .rpt-deductions.all-employees.with-amount .rpt-t td:nth-child(5) { width: 7%; }
  .rpt-deductions.all-employees.with-amount .rpt-t th:nth-child(6),
  .rpt-deductions.all-employees.with-amount .rpt-t td:nth-child(6) { width: 11%; }
  .rpt-deductions.all-employees.with-amount .rpt-t th:nth-child(7),
  .rpt-deductions.all-employees.with-amount .rpt-t td:nth-child(7) { width: 21%; }
  .rpt-deductions.all-employees.with-amount .rpt-t th:nth-child(8),
  .rpt-deductions.all-employees.with-amount .rpt-t td:nth-child(8) { width: 12%; }
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t th:nth-child(1),
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t td:nth-child(1) { width: 9%; }
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t th:nth-child(2),
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t td:nth-child(2) { width: 16%; }
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t th:nth-child(3),
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t td:nth-child(3) { width: 13%; }
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t th:nth-child(4),
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t td:nth-child(4) { width: 19%; }
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t th:nth-child(5),
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t td:nth-child(5) { width: 8%; }
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t th:nth-child(6),
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t td:nth-child(6) { width: 22%; }
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t th:nth-child(7),
  .rpt-deductions.all-employees:not(.with-amount) .rpt-t td:nth-child(7) { width: 13%; }
  .rpt-deductions.one-employee.with-amount .rpt-t th:nth-child(1),
  .rpt-deductions.one-employee.with-amount .rpt-t td:nth-child(1) { width: 11%; }
  .rpt-deductions.one-employee.with-amount .rpt-t th:nth-child(2),
  .rpt-deductions.one-employee.with-amount .rpt-t td:nth-child(2) { width: 22%; }
  .rpt-deductions.one-employee.with-amount .rpt-t th:nth-child(3),
  .rpt-deductions.one-employee.with-amount .rpt-t td:nth-child(3) { width: 9%; }
  .rpt-deductions.one-employee.with-amount .rpt-t th:nth-child(4),
  .rpt-deductions.one-employee.with-amount .rpt-t td:nth-child(4) { width: 13%; }
  .rpt-deductions.one-employee.with-amount .rpt-t th:nth-child(5),
  .rpt-deductions.one-employee.with-amount .rpt-t td:nth-child(5) { width: 29%; }
  .rpt-deductions.one-employee.with-amount .rpt-t th:nth-child(6),
  .rpt-deductions.one-employee.with-amount .rpt-t td:nth-child(6) { width: 16%; }
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t th:nth-child(1),
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t td:nth-child(1) { width: 13%; }
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t th:nth-child(2),
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t td:nth-child(2) { width: 25%; }
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t th:nth-child(3),
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t td:nth-child(3) { width: 10%; }
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t th:nth-child(4),
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t td:nth-child(4) { width: 34%; }
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t th:nth-child(5),
  .rpt-deductions.one-employee:not(.with-amount) .rpt-t td:nth-child(5) { width: 18%; }
  .rpt-deductions .rpt-foot { margin-top: 2mm; padding-top: 1.5mm; font-size: 8pt; break-inside: avoid; }
}

/* الطباعة (06/11): جداول التقارير ما تكسرش التاريخ والأرقام في نص الكلمة، ومسافة بين الأعمدة، وخلفيات بيضا */
@media print{
  html .rpt .rpt-t,html .print-page table,html #view table{table-layout:auto!important}
  html #view table th,html #view table td{overflow-wrap:normal!important;word-break:normal!important;padding:1.2mm 1.8mm!important}
  html #view table td .num,html #view table td.num{white-space:nowrap}
  html.lh-on .rpt,html.lh-on .card,html.lh-on .print-page,html.lh-on .rpt-info,html.lh-on #view,html.lh-on .lh-cell{background:#fff!important;box-shadow:none!important}
  html.lh-on .rpt{border:0!important;padding:0!important}
}

/* ورقات الطباعة الثابتة A4 (buildPrintPages في letters.js) — كل ورقة: هيدر + إطار + لوجو باهت + أفرع، بنفس المقاس */
#pp{position:absolute;top:0;left:-20000px;width:var(--pp-w,190mm);direction:rtl;background:#fff;color:#000;font-size:11px;line-height:1.45}
.pp-page{width:var(--pp-w,190mm);height:var(--pp-h,279mm);display:flex;flex-direction:column;gap:1.5mm;overflow:hidden;position:relative;background:#fff;box-sizing:border-box}
.pp-page>.lh-h{flex:none;padding-bottom:0}
.pp-page>.lh-f{flex:none}
.pp-fr{flex:1;min-height:0;position:relative;border:.7mm solid #000;border-radius:5mm;overflow:hidden}
.pp-fr>.lh-wm{position:absolute;inset:5mm;width:calc(100% - 10mm);height:calc(100% - 10mm);object-fit:contain;opacity:.08;z-index:3;pointer-events:none}
.pp-body{position:absolute;inset:4mm 5mm 6mm;overflow:hidden}
.pp-no{position:absolute;bottom:1.2mm;left:4mm;font-size:8px;color:#555}
#pp .rpt,#pp .pm-sheet,#pp .card,#pp .print-page{border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 3mm!important;max-width:none!important;background:#fff!important;overflow:visible!important}
#pp .rpt{font-size:11px}
#pp table{width:100%;border-collapse:collapse;table-layout:auto}
#pp th,#pp td{padding:1.2mm 1.6mm;white-space:normal;overflow-wrap:normal;word-break:normal;vertical-align:top}
#pp td .num,#pp td.num{white-space:nowrap}
#pp .print-only{display:inline}
#pp .lh-paper{box-shadow:none;border:0;width:auto;min-height:0;height:auto;padding:0;display:block;zoom:1!important}
#pp .lh-paper>.lh-fr{border:0}
#pp .lh-paper-body{padding:0}
#pp .lh-fit{overflow:visible}
#pp .pm-t{font-size:8.5px}#pp .pm-t th{font-size:8px}
.export-menu[hidden],.export-pop[hidden]{display:none!important}
@media print{
 html.pp-on,html.pp-on body{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
 html.pp-on{overflow-x:visible!important}
 html.pp-on body{background:#fff!important;margin:0!important;padding:0!important;width:auto!important}
 html.pp-on body>*:not(#pp){display:none!important}
 html.pp-on #app,html.pp-on .boot,html.pp-on .lh-wrap,html.pp-on #lh-print,html.pp-on .shell{display:none!important;height:0!important;min-height:0!important;overflow:hidden!important}
 html.pp-on #pp{display:block!important;position:static!important;inset:auto!important;left:auto!important;top:auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0 auto}
 html.pp-on .pp-page{break-after:page;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 html.pp-on .pp-page:last-child{break-after:auto!important;page-break-after:auto!important}
}
@media print{@page{size:A4 portrait;margin:0}}
#pp .rpt-head{grid-template-columns:1fr!important;border-bottom:none;padding-bottom:0}#pp .rpt-meta{justify-self:end;grid-column:auto!important}
#pp .pf-head{grid-template-columns:1fr!important;border-bottom:none;padding-bottom:0}#pp .pf-ref{justify-self:end}

/* معاينة الطباعة (06/11): الصفحة بتتحول للورق بس — مفيش عناصر مستخبية بتزوّد طول الصفحة على الآيفون */
.pp-bar{display:none}
@media screen{
  html.pp-show,html.pp-show body{background:#4b5563!important;overflow:auto!important;height:auto!important;min-height:0!important}
  html.pp-show body>*:not(#pp){display:none!important}
  html.pp-show #pp{position:static;left:auto;top:auto;width:auto;background:transparent;padding:64px 8px 28px;margin:0}
  html.pp-show .pp-page{margin:0 auto 14px;box-shadow:0 6px 22px rgba(0,0,0,.35);zoom:var(--pp-z,1)}
  html.pp-show .pp-bar{display:flex;position:fixed;top:0;inset-inline:0;z-index:50;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px calc(10px);padding-top:calc(10px + env(safe-area-inset-top));background:#0b1630;color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.3);font-size:14px}
  html.pp-show .pp-bar .btn{min-height:38px}
}
@media print{
  .pp-bar{display:none!important}
  html.pp-on #pp{background:#fff!important;padding:0!important}
  html.pp-on .pp-page{zoom:1!important;box-shadow:none!important;margin:0 auto!important}
}
/* زرار تصدير ومشاركة */
#view:has(.export-menu) :is([data-act="print"],#xl,#pm-x,#csv,#export,#ct-xl):not(.export-menu *):not(.pp-bar *){display:none!important}
/* زرار التصدير مختصر زي زرار اللغة والشكل (طلب المستخدم) */
/* زرار التصدير كان فوق القائمة الجانبية لما تتفتح (z-index) — الزرار نفسه من غير طبقة، والقائمة المنسدلة بس فوق */

/* ================= تصدير ومشاركة (06/11 — تصميم احترافي) =================
   الكمبيوتر: نافذة منبثقة صغيرة تحت الزرار. الموبايل: ورقة من تحت (bottom sheet) بخلفية معتمة. */
.export-menu{position:relative;display:inline-flex;vertical-align:middle}
.export-menu:has(.export-pop:not([hidden])){z-index:70}
.export-trigger.ex-sw{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 12px;border-radius:10px;border:1px solid var(--line,#dce2eb);background:var(--card,#fff);color:var(--ink,#0b1630);font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .15s,box-shadow .15s,background .15s}
.export-trigger.ex-sw svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.export-trigger.ex-sw:hover,.export-trigger.ex-sw[aria-expanded=true]{border-color:#c9a227;box-shadow:0 0 0 3px rgba(201,162,39,.18)}
.export-pop{position:absolute;top:calc(100% + 10px);inset-inline-end:0;z-index:1000;width:340px;max-width:calc(100vw - 24px)}
.ex-bd{display:none}
.ex-sheet{background:var(--card,#fff);color:var(--ink,#0b1630);border:1px solid rgba(11,22,48,.08);border-radius:18px;box-shadow:0 24px 60px rgba(7,21,43,.22),0 2px 8px rgba(7,21,43,.06);padding:14px;transform-origin:top left;animation:exPop .16s ease-out}
@keyframes exPop{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
.ex-grab{display:none}
.ex-head{display:flex;align-items:center;gap:10px;padding:2px 2px 12px;border-bottom:1px solid var(--line,#e6eaf0);margin-bottom:12px}
.ex-head>div{flex:1;min-width:0;display:grid;line-height:1.3}
.ex-head b{font-size:15px}.ex-head small{font-size:12px;color:var(--ink-3,#6b7690);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-hic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#0b1630,#22345e);color:#e6c75a;flex:none}
.ex-hic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ex-x{border:0;background:rgba(11,22,48,.06);color:inherit;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:13px;flex:none}
.ex-x:hover{background:rgba(11,22,48,.12)}
.ex-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ex-tile{display:grid;justify-items:center;gap:4px;padding:14px 8px 12px;border:1px solid var(--line,#e6eaf0);border-radius:14px;background:var(--card,#fff);color:inherit;font:inherit;cursor:pointer;text-align:center;transition:transform .12s,border-color .15s,box-shadow .15s,background .15s}
.ex-tile:hover,.ex-tile:focus-visible{border-color:var(--ex-c);box-shadow:0 6px 18px color-mix(in srgb,var(--ex-c) 22%,transparent);transform:translateY(-1px);outline:none}
.ex-tile:active{transform:scale(.97)}
.ex-tile b{font-size:14px}.ex-tile small{font-size:11.5px;color:var(--ink-3,#6b7690)}
.ex-tile .ex-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--ex-c) 12%,transparent);color:var(--ex-c);margin-bottom:4px}
.ex-tile .ex-ic svg,.ex-link .ex-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ex-print{--ex-c:#22345e}.ex-pdf{--ex-c:#d33a2c}.ex-excel{--ex-c:#1d7a46}.ex-share{--ex-c:#2563eb}
.ex-link{display:flex;align-items:center;gap:10px;width:100%;margin-top:8px;padding:10px 12px;border:1px dashed var(--line,#d9dee7);border-radius:12px;background:transparent;color:inherit;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;justify-content:center}
.ex-link .ex-ic{color:var(--ink-3,#6b7690);display:inline-grid}
.ex-link .ex-ic svg{width:18px;height:18px}
.ex-link:hover{background:rgba(11,22,48,.04)}
.ex-top{justify-content:flex-end;margin-bottom:10px}
html[data-theme="obsidian"] .ex-sheet{border-color:#2c3a48}
html[data-theme="obsidian"] .ex-x{background:rgba(255,255,255,.08)}
html[data-theme="obsidian"] .ex-tile .ex-ic{background:color-mix(in srgb,var(--ex-c) 28%,transparent);color:#fff}
html[data-theme="obsidian"] .ex-print{--ex-c:#8aa4d6}
@media (max-width:600px){
  .export-pop{position:fixed;inset:0;width:auto;max-width:none;top:0}
  .ex-bd{display:block;position:absolute;inset:0;background:rgba(5,10,25,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:exFade .2s ease-out}
  .ex-sheet{position:absolute;inset-inline:0;bottom:0;border-radius:24px 24px 0 0;border:0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(7,21,43,.25);animation:exUp .24s cubic-bezier(.2,.9,.3,1.1)}
  .ex-grab{display:block;width:42px;height:5px;border-radius:5px;background:rgba(11,22,48,.18);margin:4px auto 12px}
  .ex-grid{grid-template-columns:repeat(4,1fr);gap:6px}
  .ex-grid:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
  .ex-tile{padding:12px 4px 10px;border:0;background:transparent}
  .ex-tile:hover{box-shadow:none;transform:none}
  .ex-tile .ex-ic{width:54px;height:54px;border-radius:17px}
  .ex-tile small{display:none}
  .ex-link{margin-top:12px;padding:13px;border-style:solid;background:rgba(11,22,48,.04)}
}
@keyframes exUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes exFade{from{opacity:0}to{opacity:1}}

/* الورقة = A4 كاملة (210×297): هامش الطابعة صفر (@page margin:0 — سفاري 18.2+ بيلتزم بيه) والهامش جوه الورقة نفسها */
.pp-page{padding:8mm 9mm 7mm;box-sizing:border-box}
@media print{html.pp-on body,html.pp-on #pp{margin:0!important}html.pp-on .pp-page{margin:0!important}}
/* قائمة التصدير على الكمبيوتر بتفتح ناحية الصفحة مش فوق القائمة الجانبية */
@media (min-width:601px){.export-pop{inset-inline-end:auto;inset-inline-start:0}}
html[data-theme="indigo"] .ex-sheet,html[data-theme="indigo"] .ex-tile{background:#fff;backdrop-filter:none}

/* أسئلة المساعد اللي ما ردّش عليها (الملف 49) */
.ua-card{margin-bottom:14px;border-inline-start:4px solid #c9a24a}
.ua-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ua-list{display:grid;gap:8px}
.ua-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.ua-q{font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.ua-m{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
