/* Falcon theme: autorska prilagodba KNT Monitora prema Falcon dashboardu autora ThemeWagon / Prium.
   Plavosiva osnova, plave akcije i kompaktne bijele ili mornarske kartice prate referencu.
   Svijetli i tamni stilovi su ograničeni na data-theme="falcon". */

/* Svijetli režim definiše osnovu, radne površine, tekst i semantičke akcente. */
html:root[data-theme="falcon"] {
    --bm-bg: #edf2f9;
    --bm-page-bg: #edf2f9;
    --bm-page-bg-soft: #f5f7fa;
    --bm-shell-bg: #edf2f9;
    --bm-sidebar-bg: #edf2f9;
    --bm-topbar-bg: #edf2f9;
    --bm-surface: #ffffff;
    --bm-surface-raised: #ffffff;
    --bm-surface-modal: #ffffff;
    --bm-surface-hover: #f3f6fb;
    --bm-border: #d8e2ef;
    --bm-border-subtle: #edf2f9;
    --bm-border-strong: #b7c6d9;
    --bm-text: #344050;
    --bm-text-primary: #344050;
    --bm-text-secondary: #5e6e82;
    --bm-text-muted: #5e6e82;
    --bm-text-soft: #5e6e82;
    --bm-text-placeholder: #5e6e82;
    --bm-accent: #2469c4;
    --bm-accent-2: #2469c4;
    --bm-row-hover: #f3f6fb;
    --bm-row-selected: #e4eefb;
    --bm-table-hover: #f3f6fb;
    --bm-sortable-hover: #2469c4;
    --bm-search-bg: #ffffff;
    --bm-search-border: #d8e2ef;
    --bm-search-icon: #5e6e82;
    --bm-search-icon-active: #2469c4;
    --bm-scrollbar-thumb: #b7c6d9;
    --bm-skeleton-from: #f5f7fa;
    --bm-skeleton-to: #d8e2ef;
    --bm-shadow-soft: 0 7px 14px rgba(65, 69, 88, 0.07), 0 3px 6px rgba(0, 0, 0, 0.04);
    --bm-shadow-panel: 0 7px 14px rgba(65, 69, 88, 0.07), 0 3px 6px rgba(0, 0, 0, 0.04);
    --bm-brand-primary: #344050;
    --bm-brand-secondary: #5e6e82;
    --bm-brand-hover: #2469c4;
    --bm-brand-divider: #d8e2ef;
    --bm-tooltip-bg: #344050;
    --bm-tooltip-color: #ffffff;
    --bm-tooltip-text: #ffffff;
    --bm-tooltip-border: transparent;
    --bm-tooltip-shadow: 0 4px 12px rgba(30, 30, 30, 0.16);
    --falcon-link: #2469c4;
    --falcon-primary-bg: #2670d3;
    --falcon-primary-text: #ffffff;
    --falcon-focus: #2469c4;
    --falcon-success: #147653;
    --falcon-success-bg: #e4f6ee;
    --falcon-warning: #89600e;
    --falcon-warning-bg: #fff3d8;
    --falcon-error: #b33355;
    --falcon-error-bg: #fce7ee;
    --falcon-blue: #e4eefb;
    --falcon-blue-ink: #2469c4;
    --falcon-green: #e4f6ee;
    --falcon-green-ink: #147653;
    --falcon-violet: #eceafb;
    --falcon-violet-ink: #6554b2;
    --falcon-amber: #fff3d8;
    --falcon-amber-ink: #89600e;
    --falcon-nav-active: #2469c4;
    --falcon-nav-bg: #e4eefb;
}

/* Tamni režim mijenja cijelu paletu i zadržava čitljivost teksta, izbora i statusa. */
html:root[data-theme="falcon"].dark-theme {
    --bm-bg: #0b1727;
    --bm-page-bg: #0b1727;
    --bm-page-bg-soft: #101d30;
    --bm-shell-bg: #0b1727;
    --bm-sidebar-bg: #0b1727;
    --bm-topbar-bg: #0b1727;
    --bm-surface: #121e2d;
    --bm-surface-raised: #121e2d;
    --bm-surface-modal: #121e2d;
    --bm-surface-hover: #192a40;
    --bm-border: #26384e;
    --bm-border-subtle: #1e3045;
    --bm-border-strong: #405776;
    --bm-text: #e2e8f0;
    --bm-text-primary: #e2e8f0;
    --bm-text-secondary: #b3bfd0;
    --bm-text-muted: #9da9bb;
    --bm-text-soft: #9da9bb;
    --bm-text-placeholder: #9da9bb;
    --bm-accent: #76b0ff;
    --bm-accent-2: #76b0ff;
    --bm-row-hover: #192a40;
    --bm-row-selected: #203956;
    --bm-table-hover: #192a40;
    --bm-sortable-hover: #76b0ff;
    --bm-search-bg: #121e2d;
    --bm-search-border: #26384e;
    --bm-search-icon: #9da9bb;
    --bm-search-icon-active: #76b0ff;
    --bm-scrollbar-thumb: #405776;
    --bm-skeleton-from: #101d30;
    --bm-skeleton-to: #26384e;
    --bm-brand-primary: #e2e8f0;
    --bm-brand-secondary: #9da9bb;
    --bm-brand-hover: #76b0ff;
    --bm-brand-divider: #26384e;
    --bm-tooltip-bg: #e2e8f0;
    --bm-tooltip-color: #121e2d;
    --bm-tooltip-text: #121e2d;
    --falcon-link: #76b0ff;
    --falcon-primary-bg: #2670d3;
    --falcon-primary-text: #ffffff;
    --falcon-focus: #76b0ff;
    --falcon-success: #84d6b4;
    --falcon-success-bg: #203b34;
    --falcon-warning: #f5cd80;
    --falcon-warning-bg: #413627;
    --falcon-error: #f7a7b8;
    --falcon-error-bg: #422c39;
    --bm-shadow-soft: 0 7px 14px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.08);
    --bm-shadow-panel: 0 7px 14px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.08);
    --falcon-nav-active: #76b0ff;
    --falcon-nav-bg: #203956;
    --falcon-blue: #203956;
    --falcon-blue-ink: #76b0ff;
    --falcon-green: #203b34;
    --falcon-green-ink: #84d6b4;
    --falcon-violet: #302e49;
    --falcon-violet-ink: #b7abf0;
    --falcon-amber: #413627;
    --falcon-amber-ink: #f5cd80;
}

/* Ravne površine uklanjaju postojeće teksture, gradijente i blur samo u Falcon temi. */
html:root[data-theme="falcon"],
html:root[data-theme="falcon"] :is(body, .app-shell, .workspace, .workspace-body, .content, .login-shell) {
    color: var(--bm-text-primary) !important;
    background: var(--bm-page-bg) !important;
    background-image: none !important;
}

html:root[data-theme="falcon"] :is(.sidebar, .topbar) {
    background: var(--bm-topbar-bg) !important;
    border-color: var(--bm-border) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html:root[data-theme="falcon"] .topbar {
    border-bottom: 1px solid var(--bm-border);
}

html:root[data-theme="falcon"] .sidebar {
    background: var(--bm-sidebar-bg) !important;
    border-radius: 0;
    border-right: 1px solid var(--bm-border) !important;
    box-shadow: var(--bm-shadow-soft) !important;
}

html:root[data-theme="falcon"] :is(.sidebar-wordmark, .sidebar-wordmark--compact, .topbar-page-title) {
    color: var(--bm-text-primary) !important;
    text-shadow: none;
}

html:root[data-theme="falcon"] .sidebar-wordmark__divider {
    background: var(--bm-border-strong);
}

html:root[data-theme="falcon"] .sidebar-link {
    color: var(--bm-text-secondary) !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    font-weight: 500;
}

html:root[data-theme="falcon"] .sidebar-link:hover {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface-hover) !important;
    border-radius: 4px !important;
}

html:root[data-theme="falcon"] .sidebar-link.active {
    color: var(--falcon-nav-active) !important;
    background: var(--falcon-nav-bg) !important;
    border-radius: 4px !important;
    border-left: 3px solid var(--bm-accent) !important;
}

html:root[data-theme="falcon"] .sidebar-link.active::before {
    content: none !important;
}

html:root[data-theme="falcon"] .sidebar-link .sbi {
    color: inherit !important;
    opacity: 0.85;
}

html:root[data-theme="falcon"] .sidebar-link :is(.sbi svg, .sbi svg *) {
    color: inherit !important;
    stroke: currentColor !important;
}

html:root[data-theme="falcon"] :is(.topbar-brand-logo, .login-card__logo) {
    filter: none;
    opacity: 1;
}

/* Standardne kartice imaju blagu sjenu, a tekst i oznake prate paletu aktivnog režima. */
html:root[data-theme="falcon"] :is(h1, h2, h3, h4, .surface-title, .bm-page-title, .bm-modal-title, .d2-modal-title) {
    color: var(--bm-text-primary) !important;
    font-weight: 600;
    letter-spacing: -0.02em;
}

html:root[data-theme="falcon"] :is(.text-muted, .form-text, .bm-muted, .breadcrumb-shell, .eyebrow, .d2-eyebrow) {
    color: var(--bm-text-muted) !important;
}

html:root[data-theme="falcon"] :is(.card, .panel, .status-panel, .upload-panel, .bm-dashboard-card,
    .bm-analytics-card, .bm-cfg-card, .bm-profile-panel, .bm-info-card, .bm-command-list-card,
    .bm-command-editor-card, .bm-command-info-card, .bm-command-sql-panel, .bm-hotelier-modal-card,
    .bm-certificate-detail-card, .wg-panel, .wg-stat-card, .wg-settings-card, .d2-panel,
    .chat-sidebar, .chat-thread, .chat-info, .chat-info__card, .auth-result-card, .login-card) {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface) !important;
    border-color: var(--bm-border-subtle) !important;
    border-radius: 6px;
    box-shadow: var(--bm-shadow-panel) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html:root[data-theme="falcon"] :is(.bm-modal, .bm-column-modal, .d2-modal, .wg-modal,
    .bm-hoteli-info-modal, .topbar-user-dropdown, .topbar-theme-menu) {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface-modal) !important;
    border-color: var(--bm-border) !important;
    border-radius: 6px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html:root[data-theme="falcon"] :is(.bm-modal-header, .bm-modal-footer, .d2-modal-header, .d2-modal-footer,
    .wg-modal__header, .wg-modal__footer, .bm-hoteli-info-body, .bm-info-card-title,
    .login-card__header, .login-card__footer, .chat-thread__header) {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface-modal) !important;
    border-color: var(--bm-border) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.bm-info-label, .topbar-user-name, .topbar-user-chevron,
    .topbar-user-dropdown-item, .topbar-theme-heading, .bm-profile-label) {
    color: var(--bm-text-secondary) !important;
}

/* Topbar, meniji i obrasci koriste jasne granice i fokus u boji teme za aktivni izbor. */
html:root[data-theme="falcon"] :is(.sidebar-toggle, .topbar-chat-button, .topbar-user, .theme-segment,
    .topbar-theme-button, .icon-button, .installer-copy-button, .search-shell, .bm-searchbar, .chat-search) {
    color: var(--bm-text-secondary) !important;
    background: var(--bm-surface) !important;
    border-color: var(--bm-border-subtle) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.topbar-user-avatar, .chat-avatar) {
    color: var(--bm-text-primary);
    background: var(--bm-row-selected) !important;
}

html:root[data-theme="falcon"] :is(.theme-segment__button, .search-input, .bm-search-input, .topbar-theme-item) {
    color: var(--bm-text-secondary) !important;
    background: transparent !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] .theme-segment .theme-segment__button.active,
html:root[data-theme="falcon"] .topbar-theme-item[aria-checked="true"],
html:root[data-theme="falcon"] :is(.theme-segment__button, .topbar-theme-item, .topbar-user-dropdown-item):hover {
    color: var(--bm-text-primary) !important;
    background: var(--bm-row-hover) !important;
}

html:root[data-theme="falcon"] :is(.form-control, .form-select, .bm-input, .login-input, .wg-input, .wg-search),
html:root[data-theme="falcon"] input.login-input {
    color: var(--bm-text-primary) !important;
    background-color: var(--bm-surface-raised) !important;
    border-color: var(--bm-border) !important;
    border-radius: 4px;
    box-shadow: none;
}

html:root[data-theme="falcon"] :is(input, textarea)::placeholder {
    color: var(--bm-text-placeholder) !important;
    opacity: 1;
}

html:root[data-theme="falcon"] :is(.form-control, .form-select, .bm-input, .login-input, .wg-input):focus {
    border-color: var(--falcon-focus) !important;
    box-shadow: 0 0 0 3px var(--bm-row-selected) !important;
}

html:root[data-theme="falcon"] :is(.form-control, .form-select, .bm-input, .wg-input):disabled {
    color: var(--bm-text-muted) !important;
    background: var(--bm-surface) !important;
}

html:root[data-theme="falcon"] :is(.btn-primary, .bm-btn-primary, .bm-btn-primary-modal, .wg-btn--primary, .d2-button--primary) {
    color: var(--falcon-primary-text) !important;
    background: var(--falcon-primary-bg) !important;
    border-color: var(--falcon-primary-bg) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.btn-outline-secondary, .bm-btn-ghost, .bm-btn-icon-columns,
    .d2-button--ghost, .wg-btn:not(.wg-btn--primary):not(.wg-btn--danger):not(.wg-btn--danger-ghost)) {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface-raised) !important;
    border-color: var(--bm-border) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.btn-danger, .btn-outline-danger, .bm-btn-danger-modal, .wg-btn--danger, .wg-btn--danger-ghost) {
    color: var(--falcon-error) !important;
    background: var(--falcon-error-bg) !important;
    border-color: var(--falcon-error) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.btn, .bm-btn-ghost, .wg-btn, .d2-button):hover:not(:disabled) {
    filter: brightness(0.96);
}

html:root[data-theme="falcon"] :is(.bm-filter-tab, .bm-filter-chip, .bm-segment-button, .wg-tab, .chat-tab--active) {
    color: var(--bm-text-secondary) !important;
    background: var(--bm-surface) !important;
    border-color: var(--bm-border) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.bm-filter-tab.active, .bm-filter-tab--active, .bm-filter-chip--active,
    .bm-segment-button.active, .wg-tab--active, .chat-conversation--active) {
    color: var(--bm-text-primary) !important;
    background: var(--bm-row-selected) !important;
    border-color: var(--bm-border-strong) !important;
}

/* Zajednička HoteliTable i ostale tabele dobijaju neutralno zaglavlje i jasnu selekciju reda. */
html:root[data-theme="falcon"] :is(.bm-table-modern-wrapper, .bm-table-scroll, .bm-table-x-scroll,
    .bm-analytics-table-wrap, .wg-table-wrap, .wg-companies-scroll, .wg-ports-scroll, .wg-history-scroll) {
    background: var(--bm-surface-raised) !important;
    border-color: var(--bm-border) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.table, .bm-table, .bm-analytics-table, .wg-table) {
    --bs-table-color: var(--bm-text-primary);
    --bs-table-bg: var(--bm-surface-raised);
    --bs-table-border-color: var(--bm-border);
    --bs-table-hover-bg: var(--bm-row-hover);
    --bs-table-hover-color: var(--bm-text-primary);
    color: var(--bm-text-primary) !important;
    border-color: var(--bm-border) !important;
}

html:root[data-theme="falcon"] :is(.table, .bm-table, .bm-analytics-table, .wg-table) thead th,
html:root[data-theme="falcon"] body .content .bm-hoteli-table .bm-table-modern-wrapper .bm-table-header thead th,
html:root[data-theme="falcon"] body .content .bm-clients-page .bm-client-table-wrap .bm-table-header thead th {
    color: var(--bm-text-muted) !important;
    -webkit-text-fill-color: var(--bm-text-muted) !important;
    background: var(--bm-page-bg-soft) !important;
    border-color: var(--bm-border) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none;
}

html:root[data-theme="falcon"] :is(.table, .bm-table, .bm-analytics-table, .wg-table) tbody td {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface-raised) !important;
    border-color: var(--bm-border-subtle) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.table, .bm-table, .bm-analytics-table, .wg-table) tbody tr:hover td {
    background: var(--bm-row-hover) !important;
    border-color: var(--bm-border) !important;
}

html:root[data-theme="falcon"] :is(.table, .bm-table, .bm-analytics-table, .wg-table) tbody tr.bm-row-selected td,
html:root[data-theme="falcon"] :is(.table, .bm-table, .bm-analytics-table, .wg-table) tbody tr.selected td {
    background: var(--bm-row-selected) !important;
    border-color: var(--bm-border-strong) !important;
}

html:root[data-theme="falcon"] .bm-table tbody tr.bm-row-offline:not(.bm-row-selected):not(:hover) td {
    color: var(--bm-text-secondary) !important;
    background: var(--bm-surface) !important;
}

/* Dashboard ima otvoreno zaglavlje i neutralne KPI kartice; akcenti ističu ikone i izbor. */
html:root[data-theme="falcon"] .d2-hero {
    background: transparent !important;
    border-color: transparent !important;
    border-radius: 0;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.d2-hero, .d2-kpi-card)::after,
html:root[data-theme="falcon"] .d2-software-card::before {
    content: none !important;
}

html:root[data-theme="falcon"] .d2-kpi-card {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface) !important;
    border-color: var(--bm-border-subtle) !important;
    border-radius: 6px;
    box-shadow: var(--bm-shadow-panel) !important;
}

html:root[data-theme="falcon"] .d2-kpi-card:hover {
    border-color: var(--bm-accent) !important;
    box-shadow: var(--bm-shadow-panel) !important;
    transform: none !important;
}

html:root[data-theme="falcon"] :is(.d2-kpi-icon, .d2-quick-icon) {
    color: var(--falcon-link) !important;
    background: var(--falcon-blue) !important;
    border-radius: 4px;
}

html:root[data-theme="falcon"] .d2-tone-teal .d2-kpi-icon {
    color: var(--falcon-green-ink) !important;
    background: var(--falcon-green) !important;
}

html:root[data-theme="falcon"] .d2-tone-blue .d2-kpi-icon {
    color: var(--falcon-blue-ink) !important;
    background: var(--falcon-blue) !important;
}

html:root[data-theme="falcon"] .d2-tone-amber .d2-kpi-icon {
    color: var(--falcon-amber-ink) !important;
    background: var(--falcon-amber) !important;
}

html:root[data-theme="falcon"] :is(.d2-live-status, .d2-update-progress-title, .d2-update-progress-meta,
    .d2-panel-link, .d2-nefiscal-name, .d2-recent-heading, .d2-software-caption) {
    color: var(--bm-text-secondary) !important;
}

html:root[data-theme="falcon"] :is(.d2-live-status small, .d2-kpi-meta, .d2-kpi-label, .d2-kpi-state-label) {
    color: var(--bm-text-secondary) !important;
}

html:root[data-theme="falcon"] :is(.d2-update-progress, .d2-certificate-alert, .d2-wg-stats div, .d2-quick-card) {
    background: var(--bm-surface-raised) !important;
    border-color: var(--bm-border-subtle) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] .d2-update-progress-segment:not(.is-filled) {
    background: var(--bm-border-strong) !important;
}

html:root[data-theme="falcon"] .d2-update-progress-segment.is-filled {
    background: #31b989 !important;
}

html:root[data-theme="falcon"] .d2-software-card {
    --d2-software-accent: var(--falcon-blue-ink);
    --d2-software-tint: var(--falcon-blue);
    --d2-software-border: var(--bm-border);
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface-raised) !important;
    border-color: var(--bm-border) !important;
    border-radius: 6px;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] .d2-software-card.d2-tone-teal {
    --d2-software-accent: var(--falcon-green-ink);
    --d2-software-tint: var(--falcon-green);
}

html:root[data-theme="falcon"] .d2-software-card.d2-tone-violet {
    --d2-software-accent: var(--falcon-violet-ink);
    --d2-software-tint: var(--falcon-violet);
}

html:root[data-theme="falcon"] .d2-software-card.d2-tone-amber {
    --d2-software-accent: var(--falcon-amber-ink);
    --d2-software-tint: var(--falcon-amber);
}

html:root[data-theme="falcon"] .d2-software-card .d2-software-mark {
    color: var(--d2-software-accent) !important;
    background: var(--d2-software-tint) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] .d2-software-card .d2-software-mark--logo {
    background: #ffffff !important;
    border-color: var(--bm-border) !important;
}

html:root[data-theme="falcon"] :is(.d2-recent-row, .d2-contabo-kpi-row, .d2-wireguard-kpi-row) {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface) !important;
    border-color: var(--bm-border) !important;
}

html:root[data-theme="falcon"] :is(.d2-software-link, .d2-recent-row, .d2-quick-card):hover {
    background: var(--bm-row-hover) !important;
}

html:root[data-theme="falcon"] :is(.d2-software-ok, .d2-terminal-status--online, .d2-kpi-state-label strong) {
    color: var(--falcon-success) !important;
}

html:root[data-theme="falcon"] .d2-software-ok {
    background: var(--falcon-success-bg) !important;
}

html:root[data-theme="falcon"] :is(.d2-software-alert, .d2-alert-badge, .d2-terminal-status--offline,
    .d2-certificate-status.is-expiring, .d2-certificate-detail-row .is-expiring) {
    color: var(--falcon-warning) !important;
}

html:root[data-theme="falcon"] :is(.d2-software-alert, .d2-alert-badge) {
    background: var(--falcon-warning-bg) !important;
}

html:root[data-theme="falcon"] :is(.d2-certificate-status.is-expired, .d2-certificate-detail-row .is-expired) {
    color: var(--falcon-error) !important;
}

html:root[data-theme="falcon"] .d2-nefiscal-bar span {
    background: var(--bm-accent) !important;
}

/* Ostali prikazi, dijalozi i paginacija koriste istu paletu umjesto dekorativnih gradijenata. */
html:root[data-theme="falcon"] :is(.file-drop, .upload-result, .bm-profile-session-item,
    .bm-profile-image-modal-preview, .bm-largest-db, .bm-chart-empty, .bm-analytics-empty,
    .bm-analytics-loading, .chat-composer, .chat-conversation, .chat-user-row) {
    color: var(--bm-text-secondary) !important;
    background: var(--bm-surface-raised) !important;
    border-color: var(--bm-border) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.pagination, .bm-pagination) :is(.page-link, button) {
    color: var(--bm-text-secondary) !important;
    background: var(--bm-surface-raised) !important;
    border-color: var(--bm-border) !important;
    box-shadow: none !important;
}

html:root[data-theme="falcon"] :is(.pagination, .bm-pagination) :is(.active .page-link, button.active) {
    color: var(--bm-text-primary) !important;
    background: var(--bm-row-selected) !important;
}

html:root[data-theme="falcon"] :is(.bm-panel-link, .bm-info-link, .btn-link, .bm-search-result-title) {
    color: var(--falcon-link) !important;
}

html:root[data-theme="falcon"] :is(.topbar-theme-button, .topbar-theme-item, .sidebar-link, .d2-quick-card):focus-visible {
    outline: 2px solid var(--falcon-focus);
    outline-offset: 2px;
}


/* Kartice i tabele koriste diskretne razdjelnike, dok izabrane kontrole jasno ističu akcent teme. */
html:root[data-theme="falcon"] :is(.d2-panel-heading, .d2-kpi-recent, .d2-contabo-kpi-recent) {
    border-color: var(--bm-border-subtle) !important;
}

html:root[data-theme="falcon"] :is(.d2-software-name, .d2-software-count) {
    color: var(--bm-text-primary) !important;
}

html:root[data-theme="falcon"] :is(.d2-software-arrow, .d2-panel-link, .d2-quick-arrow) {
    color: var(--falcon-link) !important;
}

html:root[data-theme="falcon"] .theme-segment .theme-segment__button.active,
html:root[data-theme="falcon"] .topbar-theme-item[aria-checked="true"] {
    color: var(--falcon-link) !important;
    background: var(--bm-row-selected) !important;
}

html:root[data-theme="falcon"] :is(.d2-update-progress, .d2-certificate-alert, .d2-quick-card,
    .d2-recent-row, .d2-contabo-kpi-row, .d2-wireguard-kpi-row, .bm-table-modern-wrapper,
    .topbar-theme-menu, .topbar-user-dropdown, .wg-panel, .wg-stat-card) {
    border-radius: 4px !important;
}

html:root[data-theme="falcon"] .d2-panel-heading {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--bm-border-subtle);
}

/* Svijetla strelica u tamnom režimu zadržava čitljivost Bootstrap padajuće liste. */
html:root[data-theme="falcon"].dark-theme .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b3bfd0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-image: var(--bs-form-select-bg-img) !important;
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}


/* Navigacija koristi zaobljen izbor u stilu ove teme bez dodatne bočne oznake. */
html:root[data-theme="falcon"] .sidebar-link.active {
    border-left: 0 !important;
    border-radius: 4px !important;
}

html:root[data-theme="falcon"] .sidebar-link:hover {
    border-radius: 4px !important;
}

/* Ljubičasta grupa dobija zaseban akcent, a sve grupe zadržavaju neutralne glavne brojeve. */
html:root[data-theme="falcon"] .d2-tone-violet .d2-kpi-icon {
    color: var(--falcon-violet-ink) !important;
    background: var(--falcon-violet) !important;
}

/* Falcon povezuje bočni meni i topbar s pozadinom, uz samostalne kartice sa blagom sjenom. */
html:root[data-theme="falcon"] .sidebar {
    border-right-color: transparent !important;
    box-shadow: none !important;
}
html:root[data-theme="falcon"] .topbar { border-bottom-color: transparent !important; }
html:root[data-theme="falcon"] .sidebar-link.active { background: transparent !important; }
html:root[data-theme="falcon"] :is(.d2-panel, .d2-kpi-card, .card) { border-color: transparent !important; }

/* Bočni meni koristi Falcon plavi aktivni red, uz prigušene neaktivne stavke i jasan hover. */
html:root[data-theme="falcon"] .sidebar-link {
    color: var(--bm-text-secondary) !important;
    background: transparent !important;
}

html:root[data-theme="falcon"] .sidebar-link:hover {
    color: var(--falcon-nav-active) !important;
    background: var(--bm-surface-hover) !important;
}

html:root[data-theme="falcon"] .sidebar-link.active {
    color: var(--falcon-nav-active) !important;
    background: var(--falcon-nav-bg) !important;
}

html:root[data-theme="falcon"] .sidebar-link.active .sbi,
html:root[data-theme="falcon"] .sidebar-link.active .sbt,
html:root[data-theme="falcon"] .sidebar-link.active .sbi svg,
html:root[data-theme="falcon"] .sidebar-link.active .sbi svg * {
    color: inherit !important;
    stroke: currentColor !important;
}

/* Dugmad i potvrdna polja koriste isti akcent i radijus kao kontrole aktivne teme. */
html:root[data-theme="falcon"] :is(.btn, .bm-btn-primary, .bm-btn-primary-modal, .bm-btn-ghost, .wg-btn, .d2-button) {
    border-radius: 4px;
}

html:root[data-theme="falcon"] .form-check-input:checked {
    background-color: var(--falcon-primary-bg) !important;
    border-color: var(--falcon-primary-bg) !important;
}
