/* ======================================================
 * THEME TOKENS
 * Single source of truth for colors, radii, shadows.
 * Loaded by both public_css.jsp (auth/landing) and
 * app_css.jsp (post-login). Use semantic var() refs in
 * downstream stylesheets instead of literal hex.
 * ====================================================== */

:root {
    /* ---------- brand ---------- */
    --color-brand:           #3f46f6;   /* primary CTA, links, active state */
    --color-brand-hover:     #3239d3;   /* button/link hover */
    --color-brand-soft:      #eef0ff;   /* tab bg, soft accent fill */

    /* ---------- surfaces ---------- */
    --color-canvas:          #f6f7fb;   /* page background */
    --color-surface:         #ffffff;   /* cards, panels */
    --color-surface-muted:   #f6f7fb;   /* subtle bg blocks inside cards */

    /* ---------- borders ---------- */
    --color-border:          #ecedf3;   /* default hairline */
    --color-border-strong:   #d1d4e3;   /* emphasized divider */

    /* ---------- text ---------- */
    --color-text-strong:     #1c2350;   /* h1/h2, primary text */
    --color-text:            #4a4f70;   /* body */
    --color-text-muted:      #6b7090;   /* secondary text, labels */
    --color-text-subtle:     #9094b3;   /* placeholders, icon-only buttons */

    /* ---------- state ---------- */
    --color-danger:          #d33b5a;
    --color-success:         #2a9d6a;

    /* ---------- shape ---------- */
    --radius-card:           12px;      /* default card */
    --radius-card-lg:        18px;      /* hero card (login) */
    --radius-input:          10px;
    --radius-pill:            8px;
    --radius-sm:              6px;

    /* ---------- elevation ---------- */
    --shadow-card:           0 10px 30px rgba(20, 30, 60, 0.06);
    --shadow-card-subtle:    0 4px 14px rgba(20, 30, 60, 0.05);
    --shadow-button:         0 8px 20px rgba(63, 70, 246, 0.30);
    --shadow-button-hover:   0 10px 24px rgba(63, 70, 246, 0.38);
    --focus-ring:            0 0 0 3px rgba(63, 70, 246, 0.15);
}
