/* Next theme: autorska prilagodba KNT Monitora prema Ynex CRM dashboardu autora Spruko.
   Tamnoplavi meni, ljubičasti glavni akcent, bijele kartice i obojeni KPI pokazatelji prate referencu.
   Svijetli i tamni stilovi su ograničeni na data-theme="next". */

/* Svijetli režim koristi plavosivu pozadinu, bijele kartice i ljubičaste akcije. */
html:root[data-theme="next"] {
    --bm-bg: #f1f3fa;
    --bm-page-bg: #f1f3fa;
    --bm-page-bg-soft: #f7f8fc;
    --bm-shell-bg: #f1f3fa;
    --bm-sidebar-bg: #101b45;
    --bm-topbar-bg: #ffffff;
    --bm-surface: #ffffff;
    --bm-surface-raised: #ffffff;
    --bm-surface-modal: #ffffff;
    --bm-surface-hover: #f4f2fb;
    --bm-border: #e5e8f1;
    --bm-border-subtle: #edf0f6;
    --bm-border-strong: #cbd2e1;
    --bm-text: #25283a;
    --bm-text-primary: #25283a;
    --bm-text-secondary: #616a7e;
    --bm-text-muted: #7d879b;
    --bm-text-soft: #7d879b;
    --bm-text-placeholder: #7d879b;
    --bm-accent: #7c4ed3;
    --bm-accent-2: #1594b6;
    --bm-row-hover: #f4f2fb;
    --bm-row-selected: #eee9fb;
    --bm-table-hover: #f4f2fb;
    --bm-sortable-hover: #7c4ed3;
    --bm-search-bg: #ffffff;
    --bm-search-border: #e5e8f1;
    --bm-search-icon: #7d879b;
    --bm-search-icon-active: #7c4ed3;
    --bm-scrollbar-thumb: #cbd2e1;
    --bm-skeleton-from: #f7f8fc;
    --bm-skeleton-to: #e5e8f1;
    --bm-shadow-soft: 0 8px 18px rgba(36, 45, 83, 0.07), 0 2px 5px rgba(36, 45, 83, 0.04);
    --bm-shadow-panel: 0 8px 18px rgba(36, 45, 83, 0.07), 0 2px 5px rgba(36, 45, 83, 0.04);
    --bm-brand-primary: #25283a;
    --bm-brand-secondary: #7d879b;
    --bm-brand-hover: #7c4ed3;
    --bm-brand-divider: #e5e8f1;
    --bm-tooltip-bg: #25283a;
    --bm-tooltip-color: #ffffff;
    --bm-tooltip-text: #ffffff;
    --bm-tooltip-border: transparent;
    --bm-tooltip-shadow: 0 4px 12px rgba(30, 30, 30, 0.16);
    --next-link: #7c4ed3;
    --next-primary-bg: #7c4ed3;
    --next-primary-text: #ffffff;
    --next-focus: #7c4ed3;
    --next-success: #159b72;
    --next-success-bg: #e4f7f0;
    --next-warning: #9a6b0f;
    --next-warning-bg: #fff4d9;
    --next-error: #b43c57;
    --next-error-bg: #fce8ee;
    --next-blue: #e2f5fb;
    --next-blue-ink: #1594b6;
    --next-green: #e4f7f0;
    --next-green-ink: #159b72;
    --next-violet: #eee9fb;
    --next-violet-ink: #7042c6;
    --next-amber: #fff4d9;
    --next-amber-ink: #9a6b0f;
    --next-nav-active: #ffffff;
    --next-nav-bg: #7c4ed3;
}

/* Tamni režim koristi mornarsku osnovu, dublje kartice i svijetle ljubičaste akcije. */
html:root[data-theme="next"].dark-theme {
    --bm-bg: #0d1629;
    --bm-page-bg: #0d1629;
    --bm-page-bg-soft: #121d33;
    --bm-shell-bg: #0d1629;
    --bm-sidebar-bg: #101a3b;
    --bm-topbar-bg: #18243b;
    --bm-surface: #18243b;
    --bm-surface-raised: #18243b;
    --bm-surface-modal: #18243b;
    --bm-surface-hover: #202f4c;
    --bm-border: #2c3b58;
    --bm-border-subtle: #23324d;
    --bm-border-strong: #4b5f80;
    --bm-text: #f1f4fb;
    --bm-text-primary: #f1f4fb;
    --bm-text-secondary: #bdc7da;
    --bm-text-muted: #94a1b8;
    --bm-text-soft: #94a1b8;
    --bm-text-placeholder: #94a1b8;
    --bm-accent: #a985f1;
    --bm-accent-2: #6dd1ee;
    --bm-row-hover: #202f4c;
    --bm-row-selected: #332956;
    --bm-table-hover: #202f4c;
    --bm-sortable-hover: #a985f1;
    --bm-search-bg: #18243b;
    --bm-search-border: #2c3b58;
    --bm-search-icon: #94a1b8;
    --bm-search-icon-active: #a985f1;
    --bm-scrollbar-thumb: #4b5f80;
    --bm-skeleton-from: #121d33;
    --bm-skeleton-to: #2c3b58;
    --bm-brand-primary: #f1f4fb;
    --bm-brand-secondary: #94a1b8;
    --bm-brand-hover: #a985f1;
    --bm-brand-divider: #2c3b58;
    --bm-tooltip-bg: #f1f4fb;
    --bm-tooltip-color: #18243b;
    --bm-tooltip-text: #18243b;
    --next-link: #a985f1;
    --next-primary-bg: #7b50d4;
    --next-primary-text: #ffffff;
    --next-focus: #a985f1;
    --next-success: #76d8b1;
    --next-success-bg: #203d37;
    --next-warning: #f4c56f;
    --next-warning-bg: #453824;
    --next-error: #f5a3b5;
    --next-error-bg: #442c38;
    --bm-shadow-soft: 0 8px 20px rgba(0, 0, 0, 0.18);
    --bm-shadow-panel: 0 8px 20px rgba(0, 0, 0, 0.18);
    --next-nav-active: #ffffff;
    --next-nav-bg: #5b3aa1;
    --next-blue: #243e51;
    --next-blue-ink: #6dd1ee;
    --next-green: #203d37;
    --next-green-ink: #76d8b1;
    --next-violet: #3e315f;
    --next-violet-ink: #c7aefa;
    --next-amber: #453824;
    --next-amber-ink: #f4c56f;
}

/* Ravne površine uklanjaju postojeće teksture, gradijente i blur samo u Next temi. */
html:root[data-theme="next"],
html:root[data-theme="next"] :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="next"] :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="next"] .topbar {
    border-bottom: 1px solid var(--bm-border);
}

html:root[data-theme="next"] .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="next"] :is(.sidebar-wordmark, .sidebar-wordmark--compact, .topbar-page-title) {
    color: var(--bm-text-primary) !important;
    text-shadow: none;
}

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

html:root[data-theme="next"] .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="next"] .sidebar-link:hover {
    color: var(--bm-text-primary) !important;
    background: var(--bm-surface-hover) !important;
    border-radius: 8px !important;
}

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

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

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

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

html:root[data-theme="next"] :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="next"] :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="next"] :is(.text-muted, .form-text, .bm-muted, .breadcrumb-shell, .eyebrow, .d2-eyebrow) {
    color: var(--bm-text-muted) !important;
}

html:root[data-theme="next"] :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: 10px;
    box-shadow: var(--bm-shadow-panel) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html:root[data-theme="next"] :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: 10px;
    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="next"] :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="next"] :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 ljubičasti fokus za aktivni izbor. */
html:root[data-theme="next"] :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="next"] :is(.topbar-user-avatar, .chat-avatar) {
    color: var(--bm-text-primary);
    background: var(--bm-row-selected) !important;
}

html:root[data-theme="next"] :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="next"] .theme-segment .theme-segment__button.active,
html:root[data-theme="next"] .topbar-theme-item[aria-checked="true"],
html:root[data-theme="next"] :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="next"] :is(.form-control, .form-select, .bm-input, .login-input, .wg-input, .wg-search),
html:root[data-theme="next"] input.login-input {
    color: var(--bm-text-primary) !important;
    background-color: var(--bm-surface-raised) !important;
    border-color: var(--bm-border) !important;
    border-radius: 8px;
    box-shadow: none;
}

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

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

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

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

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

html:root[data-theme="next"] :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="next"] :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="next"] :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="next"] :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="next"] :is(.table, .bm-table, .bm-analytics-table, .wg-table) thead th,
html:root[data-theme="next"] body .content .bm-hoteli-table .bm-table-modern-wrapper .bm-table-header thead th,
html:root[data-theme="next"] 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="next"] :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="next"] :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="next"] :is(.table, .bm-table, .bm-analytics-table, .wg-table) tbody tr.bm-row-selected td,
html:root[data-theme="next"] :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="next"] .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="next"] .d2-hero {
    background: transparent !important;
    border-color: transparent !important;
    border-radius: 0;
    box-shadow: none !important;
}

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

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

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

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

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

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

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

html:root[data-theme="next"] :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="next"] :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="next"] :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="next"] .d2-update-progress-segment:not(.is-filled) {
    background: var(--bm-border-strong) !important;
}

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

html:root[data-theme="next"] .d2-software-card {
    --d2-software-accent: var(--next-blue-ink);
    --d2-software-tint: var(--next-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: 10px;
    box-shadow: none !important;
}

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

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

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

html:root[data-theme="next"] .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="next"] .d2-software-card .d2-software-mark--logo {
    background: #ffffff !important;
    border-color: var(--bm-border) !important;
}

html:root[data-theme="next"] :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="next"] :is(.d2-software-link, .d2-recent-row, .d2-quick-card):hover {
    background: var(--bm-row-hover) !important;
}

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

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

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

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

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

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

/* Ostali prikazi, dijalozi i paginacija koriste istu paletu umjesto dekorativnih gradijenata. */
html:root[data-theme="next"] :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="next"] :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="next"] :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="next"] :is(.bm-panel-link, .bm-info-link, .btn-link, .bm-search-result-title) {
    color: var(--next-link) !important;
}

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


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

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

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

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

html:root[data-theme="next"] :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: 8px !important;
}

html:root[data-theme="next"] .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="next"].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='%23bdc7da' 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;
}



/* Next naglašava identitet CRM dashboarda kroz tamnoplavi bočni meni i kompaktne zaobljene stavke. */
html:root[data-theme="next"] .sidebar {
    background: var(--bm-sidebar-bg) !important;
    border-right-color: transparent !important;
    box-shadow: 4px 0 18px rgba(16, 27, 69, 0.08) !important;
}
html:root[data-theme="next"] :is(.sidebar-wordmark, .sidebar-wordmark--compact) {
    color: #ffffff !important;
}
html:root[data-theme="next"] .sidebar-wordmark__divider { background: rgba(255,255,255,0.34) !important; }
html:root[data-theme="next"] .sidebar-link {
    color: #b9c4e2 !important;
    border-color: transparent !important;
    border-radius: 7px !important;
}
html:root[data-theme="next"] .sidebar-link:hover {
    color: #ffffff !important;
    background: rgba(255,255,255,0.08) !important;
}
html:root[data-theme="next"] .sidebar-link.active {
    color: #ffffff !important;
    background: var(--next-nav-bg) !important;
    border-left: 0 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05) !important;
}
html:root[data-theme="next"] .sidebar-link.active::before { content: none !important; }
html:root[data-theme="next"] .sidebar-link :is(.sbi svg, .sbi svg *) {
    color: inherit !important;
    stroke: currentColor !important;
}
html:root[data-theme="next"].dark-theme .sidebar-link {
    color: #aebbd6 !important;
}
html:root[data-theme="next"].dark-theme .sidebar-link.active {
    background: #292852 !important;
}

/* Referentni ljubičasti CRM uvodni blok daje dashboardu jasnu početnu akciju. */
html:root[data-theme="next"] .d2-hero {
    min-height: 126px;
    padding: 1.2rem 1.35rem;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #7146c7 0%, #8e5be1 100%) !important;
    box-shadow: 0 10px 22px rgba(93, 61, 176, 0.18) !important;
}
html:root[data-theme="next"] .d2-hero :is(h1, p, .d2-eyebrow) {
    color: #ffffff !important;
}
html:root[data-theme="next"] .d2-hero p { color: rgba(255,255,255,0.80) !important; }
html:root[data-theme="next"] .d2-hero::after { border-color: rgba(255,255,255,0.14) !important; }
html:root[data-theme="next"] .d2-hero :is(.d2-update-progress, .d2-certificate-alert) {
    color: var(--bm-text-primary) !important;
    background: rgba(255,255,255,0.96) !important;
    border-color: rgba(255,255,255,0.5) !important;
}

/* KPI kartice koriste kružne ljubičaste, cijan, zelene i žute oznake kao u referenci. */
html:root[data-theme="next"] .d2-kpi-card {
    border-radius: 10px !important;
    border-color: transparent !important;
    box-shadow: var(--bm-shadow-panel) !important;
}
html:root[data-theme="next"] :is(.d2-kpi-icon, .d2-quick-icon) {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50% !important;
}
html:root[data-theme="next"] .d2-tone-blue .d2-kpi-icon {
    color: var(--next-violet-ink) !important;
    background: var(--next-violet) !important;
}
html:root[data-theme="next"] .d2-tone-teal .d2-kpi-icon {
    color: var(--next-green-ink) !important;
    background: var(--next-green) !important;
}
html:root[data-theme="next"] .d2-tone-amber .d2-kpi-icon {
    color: var(--next-amber-ink) !important;
    background: var(--next-amber) !important;
}
html:root[data-theme="next"] .d2-tone-violet .d2-kpi-icon {
    color: var(--next-blue-ink) !important;
    background: var(--next-blue) !important;
}
html:root[data-theme="next"] .d2-panel {
    border-radius: 10px !important;
    box-shadow: var(--bm-shadow-panel) !important;
}
html:root[data-theme="next"] :is(.d2-panel-heading, .d2-kpi-recent, .d2-contabo-kpi-recent) {
    border-color: var(--bm-border-subtle) !important;
}
html:root[data-theme="next"] :is(.d2-software-card, .d2-quick-card) {
    border-radius: 9px !important;
}

/* Aktivni filteri i glavni tasteri koriste ljubičastu referentnu boju. */
html:root[data-theme="next"] :is(.btn-primary, .bm-btn-primary, .bm-btn-primary-modal, .wg-btn--primary, .d2-button--primary) {
    background: var(--next-primary-bg) !important;
    border-color: var(--next-primary-bg) !important;
    color: #ffffff !important;
}
html:root[data-theme="next"] :is(.bm-filter-tab.active, .bm-filter-tab--active, .bm-filter-chip--active, .bm-segment-button.active, .wg-tab--active) {
    color: var(--next-link) !important;
    background: var(--bm-row-selected) !important;
    border-color: transparent !important;
}
html:root[data-theme="next"] :is(.topbar-theme-item[aria-checked="true"], .theme-segment__button.active) {
    color: var(--next-link) !important;
    background: var(--bm-row-selected) !important;
}

/* Tamni Next koristi iste akcentne boje uz dublje kartice i svjetliji tekst. */
html:root[data-theme="next"].dark-theme .d2-hero {
    background: linear-gradient(135deg, #5b3aa1 0%, #7e52c7 100%) !important;
}
html:root[data-theme="next"].dark-theme .d2-hero :is(.d2-update-progress, .d2-certificate-alert) {
    background: rgba(24,36,59,0.96) !important;
    color: var(--bm-text-primary) !important;
}

/* Bočni meni prati Ynex uzor: mornarska osnova, prigušene stavke i ljubičasti aktivni red. */
html:root[data-theme="next"] .sidebar-link {
    color: #b9c4e2 !important;
    background: transparent !important;
}

html:root[data-theme="next"] .sidebar-link:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

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

html:root[data-theme="next"].dark-theme .sidebar-link {
    color: #aebbd6 !important;
}

html:root[data-theme="next"].dark-theme .sidebar-link:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.10) !important;
}

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

/* Dugmad i kontrole imaju kompaktno zaobljenje u skladu sa Next karticama. */
html:root[data-theme="next"] :is(.btn, .bm-btn-primary, .bm-btn-primary-modal, .bm-btn-ghost, .wg-btn, .d2-button) {
    border-radius: 8px;
}
html:root[data-theme="next"] .form-check-input:checked {
    background-color: var(--next-primary-bg) !important;
    border-color: var(--next-primary-bg) !important;
}
