/* dental-frontdesk — sign-in / landing card.
 * Shares the palette with calendar.css so the brand reads consistent
 * across the public booking, the staff calendar, and the unauthed
 * landing page. */

:root {
    color-scheme: light dark;
    --bg: #f6f5f1;
    --bg-deep: #efece5;
    --surface: #ffffff;
    --border: #e5e2d9;
    --border-strong: #d6d2c5;
    --text: #1a1a17;
    --text-muted: #6b665b;
    --text-faint: #8e8a7e;
    --accent: #2f6b3a;
    --accent-2: #2c5e36;
    --accent-soft: #e7f0e3;
    --accent-ring: rgba(47, 107, 58, 0.18);
    --warning-bg: #fef3c7;
    --warning-fg: #78350f;
    --shadow: 0 1px 2px rgba(15, 23, 42, 0.04),
              0 8px 24px -16px rgba(15, 23, 42, 0.18);
    --radius: 14px;
    --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont,
                 "Inter", "Segoe UI", system-ui, sans-serif;
    --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg: #0f1114;
        --bg-deep: #0a0c0f;
        --surface: #1c1f23;
        --border: #2c3038;
        --border-strong: #3a3f4a;
        --text: #e9eaec;
        --text-muted: #a4a8b0;
        --text-faint: #797d85;
        --accent: #7fb88a;
        --accent-2: #92c69b;
        --accent-soft: rgba(127, 184, 138, 0.14);
        --accent-ring: rgba(127, 184, 138, 0.28);
        --warning-bg: rgba(251, 191, 36, 0.14);
        --warning-fg: #fbbf24;
    }
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.55;
    background:
        radial-gradient(1000px 600px at 80% -10%, var(--accent-soft), transparent 60%),
        radial-gradient(800px 500px at -10% 110%, var(--bg-deep), transparent 70%),
        var(--bg);
    color: var(--text);
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    -webkit-font-smoothing: antialiased;
}

.card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 2.25rem 2.5rem 2rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: var(--shadow);
}

h1 {
    margin: 0 0 1.25rem;
    font-size: 1.75rem;
    letter-spacing: -0.025em;
    font-weight: 600;
}

p.lede {
    color: var(--text-muted);
    margin: 0 0 1rem;
    line-height: 1.6;
    font-size: 0.95rem;
}

.chip {
    display: inline-block;
    background: var(--accent);
    color: #fff;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    margin: 0.25rem 0 1.25rem;
}

.signin-list {
    list-style: none;
    padding: 0;
    margin: 1.75rem 0 0;
    display: grid;
    gap: 0.55rem;
}

.signin-btn {
    display: block;
    text-align: center;
    padding: 0.78rem 1rem;
    background: var(--surface);
    color: var(--text);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    text-decoration: none;
    font-weight: 500;
    transition: border-color 120ms, color 120ms, background 120ms;
}

.signin-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: var(--accent-soft);
}

.warn {
    background: var(--warning-bg);
    color: var(--warning-fg);
    padding: 0.875rem 1rem;
    border-radius: 10px;
    margin: 1.5rem 0 0;
    font-size: 0.875rem;
    line-height: 1.55;
    border: 1px solid transparent;
}

footer {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
    color: var(--text-faint);
    font-size: 0.78rem;
    line-height: 1.55;
}

code {
    font-family: var(--font-mono);
    font-size: 0.875em;
    background: var(--bg-deep);
    padding: 0.05rem 0.35rem;
    border-radius: 4px;
}
