/* Sign in, on the CRM design layer: one solid sheet, a blue eyebrow, roomy fields. Real size;
   this page is not scaled like the CRM shell. Light and dark both follow the saved theme. */
body:has(.login-card) { --crm-fs-small:13px; --crm-fs-note:15px; --crm-fs-body:16px; --crm-control:50px; }
html body:has(.login-card) .login-wrap { max-width:460px; }
html body:has(.login-card) .login-card { padding:44px 40px 36px; background:var(--crm-sheet)!important; -webkit-backdrop-filter:none; backdrop-filter:none; border:1px solid var(--crm-edge)!important; border-radius:var(--crm-radius)!important; box-shadow:var(--crm-rim),0 24px 60px rgba(20,20,43,.16),0 2px 8px rgba(20,20,43,.08)!important; }
html[data-theme="dark"] body:has(.login-card) .login-card { box-shadow:var(--crm-rim),0 32px 80px rgba(0,0,0,.6)!important; }
html body:has(.login-card) .login-logo { margin-bottom:30px; }
html body:has(.login-card) .login-logo img { width:200px; }
html body:has(.login-card) .login-eyebrow { margin-top:6px; color:var(--crm-blue)!important; font-size:var(--crm-fs-small); font-weight:700; letter-spacing:.02em; text-transform:none; }
html body:has(.login-card) .field-group { margin-bottom:18px; }
html body:has(.login-card) .field-label { margin-bottom:8px; color:var(--crm-ink)!important; font-size:var(--crm-fs-small); font-weight:650; letter-spacing:0; }
html body:has(.login-card) .field-input { min-height:var(--crm-control); padding:12px 16px; background:var(--crm-sheet-2)!important; border:1px solid transparent!important; border-radius:14px; color:var(--crm-ink)!important; font-size:var(--crm-fs-body); }
html body:has(.login-card) .field-input::placeholder { color:var(--crm-ink-3)!important; }
html body:has(.login-card) .field-input:focus { border-color:var(--crm-blue)!important; box-shadow:0 0 0 3px var(--crm-blue-soft)!important; outline:0; }
html body:has(.login-card) .pw-toggle { width:44px; height:44px; color:var(--crm-ink-2); }
html body:has(.login-card) .btn-signin { min-height:var(--crm-control); margin-top:6px; border:0!important; border-radius:14px!important; background:var(--crm-blue)!important; box-shadow:0 6px 18px rgba(44,98,201,.28)!important; color:#fff!important; font-size:var(--crm-fs-body); font-weight:700; }
html[data-theme="dark"] body:has(.login-card) .btn-signin { color:#10131a!important; box-shadow:0 6px 18px rgba(143,180,245,.22)!important; }
html body:has(.login-card) .btn-signin:hover { filter:brightness(1.06); }
html body:has(.login-card) .login-footer { margin-top:18px; }
html body:has(.login-card) .login-card .login-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--crm-blue)!important; font-size:var(--crm-fs-small); font-weight:650; }
html body:has(.login-card) .login-alert { border-radius:12px; font-size:var(--crm-fs-small); }
html body:has(.login-card) .login-error { border:1px solid var(--crm-glass-bad-edge)!important; background:var(--crm-glass-bad)!important; box-shadow:var(--crm-glass-sh); color:var(--crm-glass-bad-ink)!important; }
html body:has(.login-card) .login-info { border:1px solid var(--crm-glass-blue-edge)!important; background:var(--crm-glass-blue)!important; box-shadow:var(--crm-glass-sh); color:var(--crm-glass-blue-ink)!important; }
@media (max-width:480px) { html body:has(.login-card) .login-card { padding:34px 22px 26px; border-radius:var(--crm-radius-md)!important; } }
