body {
    background-color: #f8f9fa;
}

.card {
    border-radius: 0.75rem;
}

.navbar-brand-bg {
    background-color: #1E3562;
}

.navbar-brand {
    letter-spacing: -0.5px;
}

.font-monospace {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.875rem;
}

/* Pricing card helpers */
.cursor-pointer { cursor: pointer; }
.letter-spacing  { letter-spacing: 0.05em; }

.package-card {
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}
.package-card:hover {
    transform: translateY(-2px);
}
.package-card:focus {
    outline: 3px solid #0d6efd;
    outline-offset: 2px;
}

/* ── Status page ──────────────────────────────────────────────────────────── */
.step-item {
    transition: background-color 0.2s ease;
    min-height: 3.5rem;
}

.step-item:hover {
    background-color: #f8f9fa;
}

/* Icon column — fixed width so text stays aligned */
.step-icon {
    width: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Spinning disc for running steps */
@keyframes step-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.step-spinning {
    font-size: 1.4rem;
    animation: step-spin 1.1s linear infinite;
    display: inline-block;
    color: #0d6efd;
}

/* Green tick for completed steps */
.step-icon-completed {
    font-size: 1.4rem;
    color: #198754;
}

/* Other sized icons */
.step-icon-lg      { font-size: 1.4rem; }
.step-icon-pending { font-size: 1.1rem; }

/* Validation summary hidden when empty */
[data-valmsg-summary="true"]:not([class*="alert-danger"]),
.validation-summary-valid {
    display: none !important;
}
