@font-face{font-family:Almarai;src:url(Almarai-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Almarai;src:url(Almarai-Bold.ttf) format("truetype");font-weight:700;font-display:swap}
:root{--pine:#073f3c;--accent:#008876;--ink:#133b36;--muted:#607671;--line:#e0ebe5;--mint:#e4f3eb;--canvas:#f5f8f5}
*{box-sizing:border-box}
body{margin:0;font-family:Almarai,Arial,sans-serif;color:var(--ink);background:var(--canvas)}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #64ba9a;outline-offset:3px}
.login-grid{display:grid;grid-template-columns:minmax(320px, .9fr) 1fr;min-height:100svh;padding:18px;gap:18px}
.brand-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:680px;padding:clamp(28px,5vw,76px);border-radius:28px;background:radial-gradient(circle at 0 95%,#138574,transparent 55%),linear-gradient(145deg,#073b39,#06554c);color:white}
.brand{display:flex;gap:12px;align-items:center;font-size:27px;font-weight:700}
.brand img{width:48px;height:48px;border-radius:14px}
.brand small{display:block;font-size:9px;letter-spacing:.22em;margin-top:4px;color:var(--accent)}
.brand-light small{color:#a8dccc}
.brand-copy{position:relative;z-index:1}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;color:var(--accent)}
.brand-panel .eyebrow{color:#a8e4cf}
.brand-panel h2{font-size:clamp(38px,5.1vw,78px);line-height:1.4;margin:22px 0;letter-spacing:-.04em}
.brand-panel p{color:#bfddd4}
.brand-footer{font-size:10px;letter-spacing:.3em;color:#c2e2d9}
.orbits{position:absolute;left:-160px;bottom:-180px;width:620px;height:620px;z-index:-1}
.orbits i{position:absolute;inset:0;border:1px solid #b7f2db35;border-radius:50%}
.orbits i:nth-child(2){inset:45px}
.orbits i:nth-child(3){inset:90px}
.orbits b{position:absolute;left:50%;top:30%;font-size:100px;color:#b7f2db25}
.login-main{display:grid;place-items:center;position:relative;padding:38px 25px 65px;background:#fff;border:1px solid var(--line);border-radius:28px}
.form-wrap{width:min(100%,390px)}
.form-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:27px;border-radius:16px;background:var(--mint);color:var(--accent);font-size:24px}
h1{font-size:clamp(29px,4vw,44px);margin:13px 0}
.form-wrap p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:30px}
form label{display:block;font-size:13px;font-weight:700;margin:16px 0 8px}
input{width:100%;padding:14px 15px;min-height:49px;border:1px solid #d9e7df;border-radius:12px;background:#f8faf8;color:var(--ink)}
.primary{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:24px;border:0;border-radius:12px;padding:15px 18px;background:var(--pine);color:#fff;font-weight:700}
.primary:hover{background:#006458}
.login-footer{position:absolute;bottom:22px;font-size:11px;color:var(--muted)}
.error{color:#9e3029;background:#fff1ee;border:1px solid #ffd8d0;padding:12px;border-radius:10px;font-size:13px}
.dashboard{display:grid;grid-template-columns:265px minmax(0,1fr);min-height:100svh}
.sidebar{position:sticky;top:0;height:100svh;overflow:auto;display:flex;flex-direction:column;padding:24px 16px 16px;background:white;border-inline-end:1px solid var(--line)}
.sidebar .brand{padding-inline:10px;margin-bottom:20px}
.nav-group{margin:0 0 16px}
.nav-group p{font-size:10px;font-weight:700;color:var(--muted);padding-inline:12px;margin:8px 0}
.nav-group a{display:flex;align-items:center;gap:11px;padding:8px 12px;min-height:38px;border-radius:10px;font-size:13px}
.nav-icon{display:grid;place-items:center;width:20px;color:#4b7367;font-size:17px}
.nav-group a:hover{background:#f0f7f2}
.nav-group a[aria-current=page]{background:var(--mint);color:var(--pine);font-weight:700}
.logout{margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.logout button,.menu{background:transparent;color:var(--ink);border:0;border-radius:9px;padding:10px 12px}
.logout button:hover,.menu:hover{background:var(--mint)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 30px;min-height:68px;background:#fff;border-bottom:1px solid var(--line);font-size:14px}
.topbar>div,.profile{display:flex;align-items:center;gap:10px}
.profile{font-size:12px;color:var(--muted)}
.profile b{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--mint);color:var(--pine)}
.menu{display:none}
.content{padding:clamp(18px,4vw,48px)}
.title-panel{min-height:265px;padding:clamp(22px,4vw,49px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fff,#f9fcf9)}
.title-panel h1{margin:0}
@media(max-width:760px){
.login-grid{grid-template-columns:1fr;padding:10px;gap:10px}
.brand-panel{min-height:0;padding:20px;border-radius:19px}
.brand-copy,.brand-footer{display:none}
.login-main{min-height:540px;padding:28px 22px 57px;border-radius:19px}
.dashboard{display:block}
.sidebar{display:none;position:fixed;inset:64px 0 0 auto;width:min(290px,88vw);height:auto;z-index:10;box-shadow:-10px 0 28px #173d3720}
.menu-open .sidebar{display:flex}
.menu{display:inline-block}
.topbar{position:sticky;top:0;z-index:11;min-height:64px;padding:8px 12px}
}
