[data-colors="classic"] .ds-calculated { background-color: rgba(52,152,219,0.15); }
[data-colors="classic"] .ds-manual { background-color: rgba(241,196,15,0.15); }
[data-colors="classic"] .ds-overridden { background-color: rgba(230,126,34,0.15); }
[data-colors="classic"] .ds-actual { background-color: rgba(39,174,96,0.15); }
[data-colors="high-contrast"] .ds-calculated { background-color: rgba(52,152,219,0.25); border-left: 3px solid #2e86c1; }
[data-colors="high-contrast"] .ds-manual { background-color: rgba(241,196,15,0.25); border-left: 3px solid #f39c12; }
[data-colors="high-contrast"] .ds-overridden { background-color: rgba(231,76,60,0.25); border-left: 3px solid #e74c3c; }
[data-colors="high-contrast"] .ds-actual { background-color: rgba(39,174,96,0.25); border-left: 3px solid #27ae60; }
[data-colors="colorblind"] .ds-calculated { background-color: rgba(52,152,219,0.15); }
[data-colors="colorblind"] .ds-manual { background-color: rgba(230,126,34,0.15); }
[data-colors="colorblind"] .ds-overridden { background-color: rgba(230,126,34,0.15); border-left: 3px dashed #e67e22; }
[data-colors="colorblind"] .ds-actual { background-color: rgba(52,152,219,0.15); border-left: 3px solid #2874a6; }
.sidebar { min-height: calc(100vh - 56px); }
.sidebar .nav-link { color: #bdc3c7; padding: 0.6rem 1rem; font-size: 0.9rem; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { color: #fff; background-color: rgba(255,255,255,0.1); }
.sidebar .nav-link i { margin-right: 0.5rem; width: 20px; text-align: center; }
.sidebar .nav-header { color: #7f8c8d; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05rem; padding: 1rem 1rem 0.25rem; }
.card-stat { border-left: 4px solid #2e86c1; transition: transform 0.15s; }
.card-stat:hover { transform: translateY(-2px); }
.card-stat a { text-decoration: none; color: inherit; }
.main-content { padding: 1.5rem; }
.status-construction { color: #2e86c1; font-weight: 600; }
.status-complete { color: #27ae60; font-weight: 600; }
.status-engineering { color: #f39c12; font-weight: 600; }
.status-market { color: #8e44ad; font-weight: 600; }
.status-ops { color: #16a085; font-weight: 600; }
.badge-ftd-ontime { background-color: #27ae60; }
.badge-ftd-warning { background-color: #f39c12; }
.badge-ftd-overdue { background-color: #e74c3c; }
.badge-ftd-jeopardy { background-color: #e67e22; }
.phase-forecast { background-color: rgba(52,152,219,0.08); }
.phase-actual { background-color: rgba(39,174,96,0.08); }
.phase-overdue { background-color: rgba(231,76,60,0.08); }
.pipeline-box { min-width: 80px; text-align: center; padding: 0.4rem 0.6rem; border-radius: 0.375rem; text-decoration: none !important; transition: transform 0.1s; display: block; }
.pipeline-box, .pipeline-box * { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,0.3); }
.pipeline-box:hover { transform: translateY(-2px); box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
.schedule-forecast { background-color: rgba(52,152,219,0.1); border-left: 3px solid #3498db; }
.schedule-actual { background-color: rgba(39,174,96,0.1); border-left: 3px solid #27ae60; }
.badge-forecast { background-color: #3498db; }
.badge-actual { background-color: #27ae60; }
/* Hide register and external login on Identity pages */
#register-submit, .col-md-6:has(#external-account), .col-md-4:has(#external-account) { display: none !important; }
a[href*="Register"] { display: none !important; }
h2:has(+ #external-account) { display: none !important; }
p:has(> a[href*="Register"]) { display: none !important; }
.form-group:has(a[href*="Register"]) { display: none !important; }
section:has(#external-account) { display: none !important; }

/* === EZEEFIBER TENANT THEME === */
[data-tenant="ezeefiber"] .navbar { background-color: #0a1628 !important; }
[data-tenant="ezeefiber"] .sidebar { background-color: #0d1f3c !important; }
[data-tenant="ezeefiber"] .sidebar .nav-link:hover,
[data-tenant="ezeefiber"] .sidebar .nav-link.active { background-color: rgba(255,136,0,0.15) !important; color: #ff8800 !important; }
[data-tenant="ezeefiber"] .sidebar .nav-header { color: #ff8800; }
[data-tenant="ezeefiber"] .btn-outline-warning { border-color: #ff8800 !important; color: #ff8800 !important; }
[data-tenant="ezeefiber"] .btn-outline-warning:hover { background-color: #ff8800 !important; color: #fff !important; }
[data-tenant="ezeefiber"] .btn-outline-info { border-color: #ff8800 !important; color: #ff8800 !important; }
[data-tenant="ezeefiber"] .btn-outline-info:hover { background-color: #ff8800 !important; color: #fff !important; }
[data-tenant="ezeefiber"] .card-stat { border-left-color: #ff8800; }
[data-tenant="ezeefiber"] .badge.bg-success { background-color: #ff8800 !important; }
[data-tenant="ezeefiber"] .btn-primary,
[data-tenant="ezeefiber"] .btn-success { background-color: #ff8800 !important; border-color: #ff8800 !important; }
[data-tenant="ezeefiber"] .btn-primary:hover,
[data-tenant="ezeefiber"] .btn-success:hover { background-color: #e67a00 !important; border-color: #e67a00 !important; }
[data-tenant="ezeefiber"] a:not(.nav-link):not(.btn):not(.navbar-brand) { color: #ff8800; }
[data-tenant="ezeefiber"] a:not(.nav-link):not(.btn):not(.navbar-brand):hover { color: #ffaa44; }
[data-tenant="ezeefiber"] .table .btn-outline-primary { border-color: #ff8800; color: #ff8800; }
[data-tenant="ezeefiber"] .table .btn-outline-primary:hover { background-color: #ff8800; color: #fff; }
[data-tenant="ezeefiber"] .alert-info { background-color: rgba(255,136,0,0.1); border-color: rgba(255,136,0,0.3); color: #ffaa44; }
[data-tenant="ezeefiber"] .text-primary { color: #ff8800 !important; }
[data-tenant="ezeefiber"] .border-primary { border-color: #ff8800 !important; }
[data-tenant="ezeefiber"] .tenant-logo { font-weight: 700; letter-spacing: -0.02em; }
[data-tenant="ezeefiber"] .tenant-logo .logo-ezee { color: #ffffff; }
[data-tenant="ezeefiber"] .tenant-logo .logo-fiber { color: #ff8800; }

/* Toggle button active states */
.qf-toggle.active, .market-toggle.active { font-weight: 600; }
.market-toggle.active { background-color: #6c757d !important; color: #fff !important; border-color: #6c757d !important; }
