:root {
    --medisim-teal: #17a7a0;
    --medisim-teal-dark: #138a84;
    --medisim-teal-soft: #e6f6f5;
    --medisim-slate: #3d4852;
}

.medisim-planning-header {
    background: linear-gradient(135deg, #17a7a0 0%, #3d4852 100%);
    color: #fff;
    border-radius: 1rem;
    padding: 1.5rem 2rem;
}
.medisim-planning-header h1 { color: #fff; }

.medisim-badge-teal {
    background: var(--medisim-teal-soft);
    color: var(--medisim-teal-dark);
    font-weight: 600;
}

.medisim-card-header {
    background: var(--medisim-teal-soft);
    color: var(--medisim-slate);
    border-bottom: 2px solid var(--medisim-teal);
}
.medisim-card-header h5,
.medisim-card-header h6 { color: var(--medisim-slate); }

.medisim-admin-table thead th {
    background: var(--medisim-teal-soft);
    color: var(--medisim-slate);
    font-size: .75rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .03em;
    border-bottom: 2px solid var(--medisim-teal);
    white-space: nowrap;
}

.medisim-reservation-card {
    border-left: 4px solid var(--medisim-teal);
    border-radius: .75rem;
    transition: transform .2s ease, box-shadow .2s ease;
}
.medisim-reservation-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 .5rem 1rem rgba(23, 167, 160, .15);
}

.medisim-empty-state { padding: 4rem 2rem; text-align: center; }
.medisim-empty-state .fa-solid { color: var(--medisim-teal); opacity: .5; }

.btn-medisim {
    background-color: var(--medisim-teal);
    border-color: var(--medisim-teal);
    color: #fff;
}
.btn-medisim:hover,
.btn-medisim:focus,
.btn-medisim:disabled {
    background-color: var(--medisim-teal-dark);
    border-color: var(--medisim-teal-dark);
    color: #fff;
}
.btn-medisim:disabled { opacity: .55; }

.step-circle.is-active {
    background-color: var(--medisim-teal) !important;
    color: #fff !important;
}
.step-circle.is-done {
    background-color: var(--medisim-teal-dark) !important;
    color: #fff !important;
}
.step-label.is-active { color: var(--medisim-teal-dark) !important; font-weight: 600; }
.step-label.is-done { color: var(--medisim-teal) !important; font-weight: 600; }

.btn-check:checked + .btn-outline-medisim {
    background-color: var(--medisim-teal);
    border-color: var(--medisim-teal);
    color: #fff;
}
.btn-outline-medisim {
    color: var(--medisim-slate);
    border-color: #cfd6dc;
    background-color: #fff;
}
.btn-outline-medisim:hover {
    border-color: var(--medisim-teal);
    color: var(--medisim-teal-dark);
}
