:root {
    --app-surface: #ffffff;
    --app-surface-soft: #f8fbff;
    --app-surface-muted: #f5f7fb;
    --app-border: #e7edf4;
    --app-border-strong: #d6dee8;
    --app-text-main: #1d2736;
    --app-text-muted: #637083;
    --app-accent: #163d77;
    --app-accent-soft: #eef4ff;
    --app-shadow-soft: 0 12px 30px rgba(148, 163, 184, 0.10);
    --app-shadow-hover: 0 18px 38px rgba(148, 163, 184, 0.15);
}

.app-card-surface {
    border-radius: 18px;
    border: 1px solid var(--app-border) !important;
    background: var(--app-surface);
    box-shadow: var(--app-shadow-soft);
}

.app-card-surface .card-body {
    color: var(--app-text-main);
}

.app-section-title {
    color: var(--app-text-main);
    letter-spacing: -0.02em;
    font-size: clamp(1.05rem, 1.1vw, 1.2rem);
}

.app-btn-pill {
    border-radius: 999px;
    font-weight: 700;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease;
}

.app-btn-pill:hover,
.app-btn-pill:focus-visible {
    transform: translateY(-1px);
}

.app-btn-pill.btn-sm {
    min-height: 36px;
    padding-inline: 14px;
}

.app-btn-primary-strong.btn-dark {
    background-color: var(--app-accent);
    border-color: var(--app-accent);
    box-shadow: 0 8px 18px rgba(22, 61, 119, 0.16);
}

.app-btn-primary-strong.btn-dark:hover,
.app-btn-primary-strong.btn-dark:focus-visible {
    background-color: #102e59;
    border-color: #102e59;
    box-shadow: 0 10px 22px rgba(22, 61, 119, 0.2);
}

.app-btn-secondary-soft.btn-outline-secondary,
.app-btn-secondary-soft.btn-light.border {
    color: #4f5d73;
    border-color: var(--app-border-strong);
    background-color: var(--app-surface);
}

.app-btn-secondary-soft.btn-outline-secondary:hover,
.app-btn-secondary-soft.btn-outline-secondary:focus-visible,
.app-btn-secondary-soft.btn-light.border:hover,
.app-btn-secondary-soft.btn-light.border:focus-visible {
    color: #364152;
    border-color: #c6d1dd;
    background-color: var(--app-surface-soft);
}

.app-btn-accent-ghost.btn-outline-dark {
    color: var(--app-accent);
    border-color: rgba(22, 61, 119, 0.22);
    background-color: rgba(22, 61, 119, 0.02);
}

.app-btn-accent-ghost.btn-outline-dark:hover,
.app-btn-accent-ghost.btn-outline-dark:focus-visible {
    color: #102e59;
    border-color: rgba(22, 61, 119, 0.34);
    background-color: var(--app-accent-soft);
}

.app-card-hover {
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.app-card-hover:hover {
    transform: translateY(-4px);
    box-shadow: var(--app-shadow-hover) !important;
    border-color: var(--app-border-strong) !important;
}

@media (max-width: 576px) {
    .app-card-surface {
        border-radius: 16px;
    }
}
