.ci-login-modal[hidden]{display:none!important}
.ci-login-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px}
.ci-login-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85)}
.ci-login-modal__dialog{position:relative;width:min(500px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--ci-ui-panel,var(--global-palette9,#fff));color:var(--ci-ui-text,var(--global-palette3,#1d2327));border:1px solid var(--ci-ui-border,var(--global-palette7,#dcdcde));border-radius:var(--ci-ui-radius,14px);box-shadow:0 18px 50px rgba(0,0,0,.35);padding:18px;box-sizing:border-box}
.ci-login-modal__dialog>h2{margin:0 38px 14px 0;font-size:1.35rem;line-height:1.2;color:inherit}
.ci-login-modal__close{position:absolute;right:11px;top:9px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:inherit;padding:3px 6px}
.ci-login-modal-open{overflow:hidden}
.ci-login-page{padding:32px 18px}.ci-login-page__inner{max-width:540px;margin:0 auto}
.ci-login-panel{box-sizing:border-box}.ci-login-modal .ci-login-panel{border:0!important;box-shadow:none!important;background:transparent!important}.ci-login-modal .ci-ui-panel__body{padding:0}
.ci-login-message{padding:9px 11px;border-radius:7px;margin-bottom:10px;font-size:.92rem}.ci-login-message.is-error{background:#fcf0f1;color:#8a2424}.ci-login-message.is-success{background:#edfaef;color:#176b2c}

.ci-login-mode-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px;margin-bottom:14px}
.ci-login-mode-button{width:100%;min-height:40px;display:inline-flex;justify-content:center;align-items:center;text-align:center;cursor:pointer}
.ci-login-mode-button[aria-pressed="false"]{opacity:.72}
.ci-login-mode-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}

.ci-login-views{min-width:0}
.ci-login-view[hidden]{display:none!important}
.ci-login-view-title{margin:0;font-size:1.05rem;line-height:1.25;color:inherit}
.ci-login-form{display:grid;gap:10px}.ci-login-form label:not(.ci-login-check):not(.ci-login-destination label){display:grid;gap:4px;font-weight:600;font-size:.92rem}
.ci-login-form input[type=text],.ci-login-form input[type=email],.ci-login-form input[type=password]{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--ci-ui-border,var(--global-palette7,#c3c4c7));border-radius:7px;background:var(--global-palette9,#fff);color:var(--global-palette3,#1d2327);box-sizing:border-box}
.ci-login-login-options{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px 16px;align-items:start;padding:2px 0}
.ci-login-check{display:flex;align-items:center;gap:7px;font-size:.9rem;padding-top:20px;white-space:nowrap}
.ci-login-destination{display:grid;grid-template-columns:1fr;gap:4px;border:0;padding:0;margin:0}.ci-login-destination legend{font-weight:700;margin-bottom:2px;font-size:.82rem;color:var(--ci-ui-muted,var(--global-palette5,#646970))}.ci-login-destination label{display:flex!important;align-items:center;gap:6px!important;font-weight:400!important;font-size:.88rem;line-height:1.25}
.ci-login-help{margin:0;font-size:.88rem;color:var(--ci-ui-muted,var(--global-palette5,#646970));line-height:1.45}
.ci-login-primary,.ci-login-trigger,.ci-login-account-link{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:40px;border-radius:8px;padding:8px 13px;font-weight:700;text-decoration:none;cursor:pointer;box-sizing:border-box}
.ci-login-primary{width:100%}
.ci-login-form-link{margin:0;text-align:center;line-height:1}
.ci-login-text-button{border:0!important;background:transparent!important;box-shadow:none!important;padding:3px 4px!important;margin:0;color:var(--global-palette1,#2563eb);font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer}
.ci-login-text-button:hover,.ci-login-text-button:focus{color:var(--global-palette2,var(--global-palette1,#2563eb));background:transparent!important}

.ci-login-social-wrap{margin-top:15px}
.ci-login-social-separator{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--ci-ui-muted,var(--global-palette5,#646970));font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.ci-login-social-separator:before,.ci-login-social-separator:after{content:"";height:1px;flex:1;background:var(--ci-ui-border,var(--global-palette7,#dcdcde))}
.ci-login-social{display:grid;grid-template-columns:1fr;gap:9px}.ci-login-social.has-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ci-login-social__button{display:inline-flex;justify-content:center;align-items:center;gap:9px;width:100%;min-height:40px;border-radius:8px;padding:8px 13px;font-weight:700;text-decoration:none;cursor:pointer;box-sizing:border-box;border:1px solid transparent;color:#fff;font-size:.95rem}.ci-login-social__button i{font-size:1.05rem}
.ci-login-social__button--google{background:#4285f4;border-color:#4285f4}.ci-login-social__button--facebook{background:#1877f2;border-color:#1877f2}
.ci-login-social__button:hover,.ci-login-social__button:focus{filter:brightness(.94);color:#fff}

.ci-login-connections .ci-login-connection{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--ci-ui-border,#ddd)}.ci-login-connections .ci-login-connection:last-child{border-bottom:0}.ci-login-connection button{cursor:pointer}.ci-login-admin-wrap code{user-select:all}
@media(max-width:520px){.ci-login-modal{padding:8px}.ci-login-modal__dialog{padding:16px 13px;max-height:calc(100vh - 16px)}.ci-login-mode-switch{gap:7px}.ci-login-social.has-two{grid-template-columns:1fr}.ci-login-login-options{grid-template-columns:1fr;gap:7px}.ci-login-check{padding-top:0}.ci-login-destination{grid-template-columns:1fr 1fr}.ci-login-destination legend{grid-column:1/-1}.ci-login-modal__dialog>h2{font-size:1.2rem}}

/* 1.3.0 form-state motion */
.ci-login-views{position:relative;transition:height .24s ease}
.ci-login-view--measure{position:absolute!important;visibility:hidden!important;pointer-events:none!important;width:100%;inset:0 auto auto 0}
.ci-login-view--leave{animation:ciLoginViewOut .11s ease both}
.ci-login-view--enter{animation:ciLoginViewIn .19s ease both}
@keyframes ciLoginViewOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}
@keyframes ciLoginViewIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}

/* Provider popup progress stays inside the original CI Login modal/panel. */
.ci-login-social-status[hidden]{display:none!important}
.ci-login-social-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:16px;border:1px solid var(--ci-ui-border,var(--global-palette7,#dcdcde));border-radius:10px;background:var(--global-palette9,#fff);color:var(--ci-ui-text,var(--global-palette3,#1d2327));animation:ciLoginViewIn .19s ease both}
.ci-login-social-status__spinner{width:24px;height:24px;border:3px solid var(--ci-ui-border,var(--global-palette7,#dcdcde));border-top-color:var(--global-palette2,currentColor);border-radius:50%;animation:ciLoginSpin .8s linear infinite;box-sizing:border-box}
.ci-login-social-status__text{display:grid;gap:3px;min-width:0}
.ci-login-social-status__text strong{font-size:.96rem;line-height:1.25}
.ci-login-social-status__text span{font-size:.84rem;line-height:1.35;color:var(--ci-ui-muted,var(--global-palette5,#646970))}
.ci-login-social-status__cancel{justify-self:end;white-space:nowrap}
.ci-login-panel.is-social-auth .ci-login-mode-switch,
.ci-login-panel.is-social-auth .ci-login-views,
.ci-login-panel.is-social-auth .ci-login-social-wrap{display:none!important}
@keyframes ciLoginSpin{to{transform:rotate(360deg)}}

@media(max-width:520px){
  .ci-login-social-status{grid-template-columns:auto minmax(0,1fr);padding:13px}
  .ci-login-social-status__cancel{grid-column:2;justify-self:start;padding-left:0!important}
}
@media(prefers-reduced-motion:reduce){
  .ci-login-views{transition:none!important}
  .ci-login-view--leave,.ci-login-view--enter,.ci-login-social-status{animation:none!important}
  .ci-login-social-status__spinner{animation-duration:1.4s}
}
