@font-face { font-family: 'Phoenix Tinos'; src: url('/assets/nano_them/fonts/phoenix/Tinos-Bold.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: 'Phoenix Arimo'; src: url('/assets/nano_them/fonts/phoenix/Arimo-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Phoenix Tinos'; src: url('/assets/nano_them/fonts/phoenix/Tinos-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
/* Independent backdrop, logo assets, and semantic HTML content. */
body.phoenix-login-page {
 margin: 0; height: 100dvh; overflow: hidden; background: #f2f9fd; color: #0c164e; font-family: 'Phoenix Arimo', Arial, sans-serif;
 --phoenix-art: url('/assets/nano_them/images/login/05-phoenix-health-hospital-backdrop.jpg');
}
.phoenix-login-page #page-login,
.phoenix-login-page .page-content-wrapper,
.phoenix-login-page .page-content-wrapper > main,
.phoenix-login-page .page_content { height: 100%; min-height: 0; }
.phoenix-login-page .page-content-wrapper { padding: 0; }
.phoenix-login-page .page-header-wrapper,
.phoenix-login-page .page-breadcrumbs,
.phoenix-login-page .page-footer { display: none; }
.phoenix-login-page .page_content { padding: 0; }
.phoenix-viewport { width: 100%; height: 100%; overflow: hidden; display: flex; flex-direction: column; }
.phoenix-stage {
 flex: 1 1 auto; min-height: 0; width: 100%; overflow: hidden;
 display: flex; align-items: center; justify-content: center;
 background: #edf7fc var(--phoenix-art) center center / cover no-repeat;
}
.phoenix-scene {
 position: relative; flex: 0 0 auto; width: 1024px; height: 529px; min-height: 529px;
 transform: scale(var(--phoenix-scale, 1)); transform-origin: center center; direction: ltr;
}
body.phoenix-login-page .phoenix-scene .phoenix-card {
 position: relative; margin: 85px 0 0 364px; width: 297px; min-height: 412px;
 padding: 15px 24px 21px 25px; border-radius: 9px; background: #fff;
 box-shadow: 0 12px 36px rgb(39 99 144 / 5%); box-sizing: border-box;
}
body.phoenix-login-page .phoenix-scene .phoenix-card section { padding: 0; margin: 0; background: transparent; text-align: left; }
body.phoenix-login-page .phoenix-scene .phoenix-card .page-card-head { margin: 0; padding: 0; text-align: center; }
body.phoenix-login-page .phoenix-scene .page-card-head .phoenix-brand {
 display: block; width: 248px; height: 111px; max-height: none; margin: 0 auto 12px; max-width: 100%; object-fit: contain;
}
.phoenix-header { position: absolute; top: 10px; left: 48px; right: 48px; display: flex; align-items: center; justify-content: space-between; }
.phoenix-header img { width: 240px; height: 65px; object-fit: contain; mix-blend-mode: multiply; }
.phoenix-header p { margin: 0; color: #65758e; font-size: 10px; }
.phoenix-header span { margin: 0 10px; }
.phoenix-introduction { position: absolute; left: 58px; top: 124px; width: 210px; color: #596982; }
.phoenix-introduction h2 { margin: 0 0 12px; color: #0c164e; font: 36px/34px 'Phoenix Tinos', serif; }
.phoenix-introduction h2 em { color: #009ba9; font-style: normal; }
.phoenix-introduction h2::after { content: ''; display: block; width: 34px; height: 2px; background: #f9b653; margin-top: 15px; }
.phoenix-introduction > p { font-size: 12px; line-height: 16px; margin: 0 0 18px; }
.phoenix-value { display: flex; gap: 14px; align-items: center; margin: 12px 0; }
.phoenix-value > .phoenix-icon { width: 42px; height: 42px; padding: 11px; border-radius: 50%; color: #008cce; background: #e0f3ff; }
.phoenix-value:nth-last-child(2) > .phoenix-icon { color: #009a9f; background: #dcf6f2; }
.phoenix-value:last-child > .phoenix-icon { color: #e59b28; background: #fff0da; }
.phoenix-value p { margin: 0; }
.phoenix-value strong { display: block; font-size: 11px; color: #24365a; }
.phoenix-value small { display: block; font-size: 9px; }
body.phoenix-login-page .phoenix-scene .phoenix-card h1 { font: 18px/24px 'Phoenix Tinos', 'Times New Roman', serif; color: #0a124e; margin: 0; font-weight: 700; letter-spacing: 0; }
.phoenix-subtitle { font: 9px/14px 'Phoenix Arimo', Arial, sans-serif; color: #7481a0; margin: 0 0 14px; }
body.phoenix-login-page .phoenix-scene .phoenix-card .page-card { padding: 0; margin: 0; border: 0; box-shadow: none; background: transparent; max-width: none; }
body.phoenix-login-page .phoenix-scene .phoenix-card .form-signin { margin: 0; max-width: none; }
body.phoenix-login-page .phoenix-scene .phoenix-card .page-card-body { padding: 0; }
.phoenix-field { position: relative; margin-bottom: 10px; }
body.phoenix-login-page .phoenix-scene .phoenix-card .form-control {
 display: block; box-sizing: border-box; margin: 0; width: 100%; height: 32px; min-height: 32px;
 border: 1px solid #d8e5f2; border-radius: 6px; background: #f4f8fb;
 color: #425779; padding: 0 34px 0 35px; font: 10px/30px 'Phoenix Arimo', Arial, sans-serif;
 text-align: left; direction: ltr; box-shadow: none; letter-spacing: 0;
}
body.phoenix-login-page .phoenix-scene .phoenix-card .form-control::placeholder { color: #465a80; opacity: 1; }
body.phoenix-login-page .phoenix-scene .phoenix-card .form-control:focus { outline: 2px solid #51a9dd; outline-offset: 1px; }
body.phoenix-login-page .phoenix-scene .phoenix-card .phoenix-password .form-control { background: #fff; }
body.phoenix-login-page .phoenix-scene .phoenix-card .phoenix-password .form-control:placeholder-shown { letter-spacing: 3px; }
.phoenix-icon { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; vertical-align: middle; flex: none; }
.phoenix-field > .phoenix-icon { position: absolute; left: 10px; top: 8px; color: #0089ee; pointer-events: none; z-index: 1; }
.phoenix-toggle-password { position: absolute; right: 5px; top: 1px; width: 26px; height: 30px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #425879; cursor: pointer; }
body.phoenix-login-page .phoenix-scene .phoenix-card .forgot-password-message { height: 15px; margin: -3px 0 12px; text-align: right; font: 10px/15px 'Phoenix Arimo', Arial, sans-serif; }
body.phoenix-login-page .phoenix-scene .phoenix-card a { color: #007beb; text-decoration: none; }
body.phoenix-login-page .phoenix-scene .phoenix-card a:hover { text-decoration: underline; }
body.phoenix-login-page .phoenix-scene .phoenix-card .page-card-actions { margin: 0; padding: 0; }
body.phoenix-login-page .phoenix-scene .phoenix-card .btn {
 box-sizing: border-box; width: 100%; min-height: 32px; border-radius: 5px;
 display: flex; align-items: center; justify-content: center; gap: 10px;
 margin: 0; padding: 5px 10px; font: 10px/20px 'Phoenix Arimo', Arial, sans-serif; text-decoration: none;
}
body.phoenix-login-page .phoenix-scene .phoenix-card .btn-primary {
 background: #247fba; color: white; border: 1px solid #41b4db; font-size: 14px;
 box-shadow: inset 0 8px 12px #46b8d94d, inset 0 -9px 12px #00406c73;
}
body.phoenix-login-page .phoenix-scene .phoenix-card .btn-primary:hover { background-color: #107fb5; }
body.phoenix-login-page .phoenix-scene .phoenix-card .btn-primary .phoenix-icon { width: 16px; }
.phoenix-divider { display: flex; align-items: center; gap: 12px; margin: 8px 0 5px; height: 15px; color: #627399; font: 10px/15px 'Phoenix Arimo', Arial, sans-serif; }
.phoenix-divider::before, .phoenix-divider::after { content: ''; height: 1px; background: #dfe9f3; flex: 1; }
body.phoenix-login-page .phoenix-scene .phoenix-card .phoenix-email-link { border: 1px solid #b6dbff; background: #f4f9fe; color: #005dc1; }
body.phoenix-login-page .phoenix-scene .phoenix-card .phoenix-email-link .phoenix-icon { color: #007ce4; }
body.phoenix-login-page .phoenix-scene .phoenix-card .phoenix-provider { border: 1px solid #d8e5f2; margin-top: 10px; }
.phoenix-signup { margin: 10px 0 0; font-size: 10px; text-align: center; }
body.phoenix-login-page .phoenix-scene .phoenix-card .phoenix-back { display: block; margin: 16px 0 0; font-size: 12px; text-align: center; }
.phoenix-policy-note { font-size: 12px; line-height: 1.6; color: #536789; }
body.phoenix-login-page .phoenix-scene .phoenix-card section:not(.for-login) .page-card-head { margin-bottom: 14px; }
body.phoenix-login-page .phoenix-scene .phoenix-card .login-content > div { font-size: 12px; }
body.phoenix-login-page .phoenix-scene .phoenix-card .form-verify .form-control { padding-left: 12px; }
body.phoenix-login-page .phoenix-scene .phoenix-card :focus-visible { outline: 2px solid #007beb; outline-offset: 3px; }
.phoenix-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.phoenix-footer {
 flex: 0 0 auto; min-height: 47px; box-sizing: border-box; padding: 5px 14px;
 display: flex; flex-direction: column; justify-content: center; gap: 1px;
 background: #fff; border-top: 1px solid #e5e8eb; color: #707070;
 font: 12px/17px 'Phoenix Arimo', Arial, sans-serif; text-align: left; direction: ltr;
}
.phoenix-footer p, .phoenix-footer address { margin: 0; font: inherit; font-style: normal; }
.phoenix-footer a { color: inherit; text-decoration: none; }
.phoenix-footer a:hover, .phoenix-footer a:focus-visible { color: #0077c8; text-decoration: underline; }
@media (max-width: 640px) {
 body.phoenix-login-page { height: auto; min-height: 100svh; overflow: auto; }
 .phoenix-login-page #page-login,
 .phoenix-login-page .page-content-wrapper,
 .phoenix-login-page .page-content-wrapper > main,
 .phoenix-login-page .page_content { height: auto; min-height: 100svh; }
 .phoenix-viewport { height: auto; min-height: 100svh; overflow: visible; }
 .phoenix-stage { display: block; min-height: calc(100svh - 66px); }
 .phoenix-scene { transform: none; width: 100%; height: auto; min-height: calc(100svh - 66px); background-position: right top; background-size: auto calc(100svh * 576 / 529); padding: 32px 16px; }
 .phoenix-header { position: static; justify-content: center; margin: -16px 0 16px; }
 .phoenix-header p, .phoenix-introduction { display: none; }
 body.phoenix-login-page .phoenix-scene .phoenix-card { width: min(100%, 352px); margin: 0 auto; padding: 22px 24px; min-height: 470px; }
 body.phoenix-login-page .phoenix-scene .phoenix-card .form-control { height: 44px; font-size: 16px; }
 .phoenix-field > .phoenix-icon { top: 14px; }
 .phoenix-toggle-password { height: 42px; width: 34px; }
 body.phoenix-login-page .phoenix-scene .phoenix-card .btn { min-height: 44px; font-size: 13px; }
 body.phoenix-login-page .phoenix-scene .phoenix-card .forgot-password-message { font-size: 12px; margin: 4px 0 22px; }
 .phoenix-subtitle { font-size: 11px; }
 .phoenix-footer { min-height: 66px; font-size: 11px; line-height: 16px; }
}

body.phoenix-login-page .phoenix-scene .phoenix-card .forgot-password-message a { font: inherit; color: #007beb; }
