@font-face{font-family:Cairo;font-weight:400;font-display:swap;src:url(fonts/cairo-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F,U+2010-2011,U+204F,U+2E41,U+FE80-FEFC}
@font-face{font-family:Cairo;font-weight:600;font-display:swap;src:url(fonts/cairo-arabic-600-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F,U+2010-2011,U+204F,U+2E41,U+FE80-FEFC}
@font-face{font-family:Cairo;font-weight:700;font-display:swap;src:url(fonts/cairo-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F,U+2010-2011,U+204F,U+2E41,U+FE80-FEFC}
@font-face{font-family:Cairo;font-weight:800;font-display:swap;src:url(fonts/cairo-arabic-800-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F,U+2010-2011,U+204F,U+2E41,U+FE80-FEFC}
@font-face{font-family:Cairo;font-weight:400;font-display:swap;src:url(fonts/cairo-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Cairo;font-weight:700;font-display:swap;src:url(fonts/cairo-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#d9dde0;--ink:#111;--ink2:#303438;--line:#cdd2d7;--line2:#b7c1c9;--teal:#275a78;--teal2:#1d4660;--soft:#e5eaee;--blue-soft:#d4e3ed;--bad:#8d1f28;--ok:#1f6b3a;--warn:#8a5a00}
@font-face{font-family:Cairo;font-weight:600;font-display:swap;src:url(fonts/cairo-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Cairo;font-weight:800;font-display:swap;src:url(fonts/cairo-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Cairo,system-ui,"Segoe UI",Tahoma,sans-serif;font-size:16px;line-height:1.8;font-weight:600}
body.noscroll{overflow:hidden}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
a{color:var(--teal)}
button,input,select,textarea{font:inherit;color:inherit}
.top{background:var(--bg);padding:18px 0 4px}
.id{display:flex;gap:18px;align-items:center}
.logo{width:84px;height:84px;border-radius:50%;flex-shrink:0;display:block}
.idtext h1{margin:0;font-size:24px;line-height:1.5;font-weight:800}
.idtext p{margin:2px 0;color:var(--ink)}
.office{font-weight:700}
.phone{direction:ltr;display:inline-block;color:var(--teal);font-weight:700}
.privacy{background:#fff;border:1px solid var(--line2);border-right:5px solid var(--teal);border-radius:10px;padding:12px 16px;margin:14px 0;font-weight:600;line-height:1.9}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;padding-bottom:14px;border-bottom:1px solid var(--line2)}
.tabs a{display:flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line2);border-radius:8px;background:var(--soft);color:var(--ink);text-decoration:none;font-weight:700}
.tabs a.sel{background:var(--teal);border-color:var(--teal);color:#fff}
.tabs#nav{margin-bottom:8px;padding-bottom:0;border-bottom:0}
.tabs.subtabs{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line2);gap:6px}
.tabs.subtabs a{min-height:38px;padding:6px 13px;font-size:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin:0 0 16px}
.card h2{margin:0 0 10px;font-size:21px;font-weight:800}
.card h3{margin:18px 0 8px;font-size:18px;font-weight:700}
.card h4{margin:12px 0 6px;font-weight:700}
.head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.head h2,.head h3{margin:0}
.cnt{font-weight:600;color:var(--ink2);font-size:.85em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line2);background:var(--soft);color:var(--ink);padding:8px 16px;border-radius:8px;min-height:44px;cursor:pointer;font-weight:700;text-decoration:none;max-width:100%}
.btn:hover{background:var(--blue-soft)}
.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.primary:hover{background:var(--teal2)}
.btn.danger{background:#fbecee;border-color:#d9a3a8;color:var(--bad)}
.btn.sm{min-height:36px;padding:2px 12px;font-size:14px}
.btn:disabled{opacity:.45;cursor:default}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,tr:focus-visible{outline:3px solid #427b9c;outline-offset:2px}
.row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.filters,.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end;margin:12px 0}
.filters .grow{grid-column:span 2}
.fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.fld>span{font-size:14px;font-weight:700;color:var(--ink2)}
.fld em{color:var(--bad);font-style:normal}
.fld input,.fld select,.fld textarea{width:100%;min-height:46px;padding:8px 12px;border:1px solid var(--line2);border-radius:8px;background:#fff;color-scheme:light;font-weight:600}
.fld textarea{min-height:80px}
.fld input[type=date],.fld input[dir=ltr]{text-align:right}
.chk{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding-top:6px}
.chk input{width:22px;height:22px;accent-color:var(--teal);margin-top:6px;flex-shrink:0}
fieldset{border:1px solid var(--line);border-radius:10px;margin:0 0 14px;padding:10px 14px 6px}
legend{font-weight:800;padding:0 8px;color:var(--teal)}
.note,.muted{color:var(--ink2);font-weight:600;font-size:15px}
.disc{font-size:14px;color:var(--ink2);background:var(--soft);border-radius:8px;padding:10px 14px;margin:0 0 16px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0}
.stats.sm{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.stat{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink);background:#fff}
a.stat:hover{background:var(--soft)}
.stat strong{font-size:26px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.stat span{font-size:14px;color:var(--ink2)}
.stats.sm .stat strong{font-size:20px}
.stat.warn{border-color:#d9a85a;background:#fff8ea}
.stat.warn strong{color:var(--warn)}
.stat.ok strong{color:var(--ok)}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.tbl{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}
.tbl th,.tbl td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl thead th{background:var(--soft);font-weight:800;position:sticky;top:0;white-space:nowrap}
.tbl tbody tr:hover{background:#f3f6f8}
.tbl tr[data-id]{cursor:pointer}
.tbl tr.off{opacity:.6}
.tbl tfoot td{background:var(--soft);font-weight:800}
.tbl.mini{min-width:0;font-size:14px}
.tbl.kv td:last-child{font-weight:700;text-align:left;white-space:nowrap}
.tbl tr.strong td{font-weight:800;background:#f3f6f8}
.dt{white-space:nowrap}
.bad{color:var(--bad)}
td.warn{color:var(--warn);font-weight:800}
.sortb{border:0;background:none;font-weight:800;cursor:pointer;padding:6px 2px;min-height:36px}
.tag{background:var(--soft);border-radius:6px;padding:0 6px;font-weight:700}
.pg{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 0;color:var(--ink2)}
.empty{padding:24px;text-align:center;color:var(--ink2)}
.ticks{padding-right:22px}.ticks li{margin:8px 0}
.error,.errbox{background:#fbecee;color:var(--bad);border:1px solid #e3b7bb;border-radius:8px;padding:12px 16px;margin:12px 0}
.errbox ul{margin:6px 0 0;padding-right:20px}
.ok{color:var(--ok);font-weight:700}
.busy{display:flex;align-items:center;gap:10px;padding:12px}
.spin{width:20px;height:20px;border:3px solid var(--line2);border-top-color:var(--teal);border-radius:50%;animation:sp .8s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}
.sumbox{background:var(--soft);border-radius:10px;padding:12px 16px;margin-top:12px}
.dangerzone{border-color:#e3b7bb}
.amount{font-size:26px;margin:10px 0}
.foot{padding:10px 0 40px;color:var(--ink2);font-size:14px}
.live{background:#f3f6f8;border:1px solid var(--line);border-radius:10px;padding:4px 16px 12px}
.lv{border-top:1px dashed var(--line2);margin-top:8px;padding-top:4px}
.overlay{position:fixed;inset:0;background:rgba(17,24,30,.55);z-index:50;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:16px}
.modal{background:#fff;border-radius:14px;width:100%;max-width:900px;display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
.mhead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}
.mhead h2{margin:0;font-size:20px;font-weight:800}
.mbody{padding:14px 18px;overflow:auto;flex:1}
.mfoot{display:flex;flex-wrap:wrap;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:#fff;border-radius:0 0 14px 14px}
.mfoot .danger{margin-inline-start:auto}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1d2a33;color:#fff;padding:10px 18px;border-radius:10px;z-index:100;max-width:92vw;transition:opacity .4s}
.toast.bad{background:var(--bad)}.toast.out{opacity:0}
.filebtn{cursor:pointer}
@media(max-width:719px){
 .idtext h1{font-size:18px}.logo{width:64px;height:64px}.id{gap:12px}
 .filters .grow{grid-column:auto}
 .card{padding:14px}
 table.cards{min-width:0}
 table.cards thead{display:none}
 table.cards,table.cards tbody,table.cards tr,table.cards td{display:block;width:100%}
 table.cards tr{border-bottom:2px solid var(--line2);padding:8px 4px}
 table.cards td{border:0;padding:3px 8px;display:flex;justify-content:space-between;gap:12px;text-align:left}
 table.cards td::before{content:attr(data-l);font-weight:700;color:var(--ink2);text-align:right;flex-shrink:0}
 table.cards tfoot{display:none}
 .overlay{padding:0}.modal{max-height:100vh;max-height:100dvh;border-radius:0;min-height:100dvh}
 .mfoot .danger{margin-inline-start:0}
}

.dlist{display:grid;gap:10px;margin:10px 0}
.doc{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}
.doc .thumb{width:72px;height:72px;flex:none;border:1px solid var(--line);border-radius:8px;background:#f3f6f8;padding:0;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center}
.doc .thumb img{width:100%;height:100%;object-fit:cover}
.pdfi{font-weight:700;color:var(--petrol,#0b5f73)}
.doc .di{display:flex;flex-direction:column;gap:4px;min-width:0}
.doc .di small{color:#555;overflow-wrap:anywhere}
.dview{z-index:70;align-items:center}
.dvbox{background:#fff;border-radius:12px;padding:10px;max-width:96vw;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.dvbox img{max-width:92vw;max-height:80vh;max-height:80dvh;object-fit:contain}
.warnmk{color:#b45309;cursor:help}

/* ===== v16: modern corporate look, raised digital buttons ===== */
:root{--bg:#eef2f8;--ink:#0f1b2d;--ink2:#46556b;--line:#dfe6f0;--line2:#c6d2e2;--teal:#1d5fd0;--teal2:#1448a6;--soft:#f2f6fc;--blue-soft:#e3edfb;--gold:#c9a24a;--shadow:0 1px 2px rgba(15,27,45,.06),0 8px 24px rgba(29,95,208,.08)}
html,body,button,input,select,textarea{font-family:Cairo,system-ui,"Segoe UI",Tahoma,sans-serif}
body{background:linear-gradient(180deg,#e9eff8 0,#f4f7fb 320px,#f4f7fb 100%);background-attachment:fixed}
.top{background:#0f2f66;border-bottom:3px solid var(--gold);box-shadow:0 4px 18px rgba(15,27,45,.08);padding:14px 0}
.logo{width:104px;height:104px;box-shadow:0 4px 14px rgba(15,27,45,.28);border:2px solid #fff}
.idtext h1{color:#fff;font-size:25px}.top .idtext p{color:#e8edf5}.top .idtext .phone{color:var(--gold)}
.privacy{border:1px solid var(--line);border-right:6px solid var(--teal);box-shadow:var(--shadow);background:#fff}
.tabs{border-bottom:0;gap:10px}
.tabs a,.btn{border:1px solid #b9c8dd;background:linear-gradient(180deg,#fff 0,#e8eef7 100%);color:#16305c;border-radius:10px;box-shadow:0 3px 0 #aebfd6,0 6px 12px rgba(15,27,45,.1);transition:transform .08s,box-shadow .08s,filter .15s;position:relative;top:0}
.tabs a:hover,.btn:hover{background:linear-gradient(180deg,#fff 0,#dfe9f8 100%);filter:brightness(1.02)}
.tabs a:active,.btn:active{top:3px;box-shadow:0 0 0 #aebfd6,0 1px 3px rgba(15,27,45,.15)}
.tabs a.sel,.btn.primary{background:linear-gradient(180deg,#3d86ee 0,#1d5fd0 55%,#1448a6 100%);border-color:#123d8c;color:#fff;box-shadow:0 3px 0 #0e3274,0 8px 16px rgba(29,95,208,.35),inset 0 1px 0 rgba(255,255,255,.35);text-shadow:0 1px 1px rgba(0,0,0,.25)}
.tabs a.sel:active,.btn.primary:active{box-shadow:0 0 0 #0e3274,0 1px 4px rgba(29,95,208,.4),inset 0 2px 4px rgba(0,0,0,.2)}
.btn.primary:hover{background:linear-gradient(180deg,#4a92f5 0,#2368dc 55%,#1750b5 100%)}
.btn.danger{background:linear-gradient(180deg,#fff 0,#fbe4e6 100%);border-color:#e0a3a9;color:#8d1f28;box-shadow:0 3px 0 #dfa9ae,0 6px 12px rgba(141,31,40,.1)}
.btn:focus-visible,.tabs a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(201,162,74,.65);outline-offset:2px}
.card{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.stat{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);border-top:4px solid var(--teal)}
a.stat:hover{background:var(--blue-soft)}
.fld input,.fld select,.fld textarea{border:1px solid var(--line2);border-radius:10px;background:#fbfdff;box-shadow:inset 0 2px 4px rgba(15,27,45,.06)}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--teal)}
fieldset{border-radius:12px;border:1px solid var(--line);background:#fcfdff}
legend{color:#0f2f66}
.tw{border-radius:12px;box-shadow:var(--shadow)}
.tbl thead th{background:linear-gradient(180deg,#1f4f9f,#173f82);color:#fff}
.tbl tbody tr:nth-child(even){background:#f7f9fd}
.tbl tbody tr:hover{background:#e9f1fd}
.tbl tfoot td{background:#e3edfb;color:#0f2f66}
.sumbox,.disc,.live{background:#f2f6fc;border:1px solid var(--line)}
.mfoot{background:#fff}
.spin{border-top-color:var(--teal)}
@media (max-width:700px){.logo{width:72px;height:72px}.idtext h1{font-size:18px}}

.import-preview td{vertical-align:top}.import-invalid{background:#fff3f3}.import-preview .btn{margin:3px;white-space:normal;min-width:80px}

.import-errors{color:#a21d2c;white-space:normal;line-height:1.8;overflow-wrap:anywhere}.import-preview td{white-space:normal}.import-preview td small{display:block;font-weight:400}
@media(max-width:700px){.import-preview,.import-preview tbody,.import-preview tr,.import-preview td{display:block;width:100%}.import-preview thead{display:none}.import-preview tr{border:1px solid #cbd5e1;border-radius:10px;margin:12px 0;padding:10px}.import-preview td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;border:0!important;padding:8px!important;text-align:right!important;box-sizing:border-box;overflow-wrap:anywhere}.import-preview td:before{content:attr(data-label);font-weight:700;color:#183866}.import-preview td:last-child{display:flex;flex-wrap:wrap}.import-preview td:last-child:before{width:100%}.import-preview td small{grid-column:2}.import-preview td .import-errors{min-width:0}.import-preview{min-width:0!important}.import-preview .btn{min-height:44px}}

/* Desktop: use the available screen width; leave the existing phone rules intact. */
@media (min-width:720px){.wrap{max-width:none;width:auto;padding-inline:clamp(16px,1.5vw,28px)}}

.settings-lock{max-width:620px;margin:28px auto}.settings-lock form{max-width:360px}details{margin-top:16px}summary{cursor:pointer}html[dir=ltr] .tbl th,html[dir=ltr] .tbl td{text-align:left}html[dir=ltr] .tbl.cards td:before{text-align:left}html[dir=ltr] .idtext,html[dir=ltr] .dash-heading{text-align:left}html[dir=ltr] .fld{text-align:left}html[dir=ltr] .fld input,html[dir=ltr] .fld input[type=date],html[dir=ltr] .fld input[dir=ltr],html[dir=ltr] .fld textarea,html[dir=ltr] .hol-work input,html[dir=ltr] .hol-work textarea{text-align:left}html[dir=ltr] input::placeholder,html[dir=ltr] textarea::placeholder{text-align:left;opacity:.75}

#lock-error:empty{display:none}

body.program-locked{background:#fff;color:#000}.program-gate{max-width:1100px;margin:0 auto;padding:10px 16px 25px;text-align:center}.gate-brand{font-family:"Times New Roman",serif}.gate-brand img{width:360px;max-width:80vw;height:auto;display:block;margin:0 auto 0;border-radius:50%;box-shadow:0 10px 30px rgba(15,27,45,.35)}.gate-brand h1{font-family:inherit;font-size:30px;margin:8px 0 22px;font-weight:700}.gate-brand h2{font-family:inherit;font-size:34px;line-height:1.15;margin:22px 0;font-weight:700}.gate-contact{font-family:inherit;font-weight:bold;margin:22px 0 18px}.gate-contact a{color:blue;text-decoration:underline}.gate-form{max-width:330px;margin:0 auto}.gate-form label{display:block;font-weight:700;margin-bottom:8px}.gate-form input{width:100%;box-sizing:border-box;text-align:center;font-size:22px;padding:10px;border:1px solid #9caabe;border-radius:8px}.gate-form button{width:100%}.gate-form .error:empty{display:none}.gate-note{font-size:12px;color:#697487;margin:14px 0 0}@media(max-width:600px){.gate-brand img{width:min(300px,78vw)}.gate-brand h1{font-size:25px;margin-bottom:18px}.gate-brand h2{font-size:25px;margin:18px 0}.program-gate{padding-top:8px}}

.pay-item-heading{grid-column:1/-1;font-weight:700;color:#153b68;border-top:1px solid #d8e2ef;padding-top:12px}

.overtime-subpay{display:block;margin-top:5px;color:#56647b;font-size:12px}

.overtime-label{background:#184789;color:white;border-radius:5px;padding:7px 10px;margin-bottom:7px;white-space:nowrap;font-size:12px}.overtime-cell{min-width:210px}.overtime-cell strong{display:block;padding:3px}

.payroll-ordered td.earn-total{background:#e9f5ef;font-weight:700}.payroll-ordered td.ded-total{background:#fff1e7;font-weight:700}.payroll-ordered td.net-total{background:#e8effc;font-weight:700}.payroll-ordered th.earn-total{background:#21634c}.payroll-ordered th.ded-total{background:#874824}

#view button,#view .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}#view input,#view select{max-width:100%;min-width:0}

/* كشف المرتبات الشهري (إدخال + كشف + تقرير) */
.pm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.pm-lock{background:#fff4e0;border:1px solid #e0b25a;border-radius:8px;padding:8px 12px;font-weight:700}
.pm-grid th.in,.pm-grid td.in{background:#fff7e0}.pm-grid th.in{background:#c77800;color:#fff}.pm-grid td.in input{width:92px;text-align:center;background:#fffdf3;border:1px solid #d9b45a;border-radius:6px;padding:6px 4px}
.pm-grid td.nm{text-align:right;white-space:nowrap}.pm-grid td.net{background:#e8effc;font-weight:700}.pm-grid td.overtime-cell,.pm-sheet td.overtime-cell{min-width:150px}.pm-grid td.in strong{display:block;margin-top:4px;font-size:12px}
.pm-w td{background:#fff4e6;color:#8a5a00;font-size:12px;text-align:right}
.pm-sheet{font-size:12px}.pm-sheet th,.pm-sheet td{padding:6px 5px;text-align:center;white-space:nowrap}
.pm-sheet th.ce{background:#1f6b3a;color:#fff}.pm-sheet td.ce{background:#e3f4e8;font-weight:700}.pm-sheet th.cd{background:#8d1f28;color:#fff}.pm-sheet td.cd{background:#fbe4e4}.pm-sheet th.ci{background:#6b7280;color:#fff}.pm-sheet td.ci{background:#f1f2f4}
.pm-sheet th.cn{background:#153b68;color:#fff}.pm-sheet td.cn{background:#dce9fb;font-weight:700}.pm-sheet th.co{background:#5b3f8c;color:#fff}.pm-sheet td.co{background:#efe9f8}
.pm-sheet tr.pm-tot td{font-weight:700;border-top:2px solid #333}.pm-sheet .overtime-label,.pm-grid .overtime-label{white-space:normal}
.rep th,.rep td{padding:8px 10px;text-align:center}.rep td.nm{text-align:right}.rep td.ce{background:#e3f4e8;font-weight:700}.rep td.cn{background:#dce9fb;font-weight:800}.rep th.ce{background:#1f6b3a;color:#fff}
.pm-w td{background:#fdecec !important;color:#c00000 !important;font-weight:700 !important;font-size:13px !important;border-top:1px solid #e99 !important}
.bk-banner{margin:0 0 12px;padding:10px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#eef7f1;border:1px solid #9ccfae}
.bk-banner.bk-old{background:#fdeaea;border-color:#d46a6a;color:#8d1f28}
.bk-folder{margin-top:14px;padding-top:10px;border-top:1px dashed #bbb}
.photo-box{display:flex;gap:14px;align-items:center;margin:0 0 14px;padding:10px 12px;border:1px solid #d6dde3;border-radius:10px;background:#f8fafb}
.photo-box .pimg{width:96px;height:96px;border-radius:12px;overflow:hidden;background:#e4eaee;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #c5ced5}
.photo-box .pimg img{width:100%;height:100%;object-fit:cover}
.photo-box .pph{font-size:52px;opacity:.45}
.photo-box .pact{display:flex;flex-direction:column;gap:6px;min-width:0}
.avt{width:30px;height:30px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-inline-end:6px;border:1px solid #c5ced5}
#bk-pw-w[hidden]{display:none}
td.cell-bad input{background:#ffd9d9 !important;color:#c00000 !important;font-weight:800 !important;border:2px solid #c00000 !important;box-shadow:none}

@keyframes cellpulse{0%,100%{background:#ffd9d9;border-color:#c00000;box-shadow:0 0 0 0 rgba(192,0,0,0)}50%{background:#fff;border-color:#ffb3b3;box-shadow:0 0 0 3px rgba(192,0,0,.35)}}
td.cell-p3 input{animation:cellpulse 1.2s ease-in-out 3}
td.cell-pinf input{animation:cellpulse 1.2s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){td.cell-p3 input,td.cell-pinf input{animation:none}}

.pm-grid td.in input[readonly]{-moz-appearance:textfield;appearance:textfield;cursor:default;background:#f4f1e6}
.pm-grid td.in input[readonly]::-webkit-inner-spin-button,.pm-grid td.in input[readonly]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pm-grid tr.pm-edit td.in input:not([readonly]){-moz-appearance:number-input;appearance:auto;background:#fff;border-color:#275a78}
.pm-grid .pm-eb{white-space:nowrap !important;width:auto !important;min-width:84px;display:block;margin:4px 0 0 auto;background:#275a78;color:#fff;border-color:#1d4660;font-weight:700;padding:3px 12px}
.pm-grid .pm-eb.on{background:#1f6b3a;border-color:#1f6b3a}
.pm-grid tr.pm-edit td{box-shadow:inset 0 2px 0 #275a78,inset 0 -2px 0 #275a78}

/* عرض الهاتف: ترويسة مضغوطة وتبويبات في صف واحد قابل للتمرير حتى تظهر لوحة المتابعة في أول الشاشة */
@media (max-width:700px){
.top{padding:8px 0 6px}
.top .id{display:flex;align-items:center;gap:10px}
.top .logo{width:46px;height:46px;flex:none}
.idtext h1{font-size:15px;line-height:1.35;margin:0}
.idtext .office{font-size:11.5px;line-height:1.4;margin:1px 0 0}
.idtext .ph{font-size:11.5px;margin:1px 0 0}
.privacy{font-size:12px;line-height:1.65;padding:8px 12px;margin:8px 0;font-weight:500}
.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:7px;margin:8px -4px;padding:2px 4px 10px;scrollbar-width:none;position:sticky;top:0;z-index:20;background:var(--bg)}
.tabs::-webkit-scrollbar{display:none}
.tabs.subtabs{flex-wrap:wrap;overflow-x:visible;position:static;z-index:auto;background:transparent;margin-top:-4px}
.tabs.subtabs a{flex:none}
.tabs a{flex:none;min-height:40px;padding:6px 14px;font-size:14px;white-space:nowrap}
.bk-banner{padding:10px 12px}
}
.top .logo{width:170px;height:170px;border:0;box-shadow:0 4px 16px rgba(15,27,45,.35)}
@media (max-width:700px){.top .logo{width:92px;height:92px}}
.gate-brand img,.top .logo,.about-ring{border:3px solid #1448a6!important;border-radius:50%!important}
.top .logo{border-width:2px!important}
@media (max-width:700px){.top .logo{border-width:2px!important}}

/* unlock screen: HR background */
body.program-locked{background:url(assets/hr-tile.svg) repeat,linear-gradient(180deg,#e3edfb 0,#f6f9fe 55%,#e6eefa 100%),#eaf1fb;background-attachment:fixed;color:#0f1b2d;min-height:100vh}
.program-gate{background:rgba(255,255,255,.9);border:1px solid #c6d2e2;border-radius:22px;box-shadow:0 14px 44px rgba(20,72,166,.16);margin:18px auto;padding:22px 22px 28px;max-width:980px}
.gate-brand,.gate-brand h1,.gate-brand h2,.gate-contact,.gate-form,.gate-form label,.gate-form input,.gate-form button,.gate-note{font-family:Cairo,system-ui,"Segoe UI",Tahoma,sans-serif!important}
.gate-brand img{width:440px;max-width:84vw}
.gate-brand h1{font-size:60px;line-height:1.1;font-weight:800;letter-spacing:3px;color:#0f2a5c;margin:12px 0 10px}
.gate-brand h2{color:#0f1b2d;font-weight:800}
.gate-contact a{color:#1448a6}
@media(max-width:600px){body.program-locked{background-attachment:scroll}.program-gate{margin:10px 8px;padding:16px 12px 22px;border-radius:18px}.gate-brand img{width:min(340px,84vw)}.gate-brand h1{font-size:44px;letter-spacing:2px}}
.program-gate{background:rgba(255,255,255,.74);max-width:860px;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
.gate-brand h2{text-wrap:balance}
/* card options (preview) */
.program-gate{position:relative;overflow:hidden}
.program-gate>*{position:relative;z-index:1}
.gate-brand{position:relative}

.gate-brand img{position:relative;z-index:2}
/* option 3: navy elevated card with gold */
body.program-locked{color:#fff}
body.program-locked .program-gate{background:url(assets/hr-tile-b.svg) center/300px repeat,linear-gradient(165deg,#0b2a66 0,#123f94 55%,#1d5fd0 100%);border:2px solid #c9a24a;box-shadow:0 26px 70px rgba(11,42,102,.55),inset 0 0 0 6px rgba(255,255,255,.08);border-radius:26px;color:#fff}
body.program-locked .gate-brand img{box-shadow:0 0 0 7px rgba(201,162,74,.95),0 0 70px 22px rgba(255,255,255,.28),0 14px 34px rgba(0,0,0,.5)}
body.program-locked .gate-brand h1{color:#fff;margin-top:26px;text-shadow:0 2px 10px rgba(0,0,0,.35)}
body.program-locked .gate-brand h2{color:#eaf1fb}
body.program-locked .gate-brand h2:nth-of-type(2){color:#e8cf8f}
body.program-locked .gate-contact{color:#fff}body.program-locked .gate-contact a{color:#ffd98a}
body.program-locked .gate-form label{color:#fff}
body.program-locked .gate-note{color:#c9d8f2}


/* خطوات كشف المرتبات + بدء شهر جديد */
.pm-steps{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;align-items:stretch}
.pm-step{display:flex;align-items:center;gap:10px;flex:1 1 190px;min-width:0;padding:10px 12px;border:1px solid #123d8c;border-radius:12px;background:linear-gradient(180deg,#3d86ee 0,#1d5fd0 55%,#1448a6 100%);color:#fff;font-family:inherit;cursor:pointer;text-align:right;box-shadow:0 3px 0 #0e3274,0 8px 16px rgba(29,95,208,.35),inset 0 1px 0 rgba(255,255,255,.35);text-shadow:0 1px 1px rgba(0,0,0,.25);transition:transform .08s,box-shadow .08s,filter .15s;position:relative;top:0}
.pm-step i{flex:none;width:30px;height:30px;border-radius:50%;background:#e7edf7;color:#16345f;display:grid;place-items:center;font-style:normal;font-weight:800;text-shadow:none}
.pm-step:hover{background:linear-gradient(180deg,#4a92f5 0,#2368dc 55%,#1750b5 100%);filter:brightness(1.03)}.pm-step:active{box-shadow:0 0 0 #0e3274,0 1px 4px rgba(29,95,208,.4),inset 0 2px 4px rgba(0,0,0,.2);top:3px}.pm-step span{display:flex;flex-direction:column;gap:2px;min-width:0}.pm-step b{font-size:15px}.pm-step small{color:#d7e4f8;font-size:12px}
.pm-step.cur{box-shadow:0 0 0 3px rgba(201,162,74,.9),0 3px 0 #0e3274,0 8px 16px rgba(29,95,208,.35),inset 0 1px 0 rgba(255,255,255,.35)}.pm-step.cur i{background:#c9a24a;color:#fff}
.pm-step.done i{background:#1f7a46;color:#fff}.pm-step.rep{flex:0 1 150px;justify-content:center}
.pm-routes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
.pm-route{border:1.5px solid #d9b45a;border-radius:12px;background:#fffaf0;padding:10px 14px}.pm-route h3{margin:0 0 4px;font-size:16px;color:#16345f}.pm-route p{margin:4px 0}
.pm-newrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pm-new{border:1.5px solid #16345f}.pm-new-r{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.pm-arrow{font-size:22px;color:#16345f;padding-bottom:6px}
.pm-new-c{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}.pm-new-c em{color:#8a5a00;font-style:normal;font-size:12px}
.pm-new-s{font-weight:700;color:#16345f;background:#eef3fb;border-radius:8px;padding:8px 10px}.pm-new-s.bad{color:#9a1c1c;background:#fdecec}
.pm-modal{position:fixed;inset:0;background:rgba(10,25,50,.55);display:grid;place-items:center;z-index:9999;padding:16px}
.pm-dlg{background:#fff;border-radius:14px;max-width:460px;width:100%;padding:18px 20px;border-top:5px solid #c9a24a;box-shadow:0 10px 40px rgba(0,0,0,.3)}.pm-dlg h3{margin:0 0 8px;color:#16345f}
.pm-bk-s{min-height:1.2em;font-weight:700;color:#8a5a00;word-break:break-word}.pm-bk-s.ok{color:#1f7a46}
@media(max-width:640px){.pm-routes{grid-template-columns:1fr}.pm-steps{gap:6px}.pm-step{flex:1 1 28%;flex-direction:column;text-align:center;gap:4px;padding:8px 4px}.pm-step small{display:none}.pm-step b{font-size:13px}.pm-step.rep{flex:1 1 100%;flex-direction:row;padding:6px}}

.pm-legacy{background:#fff4e0;border:1.5px solid #e0b25a;border-radius:10px;padding:8px 12px;font-weight:700;color:#7a4b00}
.pm-diff{background:#fdecec;color:#9a1c1c;border-radius:8px;padding:8px 10px;font-weight:700}
.pm-dlg.wide{max-width:760px}.pm-dlg .tbl td.nm{text-align:right}
.dash-gaps{background:#fff4e0;border:1.5px solid #e0b25a;border-radius:10px;padding:8px 14px;margin:10px 0;color:#6b4300}.dash-gaps ul{margin:6px 0 0;padding-inline-start:20px}

.pm-confirm{border:2px solid #9a1c1c;border-radius:10px;padding:10px 14px;background:#fff7f7;margin-top:8px}.pm-mv{color:#1f7a46;font-style:normal;font-weight:700}

.pm-hire-badge{display:block;width:max-content;max-width:100%;margin:5px 0 2px;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:700;line-height:1.6;white-space:normal;border:1px solid}
.pm-hire-blue{background:#e8f1ff;color:#174c94;border-color:#a9c8ef}.pm-hire-green{background:#e7f7ed;color:#17663b;border-color:#9ed7b4}.pm-hire-red{background:#fff0f0;color:#9c2525;border-color:#e9b2b2}
@media print{.pm-hire-badge{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.pm-special-choice{display:flex;flex-direction:column;gap:5px;margin:6px 0;padding:8px;background:#fff7df;border:1px solid #d09925;border-radius:8px;white-space:normal;min-width:220px}.pm-special-choice strong{color:#8a5100}.pm-special-choice select{font:inherit;max-width:100%}.pm-special-choice small{font-size:10px;color:#724a0c}

.hol-ref,.hol-notice{background:#f0f5fc;border:1px solid #c6d6ee;border-radius:10px;padding:12px 14px;margin:12px 0;line-height:1.8}.hol-ref p{margin:5px 0}.hol-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px}.hol-card{background:#fff;border:1px solid #d9e2f0;border-radius:12px;padding:16px}.hol-card h3{margin:4px 0;font-size:17px}.hol-card p{font-size:12px;margin:8px 0;overflow-wrap:anywhere}.hol-date{font-weight:700;color:#1448a6}.hol-status{font-size:11px;background:#eef3fa;padding:4px 7px;border-radius:6px;display:inline-block}.hol-card a{display:inline-flex;align-items:center;min-height:44px}.hol-work{margin:14px 0;background:#fff;border:1px solid #bbcee8;border-radius:12px;padding:14px}.hol-work summary{font-weight:700;cursor:pointer;min-height:44px}.hol-work label{display:block;margin:9px 0}.hol-work input[type=checkbox]{width:20px;height:20px;vertical-align:middle}.hol-work select,.hol-work textarea{width:100%;max-width:100%;min-height:44px;font:inherit}.hol-choice-row{padding:10px;border:1px solid #d9e2ef;border-radius:9px;margin:9px 0}.hol-work small{display:block}.hol-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}@media(max-width:600px){.hol-list{grid-template-columns:1fr}.hol-page,.hol-work{padding:12px}.hol-notice{font-size:13px}.hol-work .btn{min-height:44px;width:100%}}

.hol-work select{max-width:100%;width:100%;font:inherit;min-height:44px}.hol-work select option{font-size:14px}.hol-work .error:empty{display:none}.hol-actions .btn{white-space:normal;height:auto;min-height:44px}.hol-work summary{scroll-margin-top:65px}

.rc-tabs,.rc-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.rc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;margin-top:18px}.rc-card{border:1px solid #ccd9ee;border-radius:14px;padding:16px;min-width:0;background:#fff;overflow-wrap:anywhere}.rc-stage{display:inline-block;background:#edf3fc;color:#1f4e86;padding:3px 10px;border-radius:20px;font-weight:700}.rc-card h3{margin:10px 0}.rc-card dl{margin:8px 0}.rc-card dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e4eaf4;padding:7px 0}.rc-card dd{font-weight:700;margin:0}.rc-card .btn{margin:5px 0;white-space:normal;min-height:44px;height:auto}.rc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.rc-fields .fld{min-width:0}.rc-fields input,.rc-fields select,.rc-fields textarea{width:100%;max-width:100%;font:inherit;min-height:44px;box-sizing:border-box}.rc-fields textarea{min-height:100px}.rc-fields p{grid-column:1/-1}.rc #rc-error:not(:empty){color:#a51e2e;background:#fff0f1;padding:12px;border-radius:8px}.rc-foot{margin-top:24px}#rc-form{scroll-margin-top:75px}.rc .btn{font:inherit}@media(max-width:600px){.rc-tabs .btn{flex:1 1 100%}.rc-toolbar>*{width:100%}.rc-card dl>div{flex-wrap:wrap}.rc-card input[type=file]{font-size:12px}}

.pd-controls{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.pd-controls .btn{white-space:normal;min-height:44px;height:auto}.pd-summary{padding:14px;border:1px solid #c9d8ed;border-radius:12px;margin:10px 0;overflow-wrap:anywhere}.pd-month-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.de-dialog{max-height:90vh;max-width:760px}.de-dialog .mbody{overflow-y:auto}.doc input[type=date]{max-width:100%;font:inherit;min-height:44px}#docbox .di{min-width:0}.pd-ui>.fld input,.pd-ui>.fld select{max-width:100%}@media(max-width:500px){.pd-controls .btn{width:100%}.doc{align-items:flex-start}.doc .di{overflow-wrap:anywhere}.doc .fld{width:100%}.de-dialog{width:95vw}}

.ps-filename{overflow-wrap:anywhere;background:#eef3fa;padding:12px;border-radius:8px}#ps-status{color:#1d4b77;font-weight:700}

.wa-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:normal}.wa-button .wa-icon{width:23px;height:23px;flex:0 0 23px;color:#17813e}.wa-button.primary .wa-icon{color:#fff}.wa-button span{min-width:0;overflow-wrap:anywhere}.wa-button:disabled .wa-icon{color:inherit}

.pm-save-status{position:sticky;top:64px;z-index:21;margin:10px 0;padding:9px 12px;border-radius:8px;background:#eef3f8;color:#40546a;font-size:14px;white-space:normal;overflow-wrap:anywhere;box-shadow:0 2px 6px #0001}.pm-save-status:empty{display:none}.pm-save-status.ok{color:#176134;background:#e7f5eb;border:1px solid #a0d0b2}.pm-save-status.bad{color:#9b1c25;background:#fff0f1;border:1px solid #e5a7ad}

.ps-fallback-guide{margin:12px 0;padding:12px;background:#eef4fb;border:1px solid #c8d5e7;border-radius:10px}.ps-fallback-guide h3{margin:0 0 6px;font-size:17px}.ps-fallback-guide ol{margin:4px 0;padding-inline-start:24px}.ps-fallback-guide li{margin:6px 0;overflow-wrap:anywhere}.ps-fallback-guide p{margin:8px 0 0}

.pd-controls a.btn{text-decoration:none;box-sizing:border-box}.pd-controls a[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}

.ps-drag-notice{padding:14px;margin:14px 0;background:#f0f7ff;border:2px solid #78a6dd;border-radius:12px;line-height:1.8}.ps-drag-notice[hidden]{display:none}.ps-drag-notice h3{margin:0 0 6px;font-size:16px;color:#183866}.ps-drag-notice p{margin:5px 0}.ps-drag-file{font-weight:700;overflow-wrap:anywhere;unicode-bidi:plaintext;background:#fff;border-radius:6px;padding:8px}
.kp-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.kp-head h2{margin:8px 0}.kp-head p{margin:8px 0}.kp-tag{background:#e9f1fc;color:#174c87;padding:4px 10px;border-radius:18px;font-size:12px;display:inline-block;font-weight:700}.kp-local{font-size:12px;color:#246148;background:#ebf7ef;padding:10px;border-radius:9px;white-space:nowrap}.kp-note{background:#fff9e9;border:1px solid #e2cd95;padding:12px;border-radius:10px;margin:16px 0}.kp-tabs,.kp-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.kp-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kp input,.kp select,.kp textarea{width:100%;font:inherit;box-sizing:border-box;min-height:44px}.kp .fld{min-width:0}.kp-form-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.kp-criterion{background:#fff;border:1px solid #cbd8eb;border-radius:12px;padding:14px;margin:12px 0}.kp-criterion-top{display:grid;grid-template-columns:minmax(0,1fr) 100px 65px;gap:12px;align-items:end}.kp-criterion-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.kp-criterion .btn{font-size:12px;min-height:44px}.kp-score{display:flex;flex-wrap:wrap;gap:24px;background:#eef4ff;border:1px solid #c0d5f3;padding:18px;border-radius:12px;margin:18px 0}.kp-score>div{flex:1;min-width:150px}.kp-score span,.kp-score strong,.kp-score small{display:block}.kp-score strong{font-size:27px;color:#153d75}.kp-score p{width:100%;font-size:12px;margin:0;line-height:1.8}.kp-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.kp textarea{height:85px;resize:vertical}.kp-review{display:flex;gap:10px;align-items:center;margin-top:16px}.kp-review input{width:20px;min-height:20px;height:20px;flex:0 0 20px}#kp-error:not(:empty){padding:10px;color:#9b1d2b;background:#fff0f2;border-radius:8px}#kp-saved{color:#246148}.kp-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.kp-record{border:1px solid #cbd8eb;border-radius:12px;padding:16px;background:white;overflow-wrap:anywhere}.kp-result{color:#153d75;font-size:21px;display:block}.kp .btn{font:inherit;min-height:44px}.kp-review{font-size:13px}.kp-record p{line-height:1.8}@media(max-width:700px){.kp-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-head{flex-wrap:wrap}.kp-criterion-data{grid-template-columns:1fr}.kp-notes{grid-template-columns:1fr}}@media(max-width:450px){.kp-fields{grid-template-columns:1fr}.kp-criterion-top{grid-template-columns:minmax(0,1fr) 80px}.kp-criterion-top>.btn{grid-column:2}.kp-tabs .btn,.kp-actions .btn{width:100%}.kp-form-heading{flex-wrap:wrap}.kp-score{gap:10px}.kp{padding:14px!important}.kp-tag{line-height:1.8}}
.kp-criterion-top>.btn{padding:8px 4px;white-space:nowrap!important;overflow-wrap:normal!important}.kp-score-num{direction:ltr;unicode-bidi:isolate}.kp-record h3{margin-top:12px}.kp-report-filter{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.kp-report-filter .fld{flex:1;min-width:150px}
.kp-score-num{text-align:right}.kp-brand{display:flex;align-items:center;gap:12px}.kp-brand img{width:52px;height:52px;object-fit:contain}.kp-brand h2{margin:6px 0}
/* KPI percentage dashboard: local data, vector graphics for print. */
.kp-overview{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.4fr);gap:18px;margin:18px 0;align-items:stretch}.kp-overview>.kp-score{margin:0;align-content:flex-start}.kp-overview>.kp-score>div{min-width:120px}.kp-dashboard{border:1px solid #c0d5f3;background:#fff;border-radius:12px;padding:16px;height:100%;box-sizing:border-box;min-width:0}.kp-dashboard h3{margin:0 0 12px;color:#153d75}.kp-dashboard-inner{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:18px}.kp-gauge{position:relative;width:145px;max-width:100%;margin:auto;aspect-ratio:1}.kp-gauge svg{width:100%;height:100%;display:block}.kp-gauge>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.kp-gauge strong{font-size:25px;color:#153d75;direction:ltr}.kp-gauge small{font-size:11px}.kp-chart-row{margin:10px 0;break-inside:avoid}.kp-chart-label,.kp-chart-values{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px}.kp-chart-label b{font-size:12px}.kp-chart-label span{color:#536078}.kp-track{height:8px;background:#e4ebf5;border-radius:10px;overflow:hidden;margin:5px 0;direction:ltr}.kp-track i{display:block;height:100%;background:#174c87;border-radius:10px}.kp-chart-values{color:#536078;font-size:10px}.kp-chart-help{font-size:11px;line-height:1.8;margin:12px 0 0;color:#536078}.kp-ratio{direction:ltr;unicode-bidi:isolate;white-space:nowrap}.kp-bars{min-width:0}@media(max-width:1050px){.kp-overview{grid-template-columns:1fr}}@media(max-width:550px){.kp-dashboard-inner{grid-template-columns:1fr}.kp-gauge{width:140px}.kp-dashboard{padding:14px}.kp-chart-label,.kp-chart-values{font-size:11px}.kp-chart-label b{font-size:12px}.kp-chart-row{margin:15px 0}}
/* Training and development, preserving AL-MAHDY house style. */
.tr-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:18px 0}.tr-toolbar .fld{min-width:150px;flex:1}.tr-toolbar .btn{min-height:44px}.tr-toolbar #tr-year{max-width:160px}.tr-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tr .fld{min-width:0}.tr input,.tr select,.tr textarea{width:100%;font:inherit;min-height:44px;box-sizing:border-box}.tr-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;margin:18px 0}.tr-course,.tr-person{padding:16px;border:1px solid #c4d4ea;background:white;border-radius:12px;overflow-wrap:anywhere}.tr-course h3{color:#153d75}.tr-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f2f6fc;padding:12px;border-radius:8px;font-size:13px}.tr-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.tr-stats>div{border:1px solid #c4d4ea;background:#eef4ff;border-radius:10px;padding:14px;min-width:0}.tr-stats span{display:block;font-size:12px}.tr-stats strong{display:block;font-size:23px;color:#153d75;overflow-wrap:anywhere}.tr-caveat{font-size:12px;line-height:1.9;background:#fff9e9;padding:12px;border-radius:9px}.tr-ratio{display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap}.tr-person{margin:12px 0}.tr-person-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.tr-kpi-text{white-space:pre-wrap;background:#f4f7fc;padding:10px;font-size:13px}.tr-kpi-text:empty{display:none}#tr-error:not(:empty){color:#9b1d2b;background:#fff0f2;padding:12px;border-radius:8px}.tr-emp-item{border-bottom:1px solid #ccd7e7;padding:12px 0}.tr-emp-item p{font-size:12px}.tr-empty{padding:25px;background:#f2f6fc}.tr .btn{font:inherit;min-height:44px}@media(max-width:750px){.tr-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.tr{padding:14px!important}.tr-fields{grid-template-columns:1fr}.tr-toolbar>.btn{width:100%}.tr-stats{grid-template-columns:1fr 1fr;gap:9px}.tr-stats>div{padding:11px}.tr-stats strong{font-size:20px}.tr-person-head{flex-wrap:wrap}.tr-facts{grid-template-columns:1fr}.tr-person{padding:12px}}
/* Employee leave indicators: presentation only; original values and print selectors retained. */
#live .leave-balance-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 8px}#live .leave-balance-cards .stat{display:flex;flex-direction:column;align-items:center;min-width:0;padding:12px 8px 16px!important;background:linear-gradient(160deg,#fff,#f5f9ff);border:1px solid #dbe5f1!important;border-radius:18px;box-shadow:0 5px 14px #203d6410;text-align:center}#live .leave-dial{position:relative;width:100%;max-width:215px;aspect-ratio:200/160;direction:ltr}#live .leave-dial svg{width:100%;height:100%;display:block;overflow:visible}#live .leave-dial svg text{font:11px Cairo,sans-serif;fill:#77869a}#live .leave-dial strong{position:absolute;top:63%;left:5%;width:90%;font-size:28px;line-height:1.2;color:#183d68;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}#live .leave-dial small{position:absolute;top:86%;left:5%;width:90%;font-size:10px;color:#7b899c}#live .leave-balance-cards .stat>span{font-size:12px;line-height:1.7;color:#526882;font-weight:700;padding-top:8px}#live .leave-balance-cards .gauge-gold{background:linear-gradient(160deg,#fff,#fffbef)}#live .leave-balance-cards .gauge-orange{background:linear-gradient(160deg,#fff,#fff6eb)}#live .leave-balance-cards .gauge-green{background:linear-gradient(160deg,#fff,#ecf8f2);border-color:#c5e6d7!important}#live .gauge-green .leave-dial strong{color:#248263}#live .leave-balance-cards .warn{background:linear-gradient(160deg,#fff,#fff0f3)!important;border-color:#f0c1cb!important}#live .warn .leave-dial strong{color:#b63855}#live .gauge-scale-note{font-size:11px;color:#7b899c;margin:0 0 18px;text-align:center}@media(max-width:650px){#live .leave-balance-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#live .leave-balance-cards .stat{padding:10px 4px 13px!important}#live .leave-dial strong{font-size:26px}#live .leave-balance-cards .stat>span{font-size:11px;padding-top:5px}}@media(max-width:350px){#live .leave-dial strong{font-size:22px}#live .leave-dial small{font-size:9px}}@media print{#live .leave-balance-cards .stat{box-shadow:none}}

#live .leave-balance-cards .gauge-gold:last-child .leave-dial strong{color:#a97718}#live .leave-balance-cards .gauge-orange:last-child .leave-dial strong{color:#cc7224}#live .leave-balance-cards .gauge-red{background:linear-gradient(160deg,#fff,#fff0f3);border-color:#f0c1cb!important}#live .gauge-red .leave-dial strong{color:#b63855}#live .gauge-threshold-note{font-size:11px;line-height:1.9;color:#65768c;margin:0 0 18px;text-align:center}
body.program-locked .gate-badge3d{width:430px;max-width:86vw;height:auto;display:block;margin:2px auto 8px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}
body.program-locked .gate-bdesc{color:#fff;font-weight:800;font-size:28px;margin:0 0 16px;text-shadow:0 2px 8px rgba(0,0,0,.35)}
@media(max-width:600px){body.program-locked .gate-badge3d{width:min(330px,88vw)}body.program-locked .gate-bdesc{font-size:19px;margin-bottom:12px}}
.eos-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}.eos-kv div{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.eos-kv b{display:block;font-size:12px;color:var(--ink2)}.eos-kv span{font-weight:800;font-size:15px}.eos-tbl .law{font-size:12px;color:var(--ink2);white-space:normal}.eos-tbl td.num,.eos-tbl th.num{text-align:center;white-space:nowrap}.eos-tbl tr.total td{background:var(--soft);font-weight:800}

/* تنقل شهر الكشف */
.fld.pm-month{min-width:360px}
.pm-month-row{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;width:100%}
.pm-month-row input{flex:1 1 auto;min-width:0}
.pm-month-row .btn{white-space:nowrap;flex:0 0 auto;padding:6px 10px}
@media (max-width:480px){.fld.pm-month{min-width:0}}

/* تقرير الإجماليات التفصيلي */
.rep tr.sec td{background:#eef2f6;font-weight:700;text-align:right}
.rep tr.tot2 td{font-weight:700;background:#f6f8fa;border-top:1.5px solid #9aa5ae}
.rep tr.info td{color:#444;font-size:.92em}
.rep tr.fin td{font-weight:700;border-top:2px solid #153b68}
.pm-rep-tabs{display:flex;gap:6px;margin:0 0 10px;flex-wrap:wrap}

.top .id{justify-content:space-between}
.le-lockup{height:132px;width:auto;flex:none;order:3;margin-inline-start:auto;border-radius:14px;border:2px solid rgba(201,207,215,.55);box-shadow:0 3px 12px rgba(0,0,0,.35);display:block}
@media (max-width:700px){.le-lockup{height:56px;border-radius:8px;border-width:1px}}
@media (max-width:700px){.top .id{min-width:0}.top .idtext{min-width:0;flex:1 1 auto}.top .logo{width:56px;height:56px}.le-lockup{height:48px}.top .badge3d{width:100%;height:auto;display:block}}
@media (max-width:340px){.top .logo{width:48px;height:48px}.le-lockup{height:42px}}

/* تنبيه الموثوقية + فحص البرنامج */
.rel-alert{border:1px solid #f0b4b4;background:#fff7f7}
.rel-alert h2{color:#b91c1c}
.rel-alert ul{margin:6px 0 10px;padding-inline-start:20px}
.rel-blink{background:#dc2626!important;border-color:#991b1b!important;color:#fff!important;animation:relPulse 1.2s ease-in-out infinite}
@keyframes relPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}50%{box-shadow:0 0 16px 5px rgba(220,38,38,.45)}}
@media (prefers-reduced-motion:reduce){.rel-blink{animation:none}}
.sc-line{margin:3px 0}
.sc-line.error{color:#b91c1c}
/* CV requirement coverage: independent of interview scores. */
.cv-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px}.cv-grid>div{min-width:0}.cv-grid .fld{margin-bottom:14px}.cv-grid input,.cv-grid select,.cv-grid textarea{width:100%;max-width:100%;min-width:0}.cv-result{border:1px solid #d5dfec;border-radius:12px;padding:16px;margin:12px 0;background:#fff;overflow-wrap:anywhere}.cv-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.cv-head h4{margin:0;unicode-bidi:plaintext}.cv-score{background:#e8f2ff;border-radius:9px;color:#153d78;padding:6px 10px;font-size:24px;white-space:nowrap}.cv-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:380px;overflow-y:auto;font-family:inherit;line-height:1.9;unicode-bidi:plaintext}.cv-grid summary{cursor:pointer;min-height:44px;padding:8px 0}.cv-grid .btn{white-space:normal;max-width:100%}@media(max-width:650px){.cv-grid{grid-template-columns:1fr;gap:10px}.cv-result{padding:13px}}

#cv-error:empty{display:none}.cv-result p{line-height:1.9}
/* v104: selected settlement details fit narrow phone screens. */
@media screen and (max-width:600px){.eos-kv{grid-template-columns:minmax(0,1fr)}.eos-kv>div{min-width:0;overflow-wrap:anywhere}.eos-kv span{overflow-wrap:anywhere}}
