/* ==========================================================================
   Auth pages (login, register, forgot password, reset password) in the
   approved design language. The blades keep their form markup, ids and
   scripts (.input-modern, .password-toggle-btn, .gradient-btn with its
   loader, .message-box, the toasts, the Google button partial); this sheet
   is the whole design: the site chrome around, the soft canvas with two
   lights, one white glass plate on a 520px measure (560px for the register
   form), eyebrow + display title + Inter lead, 54px fields with a 16px
   radius and a blue focus ring, the royal blue pill for the way forward (the
   auth pages are the door to the dashboard, whose primary is blue; orange
   stays on the marketing pages), glass for the Google button, the brand's
   compact mark above the title, the national mark faint in the plate's corner.
   ========================================================================== */

:root {
    --au-scale: 1;                /* wide monitors: 1.08 at 1600px, 1.16 at 1800px, 1.28 at 2200px */
    --au-ink: #0b1220;
    --au-ink-2: #253247;
    --au-ink-3: #3f4d66;
    --au-muted: #5b6478;
    --au-blue: #2563eb;
    --au-blue-deep: #1d4ed8;
    --au-line: rgba(30, 58, 138, 0.1);
    --au-line-strong: rgba(30, 58, 138, 0.2);
    --au-red: #dc2626;
    --au-display: 'Plus Jakarta Sans', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --au-body: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --au-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --au-leaf: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='%23b45309'><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z'/><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z' transform='rotate(90 50 50)'/><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z' transform='rotate(270 50 50)'/><path d='M50 50C52 62 50 70 58 80 51 76 46 68 47 55Z'/></g></svg>");
    --au-crown: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='%23b45309'><path d='M5 16 3.2 6.6a.5.5 0 0 1 .8-.5L8.6 9.6 11.56 4.3a.5.5 0 0 1 .88 0l2.96 5.3 4.6-3.5a.5.5 0 0 1 .8.5L19 16H5Z'/><path d='M5.2 17.6h13.6a.9.9 0 0 1 .9.9v.8a.9.9 0 0 1-.9.9H5.2a.9.9 0 0 1-.9-.9v-.8a.9.9 0 0 1 .9-.9Z'/></g></svg>");
}

/* one accent across the product: royal blue on every page (the tile is the brand mark, the button is blue) */
.au { --au-tone-a: #2563eb; --au-tone-b: #1d4ed8; --au-tone-glow: rgba(37, 99, 235, 0.18); }

@media (min-width: 1600px) { :root { --au-scale: 1.08; } }
@media (min-width: 1800px) { :root { --au-scale: 1.16; } }
@media (min-width: 2200px) { :root { --au-scale: 1.28; } }

/* ---- the canvas -------------------------------------------------------- */
body.au-body { background: #f5f8ff; }

.au {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(44px, 6vw, 88px) 24px clamp(64px, 8vw, 104px);
    background: linear-gradient(180deg, #f7f9fe 0%, #eef3fd 45%, #eaf6f2 100%);
    font-family: var(--au-body);
    color: var(--au-ink);
}

.au .au-bg {
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
}

.au .au-bg-1 { top: -140px; left: -160px; width: 560px; height: 560px; background: radial-gradient(circle, rgba(37, 99, 235, 0.22) 0%, rgba(37, 99, 235, 0) 70%); }
.au .au-bg-2 { right: -180px; bottom: -200px; width: 600px; height: 600px; background: radial-gradient(circle, var(--au-tone-glow, rgba(5, 150, 105, 0.18)) 0%, rgba(0, 0, 0, 0) 70%); }

.au .au-wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: calc(520px * var(--au-scale));
    margin: 0 auto;
}

.au--register .au-wrap { max-width: calc(560px * var(--au-scale)); }

/* ---- the plate ---------------------------------------------------------- */
.au .au-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: calc(40px * var(--au-scale)) calc(44px * var(--au-scale)) calc(38px * var(--au-scale));
    border-radius: calc(30px * var(--au-scale));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(247, 249, 254, 0.97) 100%);
    border: 1px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 40px 90px -36px rgba(11, 31, 58, 0.45), 0 0 0 1px var(--au-line);
    animation: auRise 0.6s var(--au-ease) both;
}

.au .au-switch { animation: auRise 0.6s var(--au-ease) 0.12s both; }

@keyframes auRise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

.au .au-card::before {
    content: '';
    position: absolute;
    top: -120px;
    left: 50%;
    z-index: -1;
    width: 420px;
    height: 240px;
    transform: translateX(-50%);
    background: radial-gradient(ellipse at center, var(--au-tone-glow, rgba(37, 99, 235, 0.16)) 0%, rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}

html[lang="en-IE"] .au .au-card::after,
html[lang="en-GB"] .au .au-card::after {
    content: '';
    position: absolute;
    right: -40px;
    bottom: -52px;
    z-index: -1;
    width: 210px;
    height: 210px;
    opacity: 0.08;
    pointer-events: none;
}

html[lang="en-IE"] .au .au-card::after { background: var(--au-leaf) no-repeat center / contain; transform: rotate(-14deg); }
html[lang="en-GB"] .au .au-card::after { background: var(--au-crown) no-repeat center / contain; transform: rotate(-8deg); }

/* ---- the head: tile, eyebrow, title, lead --------------------------------- */
.au .au-head { margin: 0 0 calc(26px * var(--au-scale)); text-align: center; }

.au .au-mark {
    display: grid;
    place-items: center;
    width: calc(68px * var(--au-scale));
    height: calc(68px * var(--au-scale));
    margin: 0 auto calc(18px * var(--au-scale));
    border-radius: calc(22px * var(--au-scale));
    background: linear-gradient(135deg, var(--au-tone-a, #2563eb) 0%, var(--au-tone-b, #1d4ed8) 100%);
    color: #ffffff;
    box-shadow: 0 18px 34px -16px var(--au-tone-b, #1d4ed8), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.au .au-mark svg { width: calc(32px * var(--au-scale)); height: calc(32px * var(--au-scale)); stroke: #ffffff; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

/* the brand's logo for light surfaces (the same artwork the pages carried before), no plate behind it: the logo builds the trust at the moment the password is typed */
.au .au-mark--logo { width: auto; height: auto; margin: 0 auto calc(22px * var(--au-scale)); border-radius: 0; background: none; box-shadow: none; }
.au .au-mark--logo img { display: block; width: auto; max-width: 100%; height: calc(72px * var(--au-scale)); object-fit: contain; }

.au .au-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    font-family: var(--au-body);
    font-size: calc(12px * var(--au-scale));
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--au-blue-deep);
}

.au .au-eyebrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--au-tone-a, #2563eb) 0%, var(--au-tone-b, #1d4ed8) 100%);
    box-shadow: 0 0 0 4px var(--au-tone-glow, rgba(37, 99, 235, 0.14));
}

.au .au-title,
.au h1.auth-heading {
    margin: 0 0 10px;
    font-family: var(--au-display);
    font-size: clamp(25px, 2.7vw, calc(32px * var(--au-scale)));
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.025em;
    color: var(--au-ink);
    text-wrap: balance;
    background: none;
    -webkit-text-fill-color: currentColor;
}

.au .au-lead,
.au .subtle-text {
    max-width: calc(420px * var(--au-scale));
    margin: 0 auto;
    font-family: var(--au-body);
    font-size: calc(16px * var(--au-scale));
    font-weight: 500;
    line-height: 1.6;
    color: var(--au-ink-3);
    text-wrap: pretty;
    text-align: center;
}

.au .fp-heading-group { margin: 0 0 calc(24px * var(--au-scale)); }
.au .fp-heading-group .subtle-text { margin-bottom: 0; }

/* ---- the form -------------------------------------------------------------- */
.au form { display: block; text-align: left; }
.au .mb-3 { margin: 0 0 calc(18px * var(--au-scale)); }
.au .mb-3::after { content: ''; display: table; clear: both; }
.au .mb-0 { margin-bottom: 0; }
.au .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.au .form-label {
    display: block;
    margin: 0 0 8px;
    font-family: var(--au-body);
    font-size: calc(13.5px * var(--au-scale));
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--au-ink-2);
}

.au .input-modern {
    display: block;
    width: 100%;
    min-height: calc(54px * var(--au-scale));
    padding: 0 calc(18px * var(--au-scale));
    box-sizing: border-box;
    border-radius: 16px;
    border: 1px solid var(--au-line-strong);
    background: rgba(255, 255, 255, 0.92);
    font-family: var(--au-body);
    font-size: calc(16px * var(--au-scale));
    font-weight: 500;
    line-height: 1.3;
    color: var(--au-ink);
    outline: 0;
    box-shadow: none;
    appearance: none;
    transition: border-color 0.2s var(--au-ease), box-shadow 0.2s var(--au-ease), background 0.2s var(--au-ease);
}

.au .input-modern::placeholder { color: #94a3b8; font-weight: 500; opacity: 1; }

/* the field icons: pseudo elements on a wrapper, never a background of the input
   (Chrome's autofill strips background-image and repaints the field) */
.au .au-field, .au .password-input-wrapper { position: relative; display: block; }
.au .au-field .input-modern, .au .password-input-wrapper .input-modern { padding-left: calc(48px * var(--au-scale)); }
.au .au-field::before, .au .password-input-wrapper::before {
    content: '';
    position: absolute;
    left: calc(17px * var(--au-scale));
    top: 50%;
    z-index: 1;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    background: var(--au-muted);
    pointer-events: none;
    transition: background 0.2s var(--au-ease);
    -webkit-mask: var(--au-field-icon) center / contain no-repeat;
    mask: var(--au-field-icon) center / contain no-repeat;
}
.au .au-field:focus-within::before, .au .password-input-wrapper:focus-within::before { background: var(--au-blue-deep); }
.au .au-field--mail { --au-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.au .au-field--user { --au-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.au .password-input-wrapper { --au-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); }
.au .input-modern:hover { border-color: rgba(30, 58, 138, 0.32); }
.au .input-modern:focus { border-color: var(--au-blue); background-color: #ffffff; box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.16); }  /* background-color, never the shorthand: it would reset the field icon's repeat and size */
.au .input-modern.is-invalid { border-color: var(--au-red); }
.au .input-modern.is-invalid:focus { box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.14); }
.au .input-modern:-webkit-autofill,
.au .input-modern:-webkit-autofill:hover,
.au .input-modern:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px #ffffff inset; box-shadow: 0 0 0 1000px #ffffff inset; -webkit-text-fill-color: var(--au-ink); caret-color: var(--au-ink); border-color: var(--au-line-strong); }
.au .input-modern:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 4px rgba(37, 99, 235, 0.16); box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 4px rgba(37, 99, 235, 0.16); border-color: var(--au-blue); }
.au .input-modern:-webkit-autofill::first-line { font-family: var(--au-body); font-size: calc(16px * var(--au-scale)); font-weight: 500; color: var(--au-ink); }
.au .input-modern:autofill { -webkit-text-fill-color: var(--au-ink); }

.au .password-input-wrapper .input-modern { padding-right: calc(58px * var(--au-scale)); }

.au .password-toggle-btn {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(42px * var(--au-scale));
    height: calc(42px * var(--au-scale));
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--au-muted);
    cursor: pointer;
    transition: background 0.2s var(--au-ease), color 0.2s var(--au-ease);
}

.au .password-toggle-btn:hover { background: rgba(37, 99, 235, 0.08); color: var(--au-blue-deep); }
.au .password-toggle-btn:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3); }
.au .password-toggle-btn.active { color: var(--au-blue-deep); }
.au .password-toggle-btn .eye-icon { width: 22px; height: 22px; display: block; }
.au .password-toggle-btn.active .eye-open { display: none; }
.au .password-toggle-btn.active .eye-closed { display: block !important; }

.au .forgot-link {
    float: right;
    margin: 0 0 8px 12px;
    font-family: var(--au-body);
    font-size: calc(13.5px * var(--au-scale));
    font-weight: 600;
    line-height: 1.3;
    color: var(--au-blue-deep) !important;
    text-decoration: none;
}

.au .forgot-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.au .forgot-link small { font-size: inherit; }

.au .remember-check { display: flex; align-items: center; gap: 10px; }

.au .form-check-input {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    margin: 0;
    border-radius: 6px;
    border: 2px solid rgba(30, 58, 138, 0.3);
    background: #ffffff center / 14px no-repeat;
    cursor: pointer;
    transition: border-color 0.2s var(--au-ease), background-color 0.2s var(--au-ease), box-shadow 0.2s var(--au-ease);
}

.au .form-check-input:hover { border-color: var(--au-blue); }
.au .form-check-input:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25); }
.au .form-check-input:checked {
    border-color: var(--au-blue);
    background-color: var(--au-blue);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3e%3c/svg%3e");
}

.au .form-check-label {
    font-family: var(--au-body);
    font-size: calc(15px * var(--au-scale));
    font-weight: 500;
    line-height: 1.4;
    color: var(--au-ink-2);
    cursor: pointer;
}

.au .form-check-label a,
.au .link-accent { color: var(--au-blue-deep); font-weight: 700; text-decoration: none; }
.au .form-check-label a:hover,
.au .link-accent:hover { text-decoration: underline; text-underline-offset: 3px; }

.au .field-error {
    display: block;
    margin: 7px 0 0 2px;
    font-family: var(--au-body);
    font-size: calc(13px * var(--au-scale));
    font-weight: 600;
    line-height: 1.4;
    color: #b91c1c;
}

.au .divider-soft { height: 1px; margin: calc(22px * var(--au-scale)) 0 calc(18px * var(--au-scale)); border: 0; background: var(--au-line); }

/* ---- the way forward: the orange pill with its loader -------------------- */
.au .gradient-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: calc(56px * var(--au-scale));
    padding: 0 26px;
    box-sizing: border-box;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #2f6df6 0%, #1d4ed8 100%);
    color: #ffffff;
    font-family: var(--au-display);
    font-size: calc(16.5px * var(--au-scale));
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 18px 36px -16px rgba(29, 78, 216, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    transition: transform 0.25s var(--au-ease), box-shadow 0.25s var(--au-ease);
}

.au .gradient-btn:hover { color: #ffffff; background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%); transform: translateY(-2px); box-shadow: 0 24px 44px -16px rgba(29, 78, 216, 0.8), 0 0 0 6px rgba(37, 99, 235, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.25); }
.au .gradient-btn:active { transform: translateY(0); }
.au .gradient-btn:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.35), 0 18px 36px -16px rgba(29, 78, 216, 0.75); }
.au .gradient-btn:disabled { cursor: not-allowed; }
.au .gradient-btn .btn-text { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.au .gradient-btn .btn-text::after { content: ''; width: 18px; height: 18px; margin-left: 2px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform 0.25s var(--au-ease); }
.au .gradient-btn:hover .btn-text::after { transform: translateX(3px); }
.au .success-actions .gradient-btn .btn-text::after { display: none; }
.au .gradient-btn .btn-text svg { width: 20px; height: 20px; }
.au .gradient-btn .fw-bold { font-weight: inherit; }
.au .gradient-btn .btn-loader { display: none; align-items: center; justify-content: center; gap: 12px; width: 100%; }
.au .gradient-btn.is-loading { pointer-events: none; background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%); box-shadow: 0 14px 30px -16px rgba(29, 78, 216, 0.6); }
.au .gradient-btn.is-loading .btn-text { display: none; }
.au .gradient-btn.is-loading .btn-loader { display: flex; animation: auFadeIn 0.3s ease forwards; }
.au .loader-spinner { width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.35); border-top-color: #ffffff; border-radius: 50%; animation: auSpin 0.8s linear infinite; }
.au .loader-text { font-family: var(--au-display); font-weight: 800; }
.au .loader-dots { display: flex; gap: 5px; align-items: center; }
.au .loader-dots span { width: 6px; height: 6px; border-radius: 50%; background: #ffffff; animation: auDot 1.2s ease-in-out infinite; }
.au .loader-dots span:nth-child(2) { animation-delay: 0.15s; }
.au .loader-dots span:nth-child(3) { animation-delay: 0.3s; }

/* the other loader variant some platforms carry (.btn-label / .btn-loading-content / .btn-spinner / .btn-dots) */
.au .gradient-btn .btn-loading-content { display: none; align-items: center; justify-content: center; gap: 12px; }
.au .gradient-btn.is-loading .btn-label { display: none; }
.au .gradient-btn.is-loading .btn-loading-content { display: flex; animation: auFadeIn 0.3s ease forwards; }
.au .gradient-btn .btn-text.fw-bold::after { display: none; }
.au .gradient-btn .btn-label::after { content: ''; display: inline-block; width: 18px; height: 18px; margin-left: 8px; vertical-align: -3px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.au .btn-spinner { width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.35); border-top-color: #ffffff; border-radius: 50%; animation: auSpin 0.8s linear infinite; }
.au .btn-dots { display: flex; gap: 5px; align-items: center; }
.au .btn-dots span { width: 6px; height: 6px; border-radius: 50%; background: #ffffff; animation: auDot 1.2s ease-in-out infinite; }
.au .btn-dots span:nth-child(2) { animation-delay: 0.15s; }
.au .btn-dots span:nth-child(3) { animation-delay: 0.3s; }

@keyframes auSpin { to { transform: rotate(360deg); } }
@keyframes auDot { 0%, 80%, 100% { opacity: 0.35; transform: scale(0.8); } 40% { opacity: 1; transform: scale(1); } }
@keyframes auFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ---- the Google button and its divider (the partial's inline styles lose to
        the .au prefix) --------------------------------------------------------- */
.au .gsi-wrap { margin: 0 0 4px; }
.au .gsi-btn {
    min-height: calc(54px * var(--au-scale));
    padding: 0 22px;
    box-sizing: border-box;
    border-radius: 999px;
    border: 1px solid var(--au-line-strong);
    background: rgba(255, 255, 255, 0.85);
    color: var(--au-ink);
    font-family: var(--au-display);
    font-size: calc(16px * var(--au-scale));
    font-weight: 700;
    letter-spacing: 0.005em;
    box-shadow: none;
    overflow: visible;
    transition: transform 0.25s var(--au-ease), border-color 0.25s var(--au-ease), background 0.25s var(--au-ease), box-shadow 0.25s var(--au-ease);
}

.au .gsi-btn::before { display: none; }
.au .gsi-btn:hover { color: var(--au-blue-deep); background: #ffffff; border-color: rgba(37, 99, 235, 0.45); transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(37, 99, 235, 0.5); }
.au .gsi-btn:focus-visible { box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.3); }
.au .gsi-btn .gsi-icon { width: 22px; height: 22px; }
.au .gsi-divider { margin: calc(20px * var(--au-scale)) 0; gap: 14px; }
.au .gsi-divider::before, .au .gsi-divider::after { background: var(--au-line); }
.au .gsi-divider span { font-family: var(--au-body); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-muted); }

/* ---- the reCAPTCHA row ---------------------------------------------------- */
.au .g-recaptcha { display: flex; justify-content: center; }
.au .g-recaptcha > div { margin: 0 auto; }
.au .recaptcha-error-border { outline: 2px solid var(--au-red); outline-offset: 4px; border-radius: 6px; }
.au .recaptcha-error-message { margin: 10px 0 0; text-align: center; font-family: var(--au-body); font-size: 13.5px; font-weight: 600; color: #b91c1c; }
/* the widget is a fixed 304px iframe: on the narrowest phones it is scaled to the plate's inner width */
@media (max-width: 374px) { .au .g-recaptcha > div { transform: scale(0.92); transform-origin: center; } }
@media (max-width: 345px) { .au .g-recaptcha > div { transform: scale(0.83); transform-origin: center; } }

/* ---- the note under the form ------------------------------------------------ */
.au .au-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: calc(18px * var(--au-scale)) 0 0;
    font-family: var(--au-body);
    font-size: calc(13px * var(--au-scale));
    font-weight: 600;
    line-height: 1.4;
    color: var(--au-muted);
    text-align: center;
}

.au .au-secure svg { width: 15px; height: 15px; flex: 0 0 15px; stroke: #059669; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ---- the line under the plate: switch between sign in and register, a glass
        pill ----------------------------------------------------------------- */
.au .au-switch {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 6px;
    width: max-content;
    max-width: 100%;
    min-height: calc(46px * var(--au-scale));
    margin: calc(22px * var(--au-scale)) auto 0;
    padding: 10px calc(22px * var(--au-scale));
    box-sizing: border-box;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--au-line);
    box-shadow: 0 16px 34px -26px rgba(11, 31, 58, 0.5);
    text-align: center;
    font-family: var(--au-body);
    font-size: calc(15px * var(--au-scale));
    font-weight: 600;
    line-height: 1.4;
    color: var(--au-ink-2);
}

.au .au-switch a { color: var(--au-blue-deep); font-weight: 800; text-decoration: none; }
.au .au-switch a:hover { text-decoration: underline; text-underline-offset: 3px; }
.au .au-switch b { font-weight: inherit; }

/* ---- the error banner (login, register, reset): in the flow, inside the
        canvas above the plate, so it never covers the chrome ------------------ */
body.au-body .message-box {
    display: none;
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0 0 18px;
    padding: 16px 20px 12px;
    box-sizing: border-box;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff5f5 0%, #fee2e2 100%);
    border: 1px solid rgba(220, 38, 38, 0.28);
    box-shadow: 0 24px 50px -24px rgba(127, 29, 29, 0.45);
    font-family: var(--au-body);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    color: #7f1d1d;
    transition: opacity 0.35s ease, transform 0.35s ease;
}

body.au-body .message-box.show { display: block; animation: auBannerIn 0.4s var(--au-ease); }
body.au-body .message-box.hide { opacity: 0; transform: translateY(-8px); }
body.au-body .message-box .msg-list { margin: 8px 0 0; padding: 0 0 0 20px; text-align: left; font-size: 14px; font-weight: 500; }
body.au-body .message-box .msg-list li { margin: 2px 0; }
body.au-body .message-box .msg-timer { position: relative; height: 3px; margin: 12px 0 0; border-radius: 2px; background: rgba(127, 29, 29, 0.12); overflow: hidden; }
body.au-body .message-box .msg-timer::after { content: ''; position: absolute; inset: 0; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, #ef4444 0%, #f87171 100%); animation: auTimer 10s linear forwards; }
body.au-body .message-box[role="status"] { background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%); border-color: rgba(22, 163, 74, 0.3); color: #14532d; box-shadow: 0 24px 50px -24px rgba(20, 83, 45, 0.4); }
body.au-body .message-box[role="status"] .msg-timer { background: rgba(20, 83, 45, 0.12); }
body.au-body .message-box[role="status"] .msg-timer::after { background: linear-gradient(90deg, #16a34a 0%, #4ade80 100%); }

@keyframes auBannerIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes auTimer { to { transform: scaleX(1); } }

/* ---- the forgot password alert inside the plate --------------------------- */
.au .premium-alert {
    position: relative;
    margin: 0 0 20px;
    padding: 16px 44px 14px 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff5f5 0%, #fee2e2 100%);
    border: 1px solid rgba(220, 38, 38, 0.28);
    overflow: hidden;
    text-align: left;
}

.au .premium-alert .alert-content { display: flex; gap: 12px; align-items: flex-start; }
.au .premium-alert .alert-icon-wrapper { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px; background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%); color: #ffffff; }
.au .premium-alert .alert-icon-wrapper svg { width: 22px; height: 22px; stroke: #ffffff; }
.au .premium-alert .alert-title { margin: 2px 0 4px; font-family: var(--au-display); font-size: 16px; font-weight: 800; line-height: 1.3; color: #991b1b; }
.au .premium-alert .alert-message { margin: 0; font-family: var(--au-body); font-size: 14.5px; font-weight: 500; line-height: 1.5; color: #7f1d1d; }
.au .premium-alert .alert-instructions { margin: 10px 0 0; display: grid; gap: 6px; }
.au .premium-alert .instruction-item { display: flex; align-items: flex-start; gap: 8px; font-family: var(--au-body); font-size: 13.5px; font-weight: 500; line-height: 1.45; color: #7f1d1d; }
.au .premium-alert .instruction-item svg { width: 16px; height: 16px; flex: 0 0 16px; margin-top: 2px; stroke: #b91c1c; }
.au .premium-alert .alert-close { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 9px; background: transparent; color: #991b1b; cursor: pointer; }
.au .premium-alert .alert-close:hover { background: rgba(220, 38, 38, 0.12); }
.au .premium-alert .alert-close svg { width: 16px; height: 16px; }
.au .premium-alert .alert-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(127, 29, 29, 0.1); }
.au .premium-alert .alert-progress-bar { width: 100%; height: 100%; transform-origin: left; background: linear-gradient(90deg, #ef4444 0%, #f87171 100%); animation: auShrink 12s linear forwards; }

@keyframes auShrink { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* ---- the forgot password success state ------------------------------------ */
.au .success-state { text-align: center; }
.au .success-icon-container { position: relative; width: 84px; height: 84px; margin: 0 auto 20px; }
.au .success-icon-circle { position: relative; z-index: 1; display: grid; place-items: center; width: 76px; height: 76px; margin: 4px; border-radius: 24px; background: linear-gradient(135deg, #10b981 0%, #059669 100%); color: #ffffff; box-shadow: 0 20px 38px -18px #047857, inset 0 1px 0 rgba(255, 255, 255, 0.3); }
.au .success-icon-circle svg { width: 36px; height: 36px; stroke: #ffffff; }
.au .success-pulse { position: absolute; inset: 0; border-radius: 28px; border: 2px solid rgba(16, 185, 129, 0.45); animation: auPulse 2.4s ease-out infinite; }
.au .success-title { margin: 0 0 10px; font-family: var(--au-display); font-size: clamp(24px, 2.6vw, 30px); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; color: var(--au-ink); }
.au .success-subtitle { max-width: 400px; margin: 0 auto; font-family: var(--au-body); font-size: 16px; font-weight: 500; line-height: 1.6; color: var(--au-ink-3); text-wrap: pretty; }
.au .success-instructions-card { margin: 22px 0; padding: 6px 18px; border-radius: 20px; background: #f4f7fd; border: 1px solid var(--au-line); text-align: left; }
.au .instruction-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; }
.au .instruction-row + .instruction-row { border-top: 1px solid var(--au-line); }
.au .instruction-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px; color: #ffffff; }
.au .instruction-icon svg { width: 20px; height: 20px; stroke: #ffffff; }
.au .instruction-icon.inbox { background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); }
.au .instruction-icon.spam { background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); }
.au .instruction-icon.timer { background: linear-gradient(135deg, #6366f1 0%, #4338ca 100%); }
.au .instruction-text { display: grid; gap: 2px; }
.au .instruction-text strong { font-family: var(--au-display); font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--au-ink); }
.au .instruction-text span { font-family: var(--au-body); font-size: 14px; font-weight: 500; line-height: 1.45; color: var(--au-ink-3); }
.au .success-actions { margin: 20px 0 0; }
.au .success-resend { margin: 16px 0 0; font-family: var(--au-body); font-size: 14.5px; font-weight: 500; color: var(--au-ink-3); }

@keyframes auPulse { 0% { transform: scale(0.9); opacity: 0.9; } 100% { transform: scale(1.35); opacity: 0; } }

/* ---- toasts (session messages), top right under the bar -------------------- */
body.au-body .toast-container { position: fixed; top: 98px; right: 24px; z-index: 99999; display: flex; flex-direction: column; gap: 12px; pointer-events: none; }
body.au-body .premium-toast { position: relative; pointer-events: auto; min-width: 320px; max-width: 440px; overflow: hidden; border-radius: 18px; background: #ffffff; border: 1px solid var(--au-line); box-shadow: 0 28px 60px -28px rgba(11, 31, 58, 0.5); transform: translateX(120%); opacity: 0; animation: auToastIn 0.5s var(--au-ease) forwards; }
body.au-body .premium-toast.hiding { animation: auToastOut 0.4s ease forwards; }
body.au-body .toast-content { display: flex; align-items: flex-start; gap: 14px; padding: 18px 44px 16px 18px; }
body.au-body .toast-icon { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 14px; }
body.au-body .toast-icon svg { width: 22px; height: 22px; }
body.au-body .toast-success .toast-icon { background: linear-gradient(135deg, #10b981 0%, #059669 100%); color: #ffffff; }
body.au-body .toast-body { flex: 1; padding-top: 2px; }
body.au-body .toast-title { margin: 0 0 3px; font-family: var(--au-display); font-size: 16px; font-weight: 800; line-height: 1.3; color: var(--au-ink); }
body.au-body .toast-message { margin: 0; font-family: var(--au-body); font-size: 14px; font-weight: 500; line-height: 1.5; color: var(--au-ink-3); }
body.au-body .toast-close { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 9px; background: transparent; color: var(--au-muted); cursor: pointer; transition: background 0.2s ease, color 0.2s ease; }
body.au-body .toast-close:hover { background: rgba(30, 58, 138, 0.08); color: var(--au-ink); }
body.au-body .toast-close svg { width: 16px; height: 16px; }
body.au-body .toast-progress { position: relative; height: 3px; background: rgba(30, 58, 138, 0.08); overflow: hidden; }
body.au-body .toast-progress-bar { position: absolute; inset: 0; transform-origin: left; animation: auShrink 4s linear forwards; background: linear-gradient(90deg, #10b981 0%, #34d399 100%); }
body.au-body .toast-error { background: linear-gradient(180deg, #fff5f5 0%, #fee2e2 100%); border-color: rgba(220, 38, 38, 0.28); }
body.au-body .toast-error .toast-icon { background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%); color: #ffffff; }
body.au-body .toast-error .toast-title { color: #991b1b; }
body.au-body .toast-error .toast-message { color: #7f1d1d; }
body.au-body .toast-error .toast-progress-bar { background: linear-gradient(90deg, #ef4444 0%, #f87171 100%); }

@keyframes auToastIn { to { transform: translateX(0); opacity: 1; } }
@keyframes auToastOut { from { transform: translateX(0); opacity: 1; } to { transform: translateX(120%); opacity: 0; } }

/* ---- the Google confirmation modal (after Google verifies the visitor):
        its own markup and script, the approved language on top - the white
        glass plate, the display title in ink, the orange pill for the way
        forward, glass for the quiet one. The partial relied on Bootstrap's
        border-box reset, which these pages no longer load. ------------------- */
body.au-body .gcm-card, body.au-body .gcm-card * { box-sizing: border-box; }
body.au-body .gcm-card, body.au-body .gcm-card p, body.au-body .gcm-card label, body.au-body .gcm-card input, body.au-body .gcm-card span, body.au-body .gcm-card small { font-family: var(--au-body); }
body.au-body .gcm-overlay { background: rgba(7, 18, 38, 0.62); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); }
body.au-body .gcm-card { max-width: 520px; border-radius: 28px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 249, 254, 0.98) 100%); border: 1px solid rgba(255, 255, 255, 0.95); box-shadow: 0 40px 90px -36px rgba(11, 31, 58, 0.6), 0 0 0 1px var(--au-line); }
body.au-body .gcm-head { padding: 32px 32px 24px; background: radial-gradient(120% 130% at 15% 0%, rgba(37, 99, 235, 0.12) 0%, transparent 55%), radial-gradient(110% 130% at 90% 10%, rgba(16, 185, 129, 0.1) 0%, transparent 55%), linear-gradient(180deg, #f7f9fe 0%, #ffffff 100%); border-bottom: 1px solid var(--au-line); }
body.au-body .gcm-avatar-fallback { background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); color: #ffffff; font-family: var(--au-display); font-weight: 800; box-shadow: 0 18px 34px -16px #1d4ed8, inset 0 1px 0 rgba(255, 255, 255, 0.3); }
body.au-body .gcm-avatar-img { box-shadow: 0 18px 34px -16px rgba(11, 31, 58, 0.5); }
body.au-body .gcm-title, body.au-body #gcmTitle { font-family: var(--au-display); font-size: clamp(22px, 2.4vw, 26px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; background: none; -webkit-text-fill-color: var(--au-ink); color: var(--au-ink); }
body.au-body .gcm-title span, body.au-body #gcmTitle span { -webkit-text-fill-color: var(--au-blue-deep); color: var(--au-blue-deep); }
body.au-body .gcm-subtitle { font-size: 15px; font-weight: 500; line-height: 1.6; color: var(--au-ink-3); text-wrap: pretty; }
body.au-body .gcm-body { padding: 24px 32px 28px; }
body.au-body .gcm-email-row { border-radius: 16px; background: rgba(37, 99, 235, 0.06); border: 1px solid rgba(37, 99, 235, 0.16); }
body.au-body .gcm-email-text { font-weight: 600; color: var(--au-ink); }
body.au-body .gcm-mail-icon { color: var(--au-blue-deep); }
body.au-body .gcm-label { font-size: 13.5px; font-weight: 700; color: var(--au-ink-2); }
body.au-body .gcm-hint { font-size: 13.5px; font-weight: 500; color: var(--au-ink-3); }
body.au-body .gcm-input { min-height: 54px; padding: 0 18px; border-radius: 16px; border: 1px solid var(--au-line-strong); background: rgba(255, 255, 255, 0.92); font-size: 16px; font-weight: 500; color: var(--au-ink); }
body.au-body .gcm-input:focus { outline: 0; border-color: var(--au-blue); background-color: #ffffff; box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.16); }
body.au-body .gcm-cert-note { border-radius: 16px; background: rgba(245, 158, 11, 0.09); border: 1px solid rgba(245, 158, 11, 0.28); }
body.au-body .gcm-cert-note, body.au-body .gcm-cert-note * { color: #92400e; }
body.au-body .gcm-cert-note strong { color: #78350f; }
body.au-body .gcm-terms input[type="checkbox"] { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; flex: 0 0 20px; margin: 2px 0 0; border-radius: 6px; border: 2px solid rgba(30, 58, 138, 0.3); background: #ffffff center / 14px no-repeat; cursor: pointer; }
body.au-body .gcm-terms input[type="checkbox"]:checked { border-color: var(--au-blue); background-color: var(--au-blue); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3e%3c/svg%3e"); }
body.au-body .gcm-terms input[type="checkbox"]:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25); }
body.au-body .gcm-terms label { font-size: 14.5px; font-weight: 500; color: var(--au-ink-2); }
body.au-body .gcm-terms a { color: var(--au-blue-deep); font-weight: 700; }
body.au-body .gcm-verified-chip { background: rgba(5, 150, 105, 0.1); border-color: rgba(5, 150, 105, 0.3); color: #065f46; font-size: 13px; }
body.au-body .gcm-confirm-btn { min-height: 56px; padding: 0 26px; border-radius: 999px; background: linear-gradient(135deg, #2f6df6 0%, #1d4ed8 100%); font-family: var(--au-display); font-size: 16.5px; font-weight: 800; letter-spacing: 0.01em; box-shadow: 0 18px 36px -16px rgba(29, 78, 216, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.22); overflow: visible; }
body.au-body .gcm-confirm-btn::before { display: none; }
body.au-body .gcm-confirm-btn:hover { background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%); transform: translateY(-2px); box-shadow: 0 24px 44px -16px rgba(29, 78, 216, 0.8), 0 0 0 6px rgba(37, 99, 235, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.25); }
body.au-body .gcm-confirm-btn:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.3); }
body.au-body .gcm-cancel-btn { min-height: 50px; margin-top: 12px; padding: 0 22px; border-radius: 999px; border: 1px solid var(--au-line-strong); background: rgba(255, 255, 255, 0.8); font-family: var(--au-display); font-size: 15px; font-weight: 700; color: var(--au-ink); }
body.au-body .gcm-cancel-btn:hover { color: var(--au-blue-deep); background: #ffffff; border-color: rgba(37, 99, 235, 0.45); }
body.au-body .gcm-error { border-radius: 14px; font-size: 13.5px; font-weight: 600; }
@media (max-width: 575.98px) {
    body.au-body .gcm-head { padding: 26px 20px 20px; }
    body.au-body .gcm-body { padding: 20px 20px 24px; }
    body.au-body .gcm-card { border-radius: 24px; }
}

/* ---- phones ---------------------------------------------------------------- */
@media (max-width: 640px) {
    .au { padding: 26px 14px 48px; }
    .au .au-card { padding: 30px 20px 26px; border-radius: 26px; }
    .au .au-head { margin-bottom: 22px; }
    .au .au-mark { width: 60px; height: 60px; border-radius: 19px; margin-bottom: 16px; }
    .au .au-mark--logo { width: auto; height: auto; margin-bottom: 18px; }
    .au .au-mark--logo img { height: 60px; }
    .au .au-mark svg { width: 28px; height: 28px; }
    .au .au-switch { width: auto; border-radius: 18px; padding: 10px 16px; }
    .au .au-field .input-modern, .au .password-input-wrapper .input-modern { padding-left: 46px; }
    .au .au-field::before, .au .password-input-wrapper::before { left: 15px; }
    .au .au-title, .au h1.auth-heading, .au .success-title { font-size: 24px; }
    .au .au-lead, .au .subtle-text, .au .success-subtitle { font-size: 15.5px; }
    .au .input-modern { min-height: 52px; font-size: 16px; }
    .au .gradient-btn, .au .gsi-btn { min-height: 54px; font-size: 16px; }
    .au .forgot-link { font-size: 13px; }
    .au .au-switch { font-size: 15px; }
    .au .success-instructions-card { padding: 4px 14px; }
    body.au-body .message-box { margin: 0 0 14px; font-size: 14.5px; }
    body.au-body .toast-container { top: 118px; right: 12px; left: 12px; }
    /* the forgot link moves under the field: the label keeps its line */
    .au .mb-3:has(> .forgot-link) { display: flex; flex-direction: column; }
    .au .mb-3:has(> .forgot-link) .forgot-link { order: 3; float: none; align-self: flex-end; margin: 10px 0 0; }
    body.au-body .premium-toast { min-width: 0; max-width: none; }
    html[lang="en-IE"] .au .au-card::after, html[lang="en-GB"] .au .au-card::after { width: 160px; height: 160px; right: -36px; bottom: -44px; }
}

@media (prefers-reduced-motion: reduce) {
    .au .gradient-btn, .au .gsi-btn, .au .input-modern, .au .password-toggle-btn { transition: none; }
    .au .gradient-btn:hover, .au .gsi-btn:hover { transform: none; }
    .au .success-pulse { animation: none; }
    .au .au-card, .au .au-switch { animation: none; }
    body.au-body .premium-toast { animation: none; transform: none; opacity: 1; }
}
