html, body {
    height: 100%;
}

app {
    display: block;
    height: 100%;
}

.msgbox-icon {
    margin-top: 0 !important;
}

/* Naziv polja lijevo od polja (DX to radi od 992 px) poravnat je desno uz polje, kao u Linku 3.
   DX label je flex, pa tekst pomiče justify-content; text-align vrijedi za tekst u više redaka. */
@media (min-width: 992px) {
    .dxbl-fl .dxbl-fl-item.dxbl-fl-item-horizontal > .dxbl-fl-cpt:not(:last-child) {
        justify-content: flex-end;
        text-align: right;
    }
}

.dxbl-fl .dxbl-fl-item .dxbl-fl-ctrl-nc:has(> div.static-image-container) {
    margin-top: 0 !important;
    padding-top: 20px !important;
}


/*.dxbl-fl .dxbl-fl-item .dxbl-fl-ctrl-nc > div.static-image-container {
    padding-top: 20px !important;
}
*/
.header-logo {
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('../images/Logo.svg');
    mask: url('../images/Logo.svg');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    width: 180px;
    height: 24px;
}

#blazor-error-ui {
    background: inherit;
    bottom: 0;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100001;
}

/* Natpis zaglavlja liste smije se prelomiti u dva retka: širina stupca slijedi podatke, ne natpis (FormeStandard/SirinaStupca). */
.dxbl-grid.dxbl-grid-nowrap .dxbl-grid-table > thead > tr > th > .dxbl-grid-header-content > span {
    white-space: normal;
    overflow-wrap: normal;
    line-height: 1.1;
    /* najviše dva retka, dalje se natpis kraća (i kad korisnik suzi stupac) */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

/* Fluent padding zaglavlja predviđen je za jedan redak; varijabla na thead (ne padding na th) jer DX pravilo ćelije ima veću specifičnost. */
.dxbl-grid .dxbl-grid-table > thead {
    --dxbl-grid-text-cell-padding-y: 0.125rem;
}

/*.main-content .dxbl-grid .dxbl-grid-table > tbody > tr > td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dxbl-grid-header-content {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-top: 5px;
    padding-bottom: 5px;
}
*/

.clickable-xaf-nav-item > a .xaf-nav-link, .clickable-xaf-nav-item > div > a .xaf-nav-link {
    text-decoration: unset !important;
}

.xaf-navmenu.dxbl-accordion .dxbl-accordion-group > .dxbl-accordion-group-body .dxbl-accordion-item-content {
    padding-inline-start: calc(var(--dxbl-accordion-group-item-padding-x, 0.75rem) + 2rem) !important;
}

.header.xaf-show-navigate-back-action > .header-right-side button.navigate-back-icon-container {
    display: unset;
}

.dxbs-grid-table td {
    white-space: nowrap;
}

td.xaf-double-click {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.xaf-masterdetail-view {
    flex: 0%;
    min-height: 50px !important;
    min-width: 300px;
}

.app .main-content > .grid-content,
.xaf-masterdetail-listview > .grid-content {
    height: 100%;
    min-height: 50px !important;
}

/* Nested grid u donjem (detail) panelu master-detaila zauzima visinu panela i skrola samo retke; tabovi i
   toolbar liste ostaju vidljivi. Panel ima flex visinu (0%), pa size containment ne ovisi o sadržaju;
   container-type: size ne uvodi layout containment (popupi i dropdownovi ostaju pozicionirani normalno).
   DX sam nested gridu daje max-height 300px (master-detail.css), ovo pravilo je specifičnije.
   Samo vanjski master-detail: unutar nested liste (npr. "Prikaži razradu rashoda") visina kontejnera nije
   određena, pa bi size containment srušio donji panel na min-height.
   --lgn-md-nested-offset = zaglavlje taba + toolbar liste + razmaci forme; po formi se može pregaziti. */
.xaf-masterdetail-detailview:not(.nested-content *) {
    container-type: size;
}

.xaf-masterdetail-detailview:not(.nested-content *) .nested-content > .grid-content.grid-virtual-scrolling-mode dxbl-grid {
    max-height: max(150px, calc(100cqh - var(--lgn-md-nested-offset, 7.5rem)));
}

.always-show-caption {
    display: block !important;
}

    .always-show-caption span {
        display: inline !important;
    }

#pdfViewer {
    margin: 10px auto 10px auto;
    width: 95%;
    height: 100%;
}

#pdfContainer {
    position: relative;
    width: 100%;
    height: 800px;
    overflow: auto;
    background: #333;
    text-align: center;
    border: solid 3px
}

.pdfCanvas {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid black;
    z-index: 1;
    height: 100%;
}



.resizable {
    touch-action: none;
    /* This makes things *much* easier */
    box-sizing: border-box;
}

#signature {
    position: relative;
    user-select: none;
    background-size: 100% 100%; /* Scale the image to cover the entire div */
    background-repeat: no-repeat; /* Prevent image repetition */
    background-position: center;
    transform: translate(-50%, -50%);
}

    #signature:hover {
        border: 1px dashed #000;
    }

.outer-div {
    height: 800px;
    width: 1200px;
}

/* .imageHolder {
    background-color: transparent;
    display: flex;
    flex-flow: column nowrap;
    align-content: space-between;
    position: absolute;
    top: 20px;
    left: 20px;
    border: 1px solid blue;
    z-index: 2;
} */

#rotationIcon {
    visibility: hidden;
    position: absolute;
    padding-bottom: 20px;
    left: calc(50% - 5px);
    top: -40px;
    width: 20px;
    height: 20px;
    z-index: 5;
}

    #rotationIcon:hover {
        cursor: grab;
    }

    #rotationIcon:active {
        cursor: grabbing;
    }

#signature:hover #rotationIcon {
    visibility: visible;
}

.imageWrapper {
    position: absolute;
    transform-origin: top left;
    user-select: none;
    /*margin: 10px;*/
    top: 100px;
    left: 100px;
    z-index: 2;
}

.resizer {
    visibility: hidden;
    width: 10px;
    height: 10px;
    position: absolute;
    border: 1px solid white;
    background-color: black;
    border-radius: 50%;
    z-index: 3;
}

    .resizer:hover {
        background-color: gray;
    }

#signature:hover .resizer {
    visibility: visible;
}

#resizer-tl {
    top: -5px;
    left: -5px;
}

#resizer-tm {
    top: -5px;
    left: calc(50% - 5px);
}

#resizer-tr {
    top: -5px;
    right: -5px;
}

#resizer-ml {
    top: calc(50% - 5px);
    left: -5px;
}

#resizer-mr {
    top: calc(50% - 5px);
    right: -5px;
}

#resizer-bl {
    bottom: -5px;
    left: -5px;
}

#resizer-bm {
    bottom: -5px;
    left: calc(50% - 5px);
}

#resizer-br {
    bottom: -5px;
    right: -5px;
}

#resizer-bl:hover,
#resizer-tr:hover {
    cursor: nesw-resize;
}

#resizer-br:hover,
#resizer-tl:hover {
    cursor: nwse-resize;
}

#resizer-bm:hover,
#resizer-tm:hover {
    cursor: ns-resize;
}

#resizer-ml:hover,
#resizer-mr:hover {
    cursor: ew-resize;
}


/* Smanjimo duljinu teksta u tab-u na 30 znakova */
.dxbl-btn-standalone span.d-flex.flex-row span {
    overflow: hidden;
    max-width: 30ch;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* FTR-PLT-011: native scrollbar na skroleru izbornika; DX overlay bar ostaje skriven.
   DX `.dxbl-scroll-viewer-content` ima scrollbar-width:none i webkit display:none — nadvladaj !important. */
.lgn-menu-dropdown-scroll {
    overflow-y: scroll !important;
    min-height: 0;
    scrollbar-gutter: stable;
    scrollbar-width: auto !important;
    -ms-overflow-style: scrollbar !important;
    scrollbar-color:
        color-mix(in srgb, var(--dxbl-dropdown-color, var(--bs-body-color, #3d4a5c)) 80%, #000)
        color-mix(in srgb, var(--dxbl-dropdown-bg, var(--bs-body-bg, #c5cdd8)) 62%, #8a94a3);
}

.dxbl-dropdown-body.lgn-menu-dropdown-scroll {
    max-height: calc(100vh - 8rem);
}

.lgn-menu-dropdown-scroll::-webkit-scrollbar,
html body .dxbl-scroll-viewer > .dxbl-scroll-viewer-content.lgn-menu-dropdown-scroll::-webkit-scrollbar {
    -webkit-appearance: none;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    background: color-mix(in srgb, var(--dxbl-dropdown-bg, var(--bs-body-bg, #c5cdd8)) 62%, #8a94a3);
}

.lgn-menu-dropdown-scroll::-webkit-scrollbar-track,
html body .dxbl-scroll-viewer > .dxbl-scroll-viewer-content.lgn-menu-dropdown-scroll::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--dxbl-dropdown-bg, var(--bs-body-bg, #c5cdd8)) 62%, #8a94a3);
}

.lgn-menu-dropdown-scroll::-webkit-scrollbar-thumb,
html body .dxbl-scroll-viewer > .dxbl-scroll-viewer-content.lgn-menu-dropdown-scroll::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--dxbl-dropdown-color, var(--bs-body-color, #3d4a5c)) 80%, #000);
    border-radius: 6px;
    border: 2px solid color-mix(in srgb, var(--dxbl-dropdown-bg, var(--bs-body-bg, #c5cdd8)) 62%, #8a94a3);
    background-clip: padding-box;
}

.lgn-menu-dropdown-scroll::-webkit-scrollbar-thumb:hover,
html body .dxbl-scroll-viewer > .dxbl-scroll-viewer-content.lgn-menu-dropdown-scroll::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--dxbl-dropdown-color, var(--bs-body-color, #1f2a3a)) 92%, #000);
    background-clip: padding-box;
}

html body .dxbl-scroll-viewer > .dxbl-scroll-viewer-content.lgn-menu-dropdown-scroll {
    overflow-y: scroll !important;
    scrollbar-width: auto !important;
    -ms-overflow-style: scrollbar !important;
}

.dxbl-scroll-viewer:has(> .lgn-menu-dropdown-scroll) > .dxbl-scroll-viewer-vert-scroll-bar,
.dxbl-scroll-viewer.lgn-menu-dropdown-scroll > .dxbl-scroll-viewer-vert-scroll-bar {
    display: none !important;
}

.lgn-menu-dropdown-scroll-hint {
    --lgn-hint-surface: var(--dxbl-dropdown-bg, var(--dxds-color-surface-neutral-default-rest, var(--bs-body-bg, #fff)));
    --lgn-hint-fg: var(--dxbl-dropdown-color, var(--dxds-color-content-neutral-default-rest, var(--bs-body-color, #152033)));
    --lgn-hint-scrim-16: color-mix(in srgb, var(--lgn-hint-surface) 16%, transparent);
    --lgn-hint-scrim-42: color-mix(in srgb, var(--lgn-hint-surface) 42%, transparent);
    --lgn-hint-scrim-70: color-mix(in srgb, var(--lgn-hint-surface) 70%, transparent);
    --lgn-hint-pill: color-mix(in srgb, color-mix(in srgb, var(--lgn-hint-surface) 90%, #1b2430 10%) 88%, transparent);
    position: fixed;
    z-index: 20000;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    cursor: pointer;
    pointer-events: auto;
    color: var(--lgn-hint-fg);
    appearance: none;
    -webkit-appearance: none;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        var(--lgn-hint-scrim-16) 28%,
        var(--lgn-hint-scrim-42) 58%,
        var(--lgn-hint-scrim-70) 100%
    );
    box-shadow: inset 0 -12px 14px -10px color-mix(in srgb, var(--lgn-hint-fg) 14%, transparent);
}

.lgn-menu-dropdown-scroll-hint[data-lgn-hint-edge="top"] {
    background: linear-gradient(
        to top,
        transparent 0%,
        var(--lgn-hint-scrim-16) 28%,
        var(--lgn-hint-scrim-42) 58%,
        var(--lgn-hint-scrim-70) 100%
    );
    box-shadow: inset 0 12px 14px -10px color-mix(in srgb, var(--lgn-hint-fg) 14%, transparent);
}

.lgn-menu-dropdown-scroll-hint[hidden] {
    display: none !important;
}

html[data-bs-theme=dark] .lgn-menu-dropdown-scroll-hint,
.dxbl-theme-fluent-mode-dark .lgn-menu-dropdown-scroll-hint {
    --lgn-hint-surface: var(--dxbl-dropdown-bg, var(--dxds-color-surface-neutral-default-rest, var(--bs-body-bg, #37353d)));
    --lgn-hint-fg: var(--dxbl-dropdown-color, var(--dxds-color-content-neutral-default-rest, var(--bs-body-color, #f3f5f8)));
}

.lgn-menu-dropdown-scroll-hint::before {
    content: "";
    position: absolute;
    left: calc(50% - 0.95rem);
    bottom: 0.2rem;
    width: 1.9rem;
    height: 1.2rem;
    box-sizing: border-box;
    border-radius: 999px;
    background: var(--lgn-hint-pill);
    border: 1px solid color-mix(in srgb, var(--lgn-hint-fg) 12%, transparent);
    box-shadow: 0 1px 2px color-mix(in srgb, var(--lgn-hint-fg) 16%, transparent);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    pointer-events: none;
}

.lgn-menu-dropdown-scroll-hint[data-lgn-hint-edge="top"]::before {
    top: 0.2rem;
    bottom: auto;
}

.lgn-menu-dropdown-scroll-hint::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: calc(50% - 0.35rem);
    bottom: 0.42rem;
    width: 0.7rem;
    height: 0.7rem;
    margin: 0;
    border-right: 2.5px solid currentColor;
    border-bottom: 2.5px solid currentColor;
    transform: rotate(45deg);
    pointer-events: none;
}

.lgn-menu-dropdown-scroll-hint[data-lgn-hint-edge="top"]::after {
    top: 0.42rem;
    bottom: auto;
    transform: rotate(-135deg);
}


/* ==========================================================================
   Dijalozi (FTR-PLT-015)
   Jedinstven izgled svih dijaloga aplikacije:
     - Link5 poruke i potvrde (.lgn-dialog + LgnConfirmationDialogTemplate): neutralan okvir,
       gornja traka 3px i jedva zatonirano zaglavlje u boji vrste, ikona 32px lijevo od teksta;
     - ostali XAF popupi (parametri, viewovi): ista školjka u akcentu aktivne teme.
   Gumbi prate temu (potvrda = ButtonRenderStyle.Primary); samo brisanje je uvijek crveno (Danger).
   Akcent: Fluent teme --dxds-color-surface-primary-default-rest, klasične --bs-primary.
   DOM DevExpress popupa (26.1):
     .dxbl-modal > .dxbl-modal-root > .dxbl-popup > .dxbl-modal-content
        > .dxbl-modal-header | .dxbl-modal-body | .dxbl-modal-footer
   ========================================================================== */

:root {
    --lgn-dialog-icon-info: #2563eb;
    --lgn-dialog-icon-question: var(--lgn-dialog-icon-info);
    /* Žuta upozorenja; na bijelom se čita kroz tamni uskličnik u popunjenom trokutu. */
    --lgn-dialog-icon-warning: #f8d65e;
    --lgn-dialog-warning-rub: #c9a227;
    --lgn-dialog-warning-znak: #1f2328;
    --lgn-dialog-icon-error: #c53030;
    --lgn-dialog-icon-danger: var(--lgn-dialog-icon-error);
    --lgn-dialog-icon-success: var(--lgn-dialog-icon-info);
    --lgn-dialog-tint: 5%;
}

html[data-bs-theme=dark],
.dxbl-theme-fluent-mode-dark {
    --lgn-dialog-icon-info: #93b4ff;
    --lgn-dialog-icon-warning: #fcd270;
    --lgn-dialog-icon-error: #fda4a4;
    /* Izvedene boje se računaju tamo gdje su deklarirane, pa ih tamni blok ponavlja. */
    --lgn-dialog-icon-question: var(--lgn-dialog-icon-info);
    --lgn-dialog-icon-danger: var(--lgn-dialog-icon-error);
    --lgn-dialog-icon-success: var(--lgn-dialog-icon-info);
    /* U tamnoj temi 5 % se ne vidi. */
    --lgn-dialog-tint: 10%;
}

/* Školjka svih XAF popupa: boja trake i zaglavlja je akcent teme, Link5 poruke je mijenjaju po vrsti. */
.xafPopup {
    --lgn-dialog-color: var(--dxds-color-surface-primary-default-rest, var(--bs-primary, #0b5cab));
    --lgn-dialog-border: color-mix(in srgb, var(--dxbl-popup-color, #182230) 18%, transparent);
    --lgn-dialog-surface: color-mix(in srgb, var(--dxbl-popup-bg, #fff) 96%, var(--dxbl-popup-color, #182230));
    --dxbl-popup-header-font-weight: 600;
}

.lgn-dialog-info { --lgn-dialog-color: var(--lgn-dialog-icon-info); }
.lgn-dialog-question { --lgn-dialog-color: var(--lgn-dialog-icon-question); }
.lgn-dialog-warning { --lgn-dialog-color: var(--lgn-dialog-icon-warning); }
.lgn-dialog-error { --lgn-dialog-color: var(--lgn-dialog-icon-error); }
.lgn-dialog-danger { --lgn-dialog-color: var(--lgn-dialog-icon-danger); }

.xafPopup .dxbl-modal-content {
    border: 1px solid var(--lgn-dialog-border) !important;
    border-top: 3px solid var(--lgn-dialog-color) !important;
    border-radius: 4px !important;
    box-shadow: 0 12px 32px color-mix(in srgb, #000 18%, transparent);
    overflow: hidden;
}

.xafPopup .dxbl-modal-header,
.lgn-dialog-header {
    padding: 11px 16px !important;
    min-height: 0 !important;
    border-bottom: 1px solid var(--lgn-dialog-border) !important;
    background: color-mix(in srgb, var(--lgn-dialog-color) var(--lgn-dialog-tint), var(--dxbl-popup-bg, #fff)) !important;
    cursor: move;
}

/* Gumb zatvaranja (×) ne smije biti viši od reda naslova, inače podiže zaglavlje. */
.xafPopup .dxbl-modal-header .dxbl-popup-header-button {
    --dxbl-btn-padding-x: 3px;
    --dxbl-btn-padding-y: 3px;
    padding: 3px !important;
    min-height: 0 !important;
    line-height: 1 !important;
}

.lgn-dialog { --dxbl-popup-header-font-size: 15px; --dxbl-popup-header-line-height: 1.4; }

.lgn-dialog .dxbl-modal-header,
.lgn-dialog-header {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
}

.lgn-dialog .xaf-object-caption {
    font-size: inherit;
    white-space: normal;
    overflow-wrap: anywhere;
}

.lgn-dialog .dxbl-modal-body,
.lgn-dialog-content {
    padding: 16px 16px 18px !important;
    color: var(--dxbl-popup-color, #182230);
}

/* Ikona je vertikalno centrirana uz tekst poruke. */
.lgn-dialog-body {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.lgn-dialog-text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    /* Prijelome čine br elementi; pre-line bi svaki prijelom udvostručio. */
    white-space: normal;
}

.lgn-dialog-heading {
    margin: 0.15em 0 0.35em;
    font-size: 1.1em;
    font-weight: 600;
    line-height: 1.4;
}

/* Ikona bez pločice: boja vrste samo na znaku. */
.lgn-dialog-icon {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--lgn-dialog-icon-color, var(--lgn-dialog-color));
}

.lgn-dialog-icon svg {
    width: 32px;
    height: 32px;
    flex: none;
    display: block;
}

.lgn-dialog-icon-question { --lgn-dialog-icon-color: var(--lgn-dialog-icon-question); }
.lgn-dialog-icon-info { --lgn-dialog-icon-color: var(--lgn-dialog-icon-info); }
.lgn-dialog-icon-warning { --lgn-dialog-icon-color: var(--lgn-dialog-icon-warning); }
.lgn-dialog-icon-error { --lgn-dialog-icon-color: var(--lgn-dialog-icon-error); }
.lgn-dialog-icon-danger { --lgn-dialog-icon-color: var(--lgn-dialog-icon-danger); }

/* Upozorenje u svijetloj temi: žuti trokut s tamnim uskličnikom (obrisna žuta na bijelom ima kontrast 1,4:1). */
.lgn-dialog-icon-warning .lgn-dialog-icon-shape {
    fill: var(--lgn-dialog-icon-warning);
    stroke: var(--lgn-dialog-warning-rub);
    stroke-width: 1.2;
}

.lgn-dialog-icon-warning .lgn-dialog-icon-mark {
    stroke: var(--lgn-dialog-warning-znak);
    stroke-width: 2.2;
}

/* Tamna tema: obrisni trokut u boji upozorenja. */
html[data-bs-theme=dark] .lgn-dialog-icon-warning .lgn-dialog-icon-shape,
.dxbl-theme-fluent-mode-dark .lgn-dialog-icon-warning .lgn-dialog-icon-shape {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

html[data-bs-theme=dark] .lgn-dialog-icon-warning .lgn-dialog-icon-mark,
.dxbl-theme-fluent-mode-dark .lgn-dialog-icon-warning .lgn-dialog-icon-mark {
    stroke: currentColor;
    stroke-width: 2;
}

/* Gumbi zadržavaju boje teme; ovdje samo razmak i veličina. */
.xafPopup .dxbl-modal-footer,
.lgn-dialog-footer {
    --dxbl-btn-padding-x: 16px;
    gap: 8px;
    padding: 10px 16px !important;
    border-top: 1px solid var(--lgn-dialog-border) !important;
    background: var(--lgn-dialog-surface) !important;
}

.xafPopup .dxbl-modal-footer .dxbl-btn {
    min-width: 80px !important;
}

@media (max-width: 480px) {
    .lgn-dialog .dxbl-modal-header,
    .lgn-dialog .dxbl-modal-body,
    .lgn-dialog .dxbl-modal-footer { padding: 12px !important; }
}

.lgn-msgbox-info { --lgn-msgbox-icon-color: var(--lgn-dialog-icon-info); }
.lgn-msgbox-question { --lgn-msgbox-icon-color: var(--lgn-dialog-icon-question); }
.lgn-msgbox-warning { --lgn-msgbox-icon-color: var(--lgn-dialog-icon-warning); }
.lgn-msgbox-error { --lgn-msgbox-icon-color: var(--lgn-dialog-icon-error); }
.lgn-msgbox-success { --lgn-msgbox-icon-color: var(--lgn-dialog-icon-info); }

/* ==========================================================================
   Obavijesti sustava (Opći poslovi → Obavijesti sustava i skočni prozor pri prijavi)
   Kartice aktivnosti podrške Logon d.o.o. grupirane po mjesecu; boja statusa je traka
   lijevo i oznaka statusa. Neutralne plohe se miješaju iz boje teksta teme, pa rade
   u svijetloj i tamnoj temi bez zasebnih vrijednosti.
   ========================================================================== */

.lgn-obv {
    --lgn-obv-fg: var(--dxds-color-content-neutral-default-rest, var(--bs-body-color, #1f2328));
    --lgn-obv-akcent: var(--dxds-color-surface-primary-default-rest, var(--bs-primary, #0b5cab));
    --lgn-obv-rub: color-mix(in srgb, var(--lgn-obv-fg) 14%, transparent);
    --lgn-obv-ploha: color-mix(in srgb, var(--lgn-obv-fg) 3%, transparent);
    --lgn-obv-priguseno: color-mix(in srgb, var(--lgn-obv-fg) 62%, transparent);
    --lgn-obv-s: #64748b;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    max-width: 1100px;
    color: var(--lgn-obv-fg);
}

.lgn-obv-s-zaprimljeno { --lgn-obv-s: #2563eb; }
.lgn-obv-s-utijeku { --lgn-obv-s: #d97706; }
.lgn-obv-s-rijeseno { --lgn-obv-s: #15803d; }
.lgn-obv-s-ceka { --lgn-obv-s: #7c3aed; }
.lgn-obv-s-odbijen { --lgn-obv-s: #c53030; }
.lgn-obv-s-odustao,
.lgn-obv-s-ostalo { --lgn-obv-s: #64748b; }

html[data-bs-theme=dark] .lgn-obv-s-zaprimljeno, .dxbl-theme-fluent-mode-dark .lgn-obv-s-zaprimljeno { --lgn-obv-s: #93b4ff; }
html[data-bs-theme=dark] .lgn-obv-s-utijeku, .dxbl-theme-fluent-mode-dark .lgn-obv-s-utijeku { --lgn-obv-s: #fbbf24; }
html[data-bs-theme=dark] .lgn-obv-s-rijeseno, .dxbl-theme-fluent-mode-dark .lgn-obv-s-rijeseno { --lgn-obv-s: #6ee7a0; }
html[data-bs-theme=dark] .lgn-obv-s-ceka, .dxbl-theme-fluent-mode-dark .lgn-obv-s-ceka { --lgn-obv-s: #c4a5ff; }
html[data-bs-theme=dark] .lgn-obv-s-odbijen, .dxbl-theme-fluent-mode-dark .lgn-obv-s-odbijen { --lgn-obv-s: #fda4a4; }
html[data-bs-theme=dark] .lgn-obv-s-odustao, .dxbl-theme-fluent-mode-dark .lgn-obv-s-odustao,
html[data-bs-theme=dark] .lgn-obv-s-ostalo, .dxbl-theme-fluent-mode-dark .lgn-obv-s-ostalo { --lgn-obv-s: #a3aebd; }

.lgn-obv-zaglavlje {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.lgn-obv-naslov-tekst {
    font-size: 1.15rem;
    font-weight: 600;
}

.lgn-obv-podnaslov {
    font-size: 0.85rem;
    color: var(--lgn-obv-priguseno);
    min-height: 1.2em;
}

.lgn-obv-alati {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 320px;
    justify-content: flex-end;
}

.lgn-obv-pretraga {
    flex: 1 1 auto;
    max-width: 440px;
}

.lgn-obv-ikona-osvjezi::before {
    content: "\21BB";
    font-style: normal;
}

.lgn-obv-filteri {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.lgn-obv-cip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border: 1px solid var(--lgn-obv-rub);
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.85rem;
    cursor: pointer;
}

.lgn-obv-cip:hover {
    background: var(--lgn-obv-ploha);
}

.lgn-obv-cip-aktivan {
    border-color: var(--lgn-obv-akcent);
    background: color-mix(in srgb, var(--lgn-obv-akcent) 12%, transparent);
}

.lgn-obv-cip-broj {
    font-variant-numeric: tabular-nums;
    color: var(--lgn-obv-priguseno);
}

.lgn-obv-tocka {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lgn-obv-s);
    flex: 0 0 auto;
}

.lgn-obv-sadrzaj {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.lgn-obv-popup .lgn-obv-sadrzaj {
    max-height: min(62vh, 640px);
    overflow-y: auto;
    padding-right: 4px;
}

.lgn-obv-mjesec {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lgn-obv-mjesec-naslov {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lgn-obv-priguseno);
}

.lgn-obv-mjesec-naslov span {
    margin-left: 6px;
    font-weight: 400;
}

.lgn-obv-kartica {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px 12px 18px;
    border: 1px solid var(--lgn-obv-rub);
    border-left: 4px solid var(--lgn-obv-s);
    border-radius: 6px;
    background: var(--lgn-obv-ploha);
}

.lgn-obv-kartica-vrh {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
}

.lgn-obv-datum {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    margin-right: 4px;
}

.lgn-obv-vrijeme {
    margin-left: 6px;
    font-weight: 400;
    color: var(--lgn-obv-priguseno);
}

.lgn-obv-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 1px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--lgn-obv-s) 14%, transparent);
    color: var(--lgn-obv-s);
    font-weight: 600;
}

.lgn-obv-oznaka {
    padding: 1px 8px;
    border: 1px solid var(--lgn-obv-rub);
    border-radius: 4px;
    color: var(--lgn-obv-priguseno);
}

.lgn-obv-oznaka-obavijest {
    border-color: color-mix(in srgb, var(--lgn-obv-akcent) 45%, transparent);
    color: var(--lgn-obv-akcent);
}

.lgn-obv-opis {
    overflow-wrap: anywhere;
}

.lgn-obv-detalji {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 20px;
    margin: 0;
    font-size: 0.85rem;
}

.lgn-obv-detalji > div {
    display: flex;
    gap: 6px;
}

.lgn-obv-detalji dt {
    font-weight: 400;
    color: var(--lgn-obv-priguseno);
}

.lgn-obv-detalji dd {
    margin: 0;
}

.lgn-obv-pogodak {
    padding: 0 1px;
    border-radius: 2px;
    background: color-mix(in srgb, #facc15 45%, transparent);
    color: inherit;
}

.lgn-obv-stanje {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 40px 16px;
    border: 1px dashed var(--lgn-obv-rub);
    border-radius: 6px;
    text-align: center;
    color: var(--lgn-obv-priguseno);
}

.lgn-obv-stanje-naslov {
    font-weight: 600;
    color: var(--lgn-obv-fg);
}

.lgn-obv-greska {
    border-style: solid;
    border-color: color-mix(in srgb, var(--lgn-dialog-icon-error, #c53030) 45%, transparent);
}

.lgn-obv-upozorenje {
    border-style: solid;
    border-color: color-mix(in srgb, var(--lgn-dialog-icon-warning, #b7791f) 45%, transparent);
    margin-bottom: 0.75rem;
    text-align: left;
}

.lgn-obv-spinner {
    width: 22px;
    height: 22px;
    border: 3px solid var(--lgn-obv-rub);
    border-top-color: var(--lgn-obv-akcent);
    border-radius: 50%;
    animation: lgn-obv-vrtnja 0.8s linear infinite;
}

@keyframes lgn-obv-vrtnja {
    to { transform: rotate(360deg); }
}

@media (max-width: 640px) {
    .lgn-obv-alati { flex-basis: 100%; }
    .lgn-obv-pretraga { max-width: none; }
}

/* ==========================================================================
   Markdown (opis aktivnosti intervencije i obavijesti sustava): isti izgled u pregledu
   editora, na formi i kod klijenta. Plohe i rubovi iz boje teksta teme (svijetla i tamna).
   ========================================================================== */

.lgn-md {
    --lgn-md-fg: var(--dxds-color-content-neutral-default-rest, var(--bs-body-color, #1f2328));
    --lgn-md-rub: color-mix(in srgb, var(--lgn-md-fg) 16%, transparent);
    --lgn-md-ploha: color-mix(in srgb, var(--lgn-md-fg) 6%, transparent);
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.lgn-md > :first-child { margin-top: 0; }
.lgn-md > :last-child { margin-bottom: 0; }
/* odlomci i popisi odvojeni zrakom; naslov ima više mjesta iznad nego ispod da se vidi čemu pripada */
.lgn-md p { margin: 0 0 0.8em; }
.lgn-md p:has(+ ul, + ol) { margin-bottom: 0.3em; }
.lgn-md h1, .lgn-md h2, .lgn-md h3, .lgn-md h4 { margin: 1.4em 0 0.5em; font-weight: 600; line-height: 1.3; }
.lgn-md h1 { font-size: 1.3em; padding-bottom: 0.3em; border-bottom: 1px solid var(--lgn-md-rub); }
.lgn-md h2 { font-size: 1.15em; padding-bottom: 0.2em; border-bottom: 1px solid var(--lgn-md-rub); }
.lgn-md h3, .lgn-md h4 { font-size: 1.05em; margin-top: 1.1em; }
.lgn-md :is(h1, h2, h3, h4) + :is(h1, h2, h3, h4) { margin-top: 0.6em; }
.lgn-md ul, .lgn-md ol { margin: 0 0 1em; padding-left: 1.5em; }
.lgn-md li { margin: 0.25em 0; }
.lgn-md li > p { margin: 0; }
.lgn-md blockquote {
    margin: 0.3em 0 1em;
    padding: 0.4em 0.9em;
    border-left: 3px solid var(--lgn-md-rub);
    border-radius: 0 4px 4px 0;
    background: var(--lgn-md-ploha);
    color: color-mix(in srgb, var(--lgn-md-fg) 75%, transparent);
}
.lgn-md blockquote > :last-child { margin-bottom: 0; }
.lgn-md code {
    padding: 0.05em 0.35em;
    border-radius: 3px;
    background: var(--lgn-md-ploha);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.9em;
}
.lgn-md pre {
    margin: 0 0 0.5em;
    padding: 0.6em 0.8em;
    border-radius: 4px;
    background: var(--lgn-md-ploha);
    overflow-x: auto;
}
.lgn-md pre code { padding: 0; background: none; }
.lgn-md table { border-collapse: collapse; margin: 0 0 0.5em; }
.lgn-md th, .lgn-md td { padding: 0.25em 0.6em; border: 1px solid var(--lgn-md-rub); }
.lgn-md th { background: var(--lgn-md-ploha); font-weight: 600; }
.lgn-md hr { border: 0; border-top: 1px solid var(--lgn-md-rub); margin: 0.8em 0; }
.lgn-md a { text-decoration: underline; }
.lgn-md .task-list-item { list-style: none; margin-left: -1.3em; }

.lgn-md-celija {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.lgn-md-prikaz {
    padding: 4px 0;
}

.lgn-md-editor {
    --lgn-md-fg: var(--dxds-color-content-neutral-default-rest, var(--bs-body-color, #1f2328));
    --lgn-md-rub: color-mix(in srgb, var(--lgn-md-fg) 22%, transparent);
    --lgn-md-akcent: var(--dxds-color-surface-primary-default-rest, var(--bs-primary, #0b5cab));
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid var(--lgn-md-rub);
    border-radius: 4px;
    overflow: hidden;
}

.lgn-md-editor:focus-within {
    border-color: var(--lgn-md-akcent);
}

.lgn-md-traka {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    padding: 4px;
    border-bottom: 1px solid var(--lgn-md-rub);
    background: color-mix(in srgb, var(--lgn-md-fg) 4%, transparent);
}

.lgn-md-traka button {
    min-width: 30px;
    padding: 3px 8px;
    border: 1px solid transparent;
    border-radius: 3px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.85rem;
    cursor: pointer;
}

.lgn-md-traka button:hover:not(:disabled) {
    border-color: var(--lgn-md-rub);
    background: color-mix(in srgb, var(--lgn-md-fg) 6%, transparent);
}

.lgn-md-traka button:disabled {
    opacity: 0.4;
    cursor: default;
}

.lgn-md-razmak {
    width: 1px;
    height: 18px;
    margin: 0 4px;
    background: var(--lgn-md-rub);
}

.lgn-md-rastezi {
    flex: 1 1 auto;
}

.lgn-md-traka .lgn-md-kartica-aktivna {
    border-color: var(--lgn-md-akcent);
    background: color-mix(in srgb, var(--lgn-md-akcent) 12%, transparent);
}

.lgn-md-unos {
    display: block;
    width: 100%;
    min-height: 220px;
    padding: 8px 10px;
    border: 0;
    outline: none;
    resize: vertical;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: 1.5;
}

.lgn-md-pregled {
    min-height: 220px;
    padding: 8px 10px;
}

.lgn-md-prazno {
    opacity: 0.6;
}

/* LINK5_OKRUZENJE=test: crveni okvir i natpis preko cijelog prozora, bez utjecaja na klikove */
.lgn-test-okruzenje-okvir {
    position: fixed;
    inset: 0;
    border: 3px solid #d32f2f;
    pointer-events: none;
    z-index: 100000;
}

.lgn-test-okruzenje-natpis {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 14px;
    border-radius: 0 0 6px 6px;
    background: #d32f2f;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.08em;
    pointer-events: none;
    z-index: 100001;
}

/* Pomoćnik obračuna plaće: nalaz kao uređen dokument (naslov, dva odlomka, AI u istaknutom okviru) */
.lgn-md.lgn-pomocnik {
    --lgn-pom-akcent: var(--dxds-color-surface-primary-default-rest, #0f766e);
    font-size: 1.05rem;
    line-height: 1.65;
    padding: 6px 4px 10px;
}
.lgn-md.lgn-pomocnik h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4em 0.7em;
    margin: 0 0 0.9em;
    padding: 0 0 0.6em;
    font-size: 1.4em;
    border-bottom: 2px solid color-mix(in srgb, var(--lgn-pom-akcent) 35%, transparent);
}
.lgn-md.lgn-pomocnik h2 code {
    font-size: 0.55em;
    font-weight: 500;
    letter-spacing: 0.02em;
    padding: 0.2em 0.6em;
    border-radius: 999px;
    background: color-mix(in srgb, var(--lgn-pom-akcent) 12%, transparent);
}
.lgn-md.lgn-pomocnik p { margin-bottom: 0.9em; }
.lgn-md.lgn-pomocnik h3 {
    margin: 1.5em 0 0.5em;
    font-size: 1em;
    color: var(--lgn-pom-akcent);
}
.lgn-md.lgn-pomocnik blockquote {
    margin: 0;
    padding: 0.8em 1.1em;
    border-left: 4px solid var(--lgn-pom-akcent);
    border-radius: 0 6px 6px 0;
    background: color-mix(in srgb, var(--lgn-pom-akcent) 7%, transparent);
    color: inherit;
}
