/* Modern UI Styles for iVet System - Official Visual Identity Standards */
/* Ajustes finos: alinhado às variáveis de tema em theme.css */

/* Modern Icon Circles */
.icon-circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Modern Gradients */
.bg-gradient-primary {
    background: linear-gradient(45deg, var(--primary-color), var(--primary-hover)) !important;
}

.bg-gradient-success {
    background: linear-gradient(45deg, #28a745, #1e7e34) !important;
}

.bg-gradient-warning {
    background: linear-gradient(45deg, #ffc107, #d39e00) !important;
}

.bg-gradient-info {
    background: linear-gradient(45deg, #17a2b8, #117a8b) !important;
}

.bg-gradient-danger {
    background: linear-gradient(45deg, #dc3545, #c82333) !important;
}

.bg-gradient-secondary {
    background: linear-gradient(45deg, #6c757d, #5a6268) !important;
}

/* Card Hover Effects */
.card-hover {
    transition: all 0.3s ease;
    cursor: pointer;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}

/* Modern Headers */
.modern-header {
    color: var(--primary-color);
    font-weight: 700;
}

.modern-icon {
    color: var(--success-color);
}

.modern-breadcrumb {
    background: transparent;
}

.modern-breadcrumb .breadcrumb-item a {
    color: var(--text-muted);
}

.modern-breadcrumb .breadcrumb-item.active {
    color: var(--text-secondary);
}

/* Page Title */
.page-title {
    color: var(--text-primary);
    font-weight: 700;
    margin-bottom: 0;
    line-height: 1.2;
}

.page-title i {
    color: var(--accent-color);
}

/* Page Header (compact) */
.page-header {
    margin-bottom: 1rem;
}

.page-header .modern-breadcrumb {
    margin-top: 0.5rem;
}

.modern-breadcrumb .breadcrumb {
    margin-bottom: 0;
    padding: 0;
    font-size: 0.875rem;
}

/* Padroniza o espaço entre título e breadcrumb em todas as telas */
.page-header .breadcrumb { margin-top: 0.5rem; }
.page-title + .modern-breadcrumb { margin-top: 0.5rem; }
h1 + nav.breadcrumb, h2 + nav.breadcrumb { margin-top: 0.5rem; }
.breadcrumb { margin-top: 0.5rem; }

/* Modern Card Headers */
.modern-card-header {
    border: 0;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);
    color: #fff;
}

/* Modern Tables */
.modern-table-header {
    background-color: var(--bs-secondary-bg);
}

.modern-table-header th {
    font-weight: bold;
    color: var(--text-primary);
}

/* Shadow utilities */
.shadow-soft {
    box-shadow: 0 4px 10px rgba(0,0,0,0.08) !important;
}

.shadow-strong {
    box-shadow: 0 12px 24px rgba(0,0,0,0.18) !important;
}

/* Modern Buttons */
.btn-modern {
    border-radius: 50px;
    padding: 0.5rem 1.5rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-modern:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Report Card Styles */
.report-card {
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.report-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.report-icon-circle {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Dashboard Statistics Cards */
.stats-card {
    transition: all 0.3s ease;
}

.stats-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}

/* Typography Standards */
.label-uppercase {
    color: var(--text-muted);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.75rem;
}

.value-large {
    font-weight: bold;
    font-size: 1.5rem;
}

.complementary-text {
    font-size: 0.875rem;
}

/* Spacing Standards */
.modern-spacing-sm {
    margin-bottom: 1rem;
}

.modern-spacing-md {
    margin-bottom: 2rem;
}

.modern-spacing-lg {
    margin-bottom: 3rem;
}

/* Spacing utilities */
.space-xs { margin-bottom: 0.5rem; }
.space-sm { margin-bottom: 1rem; }
.space-md { margin-bottom: 1.5rem; }
.space-lg { margin-bottom: 2rem; }

/* Responsive Modern Layout */
@media (max-width: 768px) {
    .icon-circle {
        width: 40px;
        height: 40px;
    }
    
    .report-icon-circle {
        width: 60px;
        height: 60px;
    }
    
    .modern-header {
        font-size: 1.25rem;
    }
}

/* Animation Classes */
.fade-in {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.slide-up {
    animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
    from { transform: translateY(10px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Agenda Header */
.agenda-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem 1rem;
    background: var(--bs-body-bg);
    border-radius: .75rem;
    box-shadow: 0 8px 16px rgba(0,0,0,.06);
}

.agenda-header .header-left .agenda-title {
    margin: 0;
    font-weight: 700;
    color: var(--text-primary);
}

.agenda-header .header-center { display: flex; align-items: center; gap: 1rem; }
.navigation-controls { display: inline-flex; align-items: center; gap: .5rem; }

.nav-btn {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    border: none; border-radius: .5rem;
    background: var(--bs-secondary-bg);
    color: var(--text-secondary);
    transition: all .2s ease;
}
.nav-btn:hover { background: var(--primary-color); color: #fff; box-shadow: 0 6px 12px rgba(0,0,0,.12); }

.view-segmented {
    display: inline-flex; gap: .25rem; padding: .25rem; border-radius: 2rem;
    background: rgba(102,126,234,.12);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
}
.segment-btn {
    border: none; padding: .35rem .75rem; border-radius: 2rem;
    background: transparent; color: var(--text-secondary); font-weight: 500;
}
.segment-btn.active { background: var(--primary-color); color: #fff; }
.segment-btn:hover { background: rgba(102,126,234,.2); color: var(--text-primary); }

.date-pill {
    display: inline-block; padding: .35rem .75rem; border-radius: 1rem;
    background: var(--bs-secondary-bg); color: var(--text-primary);
    font-weight: 600; font-size: .875rem;
}

.header-right { display: inline-flex; align-items: center; gap: .5rem; }
.action-btn {
    border: none; border-radius: .5rem; padding: .45rem .7rem;
    background: var(--bs-secondary-bg); color: var(--text-secondary);
    display: inline-flex; align-items: center; gap: .4rem; font-weight: 500;
    transition: all .2s ease;
}
.action-btn:hover { background: var(--primary-color); color: #fff; box-shadow: 0 6px 12px rgba(0,0,0,.12); }
.action-btn.primary { background: #1b74e4; color: #fff; }
.action-btn.primary:hover { background: #1558ab; }
.action-btn i { font-size: .95rem; }

@media (max-width: 992px) {
    .agenda-header { flex-wrap: wrap; gap: .75rem; }
    .header-left, .header-center, .header-right { width: 100%; }
    .header-right { justify-content: flex-start; }
}
