/* Shared stone / pine theme layer, shared by all imported account forms. */

html body,html body:has(.password-login),html body:has(.pin-login),html body:has(.pin-setup),html body:has(.biometric-setup){background:var(--lms-bg);color:var(--lms-ink)}
html body .login,html body .login.password-login,html body .login.pin-login,html body .login.pin-setup,html body .login.biometric-setup{background:var(--lms-surface-raised);border-color:var(--lms-border);color:var(--lms-ink);box-shadow:0 20px 55px #17271d24;backdrop-filter:none;-webkit-backdrop-filter:none}
html body .card,html body .trusted-device,html body .security-action,html body .security-empty,html body .employee-device,html body dialog,html body .employee-dialog,html body .security-modal,html body .role-dialog{background:var(--lms-surface-raised);color:var(--lms-ink);border-color:var(--lms-border)}
html body h1,html body h2,html body h3,html body label,html body summary,html body strong,html body th,html body td{color:var(--lms-ink)}
html body .muted,html body .small,html body .pin-mobile-note,html body .password-login-form label{color:var(--lms-muted)}
html body input,html body select,html body textarea{color:var(--lms-ink)!important;background:var(--lms-input)!important;border-color:var(--lms-border);caret-color:var(--lms-ink)}
html body input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px var(--lms-input) inset!important;-webkit-text-fill-color:var(--lms-ink)!important;caret-color:var(--lms-ink)}
html body input::placeholder{color:var(--lms-muted)}
html body a,html body a:hover{color:var(--lms-accent)}
html body button{background:var(--lms-blue);border-color:var(--lms-blue);color:var(--lms-on-accent)}
html body button:hover{background:var(--lms-blue-hover);color:var(--lms-on-accent)}
html body .pin-key,html body .pin-key:hover,html body .pin-key:active{background:var(--lms-surface-soft);color:var(--lms-ink);border:0}
html body .pin-key.utility,html body .pin-key.utility:hover,html body .pin-setup-skip{background:transparent;color:var(--lms-muted)}
html body .pin-key.pin-key-pressed{animation:lms-keypress .18s ease-out}
@keyframes lms-keypress{0%,100%{background:var(--lms-surface-soft);transform:scale(1)}45%{background:var(--lms-accent-soft);transform:scale(.9)}}
html body .pin-dot{background:var(--lms-surface-soft)}html body .pin-dot.filled{background:var(--lms-blue)}
html body .pin-desktop-cell{background:var(--lms-input);color:var(--lms-ink);border-color:var(--lms-border)}
html body .pin-desktop-cell.filled{background:var(--lms-blue);border-color:var(--lms-blue);color:var(--lms-on-accent)}
html body .button-secondary,html body .security-link-button,html body .back-link,html body .employee-item,html body .employee-close,html body .security-modal-close,html body .pin-desktop-forgot{background:var(--lms-accent-soft);color:var(--lms-ink);border-color:var(--lms-border)}
html body .button-secondary:hover,html body .employee-item:hover,html body .back-link:hover{background:var(--lms-accent-soft);color:var(--lms-ink)}
html body .button-warning{background:var(--lms-warning-soft);color:var(--lms-warning);border-color:var(--lms-warning)}
html body .button-danger,html body .logout-button{background:var(--lms-danger);color:var(--lms-on-accent);border-color:var(--lms-danger)}
html body .password-visibility,html body .password-visibility:hover,html body .biometric-setup form button{background:transparent!important;color:var(--lms-muted)!important;border-color:transparent}
html body .error,html body .danger-zone summary{color:var(--lms-danger)}
html body .status-badge{background:var(--lms-success-soft);color:var(--lms-success)}html body .status-badge.offline{background:var(--lms-warning-soft);color:var(--lms-warning)}html body .role-badge,html body .current-device-badge{background:var(--lms-accent-soft);color:var(--lms-accent)}
html body .face-id-image{filter:none;color:var(--lms-ink)}
html body .pin-desktop-input{color:transparent!important;caret-color:transparent!important;-webkit-text-fill-color:transparent!important}
html body button:focus-visible,html body a:focus-visible{outline:3px solid var(--lms-blue);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html body .pin-key.pin-key-pressed{animation:none}}
html.portal body .workspace .badge{color:var(--lms-muted)}
html.portal body main.portal-content{min-height:0;display:block}
html body .pin-login-title span:first-child,html body .pin-desktop-label{color:var(--lms-muted)}
html body .pin-desktop-cell.active{background:var(--lms-accent-soft);border-color:var(--lms-blue);box-shadow:0 0 0 2px #21655424}
html body .pin-desktop-cell.filled::after{background:var(--lms-blue)}
html body .role-item,html body .role-item:hover,html body .role-close{background:var(--lms-accent-soft);color:var(--lms-ink);border-color:var(--lms-border)}
html body .role-item small{color:var(--lms-muted)}
html body input.role-switch{background:var(--lms-surface-soft)!important;border:0!important}
html body input.role-switch:checked{background:var(--lms-blue)!important}
html body .role-switch:focus-visible{outline:3px solid var(--lms-blue)}
html body .pin-desktop-cell.filled{background:var(--lms-input);color:var(--lms-ink);border-color:var(--lms-blue)}
html body .pin-login-title span{display:block}
html body .face-id-image{font-size:32px;line-height:38px}
@media(max-width:600px){html body .pin-login-title span:first-child{font-size:18px;line-height:1.4;margin-bottom:6px}html body .pin-login-title span:last-child{font-size:27px;line-height:1.2}}

html body .security-modal::backdrop,html body .employee-dialog::backdrop,html body .role-dialog::backdrop{background:var(--lms-overlay);backdrop-filter:blur(2px)}
/* Keep the install link below the full-width mobile PIN form. */
@media(max-width:600px){
 html body main:has(.pin-login),html body main:has(.pin-setup){flex-direction:column;align-items:stretch}
 html body main:has(.pin-login)>.lms-pwa-footer,html body main:has(.pin-setup)>.lms-pwa-footer{margin:12px 0 0}
}
html body .employee-section,html body .role-permission{border-color:var(--lms-border)}
html body .employee-section>summary{color:var(--lms-accent)}
html body .employee-section.danger-zone>summary{color:var(--lms-danger)}
/* Desktop PIN setup had more specific inherited dark-theme label/link rules. */
html body .pin-setup-desktop label{color:var(--lms-ink)}
html body .pin-setup-desktop>p:last-child a,html body .pin-setup-desktop>p:last-child a:hover{color:var(--lms-accent)}

html body input.role-switch:before{background:var(--lms-surface-raised)}

/* Entry screens deliberately contrast with the bright form, including trusted-device PIN. */
html:not(.portal) body:has(.login){min-height:100dvh;background-color:var(--lms-header);background-image:radial-gradient(ellipse at 14% 14%,#415c46 0,transparent 55%),radial-gradient(ellipse at 92% 90%,#7a653b40 0,transparent 48%);background-attachment:fixed}
html body .login.password-login,html body .login.pin-login,html body .login.pin-setup,html body .login.biometric-setup,html body .login{border:1px solid var(--lms-border);border-top:4px solid var(--lms-gold);border-radius:21px;background:var(--lms-surface-raised);box-shadow:0 24px 70px #101c1742}
html body .login-brand{color:var(--lms-accent)!important;letter-spacing:.025em}
html body .login-brand>span{color:var(--lms-muted);letter-spacing:0}
html body .password-login-form input,html body .pin-desktop-cell{border-color:var(--lms-border);background:var(--lms-input);box-shadow:inset 0 1px 4px #2941350a}
html body .password-login-form input:focus,html body .pin-desktop-cell.active{outline-color:var(--lms-blue);border-color:var(--lms-blue);box-shadow:0 0 0 3px #2165541f}
html body .pin-desktop-forgot{background:var(--lms-surface-soft);color:var(--lms-ink);border-color:var(--lms-border)}
html body .pin-desktop-forgot:hover{background:#cdc9bf;color:var(--lms-ink);border-color:#a4a095}
html:not(.portal) body:has(.login) .lms-pwa-footer a{color:#d3ddce;text-underline-offset:4px}
html body .back-arrow{color:var(--lms-accent)}
html body .back-link{box-shadow:inset 3px 0 var(--lms-gold)}
@media(max-width:600px){
 html body .login.pin-login,html body .login.pin-setup{padding:24px 14px;min-height:auto;margin:10px 0;border:1px solid var(--lms-border);border-top:4px solid var(--lms-gold)}
 html body main:has(.pin-login),html body main:has(.pin-setup){padding:14px;justify-content:center}
 html body .pin-key{background:var(--lms-surface-soft);border:1px solid var(--lms-border)}
 html body .pin-key.utility,html body .pin-key.utility:hover{border-color:transparent;background:transparent}
 html body .pin-key:focus-visible{box-shadow:0 0 0 3px var(--lms-gold)}
}

/* Imported submit selectors also set their border/active colors explicitly. */
html body .pin-desktop-submit,html body .password-login-form>button{background:var(--lms-blue);border-color:var(--lms-blue);color:var(--lms-on-accent)}
html body .pin-desktop-submit:hover,html body .password-login-form>button:hover,html body .pin-desktop-submit:active,html body .password-login-form>button:active{background:var(--lms-blue-hover);border-color:var(--lms-blue-hover);color:var(--lms-on-accent)}


/* Same original logo as the portal header, on a dark panel in light account cards. */
html body .login .login-brand{display:flex;justify-content:center;align-items:center;gap:0;width:100%;padding:16px 18px;margin:0 0 24px;border:1px solid #3b5145;border-radius:14px;background:var(--lms-header);box-sizing:border-box}
html body .login .login-brand .auth-logo{display:block;width:260px;max-width:100%;height:auto;object-fit:contain;flex:0 1 auto}
html body .first-password h1{font-size:23px;line-height:1.35;overflow-wrap:anywhere}
html body .first-password h2{font-size:18px;margin-top:22px}
@media(max-width:600px){html body .login .login-brand{padding:14px;margin-bottom:20px}html body .login .login-brand .auth-logo{width:240px}}

html body main.settings-frame-content{width:100%;max-width:none;margin:0;padding:16px 20px 24px;box-sizing:border-box}
.settings-frame-content>.back-link,.settings-frame-content>h1,.settings-frame-content :is(.employees-title,.roles-title)>h1{display:none}

.admin-external-tag,.admin-temporary-tag{display:inline-block;border-radius:6px;padding:3px 7px;font-size:12px}.admin-external-tag{background:#dce3ef;color:#334d75}.admin-temporary-tag{background:#e2d8be;color:#674c1c}
