:root{color-scheme:light;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;--font-family-title:Inter,"Segoe UI",Roboto,Arial,sans-serif;}
*{box-sizing:border-box;}html,body{margin:0;min-height:100%;}body{color:#173047;background:#eef3f7;}button,input{font:inherit;}button{cursor:pointer;}button:disabled{cursor:wait;opacity:.7;}[hidden]{display:none!important;}
#auth-root,#auth-page,#page,main[data-auth-root]{min-height:100svh;}
.admin-login-card{max-width:100%;}
.primary-button{border:1px solid #1978c7;border-radius:6px;padding:0 14px;}
.one-auth-loading,.one-auth-status{min-height:100svh;display:grid;place-content:center;text-align:center;padding:24px;color:#526a7a;}
.one-auth-status p,.one-auth-loading p{line-height:1.5;}
.one-auth-status button{min-height:40px;padding:8px 16px;background:#1978c7;color:#fff;border:0;border-radius:6px;}

.admin-login-page{min-height:100svh;display:grid;place-items:center;padding:var(--login-page-padding,16px);background:radial-gradient(circle at 50% 30%,var(--login-page-start,#f8fbfd),var(--login-page-end,#dce7ee));}
.admin-login-page[data-login-position="top"]{align-items:start;}
.admin-login-page[data-login-position="bottom"]{align-items:end;}
.admin-login-card{position:relative;width:min(var(--login-card-width,390px),calc(100vw - (var(--login-page-padding,16px) * 2)));padding:var(--login-card-padding,26px);border:var(--login-card-border-width,1px) solid var(--login-card-border,#b8c9d5);border-radius:var(--login-card-radius,9px);background:var(--login-card-bg,#fff);box-shadow:var(--login-card-shadow,0 22px 55px rgba(20,48,68,.20));color:var(--login-title-color,#173047);}
.admin-login-brand{display:flex;width:100%;}
.admin-login-brand img,.admin-login-card>img{display:block;max-width:100%;image-rendering:auto;}
.admin-login-title{display:flex;flex-direction:column;align-self:stretch;align-items:stretch;width:100%;gap:0;margin:0 0 16px;color:var(--login-title-color,#173047);font-family:var(--font-family-title);font-weight:var(--login-title-weight,600);line-height:var(--login-title-line-height,1.12);}
.admin-login-title>span{display:block;width:100%;}
.admin-login-title span:first-child{font-size:var(--login-title-line-1-size,17px);}
.admin-login-title span:last-child{font-size:var(--login-title-line-2-size,19px);}
.admin-login-subtitle{margin:-7px 0 16px;color:var(--login-privacy-color,#657784);font-size:var(--login-subtitle-size,9.5px);line-height:1.5;text-align:center;}
/* Password controls share the configured login dimensions and colors. */
.admin-password-input{position:relative;min-width:0;}
.admin-login-card .admin-password-input input{padding-right:44px;}
.admin-login-card .admin-password-visibility{position:absolute;right:1px;top:1px;bottom:1px;display:flex;align-items:center;justify-content:center;width:40px;min-width:0;min-height:0;padding:0;border:0;border-radius:0 4px 4px 0;background:transparent;color:var(--login-label-color,#526a7a);cursor:pointer;}
.admin-password-visibility svg{width:18px;height:18px;pointer-events:none;}
.admin-login-card .admin-password-visibility:hover{color:var(--login-input-focus,#1978c7);background:color-mix(in srgb,var(--login-input-focus,#1978c7) 8%,transparent);}
.admin-password-visibility:focus-visible{outline:var(--focus-width,2px) solid var(--login-input-focus,#1978c7);outline-offset:-3px;}
.admin-password-input input::-ms-reveal,.admin-password-input input::-ms-clear{display:none;}
.admin-password-help{margin:8px 0 0;color:var(--login-privacy-color,#657784);font-size:var(--login-subtitle-size,9.5px);line-height:1.5;}
#admin-password-error[hidden]{display:none;}
.admin-login-fields{display:flex;flex-direction:column;gap:var(--login-field-gap,10px);}
.admin-login-card label{display:block;margin:0;color:var(--login-label-color,#526a7a);font-size:var(--login-label-size,12px);}
.admin-login-card label>span{display:block;margin-bottom:5px;}
.admin-login-card input{width:100%;height:max(var(--login-input-height,40px),var(--minimum-control-height,32px));border:1px solid var(--login-input-border,#bfcdd7);border-radius:5px;padding:0 10px;background:var(--login-input-bg,#eef5ff);color:var(--login-input-text,#183248);font-size:var(--login-input-size,12px);outline:0;}
.admin-login-card input:focus{border-color:var(--login-input-focus,#1978c7);box-shadow:0 0 0 var(--focus-width,2px) color-mix(in srgb,var(--login-input-focus,#1978c7) 25%,transparent);}
.admin-login-card .admin-login-submit{width:100%;height:max(var(--login-button-height,40px),var(--minimum-control-height,32px));margin-top:16px;border-color:var(--login-button-end,#1978c7);background:linear-gradient(180deg,var(--login-button-start,#2a91d8),var(--login-button-end,#1978c7));color:var(--login-button-text,#fff);font-size:var(--login-button-size,12px);font-weight:600;}
.admin-login-privacy{display:block;margin:13px auto 0;color:var(--login-privacy-color,#657784);font-size:var(--login-privacy-size,9px);line-height:1.45;text-align:center;text-decoration:none;}
.admin-login-forgot{display:block;margin:10px auto 0;padding:2px 4px;border:0;background:transparent;color:var(--login-link-color,#1769a8);font-size:var(--login-link-size,10px);text-align:center;text-decoration:none;cursor:pointer;}
.admin-login-forgot:hover{text-decoration:underline;}
.admin-error{margin:0 0 12px;padding:8px;border:1px solid var(--login-error-border,#efb3ad);border-radius:5px;background:var(--login-error-bg,#fff0ef);color:var(--login-error-text,#9f3730);font-size:var(--login-error-size,9px);}
.admin-phase-badge{display:inline-block;padding:3px 7px;margin:0 0 12px;border-radius:4px;background:var(--login-input-bg,#eef5ff);color:var(--login-label-color,#526a7a);font-size:var(--login-label-size,12px);}
.admin-login-title-left>span{text-align:left;}
.admin-login-title-center>span{text-align:center;}
.admin-login-title-right>span{text-align:right;}

.admin-login-card input[aria-invalid="true"]{border-color:var(--login-error-border,#efb3ad);}
.admin-login-card button:focus-visible,.admin-login-card a:focus-visible{outline:2px solid var(--login-input-focus,#1978c7);outline-offset:3px;}
.admin-login-card .admin-password-visibility:focus-visible{outline-offset:-3px;}
@media(max-width:480px){.admin-login-page{padding:12px;}.admin-login-card{width:100%;padding:min(var(--login-card-padding,26px),24px);}.admin-login-card input{font-size:max(var(--login-input-size,12px),16px);}.admin-login-card .admin-login-submit{min-height:44px;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;}}

