:root{--p:#d4af6a;--ink:#1b1b1b;--muted:#756f66;--line:#e5ded2;--bg:#f7f4ee}*{box-sizing:border-box}.dateField{color:var(--muted);gap:6px;font-size:11px;display:grid}.dateField input{text-align:left;direction:ltr;unicode-bidi:plaintext}.dateField input::-webkit-datetime-edit{text-align:left;direction:ltr;unicode-bidi:isolate}.dateField input::-webkit-datetime-edit-fields-wrapper{text-align:left;direction:ltr;unicode-bidi:isolate}.dateField input::-webkit-datetime-edit-text{padding:0 2px}.portalHeaderActions{align-items:center;gap:8px;display:flex}.portalHeaderActions input{border:1px solid var(--line);border-radius:9px;width:130px;padding:9px 11px}.portalCenter,.portalLogin{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 80% 10%,#f1e3c8,#0000 36%),radial-gradient(circle at 10% 90%,#f7efe1,#0000 30%),#f7f4ee;place-items:center;font-family:-apple-system,BlinkMacSystemFont,SF Arabic,Geeza Pro,Tahoma,sans-serif;display:grid}.portalLogin section{border:1px solid var(--line);text-align:center;background:#fff;border-radius:22px;width:min(420px,100% - 32px);padding:34px;box-shadow:0 22px 60px #0b0d1018}.portalLogo{color:#fff;background:#fff;border-radius:16px;place-items:center;width:58px;height:58px;margin:auto;font-size:28px;font-weight:700;display:grid;overflow:hidden;box-shadow:0 12px 28px #0b0d1044}.portalLogo img{object-fit:cover;width:100%;height:100%}.portalLogin h1{margin:18px 0 8px}.portalLogin p{color:var(--muted);font-size:14px}.portalLogin input,.portalForm input,.portalForm select{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;margin-top:10px;padding:12px}.portalLogin button,.portalForm button,.decision button{background:var(--p);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-weight:700}.portalLogin>section>button{width:100%;margin-top:14px}.portalLogin a{color:var(--p);margin-top:15px;font-size:13px;display:block}.portalError{color:#a33;background:#fff1f1;border:1px solid #f2caca;border-radius:10px;margin:12px 0;padding:10px}.portalShell{background:var(--bg);min-height:100vh;color:var(--ink);grid-template-columns:230px 1fr;font-family:-apple-system,BlinkMacSystemFont,SF Arabic,Geeza Pro,Tahoma,sans-serif;display:grid}.portalShell aside{color:#fff;background:linear-gradient(#0b0d10 0%,#171614 100%);flex-direction:column;gap:28px;padding:26px 18px;display:flex}.portalBrand{align-items:center;gap:11px;display:flex}.portalBrand>b{color:#0000;background:#0b0d10 url(/brand/sanad-symbol-v3.png) 50%/cover no-repeat;border-radius:12px;place-items:center;width:42px;height:42px;font-size:21px;display:grid;overflow:hidden}.portalBrand span{font-weight:700}.portalBrand small{color:#c6b58f;margin-top:3px;font-size:10px;display:block}.portalShell nav{gap:7px;display:grid}.portalShell nav button{color:#c9c0b1;text-align:right;background:0 0;border:0;border-radius:9px;padding:12px;font-size:13px}.portalShell nav button.active{color:#fff;background:#ffffff18}.portalShell nav em{background:#df5b5b;border-radius:9px;padding:2px 6px;font-size:9px;font-style:normal}.portalShell aside>a{color:#adc0d7;margin-top:auto;font-size:12px}.portalContent{width:100%;max-width:1200px;margin:auto;padding:28px}.portalContent>header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.portalContent header small{color:var(--p)}.portalContent h1{margin:5px 0}.portalContent header button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px}.portalHero{grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px;display:grid}.portalHero div,.portalForm,.portalList,.accountsGrid article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.portalHero small{color:var(--muted)}.portalHero strong{color:var(--p);margin-top:8px;font-size:28px;display:block}.portalForm{margin-bottom:18px}.portalForm h2,.portalList h2{margin:0 0 12px;font-size:16px}.formGrid{grid-template-columns:2fr 1fr 1fr 2fr auto;align-items:end;gap:9px;display:grid}.portalForm input,.portalForm select{margin:0}.portalList{gap:9px;display:grid}.portalList h2{margin-bottom:3px}.portalList article{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:15px;padding:14px;display:flex}.portalList article span{color:var(--p);font-size:10px;font-weight:700}.portalList h3{margin:6px 0;font-size:14px}.portalList p{color:var(--muted);margin:0 0 6px;font-size:11px}.portalList small{color:#78879a;font-size:10px}.portalList select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px}.portalList small.approved{color:#198656}.portalList small.rejected{color:#c44343}.decision{gap:6px;display:flex}.decision input{border:1px solid var(--line);border-radius:8px;min-width:190px;padding:8px}.decision .reject{background:#c54b4b}.attendanceActions{grid-template-columns:2fr auto auto;gap:9px;display:grid}.attendanceActions input,.attendanceActions select,.accountsGrid select{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:10px}.portalForm .dangerButton,.accountsGrid button.reject{background:#c54b4b}.biometricSetup{gap:12px;display:grid}.biometricSetup p{color:var(--muted);margin:5px 0 0;font-size:12px}.biometricSetup code{color:var(--p);text-align:center;overflow-wrap:anywhere;background:#eef6f2;border-radius:10px;padding:12px;display:block}.biometricSetup article{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.biometricSetup article div{gap:5px;display:grid}.biometricSetup article small{color:var(--muted)}.accountsGrid button{color:#fff;background:var(--p);border:0;border-radius:8px;padding:9px}.portalEmpty{text-align:center;color:var(--muted);padding:35px}.accountsGrid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.accountsGrid article{flex-direction:column;gap:7px;display:flex}.accountsGrid span,.accountsGrid small{color:var(--muted);font-size:11px}@media (max-width:800px){.portalShell{display:block}.portalShell aside{z-index:2;padding:14px;position:sticky;top:0}.portalBrand{display:none}.portalShell nav{display:flex}.portalShell nav button{text-align:center;flex:1}.portalShell aside>a{display:none}.portalContent{padding:16px}.formGrid{grid-template-columns:1fr}.portalHero,.accountsGrid{grid-template-columns:1fr 1fr}.portalList article{flex-direction:column;align-items:flex-start}.decision{width:100%}.attendanceActions{grid-template-columns:1fr}.decision button{flex:1}}
