/* COMPACT PROFESSIONAL DESIGN - ENTERPRISE STYLE */

/* Tighter Container */
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 12px 16px !important;
}

/* Compact Page Headers */
.page-header, .header {
    padding: 20px 24px !important;
    margin: 12px 0 !important;
}

.header h1, .page-header h1 {
    font-size: 1.75rem !important;
    margin-bottom: 4px !important;
}

.header p, .page-header p {
    font-size: 0.95rem !important;
    margin: 0 !important;
}

/* Tighter Hero Section */
.hero {
    padding: 32px 20px !important;
    margin-bottom: 16px !important;
}

.hero-content h1 {
    font-size: 2rem !important;
    margin-bottom: 8px !important;
}

.hero-content p {
    font-size: 1rem !important;
    margin-bottom: 16px !important;
}

.hero-buttons {
    gap: 12px !important;
}

.hero-btn {
    padding: 10px 20px !important;
    font-size: 14px !important;
}

/* Compact Search Section */
.search-section {
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
}

.search-section h2 {
    font-size: 1.1rem !important;
    margin-bottom: 12px !important;
}

.search-box {
    gap: 8px !important;
}

.search-input {
    padding: 8px 12px !important;
    font-size: 14px !important;
}

/* Tighter Section Titles */
.section-title-area {
    margin: 16px 0 8px 0 !important;
}

.section-title {
    font-size: 0.8rem !important;
    margin-bottom: 4px !important;
}

.section-heading {
    font-size: 1.3rem !important;
    margin: 0 !important;
}

/* Compact Cards Grid */
.cards-grid, .contact-cards-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 12px !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
}

/* Tighter Card Design */
.card, .contact-card {
    padding: 16px 20px !important;
    border-radius: 8px !important;
}

.card-icon, .contact-card-icon {
    font-size: 32px !important;
    margin-bottom: 8px !important;
}

.card h3, .contact-card h3 {
    font-size: 1.1rem !important;
    margin-bottom: 6px !important;
}

.card p, .contact-card p {
    font-size: 13px !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

.card-btn, .contact-card-btn {
    padding: 8px 16px !important;
    font-size: 13px !important;
}

/* Compact Controls */
.controls {
    padding: 16px 20px !important;
    margin-bottom: 12px !important;
}

.controls-row {
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.search-global input {
    padding: 8px 12px 8px 40px !important;
    font-size: 14px !important;
}

.btn {
    padding: 8px 16px !important;
    font-size: 13px !important;
}

.stats {
    gap: 16px !important;
    font-size: 13px !important;
}

/* Tighter Table Container */
.table-container {
    border-radius: 8px !important;
}

.table-header {
    padding: 12px 16px !important;
}

.table-title {
    font-size: 1.1rem !important;
}

/* Compact Table */
table {
    font-size: 13px !important;
}

th {
    padding: 10px 8px !important;
}

td {
    padding: 8px !important;
}

.column-header {
    gap: 6px !important;
}

.column-search {
    padding: 4px 6px !important;
    font-size: 11px !important;
}

/* Tighter Quick Access */
.quick-access {
    padding: 16px 20px !important;
    margin: 16px 0 !important;
}

.quick-access h3 {
    font-size: 1.1rem !important;
    margin-bottom: 12px !important;
}

.quick-links {
    gap: 8px !important;
}

.quick-link {
    padding: 8px 16px !important;
    font-size: 13px !important;
}

/* Compact Footer */
.footer {
    padding: 16px 0 !important;
    margin-top: 20px !important;
}

.footer-content p {
    font-size: 13px !important;
}

/* Compact Header Nav */
.header-nav {
    padding: 10px 20px !important;
}

.nav-container {
    padding: 0 !important;
}

.logo-text {
    font-size: 15px !important;
}

.nav-link {
    padding: 8px 12px !important;
    font-size: 13px !important;
}

/* Tighter Map Container */
.map-container {
    padding: 12px !important;
    margin: 12px 0 !important;
}

#map {
    height: calc(100vh - 280px) !important;
}

.legend {
    padding: 12px !important;
    margin-top: 12px !important;
}

.legend h4 {
    font-size: 13px !important;
    margin-bottom: 8px !important;
}

.legend-item {
    margin: 6px 0 !important;
    font-size: 12px !important;
}

/* Reduce Badge Size */
.badge {
    padding: 3px 6px !important;
    font-size: 10px !important;
}

/* Tighter Export Dropdown */
.export-dropdown {
    min-width: 180px !important;
}

.export-option {
    padding: 10px 12px !important;
    font-size: 13px !important;
}

/* Compact Loading States */
.loading, .no-results {
    padding: 32px 20px !important;
    font-size: 14px !important;
}

/* Reduce Box Shadows - More Subtle */
.card, .contact-card, .table-container, .controls, .header, .map-container {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.card:hover, .contact-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
}

/* Tighter Border Radius */
.card, .contact-card, .controls, .header, .table-container, .search-input, .btn {
    border-radius: 6px !important;
}

/* Reduce Line Heights */
body {
    line-height: 1.5 !important;
}

/* Make Tables Fill More Space */
.table-wrapper {
    height: calc(100vh - 280px) !important;
    min-height: 450px !important;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .container {
        padding: 8px 12px !important;
    }
    
    .cards-grid, .contact-cards-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    
    .hero {
        padding: 24px 16px !important;
    }
}
