/* ============================================================================
   Organization Switcher Custom Styles
   ============================================================================ */
.org-item-hidden {
    display: none !important;
}
.org-switcher-menu {
    max-height: 400px;
    overflow-y: auto;
    min-width: 300px;
}

/* ============================================================================
   Default SVG Color
   ============================================================================ */
svg {
    color: #00ACBA;
}

/* ============================================================================
   XR Template System - Chinook Brand Colors
   ============================================================================ */

/* Override Portal Theme Green (#15a362) with Chinook Navy */
:root {
    --portal-primary: var(--chinook-navy);
    --portal-primary-rgb: 23, 64, 112;
    
    /* Typography */
    --chinook-font-family: "Calibri", sans-serif;
    --chinook-font-family-headings: "Century Schoolbook", serif;
    --chinook-font-family-monospace: "Courier New", monospace;
}

/* Replace green primary color throughout Portal theme */
.app a {
    color: var(--chinook-navy);
}

.app a:hover {
    color: var(--chinook-navy-dark);
}

.app a.app-link:hover {
    color: var(--chinook-navy);
}

.app .app-btn-primary,
.app .btn.app-btn-primary {
    background: var(--chinook-teal);
    border-color: var(--chinook-teal);
    color: #ffffff;
}

.app .app-btn-primary:hover,
.app .app-btn-primary:active,
.app .btn.app-btn-primary:hover,
.app .btn.app-btn-primary:active {
    background: var(--chinook-teal-dark);
    border-color: var(--chinook-teal-dark);
    color: #ffffff;
}

.app .app-btn-secondary,
.app .btn.app-btn-secondary {
    background: var(--chinook-navy);
    border-color: var(--chinook-navy);
    color: #ffffff;
}

.app .app-btn-secondary:hover,
.app .app-btn-secondary:active,
.app .btn.app-btn-secondary:hover,
.app .btn.app-btn-secondary:active {
    background: var(--chinook-navy-dark);
    border-color: var(--chinook-navy-dark);
    color: #ffffff;
}

.app .app-btn-success,
.app .btn.app-btn-success {
    background: var(--chinook-sea-green);
    border-color: var(--chinook-sea-green);
    color: #ffffff;
}

.app .app-btn-success:hover,
.app .btn.app-btn-success:hover {
    background: #2ea270;
    border-color: #2ea270;
    color: #ffffff;
}

.app .app-btn-danger,
.app .btn.app-btn-danger {
    background: var(--chinook-crimson);
    border-color: var(--chinook-crimson);
    color: #ffffff;
}

.app .app-btn-danger:hover,
.app .btn.app-btn-danger:hover {
    background: #b53c37;
    border-color: #b53c37;
    color: #ffffff;
}

.app .app-btn-warning,
.app .btn.app-btn-warning {
    background: var(--chinook-burnt-orange);
    border-color: var(--chinook-burnt-orange);
    color: #ffffff;
}

.app .app-btn-warning:hover,
.app .btn.app-btn-warning:hover {
    background: #c6550c;
    border-color: #c6550c;
    color: #ffffff;
}

.app .btn-outline-primary {
    color: var(--chinook-navy);
    border-color: var(--chinook-navy);
}

.app .btn-outline-primary:hover {
    background: var(--chinook-navy);
    border-color: var(--chinook-navy);
    color: #ffffff;
}

.app .btn-light {
    color: var(--chinook-navy);
}

.app .form-check-input:checked {
    background-color: var(--chinook-navy);
    border-color: var(--chinook-navy);
}

/* Navigation - Override green active/hover states */
.app .app-nav .nav-link.active {
    color: var(--chinook-navy);
    background: rgba(23, 64, 112, 0.1);
    border-left-color: var(--chinook-navy);
}

.app .app-nav .nav-link:hover {
    color: var(--chinook-navy);
}

/* Search trigger */
.app .search-mobile-trigger:hover {
    color: var(--chinook-navy);
}

/* Notification icon holder */
.app .app-notifications-dropdown .app-icon-holder {
    background: rgba(23, 64, 112, 0.1);
    color: var(--chinook-navy);
}

/* Organization Switcher */
.app .dropdown-header {
    color: var(--chinook-navy);
    font-weight: 600;
}

.app .org-switcher-menu .dropdown-item span {
    color: var(--chinook-navy);
}

.app .org-switcher-menu .dropdown-item:hover span,
.app .org-switcher-menu .dropdown-item:hover {
    color: var(--chinook-navy);
}

.app .org-switcher-menu .dropdown-item.active {
    background-color: rgba(23, 64, 112, 0.1);
    color: var(--chinook-navy);
}

.app .org-switcher-menu .dropdown-item.active span {
    color: var(--chinook-navy);
    font-weight: 600;
}

/* Dropdown Menus - Subtle Brand Colors */
.app .dropdown-menu .dropdown-item:hover {
    background-color: rgba(23, 64, 112, 0.1);
    color: var(--chinook-navy);
}

.app .dropdown-menu .dropdown-item.active {
    background-color: var(--chinook-navy);
    color: #ffffff;
}



/* ============================================================================
   XR Utility Classes - Chinook Brand Colors
   ============================================================================ */

/* Background Colors */
.xr-bg-primary {
    background-color: var(--chinook-teal) !important;
    color: #ffffff !important;
}

.xr-bg-secondary {
    background-color: var(--chinook-navy) !important;
    color: #ffffff !important;
}

.xr-bg-secondary h1,
.xr-bg-secondary h2,
.xr-bg-secondary h3,
.xr-bg-secondary h4,
.xr-bg-secondary h5,
.xr-bg-secondary h6 {
    color: #ffffff !important;
}

.xr-bg-accent {
    background-color: var(--chinook-orange) !important;
    color: #ffffff !important;
}

.xr-bg-success {
    background-color: var(--chinook-sea-green) !important;
    color: #ffffff !important;
}

.xr-bg-danger {
    background-color: var(--chinook-crimson) !important;
    color: #ffffff !important;
}

.xr-bg-warning {
    background-color: var(--chinook-burnt-orange) !important;
    color: #ffffff !important;
}

.xr-bg-info {
    background-color: var(--chinook-light-blue) !important;
    color: #ffffff !important;
}

.xr-bg-info h1,
.xr-bg-info h2,
.xr-bg-info h3,
.xr-bg-info h4,
.xr-bg-info h5,
.xr-bg-info h6,
.xr-bg-info a {
    color: #ffffff !important;
}

/* Additional Background Colors - Full Palette */
.xr-bg-teal {
    background-color: var(--chinook-teal) !important;
    color: #ffffff !important;
}

.xr-bg-teal-dark {
    background-color: var(--chinook-teal-dark) !important;
    color: #ffffff !important;
}

.xr-bg-teal-light {
    background-color: var(--chinook-teal-light) !important;
    color: #ffffff !important;
}

.xr-bg-navy {
    background-color: var(--chinook-navy) !important;
    color: #ffffff !important;
}

.xr-bg-navy-dark {
    background-color: var(--chinook-navy-dark) !important;
    color: #ffffff !important;
}

.xr-bg-orange {
    background-color: var(--chinook-orange) !important;
    color: #ffffff !important;
}

.xr-bg-burnt-orange {
    background-color: var(--chinook-burnt-orange) !important;
    color: #ffffff !important;
}

.xr-bg-light-blue {
    background-color: var(--chinook-light-blue) !important;
    color: #ffffff !important;
}

.xr-bg-sea-green {
    background-color: var(--chinook-sea-green) !important;
    color: #ffffff !important;
}

.xr-bg-crimson {
    background-color: var(--chinook-crimson) !important;
    color: #ffffff !important;
}

/* Text Colors */
.xr-text-primary {
    color: var(--chinook-teal) !important;
}

.xr-text-secondary {
    color: var(--chinook-navy) !important;
}

.xr-text-accent {
    color: var(--chinook-orange) !important;
}

.xr-text-success {
    color: var(--chinook-sea-green) !important;
}

.xr-text-danger {
    color: var(--chinook-crimson) !important;
}

.xr-text-warning {
    color: var(--chinook-burnt-orange) !important;
}

.xr-text-info {
    color: var(--chinook-light-blue) !important;
}

/* Border Colors */
.xr-border-primary {
    border-color: var(--chinook-teal) !important;
}

.xr-border-secondary {
    border-color: var(--chinook-navy) !important;
}

.xr-border-accent {
    border-color: var(--chinook-orange) !important;
}

.xr-border-success {
    border-color: var(--chinook-sea-green) !important;
}

.xr-border-danger {
    border-color: var(--chinook-crimson) !important;
}

.xr-border-warning {
    border-color: var(--chinook-burnt-orange) !important;
}

.xr-border-info {
    border-color: var(--chinook-light-blue) !important;
}

/* Border Decorations - Left Border Accent Styles */
.border-left-decoration {
    border-left: 4px solid var(--chinook-teal) !important;
}

.border-left-decoration-primary {
    border-left: 4px solid var(--chinook-teal) !important;
}

.border-left-decoration-secondary {
    border-left: 4px solid var(--chinook-navy) !important;
}

.border-left-decoration-accent {
    border-left: 4px solid var(--chinook-orange) !important;
}

.border-left-decoration-success {
    border-left: 4px solid var(--chinook-sea-green) !important;
}

.border-left-decoration-danger {
    border-left: 4px solid var(--chinook-crimson) !important;
}

.border-left-decoration-warning {
    border-left: 4px solid var(--chinook-burnt-orange) !important;
}

.border-left-decoration-info {
    border-left: 4px solid var(--chinook-light-blue) !important;
}

/* Border Decorations - Top Border Accent Styles */
.border-top-decoration {
    border-top: 4px solid var(--chinook-teal) !important;
}

.border-top-decoration-primary {
    border-top: 4px solid var(--chinook-teal) !important;
}

.border-top-decoration-secondary {
    border-top: 4px solid var(--chinook-navy) !important;
}

.border-top-decoration-accent {
    border-top: 4px solid var(--chinook-orange) !important;
}

.border-top-decoration-success {
    border-top: 4px solid var(--chinook-sea-green) !important;
}

.border-top-decoration-danger {
    border-top: 4px solid var(--chinook-crimson) !important;
}

.border-top-decoration-warning {
    border-top: 4px solid var(--chinook-burnt-orange) !important;
}

.border-top-decoration-info {
    border-top: 4px solid var(--chinook-light-blue) !important;
}

/* Border Decorations - Right Border Accent Styles */
.border-right-decoration {
    border-right: 4px solid var(--chinook-teal) !important;
}

.border-right-decoration-primary {
    border-right: 4px solid var(--chinook-teal) !important;
}

.border-right-decoration-secondary {
    border-right: 4px solid var(--chinook-navy) !important;
}

.border-right-decoration-accent {
    border-right: 4px solid var(--chinook-orange) !important;
}

.border-right-decoration-success {
    border-right: 4px solid var(--chinook-sea-green) !important;
}

.border-right-decoration-danger {
    border-right: 4px solid var(--chinook-crimson) !important;
}

.border-right-decoration-warning {
    border-right: 4px solid var(--chinook-burnt-orange) !important;
}

.border-right-decoration-info {
    border-right: 4px solid var(--chinook-light-blue) !important;
}

/* Border Decorations - Bottom Border Accent Styles */
.border-bottom-decoration {
    border-bottom: 4px solid var(--chinook-teal) !important;
}

.border-bottom-decoration-primary {
    border-bottom: 4px solid var(--chinook-teal) !important;
}

.border-bottom-decoration-secondary {
    border-bottom: 4px solid var(--chinook-navy) !important;
}

.border-bottom-decoration-accent {
    border-bottom: 4px solid var(--chinook-orange) !important;
}

.border-bottom-decoration-success {
    border-bottom: 4px solid var(--chinook-sea-green) !important;
}

.border-bottom-decoration-danger {
    border-bottom: 4px solid var(--chinook-crimson) !important;
}

.border-bottom-decoration-warning {
    border-bottom: 4px solid var(--chinook-burnt-orange) !important;
}

.border-bottom-decoration-info {
    border-bottom: 4px solid var(--chinook-light-blue) !important;
}

/* ============================================================================
   Typography Styles
   ============================================================================ */

/* Apply Calibri as body font */
.app {
    font-family: var(--chinook-font-family);
}

/* Apply Century Schoolbook to all headings */
.app h1,
.app h2,
.app h3,
.app h4,
.app h5,
.app h6,
.app .h1,
.app .h2,
.app .h3,
.app .h4,
.app .h5,
.app .h6 {
    font-family: var(--chinook-font-family-headings);
}

/* Apply monospace font to appropriate elements */
.app code,
.app pre,
.app kbd,
.app samp,
.app .code-input,
.app .otp-input,
.app .backup-code,
.app .secret-key {
    font-family: var(--chinook-font-family-monospace);
}

/* ============================================================================
   Logo Fixes
   ============================================================================ */

/* Fix squished logo - allow natural aspect ratio */
.app-branding .logo-icon {
    width: auto;
    height: 36px;
    max-width: 150px;
}

/* Auth page logo fix */
.app-auth-wrapper .app-logo .logo-icon {
    width: auto;
    height: 60px;
    max-width: 200px;
}