/* Unified Labor Rx — brand system
   Palette pulled from unifiedlaborrx.com:
   cyan  #0CC0DF (UNIFIED wordmark / accents)
   slate #4A6377 (LABOR RX wordmark / dark UI) */

:root {
    --brand-cyan: #0cc0df;
    --brand-cyan-dark: #0aa3bd;
    --brand-cyan-soft: #e6f9fc;
    --brand-slate: #4a6377;
    --brand-slate-dark: #384b5a;
    --brand-ink: #273943;
    --brand-muted: #6b7c87;
    --brand-line: #e2e9ee;
    --brand-bg: #f4f8fa;
    --brand-surface: #ffffff;

    /* CVS Caremark partner branding (pharmacy SSO handoff) */
    --cvs-red: #cc0000;
    --cvs-red-dark: #a30000;

    /* Prime Therapeutics partner branding (pharmacy SSO handoff) */
    --prime-blue: #5775f2;
    --prime-purple: #2f1d6e;
    --prime-blue-soft: #eef1fe;

    --brand-radius: 10px;
    --brand-shadow: 0 1px 2px rgba(39, 57, 67, .06), 0 8px 24px rgba(39, 57, 67, .08);
    --brand-font: "Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;
}

html, body {
    margin: 0;
    font-family: var(--brand-font);
    color: var(--brand-ink);
    background: var(--brand-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a {
    color: var(--brand-cyan-dark);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

h1, h2, h3 {
    color: var(--brand-slate-dark);
    font-weight: 600;
    letter-spacing: -.01em;
}

main {
    max-width: 1040px;
    margin: 0 auto;
    padding: 2rem 1.5rem 4rem;
}

/* Buttons -------------------------------------------------------------- */
.btn,
button.btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .6rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: inherit;
    font-size: .95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
    text-decoration: none;
}

.btn-primary {
    background: var(--brand-cyan);
    color: #fff;
}

.btn-primary:hover {
    background: var(--brand-cyan-dark);
    color: #fff;
    text-decoration: none;
}

.btn-outline {
    background: transparent;
    color: var(--brand-slate);
    border-color: var(--brand-line);
}

.btn-outline:hover {
    border-color: var(--brand-cyan);
    color: var(--brand-cyan-dark);
    text-decoration: none;
}

/* Cards & surfaces ---------------------------------------------------- */
.card {
    background: var(--brand-surface);
    border: 1px solid var(--brand-line);
    border-radius: var(--brand-radius);
    box-shadow: var(--brand-shadow);
    padding: 1.5rem;
}

/* Tables -------------------------------------------------------------- */
.table {
    width: 100%;
    border-collapse: collapse;
    background: var(--brand-surface);
    border: 1px solid var(--brand-line);
    border-radius: var(--brand-radius);
    overflow: hidden;
    box-shadow: var(--brand-shadow);
}

.table thead th {
    background: var(--brand-slate);
    color: #fff;
    text-align: left;
    font-weight: 600;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: .75rem 1rem;
}

.table tbody td {
    padding: .65rem 1rem;
    border-top: 1px solid var(--brand-line);
    font-size: .9rem;
    word-break: break-word;
}

.table tbody tr:nth-child(even) {
    background: #fafcfd;
}

/* Disabled button state — used by the dashboard's not-yet-launchable service CTAs. */
.btn:disabled,
button.btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}
