:root {
    --brand-green-deep: #123f3a;
    --menu-green: #022f28;
    --brand-green-progress: #38a875;
    --brand-green-soft: #e9f5ef;
    --brand-orange: #f28c45;
    --brand-orange-hover: #d9702f;
    --brand-carbon: #243238;
    --brand-muted: #667773;
    --brand-warm-white: #faf9f6;
    --brand-border: #dce6e2;
    --bs-primary: #f28c45;
    --bs-primary-rgb: 242, 140, 69;
    --bs-secondary: #38a875;
    --bs-secondary-rgb: 56, 168, 117;
    --bs-success: #38a875;
    --bs-success-rgb: 56, 168, 117;
    --bs-body-color: #243238;
    --bs-body-bg: #faf9f6;
    --bs-border-color: #dce6e2;
}

body { min-height: 100vh; background: var(--brand-warm-white); color: var(--brand-carbon); font-family: Manrope, Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
h1, h2, h3, h4, h5, h6 { color: var(--brand-green-deep); font-weight: 700; letter-spacing: -.02em; }
a { color: #287f5a; }
a:hover { color: var(--brand-green-deep); }
header.navbar { min-height: 64px; background: var(--brand-green-deep) !important; border-bottom: 1px solid rgba(255,255,255,.1); box-shadow: 0 8px 24px rgba(18,63,58,.14) !important; }
.navbar-brand { min-height: 64px; font-weight: 700; }
header.navbar .nav-link { color: rgba(255,255,255,.9); border-radius: 10px; }
header.navbar .nav-link:hover { color: #fff; background: rgba(255,255,255,.09); }
main { padding-top: 1rem; padding-bottom: 3rem; }

.sidebar { position: sticky; top: 64px; height: calc(100vh - 64px); z-index: 100; padding: 1.25rem .75rem; overflow-y: auto; background: #fff !important; border-right: 1px solid var(--brand-border); box-shadow: 8px 0 24px rgba(18,63,58,.035); }
.sidebar .nav-link { color: var(--brand-muted); font-weight: 600; padding: .72rem .9rem; margin-bottom: .2rem; border-radius: 10px; gap: .7rem; transition: .18s ease; }
.sidebar .nav-link:hover { color: var(--brand-green-deep); background: var(--brand-green-soft); transform: translateX(2px); }
.sidebar .nav-link.active { color: #fff; background: var(--brand-green-deep); box-shadow: 0 7px 16px rgba(18,63,58,.16); }
.sidebar-heading { color: var(--brand-green-deep) !important; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.card, .card-custom { border: 1px solid var(--brand-border); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(18,63,58,.055); }
.card-custom { transition: transform .2s ease, box-shadow .2s ease; }
.card-custom:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(18,63,58,.085); }
.card-header { background: var(--brand-green-soft); border-bottom-color: var(--brand-border); color: var(--brand-green-deep); font-weight: 700; }

.btn { border-radius: 9px; font-weight: 650; transition: .15s ease; }
.btn.rounded-pill { border-radius: 10px !important; }
.btn:hover { transform: translateY(-1px); }
.btn-primary, .btn-primary-custom { color: #fff; background: var(--brand-orange); border-color: var(--brand-orange); box-shadow: 0 5px 12px rgba(242,140,69,.2); }
.btn-primary:hover, .btn-primary:focus, .btn-primary-custom:hover, .btn-primary-custom:focus { color: #fff; background: var(--brand-orange-hover); border-color: var(--brand-orange-hover); }
.btn-secondary, .btn-success { color: #fff; background: var(--brand-green-progress); border-color: var(--brand-green-progress); }
.btn-outline-primary { color: var(--brand-green-deep); border-color: var(--brand-green-deep); }
.btn-outline-primary:hover { color: #fff; background: var(--brand-green-deep); border-color: var(--brand-green-deep); }

.form-control, .form-select { min-height: 42px; border-color: var(--brand-border); border-radius: 9px; background: #fff; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: var(--brand-green-progress); box-shadow: 0 0 0 .22rem rgba(56,168,117,.15); }
.form-check-input:checked { background-color: var(--brand-green-progress); border-color: var(--brand-green-progress); }
.form-label { color: var(--brand-carbon); font-weight: 600; }

.table { --bs-table-hover-bg: #f2f8f5; }
.table > :not(caption) > * > * { padding: .9rem .75rem; border-bottom-color: var(--brand-border); }
.table thead th { color: var(--brand-green-deep); background: #f3f7f5; font-size: .78rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.badge { padding: .45em .7em; border-radius: 7px; font-weight: 650; }
.bg-primary { background-color: var(--brand-green-deep) !important; }
.bg-secondary, .bg-success { background-color: var(--brand-green-progress) !important; }
.text-success { color: #287f5a !important; }
.alert { border: 0; border-left: 4px solid currentColor; border-radius: 10px; box-shadow: 0 5px 16px rgba(18,63,58,.05); }
.alert-success { color: #1e6949; background: var(--brand-green-soft); }
.alert-warning { color: #8a4b1e; background: #fff1e7; }
.alert-info { color: var(--brand-green-deep); background: #e8f1ef; }
.dropdown-menu { border-color: var(--brand-border); border-radius: 11px; box-shadow: 0 14px 30px rgba(18,63,58,.13); }
.dropdown-item:hover { background: var(--brand-green-soft); color: var(--brand-green-deep); }

#ai-chat-bubble { background: var(--brand-green-deep) !important; border: 0 !important; box-shadow: 0 8px 22px rgba(18,63,58,.25) !important; }
#ai-chat-bubble:hover { transform: scale(1.06) !important; }
#ai-chat-panel { border: 1px solid var(--brand-border) !important; box-shadow: 0 16px 38px rgba(18,63,58,.16) !important; }

@media (max-width: 767.98px) {
    header.navbar { min-height: 58px; padding: .35rem .5rem !important; flex-wrap: nowrap !important; }
    .navbar-brand { min-height: auto; flex: 1; font-size: 1rem; }
    .navbar-toggler { order: 1; }
    .navbar-nav { order: 2; }
    .sidebar { position: fixed; top: 58px; left: 0; bottom: 0; width: min(84vw, 310px); height: calc(100vh - 58px); box-shadow: 12px 0 30px rgba(18,63,58,.18); }
    main { padding-left: 1rem !important; padding-right: 1rem !important; }
}

@keyframes pulse-red { 0% { box-shadow: 0 0 0 0 rgba(220,53,69,.7); } 70% { box-shadow: 0 0 0 10px rgba(220,53,69,0); } 100% { box-shadow: 0 0 0 0 rgba(220,53,69,0); } }
.pulse-animation { animation: pulse-red 1.5s infinite !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; } }

/* Dashboard shell inspired by the Geeks admin layout */
body { background: #f4f7f6; }

header.navbar {
    min-height: 68px;
    background: #fff !important;
    border-bottom: 1px solid var(--brand-border);
    box-shadow: 0 1px 3px rgba(18, 63, 58, .06) !important;
}

.navbar-brand {
    width: 250px;
    min-height: 68px;
    flex: 0 0 250px;
    color: #fff !important;
    background: var(--menu-green);
    font-size: 1.08rem;
}

.navbar-brand img { border-radius: 8px; }
.brand-wordmark { white-space: nowrap; }
.brand-flow { color: var(--brand-orange); }
.navbar-brand .brand-adiestra,
.sidebar-help .brand-adiestra { color: #fff; }
.navbar-actions { gap: .4rem; }
.navbar-actions > .navbar-nav { display: none; }
.sidebar-toggle {
    width: 40px;
    height: 40px;
    margin-left: 1rem;
    align-items: center;
    justify-content: center;
    color: var(--brand-green-deep);
    background: #f1f5f3;
    border: 0;
    border-radius: 8px;
    font-size: 1.35rem;
}
.sidebar-toggle:hover { color: #fff; background: var(--brand-green-progress); }
.header-action {
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: var(--brand-muted);
    background: #f4f7f6;
    border-radius: 50%;
    text-decoration: none;
}
.header-action:hover { color: var(--brand-orange); background: #fff2e9; }
header.navbar .nav-link { color: var(--brand-carbon); padding: .38rem .55rem; }
header.navbar .nav-link:hover { color: var(--brand-green-deep); background: var(--brand-green-soft); }

.sidebar {
    position: fixed;
    inset: 68px auto 0 0;
    width: 250px;
    height: calc(100vh - 68px);
    padding: 0;
    background: var(--menu-green) !important;
    border: 0;
    box-shadow: none;
}

.sidebar-scroll { height: 100%; padding: 1.25rem 1rem; overflow-y: auto; }
.sidebar-user { margin-bottom: 1.25rem; padding-bottom: 1.1rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.sidebar-user-link { display: flex; align-items: center; gap: .7rem; color: #fff; text-decoration: none; }
.sidebar-user-link:hover { color: #fff; }
.sidebar-user-link::after { margin-left: auto; color: rgba(255,255,255,.48); }
.sidebar-user-link img,
.sidebar-user-avatar { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; object-fit: cover; }
.sidebar-user-avatar { display: grid; place-items: center; background: var(--brand-green-progress); }
.sidebar-user-copy { min-width: 0; line-height: 1.2; }
.sidebar-user-copy strong, .sidebar-user-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user-copy strong { max-width: 130px; font-size: .84rem; }
.sidebar-user-copy small { margin-top: .22rem; color: rgba(255,255,255,.52); font-size: .68rem; }
.sidebar-user-menu { margin-top: .55rem !important; }
.sidebar-section + .sidebar-section { margin-top: 1.5rem; }
.sidebar-heading { margin: 0 .75rem .55rem; color: rgba(255,255,255,.46) !important; font-size: .66rem; }
.sidebar .nav-link { color: rgba(255,255,255,.72); padding: .68rem .75rem; border-radius: 7px; font-size: .91rem; }
.sidebar .nav-link i { width: 1.25rem; color: rgba(255,255,255,.55); font-size: 1rem; text-align: center; }
.sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.08); transform: none; }
.sidebar .nav-link:hover i { color: var(--brand-green-progress); }
.sidebar .nav-link.active { color: #fff; background: var(--brand-orange); box-shadow: 0 5px 14px rgba(0,0,0,.12); }
.sidebar .nav-link.active i { color: #fff; }

.sidebar-business { margin-bottom: 1.4rem; padding: .8rem; text-align: center; background: rgba(255,255,255,.06); border-radius: 8px; }
.sidebar-business img { display: block; max-width: 100%; max-height: 64px; margin: 0 auto .5rem; object-fit: contain; }
.sidebar-business span { color: rgba(255,255,255,.58); font-size: .72rem; }
.sidebar-help { margin-top: 1.75rem; padding: 1rem; color: #fff; background: rgba(56,168,117,.16); border: 1px solid rgba(56,168,117,.28); border-radius: 8px; }
.sidebar-help-icon { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: .65rem; color: var(--brand-green-deep); background: var(--brand-green-progress); border-radius: 50%; }
.sidebar-help strong, .sidebar-help span { display: block; }
.sidebar-help .brand-wordmark .brand-adiestra,
.sidebar-help .brand-wordmark .brand-flow { display: inline; }
.sidebar-help .brand-wordmark .brand-adiestra { color: #fff; }
.sidebar-help .brand-wordmark .brand-flow { color: var(--brand-orange); }

.subscription-kpi { box-shadow: 0 5px 18px rgba(18,63,58,.07); }
.subscription-kpi-label { display: block; min-height: 2.5rem; color: var(--brand-muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.subscription-kpi-value { margin-top: .45rem; color: var(--brand-green-deep); font-size: 1.8rem; }
.subscription-kpi-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 12px; font-size: 1.25rem; }
.kpi-green { color: #287f5a; background: var(--brand-green-soft); }
.kpi-orange, .kpi-warning { color: var(--brand-orange-hover); background: #fff1e7; }
.kpi-deep { color: var(--brand-green-deep); background: #e8f1ef; }
.quick-action-link { display: flex; align-items: center; gap: .75rem; padding: .85rem; color: var(--brand-carbon); border: 1px solid var(--brand-border); border-radius: 10px; text-decoration: none; }
.quick-action-link:hover { color: var(--brand-green-deep); background: var(--brand-green-soft); border-color: rgba(56,168,117,.35); }
.quick-action-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; color: #fff; background: var(--brand-green-deep); border-radius: 9px; }
.quick-action-link strong, .quick-action-link small { display: block; }
.quick-action-link strong { font-size: .86rem; }
.quick-action-link small { margin-top: .18rem; color: var(--brand-muted); font-size: .7rem; }
.subscription-chart-lg { position: relative; height: 310px; }
.subscription-chart-sm { position: relative; height: 270px; }
.ai-usage-page .ai-back-button { min-height: 42px; display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; }
.ai-usage-filter { border-left: 4px solid var(--brand-green-progress); }
.ai-usage-filter .form-label { color: var(--brand-muted); font-size: .75rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.ai-usage-filter .form-control { min-height: 42px; }
.ai-usage-filter .btn { min-height: 42px; }
.ai-usage-kpi { overflow: hidden; border-left: 4px solid var(--brand-green-deep); }
.ai-usage-kpi .card-body { padding: 1rem 1.15rem; }
.ai-usage-kpi h3 { color: var(--brand-green-deep); font-size: 1.55rem; }
.ai-usage-kpi-deep { border-left-color: var(--brand-green-deep); }
.ai-usage-kpi-green { border-left-color: var(--brand-green-progress); }
.ai-usage-kpi-soft { border-left-color: #7fa89d; }
.ai-usage-kpi-orange { border-left-color: var(--brand-orange); }
.ai-usage-kpi-orange h3 { color: var(--brand-orange-hover); }
.ai-usage-card { overflow: hidden; }
.ai-usage-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.ai-usage-card-header h5 { color: inherit; font-weight: 800; }
.ai-usage-card-header i { margin-right: .35rem; color: var(--brand-green-progress); }
.ai-usage-page .table { margin-bottom: 0 !important; }
.ai-usage-page .table tbody td { padding-top: .8rem; padding-bottom: .8rem; }
.ai-usage-page .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .85rem; }
.ai-usage-page .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .85rem; }
.ai-usage-page .dataTables_wrapper .form-control,
.ai-usage-page .dataTables_wrapper .form-select { min-height: 38px; border-color: var(--brand-border); }
.ai-usage-page .dataTables_wrapper .page-link { color: var(--brand-green-deep); }
.ai-usage-page .dataTables_wrapper .page-item.active .page-link { color: #fff; background: var(--brand-green-deep); border-color: var(--brand-green-deep); }
.ai-service-badge { color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.25); }
.clients-page-header h2 { color: var(--brand-green-deep); }
.clients-new-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.clients-card { overflow: hidden; }
.clients-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.clients-card-header h5 { color: inherit; font-weight: 800; }
.clients-card-header h5 i { color: var(--brand-green-progress); }
.clients-count { display: inline-flex; align-items: center; padding: .35rem .7rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.22); border-radius: 8px; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.clients-card .table tbody td { padding-top: .85rem; padding-bottom: .85rem; }
.clients-card .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .85rem; }
.clients-card .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .85rem; }
.clients-dogs-link { padding: .45rem .65rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.24); }
.clients-dogs-link:hover { color: #fff; background: var(--brand-green-progress); }
.clients-actions { white-space: nowrap; }
.clients-actions .clients-action + .clients-action { margin-left: .25rem; }
.clients-action { width: 34px; height: 34px; display: inline-grid; place-items: center; padding: 0; }
.dogs-page-header h2 { color: var(--brand-green-deep); }
.dogs-new-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.dogs-card { overflow: hidden; }
.dogs-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.dogs-card-header h5 { color: inherit; font-weight: 800; }
.dogs-card-header h5 i { color: var(--brand-green-progress); }
.dogs-count { display: inline-flex; align-items: center; padding: .35rem .7rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.22); border-radius: 8px; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.dogs-card .table tbody td { padding-top: .8rem; padding-bottom: .8rem; }
.dogs-card .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .85rem; }
.dogs-card .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .85rem; }
.dog-list-placeholder { width: 40px; height: 40px; flex: 0 0 40px; color: var(--brand-green-progress); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.2); }
.dogs-actions { white-space: nowrap; }
.dogs-actions .dogs-action + .dogs-action { margin-left: .25rem; }
.dogs-action { width: 34px; height: 34px; display: inline-grid; place-items: center; padding: 0; }
.dogs-action-view { color: var(--brand-orange-hover); background: transparent; border: 1px solid var(--brand-orange); }
.dogs-action-view:hover { color: #fff; background: var(--brand-orange); border-color: var(--brand-orange); }
.behavioral-page-header h2 { color: var(--brand-green-deep); }
.behavioral-card { overflow: hidden; }
.behavioral-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.behavioral-card-header h5 { color: inherit; font-weight: 800; }
.behavioral-card-header h5 i { color: var(--brand-green-progress); }
.behavioral-count { display: inline-flex; align-items: center; padding: .35rem .7rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.22); border-radius: 8px; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.behavioral-card .table tbody td { padding-top: .8rem; padding-bottom: .8rem; }
.behavioral-card .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .85rem; }
.behavioral-card .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .85rem; }
.behavioral-status { padding: .45rem .65rem; border-radius: 8px; font-weight: 700; }
.behavioral-status-complete { color: #257a55; background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.24); }
.behavioral-status-pending { color: #9a551f; background: #fff1e7; border: 1px solid rgba(242,140,69,.28); }
.behavioral-intensity { min-width: 62px; padding: .4rem .6rem; border-radius: 8px; }
.behavioral-actions { white-space: nowrap; }
.behavioral-action { min-height: 34px; padding: .38rem .7rem; border-radius: 8px !important; white-space: nowrap; }
.behavioral-form-page { max-width: 1100px; }
.behavioral-form-header h1 { color: var(--brand-green-deep); }
.behavioral-form-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.behavioral-form-card { overflow: hidden; border-top: 3px solid var(--brand-green-progress); }
.behavioral-form-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.behavioral-form-card-header h5 { color: inherit; font-weight: 800; }
.behavioral-form-card-header h5 i { color: var(--brand-orange); }
.behavioral-form-card .form-label { color: var(--brand-green-deep); font-size: .8rem; font-weight: 800; }
.behavioral-dog-summary { margin-right: 0; margin-left: 0; background: var(--brand-green-soft); border: 1px solid rgba(56, 168, 117, .22); border-radius: 10px; }
.behavioral-dog-photo { width: 72px; height: 72px; object-fit: cover; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 5px 14px rgba(18, 63, 58, .14); }
.behavioral-dog-placeholder { display: flex; align-items: center; justify-content: center; color: #fff; background: var(--brand-green-progress); font-size: 1.4rem; }
.behavioral-dog-summary h4 { color: var(--brand-green-deep); font-weight: 800; }
.behavioral-dog-meta { line-height: 1.7; }
.behavioral-option { background: #fff; border: 1px solid var(--brand-border); border-radius: 8px; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
.behavioral-option:hover { background: var(--brand-green-soft); border-color: var(--brand-green-progress); box-shadow: 0 4px 12px rgba(18, 63, 58, .08); }
.behavioral-option:has(.form-check-input:checked) { background: var(--brand-green-soft); border-color: var(--brand-green-progress); }
.behavioral-intensity-value { min-width: 44px; color: #fff; background: var(--brand-green-progress); border-radius: 8px; }
.behavioral-intensity-low { background: var(--brand-green-progress); }
.behavioral-intensity-medium { color: var(--brand-green-deep); background: #ffd59f; }
.behavioral-intensity-high { background: #dc3545; }
.behavioral-form-actions .btn { min-width: 170px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
.reports-page-header h2 { color: var(--brand-green-deep); }
.reports-new-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.reports-card { overflow: hidden; }
.reports-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.reports-card-header h5 { color: inherit; font-weight: 800; }
.reports-card-header h5 i { color: var(--brand-green-progress); }
.reports-count { display: inline-flex; align-items: center; padding: .35rem .7rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.22); border-radius: 8px; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.reports-card .table tbody td { padding-top: .8rem; padding-bottom: .8rem; }
.reports-card .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .85rem; }
.reports-card .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .85rem; }
.report-appointment { display: inline-flex; padding: .3rem .55rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border-radius: 7px; font-size: .78rem; font-weight: 800; }
.report-summary { min-width: 230px; max-width: 390px; color: var(--brand-muted); white-space: normal !important; }
.report-pdf-link { display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .55rem; color: #b42332; background: #fff1f2; border: 1px solid rgba(180,35,50,.18); border-radius: 8px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.report-pdf-link:hover { color: #fff; background: #b42332; }
.reports-actions { display: flex; align-items: center; gap: .3rem; white-space: nowrap; }
.report-action { width: 34px; height: 34px; display: inline-grid; place-items: center; padding: 0; }
.medical-page-header h2 { color: var(--brand-green-deep); }
.medical-card { overflow: hidden; }
.medical-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.medical-card-header h5 { color: inherit; font-weight: 800; }
.medical-card-header h5 i { color: var(--brand-green-progress); }
.medical-count { display: inline-flex; align-items: center; padding: .35rem .7rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.22); border-radius: 8px; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.medical-card .table tbody td { padding-top: .8rem; padding-bottom: .8rem; }
.medical-card .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .85rem; }
.medical-card .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .85rem; }
.medical-type { padding: .42rem .62rem; border-radius: 8px; font-weight: 700; }
.medical-type-vaccine { color: #257a55; background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.24); }
.medical-type-deworming { color: var(--brand-green-deep); background: #e8f1ef; border: 1px solid rgba(18,63,58,.16); }
.medical-type-other { color: #9a551f; background: #fff1e7; border: 1px solid rgba(242,140,69,.28); }
.medical-expiry { color: var(--brand-carbon); font-weight: 600; white-space: nowrap; }
.medical-expiry-overdue { color: #b42332; }
.services-page-header h2 { color: var(--brand-green-deep); }
.services-new-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.services-card { overflow: hidden; }
.services-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.services-card-header h5 { color: inherit; font-weight: 800; }
.services-card-header h5 i { color: var(--brand-green-progress); }
.services-count { display: inline-flex; align-items: center; padding: .35rem .7rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.22); border-radius: 8px; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.services-card .table tbody td { padding-top: .8rem; padding-bottom: .8rem; }
.services-card .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .85rem; }
.services-card .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .85rem; }
.service-type, .service-status { padding: .42rem .62rem; border-radius: 8px; font-weight: 700; }
.service-type-package { color: var(--brand-green-deep); background: #e8f1ef; border: 1px solid rgba(18,63,58,.16); }
.service-type-session { color: #257a55; background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.24); }
.service-type-custom { color: #9a551f; background: #fff1e7; border: 1px solid rgba(242,140,69,.28); }
.service-type-other { color: var(--brand-muted); background: #f3f5f4; border: 1px solid var(--brand-border); }
.service-price { color: #257a55; font-weight: 800; white-space: nowrap; }
.service-description { min-width: 210px; max-width: 350px; white-space: normal !important; }
.service-status-active { color: #257a55; background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.24); }
.service-status-inactive { color: var(--brand-muted); background: #f3f5f4; border: 1px solid var(--brand-border); }
.services-actions { white-space: nowrap; }
.service-form-page { max-width: 1200px; }
.service-form-header h1 { color: var(--brand-green-deep); }
.service-form-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.service-form-card { overflow: hidden; border-top: 3px solid var(--brand-orange); }
.service-form-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.service-form-card-header h5 { color: inherit; font-weight: 800; }
.service-form-card-header h5 i { color: var(--brand-green-progress); }
.service-form-card .form-label { color: var(--brand-green-deep); font-size: .8rem; font-weight: 800; }
.service-form-card .form-text { color: var(--brand-muted); }
.service-status-field { padding: 1rem; background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 8px; }
.service-form-actions .btn { min-width: 160px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
.service-action { width: 34px; height: 34px; display: inline-grid; place-items: center; padding: 0; }
.account-settings-header h2 { color: var(--brand-green-deep); }
.account-card { overflow: hidden; }
.account-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.account-card-header h5 { color: inherit; font-weight: 800; }
.account-card-header h5 i { margin-right: .35rem; color: var(--brand-green-progress); }
.account-subscription-card { border-top: 3px solid var(--brand-green-progress); }
.account-period-badge { padding: .4rem .6rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.24); border-radius: 8px; vertical-align: middle; }
.account-plan-price { color: var(--brand-green-deep); font-weight: 800; }
.account-detail-icon { color: var(--brand-green-progress); font-size: 1.45rem; }
.account-detail-icon-orange { color: var(--brand-orange); }
.account-renewal-notice { gap: .35rem; margin-bottom: 1rem; padding: .85rem 1rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.22); border-radius: 8px; }
.account-settings-page .table tbody td { padding-top: .8rem; padding-bottom: .8rem; }
.account-settings-page .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .85rem; }
.account-settings-page .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .85rem; }
.account-payment-status { padding: .42rem .62rem; border-radius: 8px; }
.account-role-badge { padding: .4rem .6rem; color: var(--brand-green-deep); background: #e8f1ef; border: 1px solid rgba(18,63,58,.14); border-radius: 8px; }
.account-verified-card { color: var(--brand-green-deep); background: linear-gradient(145deg, #fff, var(--brand-green-soft)); border-color: rgba(56,168,117,.3); }
.account-cancel-modal .modal-header { border-radius: 8px 8px 0 0; }
.account-cancel-modal .modal-title,
.account-cancel-modal .modal-title i { color: #fff !important; }
.profile-page-header h2 { color: var(--brand-green-deep); }
.profile-card { overflow: hidden; }
.profile-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.profile-card-header h5 { color: inherit; font-weight: 800; }
.profile-card-header h5 i { color: var(--brand-green-progress); }
.profile-page .form-label { color: var(--brand-green-deep); font-size: .78rem; font-weight: 800; }
.profile-page .form-control { min-height: 42px; }
.profile-page input[type="file"].form-control { padding-top: .48rem; }
.profile-upload-preview { width: 100px; height: 100px; object-fit: cover; border-color: var(--brand-border); }
.profile-logo-preview { max-width: 180px; height: 100px; object-fit: contain; border-color: var(--brand-border); }
.profile-preview-card { color: var(--brand-green-deep); background: linear-gradient(145deg, #fff, var(--brand-green-soft)); text-align: left; }
.profile-preview-card h5,
.profile-api-card h5 { color: var(--brand-green-deep); font-weight: 800; }
.profile-preview-card h5::after,
.profile-api-card h5::after { content: ''; display: block; width: 42px; height: 3px; margin-top: .55rem; background: var(--brand-orange); border-radius: 3px; }
.profile-avatar-large { width: 150px; height: 150px; object-fit: cover; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 7px 20px rgba(18,63,58,.15); }
.profile-avatar-placeholder { display: grid; place-items: center; color: var(--brand-green-deep); background: var(--brand-green-soft); }
.profile-avatar-placeholder i { font-size: 4rem; }
.profile-api-card { border-top: 3px solid var(--brand-green-progress); }
.profile-api-card .input-group .btn { min-width: 42px; }
.profile-api-card .btn-outline-success { color: #257a55; border-color: var(--brand-green-progress); }
.profile-api-card .btn-outline-success:hover { color: #fff; background: var(--brand-green-progress); }
#openaiGptModal .modal-title,
#openaiGptModal .modal-title i { color: #fff !important; }
#openaiGptModal .modal-header { background: var(--brand-green-deep) !important; }
.evolution-page-header h2 { color: var(--brand-green-deep); }
.evolution-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.evolution-compare-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.evolution-kpi { overflow: hidden; border-left: 4px solid var(--brand-green-deep); }
.evolution-kpi-deep { border-left-color: var(--brand-green-deep); }
.evolution-kpi-green { border-left-color: var(--brand-green-progress); }
.evolution-kpi-soft { border-left-color: #7fa89d; }
.evolution-kpi-orange { border-left-color: var(--brand-orange); }
.evolution-kpi-value { display: block; color: var(--brand-green-deep); font-size: 1.85rem; font-weight: 800; line-height: 1.2; }
.evolution-kpi-orange .evolution-kpi-value { color: var(--brand-orange-hover); }
.evolution-chart-card,
.evolution-timeline-card { overflow: hidden; }
.evolution-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.evolution-card-header h5 { color: inherit; font-weight: 800; }
.evolution-card-header h5 i { color: var(--brand-green-progress); }
.evolution-chart { position: relative; height: 300px; }
.evolution-session-card { background: #f7f9f8; border: 1px solid var(--brand-border); border-radius: 8px; box-shadow: 0 2px 8px rgba(18,63,58,.05); }
.evolution-report-button { min-height: 34px; border-radius: 8px !important; }
.compare-page { max-width: 1100px; }
.compare-page-header h2 { color: var(--brand-green-deep); }
.compare-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.compare-selector-card,
.compare-results-card { overflow: hidden; }
.compare-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.compare-card-header h5 { color: inherit; font-weight: 800; }
.compare-card-header h5 i { color: var(--brand-green-progress); }
.compare-selector-card { border-top: 3px solid var(--brand-green-progress); }
.compare-selector-card .form-label { color: var(--brand-green-deep); font-size: .76rem; font-weight: 800; }
.compare-selector-card .form-select,
.compare-submit-button { min-height: 42px; }
.compare-submit-button { display: inline-flex; align-items: center; justify-content: center; border-radius: 8px !important; }
.compare-diagnosis-card { overflow: hidden; border-left: 4px solid var(--brand-green-deep); }
.compare-diagnosis-card h4,
.compare-diagnosis-card h6,
.compare-diagnosis-card p { color: inherit; }
.compare-diagnosis-stable { color: var(--brand-green-deep); background: #f3f7f5; border-left-color: #7fa89d; }
.compare-diagnosis-improved { color: #1e6949; background: var(--brand-green-soft); border-left-color: var(--brand-green-progress); }
.compare-diagnosis-regression { color: #9f2230; background: #fff1f2; border-left-color: #dc3545; }
.compare-diagnosis-adjustment { color: #8a4b1e; background: #fff1e7; border-left-color: var(--brand-orange); }
.compare-results-table td:first-child { color: var(--brand-green-deep); }
.compare-results-table tbody td { padding-top: .85rem; padding-bottom: .85rem; }
.compare-empty-card { border-style: dashed; background: #f7f9f8; }
.dog-detail-header h2 { color: var(--brand-green-deep); }
.dog-detail-header-actions .btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
.dog-profile-card { overflow: hidden; border-top: 3px solid var(--brand-green-progress); }
.dog-detail-photo { width: 150px; height: 150px; object-fit: cover; border: 4px solid #fff; box-shadow: 0 7px 20px rgba(18,63,58,.15); }
.dog-detail-photo-placeholder { display: grid; place-items: center; color: var(--brand-green-deep); background: var(--brand-green-soft); }
.dog-detail-photo-placeholder i { font-size: 3.5rem; }
.dog-profile-card > h5 { color: var(--brand-green-deep); font-weight: 800; }
.dog-behavior-summary { background: #f7f9f8; border: 1px solid var(--brand-border); border-radius: 8px; }
.dog-detail-badge { padding: .42rem .62rem; border-radius: 8px; }
.dog-detail-wide-action { min-height: 36px; border-radius: 8px !important; }
.dog-detail-card { overflow: hidden; }
.dog-detail-section-title { color: var(--brand-green-deep); font-weight: 800; }
.dog-detail-section-title i { color: var(--brand-green-progress); }
.dog-detail-card .table { margin-bottom: 0; }
.dog-detail-card .table tbody td { padding-top: .75rem; padding-bottom: .75rem; }
.dog-detail-card .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .75rem; }
.dog-detail-card .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .75rem; }
.dog-detail-card .dataTables_wrapper .dataTables_filter input { min-height: 36px; }
.dog-detail-add-button,
.dog-detail-evolution-button,
.dog-detail-table-button { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px !important; white-space: nowrap; }
.dog-detail-table-actions { white-space: nowrap; }
.dog-vaccine-modal-header { color: #fff; background: var(--menu-green); border-radius: 8px 8px 0 0; }
.dog-vaccine-modal-header .modal-title,
.dog-vaccine-modal-header .modal-title i { color: #fff !important; }
.dog-vaccine-modal-header .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.dog-vaccine-ai-box { background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.24); border-radius: 8px; }
.dog-vaccine-modal .form-label { color: var(--brand-green-deep); font-size: .78rem; font-weight: 800; }
.client-detail-header h2 { color: var(--brand-green-deep); }
.client-detail-header-actions .btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
.client-contact-card { overflow: hidden; border-top: 3px solid var(--brand-green-progress); }
.client-detail-section-title { color: var(--brand-green-deep); font-weight: 800; }
.client-detail-section-title i { color: var(--brand-green-progress); }
.client-kpi { overflow: hidden; justify-content: center; text-align: left; border-left: 4px solid var(--brand-green-deep); }
.client-kpi h6 { min-height: 2.1rem; font-size: .75rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.client-kpi h3 { color: var(--brand-green-deep); font-size: 1.65rem; }
.client-kpi-deep { border-left-color: var(--brand-green-deep); }
.client-kpi-soft { border-left-color: #7fa89d; }
.client-kpi-green { border-left-color: var(--brand-green-progress); }
.client-kpi-orange { border-left-color: var(--brand-orange); }
.client-kpi-orange h3 { color: var(--brand-orange-hover); }
.client-detail-card { overflow: hidden; }
.client-detail-card .table { margin-bottom: 0; }
.client-detail-card .table tbody td { padding-top: .75rem; padding-bottom: .75rem; }
.client-detail-card .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: .75rem; }
.client-detail-card .dataTables_wrapper > .row:last-child { align-items: center; padding-top: .75rem; }
.client-detail-add-button,
.client-detail-table-button { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px !important; white-space: nowrap; }
.client-appointments-card { border-top: 3px solid var(--brand-orange); }
.client-appointments-actions .btn { min-width: 132px; }
.client-appointment-type,
.client-appointment-status { padding: .42rem .62rem; border-radius: 8px; font-weight: 700; }
.client-appointment-type-training { color: var(--brand-green-deep); background: var(--brand-green-soft); }
.client-appointment-type-walk { color: #1f694c; background: #e1f4ea; }
.client-appointment-type-evaluation { color: #8b481d; background: #fff0e5; }
.client-appointment-type-default { color: var(--brand-carbon); background: #edf1ef; }
.client-appointment-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: .35rem; white-space: nowrap; }
.client-appointment-actions .agenda-action { flex: 0 0 34px; border-radius: 8px !important; }
.client-boarding-type { padding: .42rem .62rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56,168,117,.24); border-radius: 8px; }
.report-create-page { max-width: 1200px; }
.report-create-header h1,
.report-create-header h2 { color: var(--brand-green-deep); }
.report-create-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.report-create-dog-card { overflow: hidden; background: linear-gradient(145deg, #fff, var(--brand-green-soft)); border-left: 4px solid var(--brand-green-progress); }
.report-create-dog-photo { width: 70px; height: 70px; object-fit: cover; border: 3px solid #fff; box-shadow: 0 4px 12px rgba(18,63,58,.12); }
.report-create-dog-placeholder { display: grid; place-items: center; color: var(--brand-green-deep); background: #fff; }
.report-create-dog-placeholder i { font-size: 1.8rem; }
.report-create-tutor-button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px !important; }
.report-create-behavior-card { overflow: hidden; }
.report-create-severity { padding: .48rem .7rem; border-radius: 8px; }
.report-create-info-alert { color: var(--brand-green-deep); background: #f7f9f8; border-left-color: #7fa89d; }
.report-training-level-card { overflow: hidden; border-left: 4px solid var(--brand-orange); background: #fff; }
.report-training-level-card .form-label { color: var(--brand-green-deep) !important; }
.report-training-select { color: var(--brand-green-deep) !important; background-color: #fff; border: 2px solid var(--brand-green-progress) !important; border-radius: 8px !important; }
.report-form-card,
.report-summary-card { overflow: hidden; }
.report-form-card { border-top: 3px solid var(--brand-green-progress); }
.report-form-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.report-form-card-header h5 { color: inherit !important; }
.report-form-card-header h5 i { color: var(--brand-green-progress); }
.report-create-page .form-label { color: var(--brand-green-deep); font-size: .78rem; font-weight: 800; }
.report-ai-open { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
.report-dog-accordion-item { overflow: hidden; border: 1px solid var(--brand-border); border-left: 4px solid var(--brand-orange); border-radius: 10px !important; box-shadow: 0 5px 16px rgba(18,63,58,.07); }
.report-dog-accordion-button { color: var(--brand-green-deep) !important; background: #f8fbfa !important; }
.report-dog-accordion-button:not(.collapsed) { color: var(--brand-green-deep) !important; background: var(--brand-green-soft) !important; box-shadow: inset 0 -1px 0 var(--brand-border); }
.report-dog-accordion-button:focus { border-color: var(--brand-green-progress); box-shadow: 0 0 0 .2rem rgba(56,168,117,.16); }
.report-dog-accordion-photo { width: 40px; height: 40px; flex: 0 0 auto; object-fit: cover; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 3px 9px rgba(18,63,58,.12); }
.report-role-badge { padding: .38rem .55rem; color: var(--brand-green-deep); background: #fff; border: 1px solid var(--brand-border); border-radius: 7px; }
.report-create-page .report-dog-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 0; border-bottom-color: var(--brand-border); scrollbar-width: thin; }
.report-create-page .report-dog-tabs .nav-link { min-height: 44px; display: inline-flex; align-items: center; color: var(--brand-muted); border-radius: 8px 8px 0 0; font-weight: 700; white-space: nowrap; }
.report-create-page .report-dog-tabs .nav-link:hover { color: var(--brand-green-deep); background: var(--brand-green-soft); border-color: transparent; }
.report-create-page .report-dog-tabs .nav-link.active { color: var(--brand-green-deep); background: #fff; border-color: var(--brand-border) var(--brand-border) #fff; }
.report-create-page .report-dog-tabs .nav-link i { color: var(--brand-green-progress); }
.report-create-page .table thead th { color: var(--brand-green-deep); background: #f4f8f7; border-color: var(--brand-border); font-size: .72rem; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.report-create-page .table tbody td { border-color: var(--brand-border); }
.report-create-actions .btn { min-width: 180px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.report-ai-modal-content { overflow: hidden; border: 0; border-radius: 10px; box-shadow: 0 16px 40px rgba(2,47,40,.22); }
.report-tabs-header { background: #fff; border-bottom: 1px solid var(--brand-border); }
.report-create-page .nav-pills { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .65rem; scrollbar-width: thin; }
.report-create-page .nav-pills .nav-link { color: var(--brand-green-deep); background: #f7f9f8; border: 1px solid var(--brand-border); border-radius: 8px !important; white-space: nowrap; }
.report-create-page .nav-pills .nav-link:hover { background: var(--brand-green-soft); border-color: rgba(56,168,117,.35); }
.report-create-page .nav-pills .nav-link.active { color: #fff; background: var(--brand-green-deep); border-color: var(--brand-green-deep); }
.report-create-page .tab-pane > h4 { color: var(--brand-green-deep) !important; border-bottom-color: var(--brand-border) !important; }
.report-create-page .btn.rounded-pill:not(.rounded-circle) { border-radius: 8px !important; }
.report-create-page .form-control.rounded-3 { border-radius: 8px !important; }
.report-summary-card { border-top: 3px solid var(--brand-green-progress); }
.report-summary-card h5 { color: var(--brand-green-deep) !important; }
.report-create-action-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px !important; }
.report-ai-modal-header { color: #fff; background: var(--menu-green); border-radius: 8px 8px 0 0; }
.report-ai-modal-header .modal-title,
.report-ai-modal-header .modal-title i { color: #fff !important; }
.report-ai-modal-header .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.coupon-form-page { max-width: 1200px; }
.coupon-form-header h2 { color: var(--brand-green-deep); }
.coupon-form-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.coupon-code-highlight { display: inline-flex; padding: .18rem .45rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border-radius: 6px; font-size: .9em; letter-spacing: .04em; }
.coupon-form-card { overflow: hidden; border-top: 3px solid var(--brand-orange); }
.coupon-form-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.coupon-form-card-header h5 { color: inherit; font-weight: 800; }
.coupon-form-card-header h5 i { color: var(--brand-green-progress); }
.coupon-form-card .form-label { color: var(--brand-green-deep); font-size: .78rem; font-weight: 800; }
.coupon-form-card .form-text { color: var(--brand-muted); }
.coupon-form-actions .btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; min-width: 145px; }
.client-form-page { max-width: 1200px; }
.client-form-header h2 { color: var(--brand-green-deep); }
.client-form-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.client-form-card { overflow: hidden; border-top: 3px solid var(--brand-green-progress); }
.client-form-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.client-form-card-header h5 { color: inherit; font-weight: 800; }
.client-form-card-header h5 i { color: var(--brand-green-progress); }
.client-form-card .form-label { color: var(--brand-green-deep); font-size: .78rem; font-weight: 800; }
.client-form-actions .btn { min-height: 42px; min-width: 155px; display: inline-flex; align-items: center; justify-content: center; }
.dog-form-page { max-width: 1200px; }
.dog-form-header h1 { color: var(--brand-green-deep); }
.dog-form-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.dog-form-card { overflow: hidden; border-top: 3px solid var(--brand-green-progress); }
.dog-form-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.dog-form-card-header h5 { color: inherit; font-weight: 800; }
.dog-form-card-header h5 i { color: var(--brand-green-progress); }
.dog-form-card .form-label { color: var(--brand-green-deep); font-size: .78rem; font-weight: 800; }
.dog-form-photo-preview { width: 150px; height: 150px; object-fit: cover; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 7px 20px rgba(18, 63, 58, .15); }
.dog-form-actions .btn { min-height: 42px; min-width: 155px; display: inline-flex; align-items: center; justify-content: center; }
.dog-form-page #breedDropdown .dropdown-menu { max-height: 350px; border: 1px solid var(--brand-border) !important; border-radius: 8px; box-shadow: 0 10px 25px rgba(18, 63, 58, .12) !important; }
.dog-form-page #breedDropdown .dropdown-item { transition: background-color .2s ease, color .2s ease; }
.dog-form-page #breedDropdown .dropdown-item:hover { color: var(--brand-green-deep); background: var(--brand-green-soft); }
.dog-form-page #breedDropdown .dropdown-item.active { color: #fff !important; background: var(--brand-green-deep) !important; }
.dog-form-page #breedList::-webkit-scrollbar { width: 6px; }
.dog-form-page #breedList::-webkit-scrollbar-track { background: var(--brand-green-soft); border-radius: 10px; }
.dog-form-page #breedList::-webkit-scrollbar-thumb { background: var(--brand-green-progress); border-radius: 10px; }
.dog-form-page #breedList::-webkit-scrollbar-thumb:hover { background: var(--brand-green-deep); }
.agenda-form-page { max-width: 1200px; }
.agenda-form-header h1 { color: var(--brand-green-deep); }
.agenda-form-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.agenda-form-card { overflow: visible; border-top: 3px solid var(--brand-orange); }
.agenda-form-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.agenda-form-card-header h5 { color: inherit; font-weight: 800; }
.agenda-form-card-header h5 i { color: var(--brand-green-progress); }
.agenda-form-card .form-label { color: var(--brand-green-deep); font-size: .8rem; font-weight: 800; }
.agenda-form-card .dropdown-menu-custom { max-height: 300px; border: 1px solid var(--brand-border); border-radius: 8px; box-shadow: 0 10px 25px rgba(18, 63, 58, .12) !important; }
.agenda-form-card .dropdown-item-custom { transition: background-color .2s ease, color .2s ease; }
.agenda-form-card .dropdown-item-custom:hover { color: var(--brand-green-deep); background: var(--brand-green-soft); }
.agenda-form-card .dropdown-item-custom.active { color: #fff !important; background: var(--brand-green-deep); }
.agenda-form-card .select-scrollbar::-webkit-scrollbar { width: 6px; }
.agenda-form-card .select-scrollbar::-webkit-scrollbar-track { background: var(--brand-green-soft); border-radius: 10px; }
.agenda-form-card .select-scrollbar::-webkit-scrollbar-thumb { background: var(--brand-green-progress); border-radius: 10px; }
.agenda-form-card .select-scrollbar::-webkit-scrollbar-thumb:hover { background: var(--brand-green-deep); }
.agenda-form-card .recurrence-summary { color: var(--brand-green-deep); background: var(--brand-green-soft); border-left: 4px solid var(--brand-green-progress); border-radius: 6px; font-size: .9rem; }
.agenda-recurrence-panel { background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 8px; }
.agenda-form-actions .btn { min-width: 160px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
.agenda-recurrence-modal { overflow: hidden; border: 0; border-radius: 10px; box-shadow: 0 16px 40px rgba(2, 47, 40, .22); }
.agenda-recurrence-modal .btn-day { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid transparent; border-radius: 50%; font-size: .9rem; font-weight: 700; transition: all .2s ease; }
.agenda-recurrence-modal .btn-day:hover { border-color: var(--brand-green-progress); background: #dff3e9; }
.agenda-recurrence-modal .btn-day.active { color: #fff !important; background: var(--brand-green-progress); }
.walk-tracking-page { max-width: 900px; }
.walk-tracking-header h1 { color: var(--brand-green-deep); }
.walk-tracking-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.walk-tracking-card { overflow: hidden; border-top: 3px solid var(--brand-orange); }
.walk-tracking-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.walk-tracking-card-header h5 { color: inherit; font-weight: 800; }
.walk-tracking-card-header h5 i { color: var(--brand-green-progress); }
.walk-status { display: inline-flex; align-items: center; align-self: flex-start; padding: .5rem .75rem; border-radius: 8px; font-weight: 800; }
.walk-status-ready { color: var(--brand-green-deep); background: #eef3f2; border: 1px solid var(--brand-border); }
.walk-status-active { color: #216f4e; background: var(--brand-green-soft); border: 1px solid rgba(56, 168, 117, .28); }
.walk-status-complete { color: #fff; background: var(--brand-green-deep); border: 1px solid var(--brand-green-deep); }
.walk-map { width: 100%; height: 320px; overflow: hidden; border: 1px solid var(--brand-border); border-radius: 10px; box-shadow: 0 7px 18px rgba(18, 63, 58, .1); }
.walk-timer { color: var(--brand-green-deep); font-size: clamp(2rem, 8vw, 3.2rem); font-weight: 800; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.walk-primary-action { width: 100%; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; font-size: 1rem; font-weight: 800; }
.walk-event-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; color: var(--brand-green-deep); background: #fff8f1; border: 1px solid rgba(242, 140, 69, .35); border-radius: 8px; font-weight: 700; }
.walk-event-button:hover { color: var(--brand-green-deep); background: #ffead8; border-color: var(--brand-orange); }
.walk-event-water { color: #17677a; background: #edf9fc; border-color: #b8e2eb; }
.walk-event-water:hover { color: #125769; background: #dff3f7; border-color: #78c7d7; }
.walk-event-complete { color: #fff !important; background: var(--brand-green-progress) !important; border-color: var(--brand-green-progress) !important; }
.walk-photos-preview:empty { display: none !important; }
.walk-photos-preview img { width: 96px; height: 80px; flex: 0 0 auto; object-fit: cover; border: 2px solid #fff; border-radius: 8px !important; box-shadow: 0 4px 12px rgba(18, 63, 58, .13); }
.walk-summary-page { max-width: 1000px; }
.walk-summary-header h1 { color: var(--brand-green-deep); }
.walk-summary-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.walk-summary-card { overflow: hidden; border-top: 3px solid var(--brand-orange); }
.walk-summary-hero { padding: 2rem 1.5rem; background: var(--brand-green-deep); }
.walk-summary-hero-icon { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: .75rem; color: var(--brand-green-deep); background: var(--brand-orange); border-radius: 50%; font-size: 1.45rem; }
.walk-summary-section-title { display: flex; align-items: center; padding-bottom: .65rem; margin-bottom: 1rem; color: var(--brand-green-deep); border-bottom: 1px solid var(--brand-border); font-size: 1rem; font-weight: 800; }
.walk-summary-section-title i { color: var(--brand-green-progress); }
.walk-summary-map { width: 100%; height: 350px; overflow: hidden; border: 1px solid var(--brand-border); border-radius: 10px; box-shadow: 0 7px 18px rgba(18, 63, 58, .1); }
.walk-summary-empty { padding: .75rem 1rem; color: var(--brand-muted); background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 8px; font-size: .86rem; }
.walk-summary-metric { height: 100%; padding: 1rem .75rem; background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 10px; }
.walk-summary-metric > i { color: var(--brand-orange); font-size: 1.65rem; }
.walk-summary-metric-value { margin: .45rem 0 .15rem; color: var(--brand-green-deep); font-size: 1.3rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.walk-summary-dog-name { overflow-wrap: anywhere; font-size: 1.05rem; }
.walk-summary-activity { flex: 1; padding: .85rem 1rem; color: var(--brand-muted); background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 8px; text-align: center; }
.walk-summary-activity.is-complete { color: #216f4e; background: var(--brand-green-soft); border-color: rgba(56, 168, 117, .28); }
.walk-summary-photo { width: 100%; height: 200px; object-fit: cover; border: 3px solid #fff; border-radius: 10px; box-shadow: 0 5px 14px rgba(18, 63, 58, .14); }
.walk-summary-actions .btn { min-height: 42px; min-width: 155px; display: inline-flex; align-items: center; justify-content: center; }
.boarding-detail-page { max-width: 1500px; }
.boarding-detail-header h1 { color: var(--brand-green-deep); }
.boarding-detail-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.boarding-detail-actions .btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; }
.boarding-detail-page .card-custom { border: 1px solid var(--brand-border); border-radius: 10px; box-shadow: 0 5px 16px rgba(18, 63, 58, .07); }
.boarding-detail-page .card-custom h5,
.boarding-detail-page .card-custom h6 { color: var(--brand-green-deep); font-weight: 800; }
.boarding-detail-page .card-custom h5 > i { color: var(--brand-green-progress); }
.boarding-detail-status-card { border-top: 3px solid var(--brand-orange) !important; }
.boarding-detail-status-card a:not(.btn) { color: var(--brand-green-progress); font-weight: 700; }
.boarding-detail-dogs-card { border-top: 3px solid var(--brand-green-progress) !important; }
.boarding-detail-dog { background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 8px; }
.boarding-detail-dog:last-child { margin-bottom: 0 !important; }
.boarding-detail-dog-photo { width: 56px; height: 56px; flex: 0 0 auto; object-fit: cover; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 4px 12px rgba(18, 63, 58, .13); }
.boarding-detail-dog-placeholder { display: flex; align-items: center; justify-content: center; color: #fff; background: var(--brand-green-progress); }
.boarding-detail-page .nav-tabs { gap: .2rem; border-bottom-color: var(--brand-border); }
.boarding-detail-page .nav-tabs .nav-link { color: var(--brand-muted); border-radius: 8px 8px 0 0; font-weight: 700; }
.boarding-detail-page .nav-tabs .nav-link:hover { color: var(--brand-green-deep); background: var(--brand-green-soft); border-color: transparent; }
.boarding-detail-page .nav-tabs .nav-link.active { color: var(--brand-green-deep); background: #fff; border-color: var(--brand-border) var(--brand-border) #fff; }
.boarding-detail-page .tab-content > .tab-pane > .card { border-top-left-radius: 0; }
.boarding-detail-page .table thead th { color: var(--brand-green-deep); background: #f4f8f7; }
.boarding-detail-tabs { margin-bottom: 0 !important; padding-left: .75rem; }
.boarding-detail-tabs .nav-link { min-height: 48px; display: inline-flex; align-items: center; padding: .7rem 1rem; }
.boarding-detail-tabs .nav-link i { color: var(--brand-orange); }
.boarding-detail-tabs .nav-link.active i { color: var(--brand-green-progress); }
.boarding-payments-card { border-radius: 0 0 10px 10px !important; }
.boarding-tab-toolbar { padding-bottom: .85rem; border-bottom: 1px solid var(--brand-border); }
.boarding-tab-toolbar h6 { font-size: 1rem; }
.boarding-register-payment { min-height: 40px; padding-right: .85rem; padding-left: .85rem; border-radius: 8px !important; font-weight: 800; }
.boarding-payments-table { margin-bottom: 0; }
.boarding-payments-table thead th { padding: .85rem 1rem; border-bottom: 1px solid var(--brand-border); font-size: .74rem; letter-spacing: .05em; text-transform: uppercase; }
.boarding-payments-table tbody td { padding: 1rem; border-color: var(--brand-border); }
.boarding-payment-date { display: block; color: var(--brand-green-deep); font-weight: 700; white-space: nowrap; }
.boarding-payment-date + small { display: block; color: var(--brand-muted); }
.boarding-payment-method { display: inline-flex; align-items: center; padding: .4rem .6rem; color: var(--brand-green-deep); background: var(--brand-green-soft); border-radius: 7px; font-size: .8rem; font-weight: 800; white-space: nowrap; }
.boarding-payment-notes { color: var(--brand-muted); }
.boarding-payment-amount { display: inline-flex; padding: .42rem .65rem; color: #216f4e; background: var(--brand-green-soft); border: 1px solid rgba(56, 168, 117, .24); border-radius: 7px; font-weight: 800; white-space: nowrap; }
.boarding-detail-summary-card,
.boarding-detail-finance-card { border-top: 3px solid var(--brand-green-progress) !important; }
.boarding-detail-finance-card { position: sticky; top: 88px; }
.boarding-detail-finance-card .btn-success { min-height: 42px; border-radius: 8px; }
.report-detail-page { max-width: 1600px; }
.report-detail-header h1 { color: var(--brand-green-deep); }
.report-detail-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.report-level-badge { padding: .42rem .62rem; border-radius: 8px; font-size: .72rem; vertical-align: middle; }
.report-level-professional { color: #8b4e1d; background: #fff0df; border: 1px solid rgba(242, 140, 69, .3); }
.report-level-commercial { color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56, 168, 117, .25); }
.report-detail-actions .btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding-right: 1rem; padding-left: 1rem; border-radius: 8px; }
.report-detail-page .card { border: 1px solid var(--brand-border) !important; border-radius: 10px !important; box-shadow: 0 5px 16px rgba(18, 63, 58, .07) !important; }
.report-detail-page .card > .card-body > h5.text-primary,
.report-detail-page .card h5.text-primary { color: var(--brand-green-deep) !important; }
.report-detail-page .card h5.text-primary i { color: var(--brand-green-progress); }
.report-detail-card { border-top: 3px solid var(--brand-green-progress) !important; }
.report-detail-dog-photo { width: 56px; height: 56px; object-fit: cover; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 4px 12px rgba(18, 63, 58, .14); }
.report-detail-dog-placeholder { display: flex; align-items: center; justify-content: center; color: #fff; background: var(--brand-green-progress); }
.report-progress-card { overflow: hidden; border: 0 !important; box-shadow: 0 7px 18px rgba(18, 63, 58, .12) !important; }
.report-progress-card .badge { border-radius: 8px !important; }
.report-detail-page .table { margin-bottom: 0; }
.report-detail-page .table thead th { padding: .8rem .7rem; color: var(--brand-green-deep); background: #f4f8f7; border-color: var(--brand-border); font-size: .72rem; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.report-detail-page .table tbody td { border-color: var(--brand-border); }
.report-detail-page .list-group-item { border-radius: 8px !important; }
.report-detail-page .badge.rounded-pill { border-radius: 8px !important; }
.report-pdf-preview { height: 650px; overflow: hidden; border: 1px solid var(--brand-border); border-radius: 8px; box-shadow: 0 4px 12px rgba(18, 63, 58, .08); }
.report-detail-page iframe { width: 100%; height: 100%; border: 0; }
.report-overview-card,
.report-participants-card { border-top: 3px solid var(--brand-green-progress) !important; }
.report-participants-card { background: #f8fbfa; }
.report-participants-card .list-group-item { padding-top: .8rem; padding-bottom: .8rem; }
.report-participant-photo { width: 42px; height: 42px; flex: 0 0 auto; object-fit: cover; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 3px 10px rgba(18,63,58,.12); }
.report-participant-progress { min-width: 48px; padding: .42rem .55rem; color: #fff; background: var(--brand-green-deep); border-radius: 7px; text-align: center; }
.report-evaluation-item { overflow: hidden; border: 1px solid var(--brand-border); border-left: 4px solid var(--brand-orange); border-radius: 10px !important; box-shadow: 0 6px 20px rgba(18,63,58,.08); }
.report-evaluation-button { color: var(--brand-green-deep) !important; background: #f8fbfa !important; }
.report-evaluation-button:not(.collapsed) { color: var(--brand-green-deep) !important; background: var(--brand-green-soft) !important; box-shadow: inset 0 -1px 0 var(--brand-border); }
.report-evaluation-button:focus { border-color: var(--brand-green-progress); box-shadow: 0 0 0 .2rem rgba(56,168,117,.16); }
.report-evaluation-photo { width: 38px; height: 38px; flex: 0 0 auto; object-fit: cover; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 3px 9px rgba(18,63,58,.12); }
.report-evaluation-metric { height: 100%; padding: 1rem; color: var(--brand-green-deep); background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 8px; text-align: center; }
.report-detail-section { padding: 1.15rem; background: #fff; border: 1px solid var(--brand-border); border-radius: 9px; box-shadow: 0 3px 10px rgba(18,63,58,.035); }
.report-detail-section h6 { color: var(--brand-orange-hover) !important; }
.report-detail-section .table-responsive { max-height: 360px; }
.report-detail-section .table { background: #fff; }
.dashboard-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.dashboard-page { max-width: 1600px; }
.dashboard-welcome { min-width: 260px; }
.dashboard-welcome h1 { color: var(--brand-green-deep); }
.dashboard-eyebrow { display: block; margin-bottom: .3rem; color: var(--brand-green-progress); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-date-filter { display: flex; align-items: flex-end; gap: .75rem; padding: 1rem; background: #fff; border: 1px solid var(--brand-border); border-radius: 12px; box-shadow: 0 3px 12px rgba(18,63,58,.06); }
.dashboard-kpi { min-height: 124px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem; overflow: hidden; border-left: 4px solid var(--brand-green-deep); }
.dashboard-kpi-label { display: block; margin-bottom: .4rem; color: var(--brand-muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.dashboard-kpi-value { display: block; color: var(--brand-green-deep); font-size: 1.65rem; line-height: 1.15; overflow-wrap: anywhere; }
.dashboard-kpi-icon { width: 46px; height: 46px; flex: 0 0 46px; display: inline-flex; align-items: center; justify-content: center; color: var(--brand-green-deep); background: #e8f1ef; border-radius: 10px; font-size: 1.2rem; }
.dashboard-kpi-soft { border-left-color: #7fa89d; }
.dashboard-kpi-green { border-left-color: var(--brand-green-progress); }
.dashboard-kpi-green .dashboard-kpi-icon { color: #257a55; background: var(--brand-green-soft); }
.dashboard-kpi-orange { border-left-color: var(--brand-orange); }
.dashboard-kpi-orange .dashboard-kpi-value { color: var(--brand-orange-hover); }
.dashboard-kpi-orange .dashboard-kpi-icon { color: var(--brand-orange-hover); background: #fff1e7; }
.dashboard-chart-card,
.dashboard-table-card { overflow: hidden; border-top: 3px solid var(--brand-green-progress); }
.dashboard-chart-card-orange { border-top-color: var(--brand-orange); }
.dashboard-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.dashboard-card-header h5 { color: inherit; font-weight: 800; }
.dashboard-card-header h5 i,
.dashboard-table-card h5 i { color: var(--brand-green-progress); }
.dashboard-chart { position: relative; width: 100%; }
.dashboard-chart-small { height: 260px; }
.dashboard-chart-large { height: 330px; }
.dashboard-table-card h5 { color: var(--brand-green-deep); font-weight: 800; }
.dashboard-table-card .table { margin-bottom: 0; }
.dashboard-table-card .table thead th { color: var(--brand-green-deep); background: #f4f8f7; font-size: .72rem; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.dashboard-table-card .table tbody td { border-color: var(--brand-border); }
.dashboard-table-card .btn-sm { border-radius: 7px !important; white-space: nowrap; }
.dashboard-reservation-count { color: var(--brand-green-deep); background: var(--brand-green-soft); border: 1px solid rgba(56, 168, 117, .24); border-radius: 7px; }
.dashboard-appointment-type { padding: .4rem .6rem; border-radius: 7px; font-weight: 700; }
.dashboard-type-training { color: #fff; background: var(--brand-green-deep); }
.dashboard-type-walk { color: #216f4e; background: var(--brand-green-soft); }
.dashboard-type-evaluation { color: #8b4e1d; background: #fff0df; }
.date-filter-field { min-width: 155px; }
.date-filter-field .form-label { margin: 0 0 .35rem .15rem; color: var(--brand-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.date-input-wrap { position: relative; }
.date-input-wrap > i { position: absolute; left: .75rem; top: 50%; z-index: 2; color: var(--brand-green-progress); transform: translateY(-50%); pointer-events: none; }
.date-input-wrap .form-control { min-height: 40px; padding-left: 2.25rem; font-size: .84rem; }
.date-filter-actions { display: flex; gap: .5rem; }
.date-filter-actions .btn { min-height: 40px; white-space: nowrap; }
.dog-list-photo { width: 40px; height: 40px; flex: 0 0 40px; object-fit: cover; border: 2px solid #fff; box-shadow: 0 2px 7px rgba(18,63,58,.12); }
.finance-hotel-card { border-left: 4px solid var(--brand-orange) !important; }
.finance-source-hotel { color: #8a4b1e; background: #fff1e7; }
.finance-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.finance-toolbar-actions { display: flex; align-items: flex-end; gap: .75rem; }
.finance-toolbar .dashboard-date-filter { padding: .75rem; }
.finance-new-income { min-height: 42px; display: inline-flex; align-items: center; white-space: nowrap; }
.finance-debts-card { border-left: 4px solid #dc3545 !important; }
.finance-form-page { max-width: 1200px; }
.finance-form-header h1 { color: var(--brand-green-deep); }
.finance-form-page .breadcrumb a { color: var(--brand-green-progress); text-decoration: none; }
.finance-form-card { overflow: visible; border-top: 3px solid var(--brand-orange); }
.finance-form-card-header { padding: 1rem 1.25rem; color: var(--brand-green-deep); background: #fff; border-bottom: 1px solid var(--brand-border); }
.finance-form-card-header h5 { color: inherit; font-weight: 800; }
.finance-form-card-header h5 i { color: var(--brand-green-progress); }
.finance-form-card .form-label { color: var(--brand-green-deep); font-size: .8rem; font-weight: 800; }
.finance-form-card .form-text { color: var(--brand-muted); }
.finance-form-card #clientDropdown .dropdown-menu { max-height: 350px; border: 1px solid var(--brand-border) !important; border-radius: 8px; box-shadow: 0 10px 25px rgba(18, 63, 58, .12) !important; }
.finance-form-card #clientDropdown .dropdown-item { transition: background-color .2s ease, color .2s ease; }
.finance-form-card #clientDropdown .dropdown-item:hover { color: var(--brand-green-deep); background: var(--brand-green-soft); }
.finance-form-card #clientDropdown .dropdown-item.active { color: #fff; background: var(--brand-green-deep); }
.finance-form-card #clientList::-webkit-scrollbar { width: 6px; }
.finance-form-card #clientList::-webkit-scrollbar-track { background: var(--brand-green-soft); border-radius: 10px; }
.finance-form-card #clientList::-webkit-scrollbar-thumb { background: var(--brand-green-progress); border-radius: 10px; }
.finance-form-card #clientList::-webkit-scrollbar-thumb:hover { background: var(--brand-green-deep); }
.finance-debt-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; color: var(--brand-green-deep); background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 8px; font-weight: 800; }
.finance-debt-summary strong { padding: .35rem .6rem; border-radius: 7px; white-space: nowrap; }
.finance-debt-summary .is-due { color: #b02a37; background: #fce8ea; }
.finance-debt-summary .is-paid { color: #216f4e; background: var(--brand-green-soft); }
.finance-form-actions .btn { min-width: 175px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }
.boarding-page-header > h2 { margin-bottom: 0; }
.boarding-page-header .btn { border-radius: 10px !important; padding-left: 1rem; padding-right: 1rem; }
.boarding-filter-card .form-label { color: var(--brand-muted); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.boarding-filter-card .form-select { min-height: 42px; }
.agenda-action { width: 34px; height: 34px; display: inline-grid; place-items: center; padding: 0; }
.calendar-card { border-top: 3px solid var(--brand-green-progress) !important; }
.calendar-modal-header { color: #fff; background: var(--brand-green-deep); border-radius: 16px 16px 0 0; }
.calendar-modal-header .modal-title,
.calendar-modal-header .modal-title i { color: #fff !important; }
.calendar-modal-header .btn-close { filter: invert(1) grayscale(100%) brightness(200%); opacity: .85; }
.calendar-modal-header .btn-close:hover { opacity: 1; }
.calendar-modal-actions { display: flex; justify-content: flex-end; gap: .5rem; }
.calendar-modal-actions .btn { margin: 0; }
.fc .fc-toolbar-title { color: var(--brand-green-deep); font-size: 1.3rem; font-weight: 800; }
.fc .fc-col-header-cell-cushion, .fc .fc-daygrid-day-number { color: var(--brand-carbon); text-decoration: none; }
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number { color: var(--brand-green-deep); font-weight: 800; }
@media (max-width: 767.98px) {
    .fc .fc-toolbar { align-items: stretch; flex-direction: column; }
    .fc .fc-toolbar-chunk { display: flex; justify-content: center; }
    .fc .fc-toolbar-title { padding: .35rem 0; font-size: 1.1rem; text-align: center; }
    .fc .fc-button { padding: .35rem .55rem; font-size: .76rem; }
    .calendar-card > .card-body { padding: .75rem !important; }
    .legend-item { margin: .25rem .75rem .25rem 0; }
    .calendar-modal-actions { justify-content: stretch; }
    .calendar-modal-actions .btn { flex: 1 1 calc(50% - .5rem); display: inline-flex; align-items: center; justify-content: center; }
}

/* Mobile tables and DataTables controls */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--brand-green-progress) #eef3f1;
}
.table-responsive::-webkit-scrollbar { height: 7px; }
.table-responsive::-webkit-scrollbar-track { background: #eef3f1; border-radius: 10px; }
.table-responsive::-webkit-scrollbar-thumb { background: var(--brand-green-progress); border-radius: 10px; }
.table td:last-child, .table th:last-child { white-space: nowrap; }
.dataTables_wrapper .dataTables_filter input { margin-left: .45rem; }
.dataTables_wrapper .pagination { flex-wrap: wrap; }
.dataTables_wrapper .page-link { color: var(--brand-green-deep); border-color: var(--brand-border); }
.dataTables_wrapper .page-link:hover { color: #fff; background: var(--brand-green-progress); border-color: var(--brand-green-progress); }
.dataTables_wrapper .page-link:focus { color: var(--brand-green-deep); background: var(--brand-green-soft); border-color: var(--brand-green-progress); box-shadow: 0 0 0 .2rem rgba(56,168,117,.18); }
.dataTables_wrapper .page-item.active .page-link { color: #fff; background: var(--brand-green-deep); border-color: var(--brand-green-deep); }
.dataTables_wrapper .page-item.disabled .page-link { color: #8b9a96; background: #f7f9f8; border-color: var(--brand-border); }
.dataTables_wrapper .form-select:focus,
.dataTables_wrapper .form-control:focus { border-color: var(--brand-green-progress); box-shadow: 0 0 0 .2rem rgba(56,168,117,.14); }

@media (max-width: 767.98px) {
    .table-responsive > table,
    .table-responsive .dataTable { min-width: 680px; }
    .table-responsive .table { margin-bottom: .35rem; }
    .table-responsive .table th,
    .table-responsive .table td { white-space: nowrap; vertical-align: middle; }
    .table-responsive .table td .text-muted,
    .table-responsive .table td small { white-space: normal; min-width: 110px; }
    .dataTables_wrapper > .row:first-child,
    .dataTables_wrapper > .row:last-child { gap: .5rem; }
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate { width: 100%; text-align: left !important; }
    .dataTables_wrapper .dataTables_filter label { display: flex; align-items: center; gap: .5rem; width: 100%; }
    .dataTables_wrapper .dataTables_filter input { flex: 1; min-width: 0; margin-left: 0; }
    .dataTables_wrapper .dataTables_paginate .pagination { justify-content: flex-start !important; margin-top: .35rem !important; }
    .card > .card-body.p-4 { padding: 1rem !important; }
    .card > .card-header.px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
}
@media (max-width: 1199.98px) {
    .finance-toolbar { align-items: stretch; flex-direction: column; }
    .finance-toolbar-actions { align-items: stretch; flex-wrap: wrap; }
    .finance-toolbar-actions .dashboard-date-filter { flex: 1 1 580px; }
    .finance-new-income { align-self: flex-end; }
}
@media (max-width: 767.98px) {
    .finance-toolbar-actions { flex-direction: column; }
    .finance-toolbar-actions .dashboard-date-filter { flex-basis: auto; }
    .finance-new-income { width: 100%; justify-content: center; }
    .finance-form-page { padding-right: 0; padding-left: 0; }
    .finance-form-card > .card-body { padding: 1rem !important; }
    .finance-form-card-header { padding: .9rem 1rem; }
    .finance-form-actions .btn { width: 100%; }
}
@media (max-width: 767.98px) {
    .subscription-chart-lg { height: 280px; }
    .subscription-chart-sm { height: 250px; }
    .ai-usage-page .ai-back-button { width: 100%; justify-content: center; }
    .ai-usage-filter .col-md-4.d-flex { flex-wrap: wrap; }
    .ai-usage-filter .col-md-4.d-flex .btn { flex: 1 1 145px; }
    .ai-usage-card > .card-body { padding: 1rem !important; }
    .ai-usage-card-header { padding: .9rem 1rem; }
    .clients-new-button { width: 100%; }
    .clients-card > .card-body { padding: 1rem !important; }
    .clients-card-header { padding: .9rem 1rem; }
    .dogs-new-button { width: 100%; }
    .dogs-card > .card-body { padding: 1rem !important; }
    .dogs-card-header { padding: .9rem 1rem; }
    .behavioral-card > .card-body { padding: 1rem !important; }
    .behavioral-card-header { padding: .9rem 1rem; }
    .behavioral-form-page { padding-right: 0; padding-left: 0; }
    .behavioral-form-card > .card-body { padding: 1rem !important; }
    .behavioral-form-card-header { padding: .9rem 1rem; }
    .behavioral-dog-summary .col-auto { width: 100%; text-align: center; }
    .behavioral-dog-summary .col { flex-basis: 100%; text-align: center; }
    .behavioral-form-actions .btn { width: 100%; }
    .reports-new-button { width: 100%; }
    .reports-card > .card-body { padding: 1rem !important; }
    .reports-card-header { padding: .9rem 1rem; }
    .medical-card > .card-body { padding: 1rem !important; }
    .medical-card-header { padding: .9rem 1rem; }
    .services-new-button { width: 100%; }
    .services-card > .card-body { padding: 1rem !important; }
    .services-card-header { padding: .9rem 1rem; }
    .service-form-page { padding-right: 0; padding-left: 0; }
    .service-form-card > .card-body { padding: 1rem !important; }
    .service-form-card-header { padding: .9rem 1rem; }
    .service-form-actions .btn { width: 100%; }
    .account-settings-page { padding-left: 0; padding-right: 0; }
    .account-card-header { padding: .9rem 1rem; }
    .account-subscription-actions .btn { flex: 1 1 180px; }
    .profile-card > .card-body { padding: 1rem !important; }
    .profile-card-header { padding: .9rem 1rem; }
    .profile-avatar-large { width: 120px; height: 120px; }
    .evolution-compare-button { width: 100%; }
    .evolution-chart { height: 260px; }
    .evolution-card-header { padding: .9rem 1rem; }
    .evolution-timeline-card > .card-body { padding: 1rem !important; }
    .compare-page { padding-left: 0; padding-right: 0; }
    .compare-card-header { padding: .9rem 1rem; }
    .compare-selector-card > .card-body,
    .compare-results-card > .card-body { padding: 1rem !important; }
    .dog-detail-header-actions { width: 100%; }
    .dog-detail-header-actions .btn { flex: 1 1 130px; }
    .dog-detail-photo { width: 120px; height: 120px; }
    .dog-detail-card { padding: 1rem !important; }
    .dog-detail-card > .d-flex { align-items: stretch !important; flex-direction: column; gap: .75rem; }
    .dog-detail-add-button,
    .dog-detail-evolution-button { width: 100%; }
    .client-detail-header-actions { width: 100%; }
    .client-detail-header-actions .btn { flex: 1 1 130px; }
    .client-detail-card { padding: 1rem !important; }
    .client-detail-card > .d-flex { align-items: stretch !important; flex-direction: column; gap: .75rem; }
    .client-detail-add-button { width: 100%; }
    .report-create-page { padding-left: 0; padding-right: 0; }
    .report-create-dog-card .row { row-gap: .75rem; }
    .report-create-tutor-button { width: 100%; }
    .report-form-card > .card-body,
    .report-summary-card > .card-body { padding: 1rem !important; }
    .report-form-card-header { padding: .9rem 1rem; }
    .report-create-header > div:last-child,
    .report-ai-open { width: 100%; }
    .report-dog-accordion-button > .d-flex { min-width: 0; align-items: flex-start !important; flex-wrap: wrap; }
    .report-dog-accordion-button > .d-flex > span:not(.badge) { min-width: 0; overflow-wrap: anywhere; }
    .report-dog-accordion-item .accordion-body { padding: 1rem !important; }
    .report-create-page .table-responsive { border: 1px solid var(--brand-border); border-radius: 8px; }
    .report-create-actions .btn { width: 100%; }
    .report-tabs-header { padding: 1rem 1rem 0 !important; }
    .report-create-action-button { width: 100%; }
    .coupon-form-page { padding-left: 0; padding-right: 0; }
    .coupon-form-card > .card-body { padding: 1rem !important; }
    .coupon-form-card-header { padding: .9rem 1rem; }
    .coupon-form-actions .btn { width: 100%; }
    .client-form-page { padding-left: 0; padding-right: 0; }
    .client-form-card > .card-body { padding: 1rem !important; }
    .client-form-card-header { padding: .9rem 1rem; }
    .client-form-actions .btn { width: 100%; }
    .dog-form-page { padding-right: 0; padding-left: 0; }
    .dog-form-card > .card-body { padding: 1rem !important; }
    .dog-form-card-header { padding: .9rem 1rem; }
    .dog-form-photo-preview { width: 120px; height: 120px; }
    .dog-form-actions .btn { width: 100%; }
    .agenda-form-page { padding-right: 0; padding-left: 0; }
    .agenda-form-card > .card-body { padding: 1rem !important; }
    .agenda-form-card-header { padding: .9rem 1rem; }
    .agenda-form-actions .btn { width: 100%; }
    .agenda-recurrence-modal .modal-body { padding: 1.25rem !important; }
    .agenda-recurrence-modal #weekdaysContainer { gap: .35rem; overflow-x: auto; }
    .agenda-recurrence-modal .btn-day { width: 34px; min-width: 34px; height: 34px; }
    .walk-tracking-page { padding-right: 0; padding-left: 0; }
    .walk-tracking-card > .card-body { padding: 1rem !important; }
    .walk-tracking-card-header { padding: .9rem 1rem; }
    .walk-map { height: 260px; }
    .walk-event-button { min-height: 48px; padding-right: .45rem; padding-left: .45rem; font-size: .86rem; }
    .walk-summary-page { padding-right: 0; padding-left: 0; }
    .walk-summary-card > .card-body { padding: 1rem !important; }
    .walk-summary-hero { padding: 1.5rem 1rem; }
    .walk-summary-map { height: 270px; }
    .walk-summary-page .row.text-center > [class*="col-"] { width: 100%; }
    .walk-summary-actions .btn { width: 100%; }
    .boarding-detail-page { padding-right: 0; padding-left: 0; }
    .boarding-detail-actions { width: 100%; }
    .boarding-detail-actions .btn { width: 100%; }
    .boarding-detail-page .card-custom { padding: 1rem !important; }
    .boarding-detail-dog > .d-flex { align-items: center !important; }
    .boarding-detail-dog .row > [class*="col-"] { margin-top: .65rem; }
    .boarding-detail-page .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
    .boarding-detail-page .nav-tabs .nav-link { white-space: nowrap; }
    .boarding-detail-tabs { padding-left: 0; }
    .boarding-detail-page .tab-pane .d-flex.justify-content-between { align-items: stretch !important; flex-direction: column; gap: .75rem; }
    .boarding-detail-page .tab-pane .d-flex.justify-content-between .btn { width: 100%; }
    .boarding-payments-table thead { display: none; }
    .boarding-payments-table,
    .boarding-payments-table tbody,
    .boarding-payments-table tr,
    .boarding-payments-table td { display: block; width: 100%; }
    .boarding-payments-table tbody tr { margin-bottom: .85rem; padding: .45rem .75rem; background: #f8fbfa; border: 1px solid var(--brand-border); border-radius: 8px; }
    .boarding-payments-table tbody tr:last-child { margin-bottom: 0; }
    .boarding-payments-table tbody td { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem 0; border: 0; text-align: right !important; }
    .boarding-payments-table tbody td::before { content: attr(data-label); color: var(--brand-green-deep); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
    .boarding-payment-date + small { text-align: right; }
    .boarding-detail-finance-card { position: static; }
    .report-detail-page { padding-right: 0; padding-left: 0; }
    .report-detail-header h1 { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
    .report-detail-actions { width: 100%; }
    .report-detail-actions .btn { width: 100%; }
    .report-detail-page .card > .card-body { padding: 1rem !important; }
    .report-detail-page .row.g-4 > [class*="col-"] { min-width: 0; }
    .report-detail-page .table-responsive { border: 1px solid var(--brand-border); border-radius: 8px; }
    .report-detail-page iframe { min-width: 720px; }
    .report-pdf-preview { height: 520px; overflow: auto; }
    .dashboard-toolbar { align-items: stretch; flex-direction: column; gap: 1rem; }
    .dashboard-date-filter { display: grid; grid-template-columns: 1fr; width: 100%; }
    .dashboard-page { padding-right: 0; padding-left: 0; }
    .dashboard-chart-card > .card-body,
    .dashboard-table-card > .card-body { padding: 1rem !important; }
    .dashboard-card-header { padding: .9rem 1rem; }
    .dashboard-chart-small { height: 240px; }
    .dashboard-chart-large { height: 290px; }
    .dashboard-table-card .card-body > .d-flex { align-items: stretch !important; flex-direction: column; gap: .75rem; }
    .dashboard-table-card .card-body > .d-flex .btn { width: 100%; }
    .date-filter-field { min-width: 0; }
    .date-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .dashboard-toolbar { align-items: stretch; flex-direction: column; gap: 1rem; }
    .dashboard-date-filter { align-self: stretch; }
    .date-filter-field { flex: 1; }
}

@media (min-width: 1200px) {
    .report-detail-page { padding-right: 1.5rem; padding-left: 1.5rem; }
    .report-detail-header { padding: 1rem 1.15rem; background: #fff; border: 1px solid var(--brand-border); border-left: 4px solid var(--brand-green-progress); border-radius: 10px; box-shadow: 0 4px 14px rgba(18,63,58,.05); }
    .report-detail-header > div:first-child { min-width: 0; flex: 1 1 auto; }
    .report-detail-actions { flex: 0 0 auto; flex-wrap: nowrap !important; justify-content: flex-end; max-width: none; }
    .report-detail-page .accordion-body { padding: 1.75rem !important; }
    .report-detail-page #evaluationsAccordion > .accordion-item { margin-bottom: 1.25rem !important; }
    .report-detail-section { min-height: 100%; }
}

@media print {
    .walk-summary-page { max-width: 100% !important; padding: 0 !important; }
    .walk-summary-page .walk-summary-header,
    .walk-summary-page .walk-summary-actions,
    body:has(.walk-summary-page) .navbar,
    body:has(.walk-summary-page) .sidebar { display: none !important; }
    .walk-summary-page .walk-summary-card { border: 0; box-shadow: none; }
    .walk-summary-page .walk-summary-map { height: 500px !important; }
}
.sidebar-help span { margin: .25rem 0 .75rem; color: rgba(255,255,255,.62); font-size: .73rem; line-height: 1.4; }
.sidebar-help a { color: var(--brand-orange); font-size: .76rem; font-weight: 700; text-decoration: none; }

main.col-md-9,
main.col-lg-10 {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin-left: 250px !important;
    padding: 1.5rem 2rem 3rem !important;
}

@media (min-width: 768px) {
    .sidebar,
    .navbar-brand,
    main.col-md-9,
    main.col-lg-10 { transition: width .2s ease, margin-left .2s ease, padding .2s ease; }
    body.sidebar-collapsed .sidebar { width: 82px; }
    body.sidebar-collapsed .navbar-brand { width: 82px; flex-basis: 82px; justify-content: center; padding-left: .75rem !important; padding-right: .75rem !important; }
    body.sidebar-collapsed .navbar-brand span,
    body.sidebar-collapsed .sidebar-user-copy,
    body.sidebar-collapsed .sidebar-user-link::after,
    body.sidebar-collapsed .sidebar-heading,
    body.sidebar-collapsed .sidebar .nav-link span,
    body.sidebar-collapsed .sidebar-business,
    body.sidebar-collapsed .sidebar-help { display: none; }
    body.sidebar-collapsed .navbar-brand img { margin-right: 0 !important; }
    body.sidebar-collapsed .sidebar-scroll { padding-left: .7rem; padding-right: .7rem; }
    body.sidebar-collapsed .sidebar-user-link,
    body.sidebar-collapsed .sidebar .nav-link { justify-content: center; }
    body.sidebar-collapsed .sidebar-user-link img,
    body.sidebar-collapsed .sidebar-user-avatar { width: 36px; height: 36px; flex-basis: 36px; }
    body.sidebar-collapsed .sidebar .nav-link { padding-left: .6rem; padding-right: .6rem; }
    body.sidebar-collapsed .sidebar .nav-link i { width: auto; font-size: 1.1rem; }
    body.sidebar-collapsed .sidebar-section + .sidebar-section { margin-top: .75rem; }
    body.sidebar-collapsed main.col-md-9,
    body.sidebar-collapsed main.col-lg-10 { margin-left: 82px !important; }
}

.card, .card-custom { border-radius: 8px; box-shadow: 0 1px 3px rgba(18,63,58,.08); }
.card-custom:hover { transform: none; box-shadow: 0 4px 12px rgba(18,63,58,.09); }
.table thead th { background: #f7f9f8; }

@media (max-width: 767.98px) {
    header.navbar { min-height: 62px; background: var(--menu-green) !important; }
    .navbar-brand { width: auto; min-height: 62px; flex: 1; }
    header.navbar .nav-link { color: #fff; }
    .sidebar { inset: 62px auto 0 0; width: min(84vw, 290px); height: calc(100vh - 62px); z-index: 1040; }
    main.col-md-9, main.col-lg-10 { width: 100%; margin-left: 0 !important; padding: 1rem 1rem 2.5rem !important; }
}
