/* PHIMAI HEALTH | ผู้พัฒนาระบบ : นายวิษณุ เสาะสาย | ตำแหน่ง : เจ้าพนักงานธุรการ */
/* Login entrance, alongside the existing locally compiled Tailwind utilities. */
.login-popup-stage{position:relative;display:grid;place-items:center;min-height:calc(100svh - 240px);padding:32px 12px 48px;isolation:isolate}.login-popup-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:32px;background:radial-gradient(ellipse at 25% 20%,#b7e3dc80,transparent 55%),radial-gradient(ellipse at 90% 80%,#ebdfbb70,transparent 55%)}.login-popup-card.login-shell{width:100%;max-width:470px;margin:0;border:1px solid #bed8d8;border-radius:26px!important;background:#fff;box-shadow:0 24px 70px #133d4826,0 3px 12px #133d4809;transform-origin:50% 60%;animation:login-popup-enter .92s cubic-bezier(.74,.02,.24,1) both;will-change:transform,opacity;overflow:visible}.login-popup-card.login-shell h1{font-size:clamp(1.6rem,4vw,2rem);color:#163c46;line-height:1.5;margin:12px 0 8px}.login-popup-icon{display:grid;place-items:center;width:54px;height:54px;background:#e5f3ef;color:#08666e;border:1px solid #c0dcd3;border-radius:17px;margin-bottom:22px}.login-popup-card .badge{font-size:12px;letter-spacing:.04em}.login-popup-card form{margin-top:16px}.login-popup-card .form-control{min-height:50px;font-size:16px;background:#f8fbfc;border-color:#8faab3;border-radius:12px}.login-popup-card .form-control:focus{border-color:#08666e;box-shadow:0 0 0 4px #087b8024;background:#fff}.login-popup-card .btn-primary{min-height:50px;border-radius:12px;font-weight:600;box-shadow:0 8px 20px #08666e22}.login-password-tools{display:flex;justify-content:flex-end;margin:-8px 0 16px}.login-password-toggle{border:0;background:transparent;color:#08616a;font-size:14px;min-height:44px;padding:8px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.login-back-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;color:#08616a;font-size:14px}.login-popup-card :where(a,button,input):focus-visible{outline:3px solid #855a00;outline-offset:3px}.login-popup-card>small{display:block;font-size:12px;line-height:1.8}.login-popup-card .alert{line-height:1.8}.login-popup-card[data-entered]{will-change:auto}@keyframes login-popup-enter{0%{opacity:0;transform:translateY(44px) scale(.87)}35%{opacity:.18;transform:translateY(36px) scale(.9)}78%{opacity:1;transform:translateY(-4px) scale(1.015)}100%{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:575px){.login-popup-stage{padding:22px 0 32px;min-height:calc(100svh - 210px)}.login-popup-card.login-shell{padding:26px 22px!important;border-radius:22px!important}.login-popup-icon{margin-bottom:16px}.login-popup-card form{margin-top:12px}}@media(prefers-reduced-motion:reduce){.login-popup-card.login-shell{animation:none;transform:none;opacity:1;will-change:auto}.login-popup-card *{transition:none!important}}

body.login-standalone{margin:0;background:#edf5f3;min-height:100vh;min-height:100dvh}
.login-standalone .shell-main{margin:0!important;padding:0!important;width:100%;max-width:none;min-width:0}
.login-standalone #mainContent{margin:0;padding:0!important;width:100%;max-width:none}
.login-standalone .login-popup-stage{min-height:100svh;padding:clamp(20px,4vw,56px) 16px;box-sizing:border-box}
.login-standalone .login-popup-card.login-shell{animation:login-popup-enter 1.25s cubic-bezier(.7,0,.3,1) both}
.login-access-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:clamp(18px,3vw,32px);border:1px solid #c9dfd9;border-radius:24px;background:#fff;color:#163c46;box-shadow:0 28px 100px #001f2850;overflow:auto;overscroll-behavior:contain}
.login-access-dialog[open]{animation:login-popup-enter 1.1s cubic-bezier(.72,0,.25,1) both}
.login-access-dialog::backdrop{background:#092c396e;backdrop-filter:blur(6px)}
.login-access-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.login-access-heading h2{font-size:1.4rem;margin:0}
.login-access-heading button{font-size:24px;min-width:44px;min-height:44px}
.login-access-dialog .form-control{font-size:16px;min-height:46px;max-width:100%}
.login-access-dialog .card{box-shadow:none;border:0;padding:0!important;min-width:0}
.login-access-dialog a,.login-access-dialog p{overflow-wrap:anywhere}
body.login-access-open{overflow:hidden}
@media(max-width:575px){.login-access-dialog{border-radius:18px;max-height:calc(100dvh - 24px)}.login-access-dialog button[type=submit]{width:100%}}
@media(prefers-reduced-motion:reduce){.login-standalone .login-popup-card.login-shell,.login-access-dialog[open]{animation:none}}
