.webaro-auth{--webaro-primary:#1f5f4a;--webaro-accent:#174839;--webaro-bg:#fff;--webaro-text:#17211d;--webaro-muted:#53615b;--webaro-border:#cbd5d0;--webaro-danger:#a12622;--webaro-success:#196b3b;--webaro-radius:10px;--webaro-form-width:440px;--webaro-input-height:48px;--webaro-button-height:48px;width:min(100%,var(--webaro-form-width));margin-inline:auto;color:var(--webaro-text);font-family:inherit;font-size:16px;line-height:1.5;text-align:start}.webaro-auth,.webaro-auth *{box-sizing:border-box}.webaro-auth__surface{padding:clamp(22px,5vw,36px);border:1px solid var(--webaro-border);border-radius:var(--webaro-radius);background:var(--webaro-bg);box-shadow:0 10px 30px rgba(23,33,29,.08)}.webaro-auth__header{margin-block-end:24px}.webaro-auth__title{margin:0 0 8px!important;color:var(--webaro-text);font:700 clamp(1.45rem,4vw,1.8rem)/1.25 inherit;letter-spacing:-.02em}.webaro-auth__intro{max-width:60ch;margin:0!important;color:var(--webaro-muted);font-size:.9375rem}.webaro-auth__form{display:grid;gap:18px;margin:0}.webaro-auth__field{display:grid;gap:7px}.webaro-auth__label{color:var(--webaro-text);font-size:.875rem;font-weight:650}.webaro-auth__input{display:block;width:100%!important;min-width:0;height:var(--webaro-input-height)!important;margin:0!important;padding-block:0!important;padding-inline:13px!important;border:1px solid var(--webaro-border)!important;border-radius:calc(var(--webaro-radius) - 2px)!important;background:#fff!important;box-shadow:none!important;color:var(--webaro-text)!important;font:inherit!important;line-height:normal!important;transition:border-color .15s ease,box-shadow .15s ease}.webaro-auth__input:hover{border-color:#95a49d!important}.webaro-auth__input:focus{border-color:var(--webaro-primary)!important;outline:2px solid transparent!important;box-shadow:0 0 0 3px rgba(31,95,74,.18)!important}.webaro-auth__password-wrap{position:relative}.webaro-auth__password-wrap .webaro-auth__input{padding-inline-end:128px!important}.webaro-auth__password-toggle{position:absolute;inset-block:5px;inset-inline-end:5px;min-height:38px;padding-inline:10px;border:0;border-radius:6px;background:transparent;color:var(--webaro-primary);font:600 .75rem/1 inherit;cursor:pointer}.webaro-auth__password-toggle:hover{background:#eef5f1}.webaro-auth__password-toggle:focus-visible,.webaro-auth a:focus-visible,.webaro-auth button:focus-visible{outline:2px solid var(--webaro-primary);outline-offset:2px}.webaro-auth__check{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;font-size:.875rem;cursor:pointer}.webaro-auth__check input{width:18px;height:18px;margin:0;accent-color:var(--webaro-primary)}.webaro-auth__submit,.webaro-auth__secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:var(--webaro-button-height);padding-inline:20px;border:1px solid var(--webaro-primary);border-radius:calc(var(--webaro-radius) - 2px);font:700 .9375rem/1 inherit;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.webaro-auth__submit{width:100%;background:var(--webaro-primary);color:#fff}.webaro-auth__submit:hover{border-color:var(--webaro-accent);background:var(--webaro-accent)}.webaro-auth__secondary{background:#fff;color:var(--webaro-primary)}.webaro-auth__submit:disabled{cursor:wait;opacity:.72}.webaro-auth__spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-block-start-color:#fff;border-radius:50%;animation:webaro-auth-spin .7s linear infinite}.webaro-auth__submit[aria-busy=true] .webaro-auth__spinner{display:block}.webaro-auth__notice{display:flex;align-items:flex-start;gap:10px;margin-block:0 20px;padding:12px 14px;border:1px solid var(--webaro-border);border-radius:calc(var(--webaro-radius) - 2px);background:#f5f7f6;font-size:.875rem}.webaro-auth__notice-mark{flex:0 0 8px;width:8px;height:8px;margin-block-start:6px;border-radius:50%;background:var(--webaro-muted)}.webaro-auth__notice--error{border-color:#e1b4b2;background:#fff5f4;color:#711d1a}.webaro-auth__notice--error .webaro-auth__notice-mark{background:var(--webaro-danger)}.webaro-auth__notice--success{border-color:#abd4ba;background:#f1faf4;color:#15572f}.webaro-auth__notice--success .webaro-auth__notice-mark{background:var(--webaro-success)}.webaro-auth__links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-block-start:22px;padding-block-start:18px;border-block-start:1px solid #e5e9e7;font-size:.875rem}.webaro-auth__links a{color:var(--webaro-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.webaro-auth__strength{min-height:21px;color:var(--webaro-muted);font-size:.78rem}.webaro-auth__strength[data-level=weak]{color:var(--webaro-danger)}.webaro-auth__strength[data-level=fair]{color:#715a12}.webaro-auth__strength[data-level=strong]{color:var(--webaro-success)}.webaro-auth ::selection{background:var(--webaro-primary);color:#fff}@keyframes webaro-auth-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.webaro-auth__surface{padding:20px 16px}.webaro-auth__password-wrap .webaro-auth__input{padding-inline-end:112px!important}.webaro-auth__password-toggle{font-size:.7rem}.webaro-auth__links{display:grid;gap:10px}.webaro-auth__submit,.webaro-auth__secondary{width:100%}}@media(prefers-reduced-motion:reduce){.webaro-auth__input,.webaro-auth__submit,.webaro-auth__secondary{transition:none}.webaro-auth__spinner{animation-duration:1.4s}}

/* Correct the font shorthand and give the form the same deliberate control rhythm in every theme. */
.webaro-auth__title{font-family:inherit;font-size:1.75rem;font-weight:700;line-height:1.25;letter-spacing:-.015em}
.webaro-auth__password-toggle{font-family:inherit;font-size:.75rem;font-weight:600;line-height:1.25}
.webaro-auth__submit,.webaro-auth__secondary{font-family:inherit;font-size:.9375rem;font-weight:700;line-height:1.25}
.webaro-auth__input:focus-visible{outline:2px solid var(--webaro-primary)!important;outline-offset:2px!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--webaro-primary) 16%,transparent)!important}
.webaro-auth__submit:focus-visible,.webaro-auth__secondary:focus-visible,.webaro-auth__password-toggle:focus-visible,.webaro-auth a:focus-visible{outline:2px solid var(--webaro-primary);outline-offset:3px}
@media(max-width:480px){.webaro-auth__title{font-size:1.5rem}.webaro-auth__form{gap:16px}}
@media(prefers-reduced-motion:reduce){.webaro-auth__spinner{animation:none}}

/* Phase 12 shared authentication states. Scoped to rendered Webaro surfaces. */
.webaro-auth{caret-color:var(--webaro-primary)}
.webaro-auth[data-card-style=flat] .webaro-auth__surface{padding-inline:0;border:0;box-shadow:none}
.webaro-auth[data-button-style=outline] .webaro-auth__submit{background:transparent;color:var(--webaro-primary)}
.webaro-auth[data-button-style=outline] .webaro-auth__submit:hover{background:var(--webaro-primary);color:#fff}
.webaro-auth__notice--info{border-color:#b8cadb;background:#f3f7fb;color:#25445f}
.webaro-auth__notice--info .webaro-auth__notice-mark{background:#39739d}
.webaro-auth__notice--warning{border-color:#dec98e;background:#fff8e5;color:#684f14}
.webaro-auth__notice--warning .webaro-auth__notice-mark{background:#9a6d0a}
.webaro-auth__password-toggle{min-height:44px}
.webaro-auth__otp{margin-block-start:18px;padding-block-start:18px;border-block-start:1px solid #e5e9e7}
.webaro-auth__otp summary{display:flex;align-items:center;min-height:44px;color:var(--webaro-primary);font-weight:650;cursor:pointer}
.webaro-auth__otp summary:hover{text-decoration:underline;text-underline-offset:3px}
.webaro-auth__otp[open] summary{margin-block-end:18px}
.webaro-auth__otp .webaro-auth__form+.webaro-auth__form{margin-block-start:22px;padding-block-start:22px;border-block-start:1px solid #e5e9e7}
.webaro-auth__input[inputmode=numeric]{font-variant-numeric:tabular-nums;letter-spacing:.14em;text-align:center}
.webaro-auth__notice ul{margin-block:8px 0;padding-inline-start:20px}
.webaro-auth__notice code{display:inline-block;padding:3px 6px;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;font-size:.9em;letter-spacing:.08em}
.webaro-auth__secondary:hover{background:var(--webaro-primary);color:#fff}
.webaro-auth__secondary:disabled{cursor:wait;opacity:.7}
.webaro-auth__form[aria-busy=true]{opacity:.78}
@media(max-width:360px){.webaro-auth__surface{padding-inline:14px}.webaro-auth__password-wrap .webaro-auth__input{padding-inline-end:98px!important}.webaro-auth__password-toggle{padding-inline:7px}}
@media(forced-colors:active){.webaro-auth__notice-mark{forced-color-adjust:none}.webaro-auth__submit,.webaro-auth__secondary{border:1px solid ButtonText}}
.webaro-auth__danger{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:var(--webaro-button-height);padding-inline:20px;border:1px solid var(--webaro-danger);border-radius:calc(var(--webaro-radius) - 2px);background:#fff;color:var(--webaro-danger);font-family:inherit;font-size:.9375rem;font-weight:700;line-height:1.25;cursor:pointer}.webaro-auth__danger:hover{background:var(--webaro-danger);color:#fff}.webaro-auth__danger:focus-visible{outline:2px solid var(--webaro-danger);outline-offset:3px}.webaro-auth__danger:disabled{cursor:wait;opacity:.7}
