/* Scheduler login · SKIES2 UI 1.3.1. Brand primitives are supplied by the shared kit. */
html { font-size:100%; background:#F5F7FA; color-scheme:light; }
body.sk-login-page { margin:0; min-block-size:100svh; background:var(--sk-bg-page); }
.sk-login-page [hidden] { display:none !important; }
/* Keep the header content below the iOS status bar in the installed app.
   The surface still fills the top edge; the inset expands the header itself. */
.sk-login-topbar {
 --sk-login-header-padding-x:32px;
 min-block-size:72px;
 min-block-size:calc(72px + env(safe-area-inset-top, 0px));
 padding:16px var(--sk-login-header-padding-x);
 padding-top:calc(16px + env(safe-area-inset-top, 0px));
 padding-right:max(var(--sk-login-header-padding-x), env(safe-area-inset-right, 0px));
 padding-left:max(var(--sk-login-header-padding-x), env(safe-area-inset-left, 0px));
 display:flex; align-items:center; gap:20px;
 background:var(--sk-bg-surface); border-bottom:1px solid var(--sk-border-subtle);
}
.sk-login-topbar img { display:block; inline-size:48px; block-size:auto; object-fit:contain; }
.sk-login-topbar-name { border-left:1px solid var(--sk-border-subtle); padding-left:16px; color:var(--sk-text-heading); font:600 16px/24px var(--sk-font-heading); }
.sk-login-topbar-meta { margin-left:auto; font:400 14px/20px var(--sk-font-body); color:var(--sk-text-secondary); }
.sk-login-page .login-shell { max-inline-size:1440px; margin-inline:auto; padding:24px; }
.sk-login-page .login-panel { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:40px; align-items:start; }
.sk-login-brand { display:flex; flex-direction:column; justify-content:space-between; gap:48px; min-block-size:544px; background:var(--sk-brand-navy); color:#FFF; border-radius:12px; padding:40px 32px; }
.sk-login-brand-name { color:#BCC8D8; font:500 14px/20px var(--sk-font-heading); }
.sk-login-brand h2 { margin:0 0 16px; color:#FFF; font:600 24px/32px var(--sk-font-heading); letter-spacing:-.02em; }
.sk-login-brand p { margin:0; color:#D9E1EB; font:400 16px/24px var(--sk-font-body); max-inline-size:32ch; }
.sk-login-brand ul { list-style:none; padding:0; margin:32px 0 0; display:grid; gap:20px; }
.sk-login-brand li { display:flex; align-items:center; gap:12px; font:400 14px/20px var(--sk-font-body); }
.sk-login-brand li .sk-nav-icon { color:var(--sk-brand-technical); }
.sk-login-brand-footer { padding-top:24px; border-top:1px solid var(--sk-brand-aviation); color:#BCC8D8; font:400 12px/16px var(--sk-font-body); }
.sk-login-page .login-card-wrap { inline-size:100%; max-inline-size:448px; justify-self:center; padding-top:24px; }
.sk-login-page .login-card { background:var(--sk-bg-surface); border:1px solid var(--sk-border-subtle); border-radius:12px; padding:32px; }
.sk-login-page .login-card h1 { margin:0 0 12px; color:var(--sk-text-heading); font:700 32px/40px var(--sk-font-heading); letter-spacing:-.02em; }
.sk-login-page .login-card__header { margin-bottom:28px; }
.sk-login-page .login-card__header p,.sk-login-page .login-install-head p { margin:0; font:400 16px/24px var(--sk-font-body); color:var(--sk-text-secondary); }
.sk-login-page .login-submit,.sk-login-page .login-secondary { inline-size:100%; }
.sk-login-sso-help { margin-top:8px !important; }
.sk-login-page .login-divider { display:flex; align-items:center; gap:12px; margin:28px 0; color:var(--sk-text-secondary); font:400 14px/20px var(--sk-font-body); }
.sk-login-page .login-divider::before,.sk-login-page .login-divider::after { content:""; height:1px; flex:1; background:var(--sk-border-subtle); }
.sk-login-page .login-accordion > summary { list-style:none; justify-content:space-between; cursor:pointer; }
.sk-login-page .login-accordion > summary::-webkit-details-marker { display:none; }
.sk-login-staff-label { display:flex; align-items:center; gap:8px; }
.sk-login-chevron { width:16px !important; height:16px !important; transition:transform 180ms var(--sk-ease); }
.login-accordion[open] .sk-login-chevron { transform:rotate(180deg); }
.sk-login-page .login-accordion__body { overflow:visible; }
.sk-login-page .login-accordion__inner { padding-top:24px; }
.sk-login-page .login-form { display:grid; gap:20px; margin:0; }
.sk-login-page .field-group { display:grid; gap:8px; margin:0; }
.sk-login-page .sk-login-password-wrap { position:relative; }
.sk-login-page .sk-login-password-wrap .sk-input { padding-inline-end:72px; }
.sk-login-page .sk-login-reveal { position:absolute; inset-block:0; inset-inline-end:1px; min-inline-size:64px; padding:8px; border-radius:0 8px 8px 0; }
.sk-login-page .sk-login-staff-help { margin-top:16px; }
.sk-login-footer { display:flex; justify-content:center; align-items:center; gap:8px; margin:20px 0 0; color:var(--sk-text-secondary); font:400 12px/16px var(--sk-font-body); }
.sk-login-footer .sk-nav-icon { inline-size:16px; block-size:16px; }
.sk-login-page .login-alert { margin:0 0 20px; padding:12px 16px; background:var(--sk-status-info-bg); color:var(--sk-status-info-text); border:1px solid var(--sk-status-info-border); border-radius:8px; overflow-wrap:anywhere; font:400 14px/20px var(--sk-font-body); }
.sk-login-page .login-alert-error,.sk-login-page .login-alert-danger { background:var(--sk-status-error-bg); color:var(--sk-status-error-text); border-color:var(--sk-status-error-border); }
.sk-login-page .login-alert a { color:inherit; text-decoration:underline; }
.sk-login-page .login-card__eyebrow { display:block; margin-bottom:12px; font:600 14px/20px var(--sk-font-heading); color:var(--sk-brand-aviation); }
.sk-login-page .login-install-highlight { display:grid; gap:8px; background:var(--sk-bg-subtle); border-radius:8px; padding:16px; margin:24px 0; font:400 14px/20px var(--sk-font-body); }
.sk-login-page .login-install-actions { display:grid; gap:12px; }
.sk-login-page .login-install-status,.sk-login-page .login-install-steps { margin-top:20px; font:400 14px/20px var(--sk-font-body); color:var(--sk-text-secondary); }
.sk-login-page .login-install-steps h2 { font:600 20px/28px var(--sk-font-heading); color:var(--sk-text-heading); }
.sk-login-page .login-install-steps ol { padding-left:20px; }
.sk-login-page .login-install-steps li { margin-bottom:8px; }
@media (max-width:1023px) { .sk-login-page .login-panel { gap:24px; } .sk-login-brand { padding:32px 24px; } .sk-login-page .login-card { padding:24px; } }
@media (max-width:767px) {
 .sk-login-page .login-shell { padding:20px 16px 32px; }
 .sk-login-page .login-panel { display:block; }
 .sk-login-brand { display:none; }
 .sk-login-page .login-card-wrap { margin-inline:auto; padding-top:0; }
 .sk-login-page .login-card { padding:24px 20px; }
 .sk-login-page .login-card h1 { font-size:28px; line-height:36px; }
 .sk-login-topbar { --sk-login-header-padding-x:16px; gap:16px; }
 .sk-login-topbar img { width:40px; }
}
@media (max-width:479px) { .sk-login-topbar-meta { display:none; } }
@media (prefers-reduced-motion:reduce) { .sk-login-chevron { transition:none; } }

/* UI 1.3.3: the motion adapter owns these panels; legacy animations are retired. */
.sk-scheduler-ui .sk-motion-panel,.sk-login-page .sk-motion-panel { transition:none !important; animation:none !important; will-change:auto; min-height:0; }
.sk-scheduler-ui .sk-motion-panel[data-sk-motion-mode="flow"],.sk-login-page .sk-motion-panel[data-sk-motion-mode="flow"] { max-height:none !important; }
.sk-scheduler-ui .sk-motion-panel.is-disclosure-transitioning,.sk-login-page .sk-motion-panel.is-disclosure-transitioning { overflow:hidden !important; }
.sk-scheduler-ui .sk-motion-panel[data-sk-motion-state="open"][data-sk-motion-mode="flow"],.sk-login-page .sk-motion-panel[data-sk-motion-state="open"][data-sk-motion-mode="flow"] { overflow:visible; }
.sk-scheduler-ui .sk-motion-panel[hidden],.sk-login-page .sk-motion-panel[hidden] { display:none !important; }
.sk-native-disclosure-panel { display:flow-root; }
.sk-scheduler-ui .sk-native-summary { display:flex; justify-content:space-between; align-items:center; gap:12px; list-style:none; }
.sk-scheduler-ui .sk-native-summary::-webkit-details-marker { display:none; }
.sk-scheduler-ui .sk-native-summary::marker { content:""; }
.sk-scheduler-ui .sk-native-summary::after { display:none; }
.sk-scheduler-ui .sk-native-summary:focus-visible { outline:3px solid var(--sk-focus-ring); outline-offset:2px; }
.sk-scheduler-ui .sk-native-summary .sk-disclosure-chevron { flex:none; }
.sk-scheduler-ui .slot-form-toggle-icon,.sk-scheduler-ui .phase3-accordion-icon,.sk-scheduler-ui .bookings-summary-chevron,.sk-scheduler-ui .slot-group-chevron,.sk-scheduler-ui .profile-dashboard__notification-group-chevron i,.sk-login-page .sk-login-chevron { transition:transform var(--sk-disclosure-duration-open) var(--sk-disclosure-ease); }
.sk-login-page [data-sk-details-open="false"] .sk-login-chevron { transform:rotate(0deg); }
.sk-login-page [data-sk-details-open="true"] .sk-login-chevron { transform:rotate(180deg); }
@media (prefers-reduced-motion:reduce) {
 .sk-scheduler-ui .slot-form-toggle-icon,.sk-scheduler-ui .phase3-accordion-icon,.sk-scheduler-ui .bookings-summary-chevron,.sk-scheduler-ui .slot-group-chevron,.sk-scheduler-ui .profile-dashboard__notification-group-chevron i,.sk-login-page .sk-login-chevron { transition:none; }
}
