@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&family=Outfit:wght@400;500;600;700;800&display=swap');
/* Focused Balsam sign-in: calm, simple and true to the kindergarten identity. */
:root{--login-green:#397600;--login-green-dark:#2b590b;--login-ink:#273c24;--login-muted:#778171;--login-border:#e4eadd;--login-paper:#f7f9f2}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.balsam-login{font-family:'Cairo',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;color:var(--login-ink);background:var(--login-paper);min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:36px 20px;position:relative;isolation:isolate}.login-background{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,#fffdf7 0%,#f7f9f2 66%)}.login-background i{position:absolute;display:block;border-radius:50%}.login-background i:nth-child(1){width:290px;height:290px;right:calc(50% - 460px);top:calc(50% - 380px);border:54px solid #e5eddd;opacity:.58}.login-background i:nth-child(2){width:185px;height:185px;left:calc(50% - 420px);bottom:calc(50% - 315px);background:#f7e7eb;opacity:.55}.login-background i:nth-child(3){width:70px;height:70px;left:calc(50% - 330px);top:calc(50% - 235px);background:#dfedf1;opacity:.7}.login-shell{width:100%;max-width:460px}.login-card{background:#fff;border:1px solid var(--login-border);border-radius:25px;padding:32px 38px 23px;box-shadow:0 20px 65px #2d4b1610,0 2px 6px #2d4b1603;position:relative;overflow:hidden}.login-card::before{content:'';position:absolute;top:0;left:calc(50% - 34px);width:68px;height:3px;background:var(--login-green);border-radius:0 0 5px 5px}.login-brand{text-align:center;margin-bottom:29px}.login-brand img{display:block;width:76px;height:76px;object-fit:contain;margin:0 auto 11px;border-radius:18px}.login-kicker{font-size:11px;color:#72826b;font-weight:600}.login-brand h1{font-size:29px;font-weight:800;line-height:1.6;letter-spacing:-.7px;margin:4px 0 4px}.login-brand h1 span{color:var(--login-green)}.login-brand p{font-size:13px;color:var(--login-muted);margin:0}.login-form{display:flex;flex-direction:column;gap:19px}.login-field label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.login-input-wrap{position:relative}.login-input-wrap input{width:100%;height:51px;background:#fbfcf9;border:1px solid #dfe6d9;border-radius:11px;padding:0 44px 0 13px;color:var(--login-ink);font-size:14px;transition:background .15s,border-color .15s,box-shadow .15s;min-width:0;font-family:'Cairo',sans-serif}.login-input-wrap input::placeholder{color:#949c8e;font-size:12px}.login-input-wrap input:focus{outline:none;border-color:#82a664;box-shadow:0 0 0 3px #3976000c;background:#fff}.login-input-wrap input#password{padding-left:48px}.login-input-icon{position:absolute;width:19px;height:19px;right:15px;top:16px;color:#829475;pointer-events:none}.login-password-toggle{position:absolute;left:7px;top:6px;height:39px;width:39px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:#7f8d74}.login-password-toggle:hover{background:#edf3e7;color:var(--login-green)}.login-password-toggle svg{width:19px;height:19px}.login-password-toggle .eye-slash{display:none}.login-password-toggle[aria-pressed=true] .eye-slash{display:block}.login-remember{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#67735e;cursor:pointer;align-self:flex-start;margin-top:-2px}.login-remember input{width:16px;height:16px;accent-color:var(--login-green);margin:0}.login-submit{display:flex;justify-content:center;align-items:center;gap:12px;min-height:51px;padding:11px 20px;border:1px solid var(--login-green);border-radius:11px;background:var(--login-green);color:white;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,box-shadow .15s;font-family:'Cairo',sans-serif}.login-submit svg{width:18px;height:18px}.login-submit:hover{background:var(--login-green-dark);box-shadow:0 4px 12px #39760018}.login-submit:active{transform:translateY(1px)}.balsam-login :focus-visible{outline:3px solid #c48b2e;outline-offset:3px}.login-demo{margin-top:20px;text-align:center;color:#7c8873;font-size:11px}.login-demo summary{cursor:pointer;width:max-content;margin-inline:auto;padding:3px 7px}.login-demo-content{padding:11px 12px;margin-top:10px;background:#f7faf3;border:1px solid #e8edde;border-radius:10px}.login-demo-content p{margin:0 0 9px;line-height:1.8}.login-demo-content button{background:#fff;border:1px solid #d5e2c9;padding:6px 12px;border-radius:7px;font-size:11px;color:var(--login-green);cursor:pointer}.login-card-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#929b8a;font-size:10px;margin-top:23px;padding-top:17px;border-top:1px solid #eff2ea}.login-card-note span{width:4px;height:4px;border-radius:50%;background:#e9b8c6}.login-card-note span:last-child{background:#bfdde6}.login-footer{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:10px;color:#8a9481;margin-top:19px}.login-footer i{font-style:normal;color:#b4bcae}.login-alert{font-size:12px;line-height:1.9;border:1px solid;border-radius:10px;padding:12px 14px;margin:-8px 0 21px}.login-alert.error{background:#fff4f1;border-color:#f1d4cf;color:#a24636}.login-alert.success{background:#f0f7e9;border-color:#d4e8c4;color:#48712d}
/* بنر تثبيت التطبيق PWA Install Banner في صفحة تسجيل الدخول */
.login-pwa-banner{margin:18px 0 0;padding:14px 16px;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border:1px solid #86efac;border-radius:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 15px rgba(22,101,52,0.06);animation:pwaSlideUp 0.3s ease-out;text-align:right}
.login-pwa-body{display:flex;align-items:center;gap:12px}
.login-pwa-icon{font-size:1.8rem;line-height:1;flex-shrink:0;background:#ffffff;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;box-shadow:0 2px 8px rgba(34,197,94,0.15)}
.login-pwa-text{flex:1;min-width:0}
.login-pwa-text strong{display:block;font-size:13px;font-weight:800;color:#166534;line-height:1.4}
.login-pwa-text p{margin:2px 0 0;font-size:11px;color:#15803d;line-height:1.5}
.login-pwa-btn{width:100%;min-height:42px;padding:9px 16px;background:#16a34a;color:#ffffff;border:1px solid #15803d;border-radius:11px;font-size:13px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 3px 10px rgba(22,163,74,0.25);transition:all 0.2s ease;font-family:'Cairo',sans-serif}
.login-pwa-btn:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 5px 14px rgba(22,163,74,0.3)}
.login-pwa-btn:active{transform:translateY(1px)}
@keyframes pwaSlideUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.balsam-login{padding:24px 17px}.login-card{padding:28px 25px 22px;border-radius:22px}.login-brand{margin-bottom:25px}.login-brand h1{font-size:27px}.login-background i:nth-child(1){right:-155px;top:-80px}.login-background i:nth-child(2){left:-100px;bottom:-35px}.login-background i:nth-child(3){left:18px;top:80px}.login-field label{font-size:14px}.login-form{gap:18px}.login-footer{font-size:10px}}@media(max-height:720px){.balsam-login{padding-top:20px;padding-bottom:20px}.login-card{padding-top:23px}.login-brand img{width:64px;height:64px}.login-brand{margin-bottom:21px}.login-card-note{margin-top:18px}.login-footer{margin-top:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* شريط التمرير لوضع سطح المكتب في صفحة الدخول */
html {
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
body.balsam-login {
  overflow-y: auto;
  overflow-x: hidden;
}
@media (min-width: 901px) {
  * {
    scrollbar-width: thin;
    scrollbar-color: #8dbd6c #f1f8ed;
  }
  ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }
  ::-webkit-scrollbar-track {
    background: #f1f8ed;
  }
  ::-webkit-scrollbar-thumb {
    background: #8dbd6c;
    border-radius: 8px;
    border: 2px solid #f1f8ed;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: #397600;
  }
}

