/* Company page tab-specific styles (extracted from company.html) */

.category-card {
    border-radius: 8px;
    transition: all 0.2s;
    height: 100%;
}

.category-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.category-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: white;
}

.category-count {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-dark);
}

.category-title {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-top: 4px;
}

.filing-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.75rem;
    color: white;
}

.recent-filing-item {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.2s;
}

.recent-filing-item:hover {
    background-color: rgba(0, 102, 204, 0.03);
}

.recent-filing-item:last-child {
    border-bottom: none;
}

.filing-form-title {
    font-weight: 600;
    color: var(--text-dark);
}

.filing-period-info {
    font-size: 0.85rem;
    color: var(--text-muted);
}

/* Fullscreen chart styles */
#stockChartCard:fullscreen,
#stockChartCard:-webkit-full-screen {
    background: var(--white, white);
    padding: 20px;
    display: flex;
    flex-direction: column;
}

#stockChartCard:fullscreen .card-body,
#stockChartCard:-webkit-full-screen .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#stockChartCard:fullscreen .chart-wrapper,
#stockChartCard:-webkit-full-screen .chart-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#stockChartCard:fullscreen #chartContainer,
#stockChartCard:-webkit-full-screen #chartContainer {
    min-height: 0;
}

#stockChartCard:fullscreen .card-header,
#stockChartCard:-webkit-full-screen .card-header {
    border-radius: 0;
}

/* Hide range slider and date picker in fullscreen — TV chart has built-in navigation */
#stockChartCard:fullscreen .card-body > .mt-3,
#stockChartCard:-webkit-full-screen .card-body > .mt-3 {
    display: none !important;
}

/* Dark mode fullscreen */
[data-theme="dark"] #stockChartCard:fullscreen,
[data-theme="dark"] #stockChartCard:-webkit-full-screen {
    background: #16213e;
}

/* Dark mode specific fixes for company page */
[data-theme="dark"] .category-card {
    background-color: var(--white);
    border-color: var(--border-color);
}

[data-theme="dark"] .category-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

[data-theme="dark"] .filing-date {
    color: var(--text-muted);
}

[data-theme="dark"] #stockPriceCard {
    background-color: rgba(30, 41, 59, 0.95) !important;
}

[data-theme="dark"] #stockPriceCard #stockPrice,
[data-theme="dark"] #stockPriceCard #stockMarketCap,
[data-theme="dark"] #stockPriceCard #stockPE {
    color: #f1f5f9 !important;
}

[data-theme="dark"] #stockPriceCard .text-muted,
[data-theme="dark"] #stockPriceCard > .mt-2 {
    color: #94a3b8 !important;
}

[data-theme="dark"] .bg-white {
    background-color: var(--white) !important;
}

[data-theme="dark"] .bg-light {
    background-color: #2d3748 !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .bg-light * {
    color: #e8e8e8 !important;
}

[data-theme="dark"] .bg-white.bg-opacity-10 {
    background-color: rgba(255,255,255,0.15) !important;
}

[data-theme="dark"] #stockTicker.badge {
    background-color: #3d4a5c !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .metric-item {
    color: var(--text-dark);
}

[data-theme="dark"] .metric-item .metric-label {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .metric-item .metric-value {
    color: var(--text-dark) !important;
}

[data-theme="dark"] .btn-group .btn {
    color: var(--text-dark);
}

[data-theme="dark"] .btn-group .btn.active {
    color: #fff;
}

/* Card header text visibility in dark mode */
[data-theme="dark"] .card-header {
    background-color: #2d3748 !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .card-header i,
[data-theme="dark"] .card-header span,
[data-theme="dark"] .card-header strong {
    color: #e8e8e8 !important;
}

/* Stats and metrics text */
[data-theme="dark"] .stat-label {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .stat-value {
    color: var(--primary-blue) !important;
}

/* Category card text */
[data-theme="dark"] .category-count {
    color: var(--text-dark) !important;
}

[data-theme="dark"] .category-title {
    color: var(--text-muted) !important;
}

/* Table text in dark mode */
[data-theme="dark"] .table thead th {
    background-color: #1e3a5f !important;
    color: #ffffff !important;
}

[data-theme="dark"] .table tbody td {
    color: var(--text-dark) !important;
}

/* Section title */
[data-theme="dark"] .section-title {
    color: var(--text-dark) !important;
}

/* Form select dropdown */
[data-theme="dark"] .form-select {
    background-color: #1f2937 !important;
    color: var(--text-dark) !important;
    border-color: var(--border-color) !important;
}

/* Filing badge and items */
[data-theme="dark"] .filing-form-title {
    color: var(--text-dark) !important;
}

[data-theme="dark"] .filing-period-info {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .form-range {
    background-color: transparent;
}

#stockChartCard.is-fullscreen #fullscreenBtn i {
    transform: rotate(45deg);
}

/* Company Information table fixes */
[data-theme="dark"] .card .table {
    color: var(--text-dark) !important;
}

[data-theme="dark"] .card .table td {
    color: var(--text-dark) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .card .table td.text-muted {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .card .table-sm td {
    color: var(--text-dark) !important;
}

[data-theme="dark"] .card-body {
    color: var(--text-dark) !important;
}

[data-theme="dark"] .card-body .table {
    background-color: transparent !important;
}

[data-theme="dark"] .card-body .table tr {
    background-color: transparent !important;
}

[data-theme="dark"] .card-body .table td {
    background-color: transparent !important;
}

/* Recent filings section */
[data-theme="dark"] .recent-filing-item {
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .filing-date {
    color: var(--text-muted) !important;
}

/* Ensure all card text is visible */
[data-theme="dark"] .card {
    background-color: var(--white) !important;
}

[data-theme="dark"] .card * {
    color: inherit;
}

[data-theme="dark"] .card .text-muted {
    color: var(--text-muted) !important;
}

/* Quick Access Filings Cards */
.filing-quick-card {
    border-radius: 8px;
    transition: all 0.2s;
    height: 100%;
}

.filing-quick-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

[data-theme="dark"] .filing-quick-card {
    background-color: var(--white);
}

[data-theme="dark"] .filing-quick-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

/* Company Tabs Styles */
.company-tabs-container {
    background-color: var(--white);
    border-radius: 12px;
    padding: 8px;
    border: 1px solid var(--border-color);
    box-shadow: var(--card-shadow);
}

.company-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    border: none;
}

.company-tabs .nav-link {
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    color: var(--text-muted);
    font-weight: 500;
    font-size: 0.9rem;
    background-color: transparent;
    transition: all 0.2s;
}

.company-tabs .nav-link:hover {
    color: var(--primary-blue);
    background-color: rgba(0, 102, 204, 0.05);
}

.company-tabs .nav-link.active {
    color: white;
    background-color: var(--primary-blue);
}

[data-theme="dark"] .company-tabs-container {
    background-color: var(--white);
}

[data-theme="dark"] .company-tabs .nav-link.active {
    background-color: #1e3a5f;
}

.tab-pane {
    animation: fadeIn 0.2s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Financial Charts Styles */
.fin-chart-container {
    background-color: var(--white);
    border-radius: 8px;
    padding: 20px;
    box-shadow: var(--card-shadow);
    border: 1px solid var(--border-color);
    height: 100%;
}

.fin-chart-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
}

.fin-chart-title i {
    margin-right: 8px;
    color: var(--primary-blue);
}

.fin-chart-wrapper {
    position: relative;
    height: 280px;
}

.fin-section-header {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 3px solid var(--primary-blue);
}

.fin-section-header i {
    color: var(--primary-blue);
    margin-right: 8px;
}

.statement-toggle {
    display: inline-flex;
    background-color: #e9ecef;
    border-radius: 8px;
    padding: 4px;
}

.statement-toggle .btn {
    border-radius: 6px;
    padding: 6px 16px;
    font-weight: 500;
    border: none;
    transition: all 0.2s;
    font-size: 0.85rem;
}

.statement-toggle .btn-active {
    background-color: var(--primary-blue);
    color: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.statement-toggle .btn-inactive {
    background-color: transparent;
    color: var(--text-muted);
}

.statement-toggle .btn-inactive:hover {
    background-color: #dee2e6;
    color: var(--text-dark);
}

.periods-toggle {
    display: inline-flex;
    align-items: center;
    background-color: #e9ecef;
    border-radius: 8px;
    padding: 4px;
}

.periods-toggle .toggle-label {
    padding: 0 10px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-muted);
}

.periods-toggle .btn {
    border-radius: 6px;
    padding: 6px 12px;
    font-weight: 500;
    border: none;
    transition: all 0.2s;
    min-width: 40px;
    text-align: center;
    font-size: 0.85rem;
}

.periods-toggle .btn-active {
    background-color: #198754;
    color: white;
}

.periods-toggle .btn-inactive {
    background-color: transparent;
    color: var(--text-muted);
}

.periods-toggle .btn-inactive:hover {
    background-color: #dee2e6;
}

.period-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 600;
    margin-left: 8px;
}

.period-badge-annual {
    background-color: #d4edda;
    color: #155724;
}

.period-badge-quarterly {
    background-color: #cce5ff;
    color: #004085;
}

[data-theme="dark"] .statement-toggle,
[data-theme="dark"] .periods-toggle {
    background-color: #2d3748 !important;
}

[data-theme="dark"] .statement-toggle .btn-inactive,
[data-theme="dark"] .periods-toggle .btn-inactive {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .statement-toggle .btn-inactive:hover,
[data-theme="dark"] .periods-toggle .btn-inactive:hover {
    background-color: #3d4a5c !important;
}

[data-theme="dark"] .period-badge-annual {
    background-color: #22543d !important;
    color: #9ae6b4 !important;
}

[data-theme="dark"] .period-badge-quarterly {
    background-color: #1e3a5f !important;
    color: #90cdf4 !important;
}

[data-theme="dark"] .fin-chart-container {
    background-color: var(--white) !important;
}

[data-theme="dark"] .fin-chart-title {
    color: var(--text-dark) !important;
}

[data-theme="dark"] .fin-chart-title i {
    color: #4da3ff !important;
}

[data-theme="dark"] .fin-section-header {
    color: var(--text-dark) !important;
    border-bottom-color: #4da3ff !important;
}

[data-theme="dark"] .fin-section-header i {
    color: #4da3ff !important;
}

/* Management Card Styles */
.management-card {
    background-color: var(--white);
    border-radius: 8px;
    padding: 16px;
    border: 1px solid var(--border-color);
    height: 100%;
    transition: all 0.2s;
}

.management-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.management-name {
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-dark);
    margin-bottom: 4px;
}

.management-title {
    font-size: 0.85rem;
    color: var(--primary-blue);
    margin-bottom: 8px;
}

.management-details {
    font-size: 0.8rem;
    color: var(--text-muted);
}

[data-theme="dark"] .management-card {
    background-color: var(--white);
}

/* Board of Directors Card Styles */
.board-card {
    background-color: var(--white);
    border-radius: 8px;
    padding: 16px;
    border: 1px solid var(--border-color);
    height: 100%;
    transition: all 0.2s;
}
.board-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
[data-theme="dark"] .board-card {
    background-color: var(--white);
}
.badge-independent {
    background-color: #28a745;
    color: #fff;
    font-size: 0.7rem;
    padding: 2px 8px;
    border-radius: 10px;
}
.badge-not-independent {
    background-color: #ffc107;
    color: #333;
    font-size: 0.7rem;
    padding: 2px 8px;
    border-radius: 10px;
}
.committee-badge {
    background-color: var(--bg-secondary, #e9ecef);
    color: var(--text-dark);
    font-size: 0.7rem;
    padding: 2px 8px;
    border-radius: 10px;
    display: inline-block;
    margin: 2px;
}

/* Officer Profile Link (clickable names) */
.officer-profile-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-style: dashed;
    text-underline-offset: 2px;
    cursor: pointer;
    transition: color 0.15s;
}
.officer-profile-link:hover {
    color: var(--primary-blue);
    text-decoration-style: solid;
}

/* Officer Profile Modal */
.officer-profile-modal .modal-dialog { max-width: 720px; }
.officer-profile-modal .modal-body { max-height: 75vh; overflow-y: auto; }
.officer-profile-photo {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 8px;
    float: left;
    margin: 0 16px 12px 0;
}
.officer-profile-section {
    margin-bottom: 20px;
}
.officer-profile-section h6 {
    font-weight: 600;
    color: var(--primary-blue);
    margin-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 4px;
}
.officer-profile-section p {
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--text-dark);
}
.officer-profile-cards {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.officer-profile-cards .stat-card {
    flex: 1;
    min-width: 100px;
    background: var(--light-bg);
    border-radius: 8px;
    padding: 10px 14px;
    text-align: center;
    border: 1px solid var(--border-color);
}
.officer-profile-cards .stat-card .label {
    font-size: 0.75rem;
    color: var(--text-muted);
    text-transform: uppercase;
}
.officer-profile-cards .stat-card .value {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text-dark);
}
.google-result-card {
    padding: 10px 14px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    margin-bottom: 8px;
    font-size: 0.85rem;
}
.google-result-card a {
    font-weight: 600;
    text-decoration: none;
}
.google-result-card .snippet {
    color: var(--text-muted);
    margin-top: 2px;
}
.officer-quick-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.officer-quick-links a {
    font-size: 0.85rem;
    padding: 4px 12px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    text-decoration: none;
    color: var(--text-dark);
    transition: all 0.15s;
}
.officer-quick-links a:hover {
    background: var(--primary-blue);
    color: #fff;
    border-color: var(--primary-blue);
}

/* Profile Timeline (education / career list) */
.profile-timeline {
    position: relative;
    padding-left: 20px;
    border-left: 2px solid var(--border-color);
    margin-left: 6px;
}
.timeline-heading {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--primary-blue);
    background: var(--light-bg);
    display: inline-block;
    padding: 2px 10px;
    border-radius: 10px;
    margin-bottom: 6px;
    margin-left: -6px;
    border: 1px solid var(--border-color);
}
.timeline-item {
    position: relative;
    margin-bottom: 12px;
}
.timeline-dot {
    position: absolute;
    left: -25px;
    top: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary-blue);
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px var(--primary-blue);
}
.timeline-text {
    font-size: 0.88rem;
    line-height: 1.55;
    color: var(--text-dark);
}

/* Mobile responsive styles for company page */
@media (max-width: 767px) {
    .company-header {
        padding: 1rem 0;
    }

    .company-ticker {
        font-size: 1rem;
    }

    .company-name-main {
        font-size: 1.25rem;
    }

    .company-industry {
        font-size: 0.8rem;
    }

    .stock-label {
        font-size: 0.65rem;
    }

    .stock-price {
        font-size: 1.5rem;
    }

    .price-change {
        font-size: 0.8rem;
    }

    .key-metrics .metric-card {
        padding: 0.6rem;
    }

    .metric-label {
        font-size: 0.65rem;
    }

    .metric-value {
        font-size: 0.95rem;
    }

    .filings-toggle {
        font-size: 0.85rem;
    }

    .filing-title {
        font-size: 0.85rem;
    }

    .filing-meta {
        font-size: 0.7rem;
    }

    .tab-content .nav-pills .nav-link {
        font-size: 0.8rem;
        padding: 0.4rem 0.6rem;
    }

    .management-name {
        font-size: 0.8rem;
    }

    .management-title {
        font-size: 0.75rem;
    }

    .management-details {
        font-size: 0.7rem;
    }

    .earnings-date {
        font-size: 0.85rem;
    }

    .table-sm td, .table-sm th {
        font-size: 0.8rem;
        padding: 0.35rem;
    }
}

@media (max-width: 480px) {
    .company-name-main {
        font-size: 1.1rem;
    }

    .stock-price {
        font-size: 1.3rem;
    }

    .metric-value {
        font-size: 0.85rem;
    }

    .metric-label {
        font-size: 0.6rem;
    }

    .card-header {
        font-size: 0.85rem;
    }
}
