:root {
    --brand: #0b5ed7;
    --brand-dark: #084298;
    --brand-light: #e7f1ff;
    --radius: 14px;
}

body {
    background: #f4f6f9;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

.navbar-brand {
    font-weight: 700;
    letter-spacing: .3px;
}

.card {
    border: none;
    border-radius: var(--radius);
    box-shadow: 0 2px 14px rgba(15, 30, 60, 0.06);
}

.step-indicator {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 2rem;
}
.step-indicator .dot {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #dfe6ee;
    color: #6b7787;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: .9rem;
    transition: all .2s ease;
}
.step-indicator .dot.active {
    background: var(--brand);
    color: #fff;
}
.step-indicator .dot.done {
    background: #198754;
    color: #fff;
}
.step-indicator .line {
    flex: 0 0 40px;
    align-self: center;
    height: 2px;
    background: #dfe6ee;
}

.servicio-card {
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: var(--radius);
    transition: all .15s ease;
    height: 100%;
}
.servicio-card:hover {
    border-color: var(--brand-light);
    transform: translateY(-2px);
}
.servicio-card.selected {
    border-color: var(--brand);
    background: var(--brand-light);
}
.servicio-card .duracion-badge {
    font-size: .8rem;
}

.hora-btn {
    min-width: 84px;
}

.btn-brand {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}
.btn-brand:hover {
    background: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #fff;
}

.badge-plaza1 { background: #0b5ed7; }
.badge-plaza2 { background: #6f42c1; }

.sidebar-admin .nav-link {
    color: #33475b;
    border-radius: 8px;
    margin-bottom: 4px;
}
.sidebar-admin .nav-link.active {
    background: var(--brand);
    color: #fff;
}
.sidebar-admin .nav-link:hover:not(.active) {
    background: #eef2f7;
}

.table thead {
    background: #f1f4f8;
}
