:root {
    --rf-ink: #16333f;
    --rf-muted: #50727d;
    --rf-brand: #0d8ca0;
    --rf-brand-2: #f08f6b;
    --rf-card: #ffffff;
    --rf-soft: #f3fbfd;
}

body {
    font-family: "Segoe UI", "Tahoma", "Geneva", "Verdana", sans-serif;
    color: var(--rf-ink);
    background: #eef7fa;
    min-height: 100vh;
}

.page-bg {
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 20% 20%, rgba(13, 140, 160, 0.13), transparent 38%),
        radial-gradient(circle at 80% 0%, rgba(240, 143, 107, 0.15), transparent 35%),
        linear-gradient(145deg, #f5fbfd 10%, #eef7fa 70%);
    z-index: -1;
}

.card {
    border: 0;
    background: var(--rf-card);
    border-radius: 1rem;
    box-shadow: 0 12px 35px rgba(17, 48, 58, 0.08);
}

.section-title {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rf-muted);
    font-weight: 800;
}

.form-label {
    font-weight: 600;
    color: #214652;
}

.form-control,
.form-select {
    border-radius: 0.75rem;
    border-color: #cadde3;
    min-height: 2.8rem;
}

.form-check-input {
    border-color: #86abb4;
}

.form-check-input:checked {
    background-color: var(--rf-brand);
    border-color: var(--rf-brand);
}

.btn-primary {
    background: linear-gradient(120deg, var(--rf-brand), #0f7484);
    border: 0;
    border-radius: 0.8rem;
    font-weight: 700;
}

.btn-outline-primary {
    border-color: var(--rf-brand);
    color: var(--rf-brand);
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border-radius: 0.75rem;
    border: 1px solid #cadde3;
    padding: 0.45rem 0.6rem;
}

.dt-row-actions .btn {
    margin-bottom: 0.35rem;
}

.badge-soft {
    background-color: var(--rf-soft);
    color: var(--rf-brand);
    border: 1px solid #bce8f0;
}

@media (max-width: 768px) {
    .navbar .btn {
        padding-inline: 0.75rem;
    }

    .card {
        border-radius: 0.85rem;
    }
}

.print-only {
    display: none;
}

@media print {
    body {
        background: #fff !important;
        color: #111 !important;
    }

    .page-bg,
    .navbar,
    .client-print-hide,
    .alert {
        display: none !important;
    }

    .print-only {
        display: block !important;
    }

    main.container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .card {
        border: 1px solid #d9d9d9 !important;
        box-shadow: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .collapse {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
    }

    .client-photo-preview {
        max-height: none !important;
        object-fit: contain !important;
    }
}
