:root{--primary:var(--color-primary);--primary-dim:var(--color-primary-dim);--on-primary:var(--color-on-primary);--surface:var(--color-surface);--surface-container-lowest:var(--color-surface-lowest);--surface-container-low:var(--color-surface-low);--surface-container:var(--color-surface-mid);--surface-container-high:var(--color-surface-high);--on-surface:var(--color-on-surface);--on-surface-variant:var(--color-on-surface-variant);--outline:var(--color-outline);--outline-variant:var(--color-outline-variant);--outline-soft:var(--color-outline-soft);--status-valid:var(--color-status-valid);--status-expired:var(--color-status-expired);--t-fast:var(--duration-fast) var(--ease-safera)}.auth{background:var(--surface-container-low);min-height:100vh;font-family:var(--font-sans);color:var(--on-surface);flex-direction:column;font-size:14px;line-height:1.5;display:flex}.auth a{color:inherit;text-decoration:none}.auth button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}.auth input{font:inherit}.auth .top-strip{background:var(--surface-container-low);flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex}.auth .brand{font-family:var(--font-serif);letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.auth .brand-mark{background:var(--primary);width:30px;height:30px;color:var(--on-primary);border-radius:var(--radius);justify-content:center;align-items:center;font-size:14px;display:flex}.auth .top-strip-right{color:var(--on-surface-variant);font-size:13px}.auth .top-strip-right a{color:var(--primary);font-weight:500}.auth .top-strip-right a:hover{text-decoration:underline}.auth .centre{flex:1;justify-content:center;align-items:center;padding:32px 20px 40px;display:flex}.auth .card{background:var(--surface-container-lowest);border:1px solid var(--outline-soft);border-radius:var(--radius-xl);width:100%;max-width:420px;padding:40px 36px 32px;box-shadow:0 8px 40px #0f172a0a}.auth .card h1{font-family:var(--font-serif);letter-spacing:-.025em;margin-bottom:8px;font-size:32px;font-weight:500;line-height:1.15}.auth .card .sub{color:var(--on-surface-variant);font-size:14px;font-family:var(--font-serif);margin-bottom:28px;font-style:italic}.auth .sso-stack{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.auth .sso-btn{background:var(--surface-container-lowest);border:1px solid var(--outline-soft);border-radius:var(--radius);width:100%;height:44px;color:var(--on-surface);transition:background var(--t-fast);justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.auth .sso-btn:hover{background:var(--surface-container)}.auth .sso-icon{width:18px;height:18px}.auth .divider{color:var(--outline);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:14px;margin:6px 0 14px;font-size:11px;font-weight:600;display:flex}.auth .divider:before,.auth .divider:after{content:"";background:var(--outline-soft);flex:1;height:1px}.auth .field{margin-bottom:14px}.auth .field label{margin-bottom:5px;font-size:12px;font-weight:500;display:block}.auth .field-wrap{position:relative}.auth .field input{background:var(--surface-container-lowest);border:1px solid var(--outline-soft);border-radius:var(--radius);width:100%;height:44px;color:var(--on-surface);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:0 12px;font-size:14px}.auth .field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f60731f}.auth .field-help{color:var(--on-surface-variant);margin-top:6px;font-size:12px;line-height:1.4}.auth .btn{border-radius:var(--radius);height:44px;transition:background var(--t-fast);justify-content:center;align-items:center;gap:8px;width:100%;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.auth .btn .icon{stroke-width:1.75px;width:15px;height:15px}.auth .btn-primary{background:var(--primary);color:var(--on-primary);margin-top:6px}.auth .btn-primary:hover:not(:disabled){background:var(--primary-dim)}.auth .btn-primary:disabled{background:var(--outline-variant);cursor:not-allowed}.auth .below-card{text-align:center;color:var(--on-surface-variant);max-width:420px;margin:0 auto;padding:20px 0 16px;font-size:13px}.auth .below-card a{color:var(--primary);font-weight:500}.auth .below-card a:hover{text-decoration:underline}.auth .alert{border-radius:var(--radius);background:var(--color-status-expired-bg);color:var(--color-status-expired);border:1px solid var(--color-status-expired-bg);margin-top:14px;padding:10px 12px;font-size:13px;line-height:1.45}.auth .bottom-strip{text-align:center;color:var(--on-surface-variant);border-top:1px solid var(--outline-soft);padding:24px 28px;font-size:11px}.auth .bottom-strip a{color:var(--on-surface-variant)}.auth .bottom-strip a:hover{color:var(--on-surface)}.auth .code-grid{justify-content:center;gap:12px;display:flex}.auth .code-grid .code-box{text-align:center;font-variant-numeric:tabular-nums;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);width:48px;height:60px;color:var(--on-surface);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:28px;font-weight:700}.auth .code-grid .code-box:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f60731f}.auth .code-grid .code-box:disabled{background:var(--surface-container);color:var(--on-surface-variant);cursor:not-allowed}.auth .sent-icon{background:var(--color-status-valid-bg);width:56px;height:56px;color:var(--color-status-valid);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.auth .sent-icon .icon{stroke-width:1.75px;width:26px;height:26px}.auth .sent-card{text-align:center}.auth .sent-card h1{font-size:28px}@media (max-width:500px){.auth .top-strip{height:56px;padding:0 16px}.auth .top-strip-right{font-size:12px}.auth .card{box-shadow:none;background:var(--surface-container-low);border:0;border-radius:0;max-width:100%;padding:28px 22px 22px}.auth .card h1{font-size:28px}.auth{background:var(--surface-container-low)}.auth .centre{flex-direction:column;align-items:stretch;padding:0}.auth .below-card{padding:16px}}
