/*
This is the stylesheet for the Auth service.

NOTE: this file is the SOURCE; it is manually published (byte-identical) to
ams-static/css/auth-service.css, which is the copy the integrated shell loads.
Keep the two in sync on every edit — there is no build step between them.
*/

/* AMS-302: keep this global reset from trumping the shell's now-layered
   Tailwind utilities. An UNLAYERED `*{margin:0;padding:0}` beats any @layer
   rule, so once the shell moved to layered Tailwind v4 this reset clobbered the
   member/account chrome's layered padding/margin utilities (e.g. the
   dashboard's `p-10`). Demote only margin+padding into @layer base so the
   shell's `utilities` layer wins; box-sizing stays unlayered.

   AMS-337: removed the unlayered `font-family: "Poppins"` from this `*` rule.
   Poppins is not self-hosted (it silently fell back to sans-serif), and an
   unlayered `*` font-family reset cascades into EVERY element on the shell
   page — including htmx-embedded service fragments — overriding the shell's
   `@theme` type voice. Body/UI font now comes from the shell's `--font-sans`;
   serif display from `--font-serif` (Newsreader). */
* {
    box-sizing: border-box;
}
@layer base {
    * {
        margin: 0;
        padding: 0;
    }
}

/* AMS-339 (L2): the login + registration screens were reskinned to the L2
   split-screen using the shell's daisyUI utilities directly (see login.html /
   register*.html), so the old glassmorphism is gone — the `.auth-bg`
   purple-lake background, the `.wrapper` backdrop-filter blur, and the
   white-on-image text are all removed. The rules below are the MINIMAL
   tokenized scaffold the auth screens NOT yet reskinned still rely on:
   request-password-reset, password-reset-form, logged-out, trial-expired.
   They render a plain centered card that themes in amslight / amsdark via the
   shell's semantic tokens — no image, no glass. */
.auth-bg {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    min-height: 70vh;
    padding: 3rem 1.5rem;
}

.wrapper {
    width: 100%;
    max-width: 420px;
    background: var(--color-base-100);
    border: 1px solid color-mix(in oklab, var(--color-base-content) 12%, transparent);
    border-radius: var(--radius-box, 0.75rem);
    color: var(--color-base-content);
    padding: 2rem;
}

.wrapper h1 {
    font-family: var(--font-serif);
    font-size: 1.875rem;
    font-weight: 500;
    margin-bottom: 1.25rem;
}

.wrapper .input-box {
    width: 100%;
    margin: 1rem 0;
}

.input-box input {
    width: 100%;
    background: var(--color-base-100);
    outline: none;
    border: 1px solid color-mix(in oklab, var(--color-base-content) 20%, transparent);
    border-radius: var(--radius-field, 0.5rem);
    font-size: 1rem;
    color: var(--color-base-content);
    padding: 0.625rem 0.875rem;
}

.input-box input::placeholder {
    color: color-mix(in oklab, var(--color-base-content) 45%, transparent);
}

.wrapper .remember-forgot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.875rem;
    margin: 0.5rem 0 1rem;
}

.remember-forgot a {
    color: var(--color-primary);
    text-decoration: none;
}

.remember-forgot a:hover {
    text-decoration: underline;
}

/* The un-reskinned screens use a bare `<button class="btn">` (the shell's
   daisyUI button); just make it full-width inside the card. */
.wrapper .btn {
    width: 100%;
    margin-top: 0.5rem;
}

.wrapper .register-link {
    font-size: 0.875rem;
    text-align: center;
    margin-top: 1.25rem;
    color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
}

.register-link p a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 600;
}

.register-link p a:hover {
    text-decoration: underline;
}

/* Yellow notice box used by the trial-expired and logged-out screens.
   Tokenized to the warning palette so it themes in amslight / amsdark. */
.notification-container {
    text-align: center;
    margin: 0 auto;
    width: 100%;
}

.notification-yellow {
    background-color: var(--color-warning);
    color: var(--color-warning-content);
    border: 1px solid color-mix(in oklab, var(--color-base-content) 20%, transparent);
    border-radius: var(--radius-box, 0.75rem);
    text-align: center;
    margin: 0 auto;
    padding: 15px;
    width: 100%;
}
