.btn-primary,.btn-secondary{box-sizing:border-box!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 var(--space-18)!important;border-style:solid!important;border-width:1.5px!important;font-size:15px!important;line-height:20px!important}.btn-primary{font-weight:600!important}.btn-secondary{font-weight:400!important}.btn-primary{justify-content:center;align-items:center;gap:var(--space-8);box-sizing:border-box;white-space:nowrap;height:48px;min-height:48px;max-height:48px;padding:0 var(--space-18);font-family:var(--font-body);color:var(--text-on-accent);background:var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-micro), transform var(--transition-micro);border:1.5px solid #0000;font-size:15px;font-weight:600;line-height:20px;display:inline-flex}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:scale(.98)}.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary:disabled,.btn-primary[aria-disabled=true]{background:var(--accent-muted);color:var(--text-tertiary);cursor:not-allowed}.btn-primary svg{flex-shrink:0;width:18px;height:18px}.btn-primary .spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:16px;height:16px;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-primary .spinner{animation:none}}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-8);box-sizing:border-box;white-space:nowrap;height:48px;min-height:48px;max-height:48px;padding:0 var(--space-18);font-family:var(--font-body);color:var(--text-primary);background:var(--bg-card);border:1.5px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-micro), background var(--transition-micro);font-size:15px;font-weight:400;line-height:20px;display:inline-flex}.btn-secondary:hover{border-color:var(--border-hover);background:var(--bg-elevated)}.btn-secondary:disabled,.btn-secondary[aria-disabled=true]{color:var(--text-tertiary);cursor:not-allowed}.btn-secondary svg{flex-shrink:0;width:16px;height:16px}.btn-link{cursor:pointer;font-family:var(--font-body);color:var(--text-secondary);padding:var(--space-8) var(--space-10);border-radius:var(--radius-sm-plus);align-items:center;gap:var(--space-4);transition:color var(--transition-micro), background var(--transition-micro);background:0 0;border:0;font-size:13px;display:inline-flex}.btn-link:hover{color:var(--text-primary);background:var(--bg-elevated)}.btn-link svg{width:14px;height:14px}.btn-row{gap:var(--space-10);margin-top:var(--space-4);flex-direction:column;display:flex}@media (min-width:480px){.btn-row.inline{flex-direction:row-reverse;align-items:stretch}.btn-row.inline .btn-primary{flex:1}.btn-row.inline .btn-secondary{flex:none;min-width:120px}}.btn-link-row{width:100%;margin-top:var(--space-4);text-align:center;justify-content:center;align-items:center;display:flex}.btn-link-row>.btn-link{margin-inline:auto}.auth-card.is-wizard .btn-row.inline{align-items:stretch;gap:var(--space-20);flex-direction:column}@media (min-width:480px){.auth-card.is-wizard .btn-row.inline{flex-direction:column;align-items:stretch}.auth-card.is-wizard .btn-row.inline .btn-primary{flex:none}}.auth-card.is-wizard .btn-row.inline .btn-secondary{min-width:0;font-family:var(--font-body);color:var(--text-secondary);border-radius:var(--radius-sm-plus);align-self:center;gap:var(--space-4);width:auto;transition:color var(--transition-micro), background var(--transition-micro);background:0 0;flex:none;height:auto!important;min-height:0!important;max-height:none!important;padding:var(--space-8) var(--space-10)!important;border:0!important;font-size:13px!important;font-weight:400!important;line-height:normal!important}.auth-card.is-wizard .btn-row.inline .btn-secondary:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:#0000}.auth-card.is-wizard .btn-row.inline .btn-secondary:disabled,.auth-card.is-wizard .btn-row.inline .btn-secondary[aria-disabled=true]{color:var(--text-tertiary);background:0 0}.auth-card.is-wizard .btn-row.inline .btn-secondary svg{width:14px;height:14px}
.auth-form{gap:var(--space-18);flex-direction:column;display:flex}.field{gap:var(--space-8);flex-direction:column;display:flex}.field-label{color:var(--text-primary);letter-spacing:-.1px;font-size:13px;font-weight:600}.field-input{box-sizing:border-box;width:100%;height:48px;padding:0 var(--space-16);font-family:var(--font-body);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-input);border-radius:var(--radius-md);transition:border-color var(--transition-micro), box-shadow var(--transition-micro);outline:none;font-size:16px;line-height:24px}.field-input::placeholder{color:var(--text-tertiary)}.field-input:hover{border-color:var(--border-hover)}.field-input:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-15)}.field-input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 3px var(--error-bg)}.field-input:disabled,.field-input[readonly]{background:var(--bg-elevated);color:var(--text-secondary);cursor:not-allowed}.field-error{color:var(--error);justify-content:flex-start;align-items:center;gap:var(--space-6);text-align:left;font-size:12px;line-height:16px;display:flex}.field-error svg{flex-shrink:0;width:14px;height:14px}.field-error--centered{text-align:center;justify-content:center}.field-hint{color:var(--text-tertiary);align-items:flex-start;gap:var(--space-6);font-size:12px;line-height:16px;display:flex}.field-hint svg{opacity:.8;flex-shrink:0;width:13px;height:13px;margin-top:1px}.field-hint strong{color:var(--text-secondary);font-weight:600}.field-row{gap:var(--space-14);grid-template-columns:1fr;display:grid}@media (min-width:480px){.field-row.cols-2{grid-template-columns:1fr 1fr}.field-row.cols-1-2{grid-template-columns:minmax(0,88px) 1fr}.field-row.cols-2-1{grid-template-columns:1fr minmax(0,88px)}}.field-checkbox{align-items:center;gap:var(--space-10);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-secondary);font-size:13px;display:inline-flex}.field-checkbox input[type=checkbox]{appearance:none;border:1.5px solid var(--border-default);background:var(--bg-card);cursor:pointer;width:18px;height:18px;transition:background var(--transition-micro), border-color var(--transition-micro);border-radius:4px;flex-shrink:0;position:relative}.field-checkbox input[type=checkbox]:hover{border-color:var(--border-hover)}.field-checkbox input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.field-checkbox input[type=checkbox]:checked:after{content:"";background:var(--text-on-accent);position:absolute;inset:2px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") 50%/contain no-repeat}.field-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field-select{height:48px;padding:0 var(--space-44) 0 var(--space-16);font-family:var(--font-body);color:var(--text-primary);background:var(--bg-card) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8794' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right var(--space-16) center / 18px;border:1px solid var(--border-input);border-radius:var(--radius-md);appearance:none;cursor:pointer;transition:border-color var(--transition-micro), box-shadow var(--transition-micro);font-size:16px;line-height:24px}.field-select:hover{border-color:var(--border-hover)}.field-select:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-15);outline:0}.form-section{gap:var(--space-12);flex-direction:column;display:flex}.form-section+.form-section{margin-top:var(--space-8)}.form-section__head{align-items:center;gap:var(--space-8);display:flex}.form-section__head h2,.form-section__title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.1px;margin:0;font-size:14px;font-weight:600;line-height:20px}.form-section__head .form-section__index{border-radius:var(--radius-full);background:var(--primary-8);width:22px;height:22px;color:var(--primary);font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.form-section__head .form-section__icon{border-radius:var(--radius-sm);background:var(--primary-8);width:22px;height:22px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.form-section__head .form-section__icon svg{stroke-width:1.75px;width:13px;height:13px}.form-section__title.is-caps{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:13px}.form-section__divider{background:var(--border-subtle);height:1px;margin:var(--space-4) 0;border:0}
.otp-row{gap:var(--space-4);align-items:stretch;display:flex}.otp-row .otp-slot:nth-child(3){margin-right:var(--space-4)}.otp-slot{aspect-ratio:1;text-align:center;min-width:0;min-height:48px;font-family:var(--font-display);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-input);border-radius:var(--radius-sm-plus);transition:border-color var(--transition-micro), box-shadow var(--transition-micro);outline:none;flex:1;font-size:22px;font-weight:500;line-height:1}.otp-slot:hover{border-color:var(--border-hover)}.otp-slot[value]:not([value=""]){border-color:var(--primary);color:var(--primary)}.otp-slot:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-15)}.otp-slot[aria-invalid=true]{border-color:var(--error);color:var(--error);box-shadow:0 0 0 3px var(--error-bg)}.otp-slot[disabled],.otp-slot[readonly]{background:var(--bg-elevated);color:var(--text-secondary);cursor:not-allowed}@supports not (aspect-ratio:1){.otp-slot{height:56px}}@keyframes otp-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.otp-row.is-error{animation:.2s ease-in-out otp-shake}@media (prefers-reduced-motion:reduce){.otp-row.is-error{animation:none}}.otp-meta{justify-content:center;align-items:center;gap:var(--space-8);color:var(--text-secondary);font-size:13px;display:flex}.otp-meta svg{width:14px;height:14px}.otp-meta strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.otp-meta.is-warn,.otp-meta.is-warn svg{color:var(--warning-fg-on-bg)}@media (min-width:640px){.otp-slot{font-size:26px}.otp-row{gap:var(--space-8)}.otp-row .otp-slot:nth-child(3){margin-right:var(--space-8)}}
.auth-state-card{padding:var(--space-20) var(--space-18);border-radius:var(--radius-md);gap:var(--space-8);text-align:center;flex-direction:column;display:flex}.auth-state-card.danger{background:var(--banner-danger-bg);border:1px solid var(--banner-danger-border);color:var(--banner-danger-fg)}.auth-state-card.warn{background:var(--banner-warn-bg);border:1px solid var(--banner-warn-border);color:var(--banner-warn-fg)}.auth-state-card.success{background:var(--toast-success-bg);border:1px solid var(--toast-success-border);color:var(--toast-success-fg)}.auth-state-card-title{font-family:var(--font-display);margin:0;font-size:18px;font-weight:600;line-height:24px}.auth-state-card-desc{opacity:.95;margin:0;font-size:14px;line-height:20px}
.auth-banner{gap:var(--space-12);padding:var(--space-12) var(--space-20) var(--space-12) var(--space-22);border-radius:var(--radius-md);grid-template-columns:auto 1fr auto;align-items:center;font-size:14px;display:grid;position:relative;overflow:hidden}.auth-banner:before{content:"";background:var(--b-border);width:4px;position:absolute;inset:0 auto 0 0}.auth-banner.warn{--b-fg:var(--banner-warn-fg);--b-border:var(--banner-warn-border);background:var(--banner-warn-bg)}.auth-banner.danger{--b-fg:var(--banner-danger-fg);--b-border:var(--banner-danger-border);background:var(--banner-danger-bg)}.auth-banner.info{--b-fg:var(--banner-info-fg);--b-border:var(--banner-info-border);background:var(--banner-info-bg)}.auth-banner .b-icon{width:20px;height:20px;color:var(--b-fg)}.auth-banner .b-icon svg{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.auth-banner .b-body{min-width:0;color:var(--b-fg)}.auth-banner .b-title{font-weight:600;line-height:20px}.auth-banner .b-desc{opacity:.85;margin-top:2px;font-size:13px;line-height:18px}
