/* IDSK3 custom CSS overrides. Loadnuté po IDSK3 base + app.css. */

/* GLOBÁLNY FONT — IDSK3 base nedeklaruje font-family na body, len na .govuk-* triedach.
   Custom triedy (.hero-title, .section-title, atď.) by inak padli na browser default (Helvetica/Arial). */
body,
.govuk-template,
.govuk-template__body {
    font-family: "Source Sans Pro", arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* HLAVIČKA — IDSK3 layout: modrá secondary navigation hore, biele hlavné záhlavie s farebným logom. */
.govuk-header__container {
    background-color: var(--color-bg);
}

.idsk-secondary-navigation {
    background-color: var(--color-primary-dark);
    color: var(--color-text-inverse);
}

.govuk-header__logo {
    flex-shrink: 0;
    min-width: 240px;
    display: flex;
    align-items: center;
}

.govuk-header__logo img {
    height: 60px;
    width: auto;
}

.app-header__action-panel {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-black);
}

.app-header__action-panel,
.app-header__action-panel .govuk-body-s,
.app-header__action-panel span {
    color: var(--color-black);
}

.app-header__action-panel a.govuk-link,
.app-header__action-panel a.govuk-link:link,
.app-header__action-panel a.govuk-link:visited {
    color: var(--color-primary);
    font-weight: 700;
}

.app-header__action-panel a.govuk-link:hover {
    color: var(--color-primary-dark);
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
}

.app-header__action-panel a.govuk-link:focus {
    color: var(--color-black);
    outline: 3px solid var(--color-warning);
    outline-offset: 3px;
}

.app-header__profile-img {
    width: 32px;
    height: 32px;
    vertical-align: middle;
    border-radius: 50%;
}

.app-header__profile-link {
    text-decoration: none;
}

.app-header__profile-name {
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: .1578em;
    color: var(--color-primary);
    font-weight: 700;
    margin-left: 0.5rem;
}

.app-header__profile-link:hover .app-header__profile-name {
    text-decoration-thickness: max(1px, .0625rem);
    color: var(--color-primary-dark);
}
.idsk-filter-modal {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.idsk-modal-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(7, 44, 102, 0.6);
    backdrop-filter: blur(2px);
}

.idsk-filter-dialog,
.idsk-filter-dialog.idsk-modal__dialog {
    position: relative;
    background-color: var(--color-bg);
    max-width: 720px;
    width: 100%;
    max-height: 85vh;
    margin: 0;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    box-shadow: 0 24px 40px 0 rgba(0, 0, 0, 0.2);
    overflow: hidden;
    animation: idskModalSlideIn 0.2s ease-out;
}

@keyframes idskModalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .idsk-filter-dialog,
    .idsk-filter-dialog.idsk-modal__dialog {
        animation: none;
    }
}

.idsk-filter-dialog .idsk-modal__header {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--color-border-light);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.idsk-filter-dialog .idsk-modal__title {
    margin: 0;
    color: var(--color-primary-dark);
    font-size: 1.25rem;
    font-weight: 700;
}

.idsk-filter-dialog .idsk-modal__header .govuk-button,
.idsk-filter-dialog .idsk-modal__header .govuk-button--sec {
    margin: 0;
    flex-shrink: 0;
}

.idsk-filter-dialog .idsk-modal__body {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1 1 auto;
}

.idsk-filter-dialog .idsk-modal__footer {
    padding: 1rem 1.5rem;
    border-top: 0;
    background-color: transparent;
}

.idsk-filter-dialog .govuk-button-group {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.idsk-filter-dialog .govuk-button-group .govuk-button {
    margin: 0;
}

.idsk-filter-dialog .govuk-fieldset__legend--s {
    margin-bottom: 0.75rem;
    color: var(--color-primary-dark);
    font-weight: 700;
}

@media (max-width: 640px) {
    .idsk-filter-dialog .idsk-modal__header,
    .idsk-filter-dialog .idsk-modal__body,
    .idsk-filter-dialog .idsk-modal__footer {
        padding: 1rem;
    }
}

.dataTables_wrapper table,
.dataTables_wrapper table.govuk-table {
    display: table;
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.dataTables_wrapper thead,
.dataTables_wrapper .govuk-table__head {
    display: table-header-group;
    grid-auto-columns: initial;
    grid-auto-flow: initial;
    gap: 0;
}

.dataTables_wrapper tbody,
.dataTables_wrapper .govuk-table__body {
    display: table-row-group;
}

.dataTables_wrapper tr,
.dataTables_wrapper .govuk-table__row {
    display: table-row;
    background-color: transparent;
    border: 0;
    padding: 0;
    min-width: 0;
    grid-auto-columns: initial;
    grid-auto-flow: initial;
}

.dataTables_wrapper th,
.dataTables_wrapper td,
.dataTables_wrapper .govuk-table__header,
.dataTables_wrapper .govuk-table__cell {
    display: table-cell;
    gap: 0;
    vertical-align: middle;
}

.dataTables_wrapper {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 1.5rem;
    row-gap: 1.25rem;
    padding-top: 8px;
    overflow: visible;
}
/* Row 1: len akčné/export tlačidlá (.top), full-width. */
.dataTables_wrapper > .top-row {
    grid-column: 1 / -1;
    grid-row: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.5rem;
}

/* Row 2: length picker + globálny search v spoločnom flex kontajneri (jeden grid item).
   Flex-wrap: na širokom desktope length vľavo (order 1) + search vpravo (order 2, margin-left:auto);
   keď sa nezmestia vedľa seba (úzky desktop ~769–900px), search sa zalomí POD length a ostáva
   vpravo → žiadny prekryv (grid deti by sa zalomiť nevedeli).
   DOM poradie je search-first kvôli mobilu (flow buttons → search → length); desktop poradie
   prehadzuje `order`. */
.dataTables_wrapper > .filter-row {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.5rem;
}

.dataTables_wrapper > .filter-row > .length-container {
    order: 1;
    white-space: nowrap;
}

.dataTables_wrapper > .filter-row > .search-container {
    order: 2;
    margin-left: auto;
    white-space: nowrap;
    min-width: 0;
    padding-right: 3px;
}
.dataTables_wrapper > table,
.dataTables_wrapper > .table-container,
.dataTables_wrapper > .table-scroll,
.dataTables_wrapper > .bottom,
.dataTables_wrapper > .clear,
.dataTables_wrapper > .dataTables_info,
.dataTables_wrapper > .dataTables_paginate {
    grid-column: 1 / -1;
}

/* Horizontálny scrollbar rovno pod tabuľkou (DataTables dom: <"table-scroll"t>).
   Tabuľka je obalená v tomto divici, takže scroll je pod ňou — nie až pod celým wrapperom. */
.dataTables_wrapper > .table-scroll {
    overflow-x: auto;
}

/* Horný horizontálny scrollbar — prázdny proxy div nad tabuľkou, ktorého scroll JS
   (TopScrollbarManager) obojsmerne zrkadlí s .table-scroll. Umožňuje posúvať širokú
   tabuľku doľava/doprava bez nutnosti najprv zroluvať na jej spodok. Šírku vnútorného
   divu dopĺňa JS podľa scrollWidth tabuľky — bez neho by proxy nemal čo pretekať. */
.dataTables_wrapper > .table-scroll-top {
    grid-column: 1 / -1;
    overflow-x: auto;
    overflow-y: hidden;
}
.dataTables_wrapper > .table-scroll-top > .table-scroll-top-inner {
    height: 1px;
}
.dataTables_wrapper .top,
.dataTables_wrapper .length-container,
.dataTables_wrapper .search-container {
    float: none !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    min-height: 40px;
}

.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}

.dataTables_wrapper .dataTables_filter label {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

/* <a class="govuk-button"> — link-as-button. Reset link defaults (underline, visited color). */
a.govuk-button,
a.govuk-button:link,
a.govuk-button:visited,
a.govuk-button:hover,
a.govuk-button:active,
a.govuk-button:focus {
    color: var(--color-text-inverse);
    text-decoration: none;
}

a.govuk-button.govuk-button--sec,
a.govuk-button.govuk-button--sec:link,
a.govuk-button.govuk-button--sec:visited,
a.govuk-button.govuk-button--sec:hover,
a.govuk-button.govuk-button--sec:active,
a.govuk-button.govuk-button--sec:focus {
    color: var(--color-primary-dark);
    text-decoration: none;
}

/* IDSK3 focus state pre primárne govuk-button — oranžová outline + čierna spodná čiara. */
.govuk-button:focus {
    outline: 3px solid var(--color-warning);
    outline-offset: 0;
    box-shadow: 0 4px 0 var(--color-black);
}

/* IDSK3/GOV.UK inset-text — IDSK3 base CSS nemá pravidlá, dopĺňame podľa GOV.UK spec. */
.govuk-inset-text {
    padding: 15px;
    margin-top: 20px;
    margin-bottom: 20px;
    border-left: 10px solid var(--color-border);
}

/* Mobile accessibility — Apple HIG 44pt min. touch target + iOS Safari zoom prevention
   (iOS zoomuje inputy s font-size < 16px pri focus). */
@media (max-width: 768px) {
    .govuk-button {
        min-height: 44px;
        touch-action: manipulation;
    }

    .govuk-input,
    .govuk-select,
    .govuk-textarea {
        font-size: 16px;
    }
}

.dataTables_wrapper .dt-buttons {
    display: inline-flex;
    flex-wrap: nowrap;
    /* Väčší odstup než pri tlačidlách — bez rámčekov by sa podčiarknuté texty zlievali. */
    gap: 1.5rem;
    /* 6px padding = miesto pre focus outline prvého tlačidla (3px offset + 3px hrúbka).
       Bez neho ho oreže `.table-container`, ktorý má overflow: auto. Negatívny margin
       tu nefunguje — vysunul by toolbar von z toho istého scroll kontajnera. */
    padding: 6px;
    margin: 0;
    align-items: center;
}
.dataTables_wrapper .dataTables_filter label {
    font-size: 0;
    gap: 0;
}

.dataTables_wrapper .dataTables_filter label > * {
    font-size: 1rem;
}

.dataTables_wrapper .dataTables_filter input {
    margin-left: 0 !important;
}

/* Toolbar nad tabuľkou = IDSK3 `govuk-button--texted` (bez rámčeka, podčiarknutý text).
   Zámerne sa odlišuje od REST API tlačidiel v metadátach — tie sú odkazy na dáta,
   toolbar sú akcie nad práve zobrazenou tabuľkou. Ostávajú to <button> prvky, mení sa len vzhľad. */
.dataTables_wrapper .dt-buttons .dt-button,
.dataTables_wrapper button.dt-button,
.dataTables_wrapper a.dt-button,
.dataTables_wrapper div.dt-button {
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
    padding: 4px 2px !important;
    margin: 0 !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    color: var(--color-primary) !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

/* Podčiarkuje sa len textový span — šípka rozbaľovača je samostatný flex item
   s menším fontom, takže by dostala vlastnú čiaru na inej výške. */
.dataTables_wrapper .dt-buttons > .dt-button > span:not(.dt-button-down-arrow) {
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: .1578em;
    /* Bez toho prehliadač preskakuje descendery (y, ť, p) a čiara je prerušovaná. */
    text-decoration-skip-ink: none;
}

.dataTables_wrapper .dt-buttons > .dt-button:hover > span:not(.dt-button-down-arrow) {
    text-decoration-thickness: max(3px, .1875rem);
}

.dataTables_wrapper .dt-buttons > .dt-button:focus > span {
    text-decoration: none;
}

/* Šípka rozbaľovača: vendor ju rieši znakom ▼ s `top:-2px` a `opacity:.6`, čo pri
   texted variante nikdy nesadne na účiaru. Znak skryjeme cez font-size:0 a kreslíme
   trojuholník z borderu — flex `align-items: center` ho zarovná na stred textu. */
.dataTables_wrapper .dt-buttons .dt-button .dt-button-down-arrow {
    position: static;
    top: auto;
    width: 0;
    height: 0;
    padding: 0;
    margin-left: 2px;
    font-size: 0;
    line-height: 0;
    opacity: 1;
    border-top: 5px solid currentColor;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.dataTables_wrapper .dt-buttons .dt-button:hover,
.dataTables_wrapper button.dt-button:hover:not(.disabled),
.dataTables_wrapper a.dt-button:hover:not(.disabled) {
    background-color: transparent !important;
    color: var(--color-primary-dark) !important;
    box-shadow: none !important;
}

.dataTables_wrapper .dt-buttons .dt-button:active,
.dataTables_wrapper button.dt-button:active:not(.disabled),
.dataTables_wrapper a.dt-button:active:not(.disabled) {
    background-color: transparent !important;
    color: var(--color-primary-dark) !important;
}

/* IDSK3 focus na odkazoch = oranžová outline s odsadením (vendor: a:focus). */
.dataTables_wrapper .dt-buttons .dt-button:focus,
.dataTables_wrapper button.dt-button:focus:not(.disabled),
.dataTables_wrapper a.dt-button:focus:not(.disabled) {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 3px !important;
    border-radius: 5px !important;
    background-color: transparent !important;
    color: var(--color-primary-dark) !important;
    box-shadow: none !important;
}

.dataTables_wrapper .dt-buttons .dt-button.disabled {
    background-color: transparent !important;
    border: none !important;
    color: #9e9e9e !important;
    text-decoration: none !important;
    cursor: not-allowed;
}

body .dt-button-collection,
.dataTables_wrapper .dt-button-collection {
    background-color: var(--color-bg) !important;
    border: 1px solid var(--color-border-light) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 8px 0 #bdbdbd !important;
    padding: 0.5rem 0 !important;
}

body .dt-button-collection .dt-button,
body .dt-button-collection button.dt-button,
body .dt-button-collection a.dt-button,
body .dt-button-collection div.dt-button,
.dataTables_wrapper .dt-button-collection .dt-button,
.dataTables_wrapper .dt-button-collection button.dt-button {
    display: flex !important;
    width: 100% !important;
    padding: 0.5rem 1rem !important;
    margin: 0 !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: var(--color-black) !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    /* Položky menu nie sú odkazy — ruší podčiarknutie zdedené z toolbaru. */
    text-decoration: none !important;
    text-align: left !important;
    justify-content: space-between !important;
    align-items: center !important;
}

body .dt-button-collection .dt-button:hover,
body .dt-button-collection .dt-button.active:not(.disabled):hover,
.dataTables_wrapper .dt-button-collection .dt-button:hover {
    background-color: var(--color-bg-info) !important;
    color: var(--color-primary-dark) !important;
    border: 0 !important;
}

body .dt-button-collection .dt-button.active,
.dataTables_wrapper .dt-button-collection .dt-button.active {
    background-color: transparent !important;
    color: var(--color-black) !important;
    font-weight: 700 !important;
    border: 0 !important;
}

body .dt-button-collection .dt-button:focus,
.dataTables_wrapper .dt-button-collection .dt-button:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: -3px !important;
    border: 0 !important;
}

.dataTables_wrapper .dataTables_filter {
    margin: 0;
}

.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    color: var(--color-black);
}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper input[type="search"] {
    box-sizing: border-box !important;
    height: 40px !important;
    width: auto !important;
    min-width: 240px;
    padding: 5px 1rem !important;
    margin: 0 0 0 0.5rem !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
    color: var(--color-black) !important;
    background-color: var(--color-bg) !important;
    border: 2px solid var(--color-black) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    appearance: none !important;
}

.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper input[type="search"]:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    border-color: var(--color-black) !important;
    box-shadow: inset 0 0 0 2px var(--color-black) !important;
    background-color: var(--color-bg) !important;
}
table.dataTable thead tr.filters input.column-search,
table.dataTable thead input.column-search {
    box-sizing: border-box !important;
    height: 32px !important;
    width: 100% !important;
    padding: 4px 10px !important;
    margin: 0 !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    color: var(--color-black) !important;
    background-color: var(--color-bg) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    appearance: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

table.dataTable thead tr.filters input.column-search:hover,
table.dataTable thead input.column-search:hover {
    border-color: var(--color-text-secondary) !important;
}

table.dataTable thead tr.filters input.column-search:focus,
table.dataTable thead input.column-search:focus {
    outline: none !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(18, 109, 255, 0.18) !important;
}

table.dataTable thead tr.filters input.column-search:focus-visible,
table.dataTable thead input.column-search:focus-visible {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0;
}

table.dataTable thead tr.filters input.column-search::placeholder {
    color: #8e9498;
    font-style: normal;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper select,
select[name$="_length"],
.itemsPerPage {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 90px !important;
    max-width: 110px !important;
    height: 40px !important;
    padding: 5px 30px 5px 10px !important;
    margin: 0 0.25rem !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
    color: var(--color-black) !important;
    background-color: var(--color-bg) !important;
    border: 2px solid var(--color-black) !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='none' stroke='%230b0c0c' stroke-width='2' d='M2 4l4 4 4-4'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 12px 12px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.dataTables_wrapper .dataTables_length select:focus,
.dataTables_wrapper select:focus,
select[name$="_length"]:focus,
.itemsPerPage:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    box-shadow: inset 0 0 0 2px var(--color-black) !important;
}
.dataTables_wrapper .bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    /* Negative margin ruší grid row-gap (1.25rem) pred .bottom — tabuľka a paginate sú tesne pri sebe. */
    margin-top: -1.25rem;
    padding-top: 0.5rem;
}

.dataTables_wrapper .dataTables_info {
    color: var(--color-text-muted);
    font-size: 0.875rem;
    text-align: center;
    padding: 0 !important;
}

.dataTables_wrapper .dataTables_paginate {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
    padding: 0 !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate a.paginate_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: var(--touch-min);
    min-height: var(--touch-min);
    box-sizing: border-box;
    padding: 0 10px !important;
    margin: 0 !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--color-primary-dark) !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.dataTables_wrapper .dataTables_paginate a.paginate_button:hover {
    background-color: var(--color-bg-info) !important;
    color: var(--color-primary-dark) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate a.paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background-color: var(--color-primary) !important;
    background-image: none !important;
    color: var(--color-text-inverse) !important;
    font-weight: 700 !important;
    cursor: default;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.previous,
.dataTables_wrapper .dataTables_paginate .paginate_button.next {
    font-weight: 700 !important;
    padding: 0 14px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:focus,
.dataTables_wrapper .dataTables_paginate a.paginate_button:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 2px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
    color: #bdbdbd !important;
    background-color: transparent !important;
    cursor: not-allowed;
}

.dataTables_wrapper .dataTables_paginate .ellipsis {
    padding: 0 0.25rem;
    color: var(--color-text-muted);
    font-weight: 700;
}
.news-card {
    max-width: none;
    background-color: var(--color-bg);
    border: 1px solid var(--color-border-light);
    border-left: 4px solid var(--color-primary-dark);
    border-radius: 10px;
    box-shadow: 0 4px 8px 0 #bdbdbd;
    margin-bottom: 1.5rem;
    padding: 1.5rem;
    transition: box-shadow 0.2s ease-in-out;
}

.news-card:hover {
    box-shadow: 0 12px 32px 0 #bdbdbd;
    border-left-color: var(--color-primary-dark);
}

.news-card .idsk-card__content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.news-card .idsk-card__date-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
}

.news-card__date {
    color: var(--color-text-muted);
    font-weight: 600;
}

.news-card__tag {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    background-color: var(--color-bg-info);
    color: var(--color-primary-dark);
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
}

.news-card .idsk-card__heading {
    margin: 0;
    color: var(--color-primary-dark);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.4;
}

.news-card .idsk-card__description {
    margin: 0;
    color: var(--color-black);
    line-height: 1.5;
}
.news-card .idsk-card__description h3 {
    font-size: 1.25rem;
    line-height: 1.3;
    color: var(--color-primary-dark);
    margin-top: var(--space-6);
    margin-bottom: var(--space-3);
}
.news-card .idsk-card__description h3:first-child {
    margin-top: 0;
}
.news-card .idsk-card__description p,
.news-card .idsk-card__description ol,
.news-card .idsk-card__description ul {
    margin-top: 0;
    margin-bottom: var(--space-4);
}
.news-card .idsk-card__description ol li,
.news-card .idsk-card__description ul li {
    margin-bottom: var(--space-2);
}
.news-card .idsk-card__description ol li:last-child,
.news-card .idsk-card__description ul li:last-child {
    margin-bottom: 0;
}
.news-card .idsk-card__description code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.9em;
    background: var(--color-bg-hover);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
}

.news-card__files {
    margin-top: 0.75rem;
    padding: 1rem;
    background-color: #fafafa;
    border-radius: 6px;
}

.news-card__files-title {
    margin: 0 0 0.5rem;
    font-size: 0.9375rem;
    color: var(--color-primary-dark);
}

.news-card__files-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-card__file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--color-border-light);
}

.news-card__file-item:last-child {
    border-bottom: 0;
}

.news-card__file-name {
    color: var(--color-black);
    word-break: break-all;
}

.news-card__file-download {
    flex-shrink: 0;
    font-weight: 600;
}
.news-card--empty:hover {
    box-shadow: 0 4px 8px 0 #bdbdbd;
}
.news-card--empty .empty-state {
    display: flex;
    width: 100%;
}
.text-center,
.news-section-title {
    text-align: center;
}
.page-heading-xl-plus,
.news-page-title {
    font-size: 3.5rem;
    line-height: 1.1;
    margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .page-heading-xl-plus,
    .news-page-title {
        font-size: 2.5rem;
    }
}
.news-rss-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: underline;
}

.news-rss-icon {
    width: 20px;
    height: 20px;
}
.govuk-footer__meta {
    align-items: flex-start;
}

.govuk-footer__copyright-logo {
    margin-top: 20px;
}

.govuk-footer__copyright-logo img {
    height: 60px;
    width: auto;
    max-width: 100%;
}
.idsk-nav-section .govuk-fieldset__legend,
.idsk-nav-group .govuk-fieldset__legend--s {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-primary-dark);
    margin-bottom: 0.75rem;
}

.idsk-filter-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 8px 14px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-primary-dark);
    background-color: var(--color-bg-info);
    border: 2px solid var(--color-primary);
    border-radius: 5px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

.idsk-filter-trigger:hover {
    background-color: var(--color-primary-soft);
    border-color: var(--color-primary);
    color: var(--color-primary-dark);
}

.idsk-filter-trigger:focus-visible {
    outline: 3px solid var(--color-warning);
    outline-offset: 3px;
    background-color: var(--color-bg-info);
    color: var(--color-primary-dark);
}

.idsk-filter-trigger .idsk-button-icon {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-right: 0.25rem;
}

.idsk-cookie-banner {
    background-color: var(--color-bg-hover);
    border-bottom: 1px solid var(--color-border);
    padding: 1.25rem 0;
}

.idsk-cookie-banner__heading {
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.idsk-cookie-banner__content p {
    margin-bottom: 0.5rem;
}

.idsk-cookie-banner__content p:last-child {
    margin-bottom: 0;
}

.idsk-cookie-banner .idsk-button-group {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.idsk-cookie-banner .idsk-button-group .govuk-button {
    margin-bottom: 0;
}
.idsk-cookie-banner .idsk-button {
    display: inline-block;
    padding: 8px 10px 7px;
    border: 2px solid transparent;
    border-radius: 5px;
    color: var(--color-text-inverse);
    background-color: var(--color-success);
    cursor: pointer;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.1875;
    text-align: center;
    vertical-align: top;
    appearance: none;
}

.idsk-cookie-banner .idsk-button:hover {
    background-color: var(--color-success-dark);
}

.idsk-cookie-banner .idsk-button:focus {
    outline: 3px solid var(--color-warning);
    outline-offset: 3px;
}
.idsk-cookie-banner .idsk-button.js-cookies-button-reject {
    background-color: var(--color-bg-info);
    color: var(--color-primary-dark);
    border: 2px solid var(--color-primary);
}

.idsk-cookie-banner .idsk-button.js-cookies-button-reject:hover {
    background-color: var(--color-primary-soft);
    color: var(--color-primary-dark);
}
@keyframes idsk-notification-slide-out {
    from {
        transform: translateY(0);
        opacity: 1;
    }
    to {
        transform: translateY(-20px);
        opacity: 0;
    }
}

.idsk-notification {
    border-left: 5px solid;
    background-color: var(--color-bg);
    margin-bottom: 1rem;
    padding: 1rem 1.25rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    border-radius: 4px;
}

.idsk-notification__wrapper {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.idsk-notification__icon {
    flex-shrink: 0;
    font-size: 1.5rem;
    line-height: 1;
}

.idsk-notification__body {
    flex: 1;
}

.idsk-notification__title {
    margin: 0 0 0.25rem;
    font-size: 1.1rem;
    font-weight: 700;
}

.idsk-notification__message {
    margin: 0;
    font-size: 1rem;
    line-height: 1.4;
}

.idsk-notification__close {
    background: none;
    border: 0;
    cursor: pointer;
    font-size: 1.25rem;
    color: inherit;
    padding: 0 0.25rem;
}

.idsk-notification--success {
    border-left-color: var(--color-success);
    background-color: var(--color-bg-success);
    color: var(--color-success-dark);
}

.idsk-notification--error {
    border-left-color: var(--color-error);
    background-color: var(--color-bg-error);
    color: var(--color-error-dark);
}

.idsk-notification--warning {
    border-left-color: var(--color-warning);
    background-color: #faf4ec;
    color: #4e2a00;
}

.idsk-notification--info {
    border-left-color: var(--color-primary);
    background-color: #e8f1ff;
    color: var(--color-primary-dark);
}
.desktop-nav-toggle.govuk-button.govuk-button--sec {
    background-color: transparent;
    color: var(--color-text-muted);
    border: 0;
    box-shadow: none;
    padding: 0;
    width: 32px;
    height: 32px;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.desktop-nav-toggle.govuk-button.govuk-button--sec:hover,
.desktop-nav-toggle.govuk-button.govuk-button--sec:focus {
    background-color: transparent;
    color: var(--color-primary-dark);
    outline: 0;
    box-shadow: none;
}

.desktop-nav-toggle__icon {
    display: block;
}

.entity-metadata-modern {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-primary-dark);
    border-radius: 5px;
    padding: 22px 26px;
    margin-bottom: 24px;
    box-shadow: none;
}

.entity-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
    gap: 16px;
}

.entity-main-title {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: 700;
    color: var(--color-black);
    margin: 0;
}

.entity-action-button {
    flex-shrink: 0;
    margin-bottom: 0 !important;
}

.entity-description {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 1rem;
    line-height: 1.25;
    color: var(--color-text-secondary);
    margin: 0 0 20px 0;
}
.entity-info-table {
    margin: 0;
    border: none;
    background: transparent;
}

.entity-info-table tbody tr {
    border-bottom: 1px solid var(--color-border-light);
}

.entity-info-table tbody tr:last-child {
    border-bottom: none;
}

.entity-info-table tbody td {
    padding: 12px 0 !important;
    border: 0 !important;
    vertical-align: top;
    background: transparent;
}

.entity-label {
    width: 200px;
    padding-right: 20px !important;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: 0;
}

.entity-value {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    line-height: 1.4;
    color: var(--color-black);
}
.entity-rss-link {
    color: var(--color-primary);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.1em;
    transition: none;
}

.entity-rss-link:hover {
    color: var(--color-primary-dark);
    text-decoration-thickness: 3px;
}

.entity-rss-link:focus {
    outline: 3px solid transparent;
    color: var(--color-black);
    background-color: var(--color-warning);
    box-shadow: 0 -2px var(--color-warning), 0 4px var(--color-black);
    text-decoration: none;
}

.icon-rss {
    width: 18px;
    height: 18px;
}
.entity-type-badge {
    background: var(--color-primary-dark);
    color: var(--color-text-inverse);
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.entity-date {
    font-weight: 400;
    color: var(--color-black);
    margin-right: 14px;
    font-size: 0.9375rem;
}

.entity-time {
    color: var(--color-text-secondary);
    font-size: 0.9375rem;
    font-variant-numeric: tabular-nums;
}

.entity-empty {
    color: var(--color-text-secondary);
    font-style: italic;
}
.entity-stats {
    display: flex;
    gap: 48px;
}

.entity-stat {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.entity-stat .stat-label {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.entity-stat .stat-number,
.stat-number {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--color-black);
    line-height: 1.2;
}
.entity-api-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    padding: 3px;
}

.entity-api-link {
    margin-bottom: 0;
    width: auto;
}
.entity-languages {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.entity-language {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--color-bg-info);
    border: 1px solid var(--color-primary-soft);
    border-radius: 4px;
    padding: 6px 12px;
    width: auto;
}

.entity-language:hover {
    background: var(--color-primary-soft);
    border-color: var(--color-primary);
}

.language-code {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--color-primary-dark);
}

.entity-lang-hint {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    margin-top: 4px;
}
.entity-private-notice {
    margin-top: 24px;
    padding: 14px 18px;
    background: var(--color-bg-error);
    border: 2px solid var(--color-error);
    border-radius: 5px;
    gap: 12px;
}

.entity-private-badge {
    color: var(--color-error-dark);
    font-weight: 700;
}

.entity-private-text {
    color: var(--color-error-dark);
}
.metadata-warning {
    background: var(--color-bg-warning-orange);
    border: 2px solid var(--color-warning);
    border-radius: 5px;
    padding: 18px;
    gap: 14px;
    margin-top: 24px;
}

.metadata-warning .warning-icon {
    color: var(--color-warning);
    width: 28px;
    height: 28px;
}

.metadata-warning .warning-text strong {
    color: var(--color-black);
    font-family: "Source Sans Pro", arial, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 6px;
}

.metadata-warning .warning-text p {
    color: var(--color-black);
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .entity-metadata-modern {
        padding: 20px;
    }

    .entity-title-row {
        flex-direction: column;
    }

    .entity-main-title {
        font-size: 1.5rem;
    }

    .entity-label {
        width: 100%;
        display: block;
        padding: 0 0 4px 0 !important;
    }

    .entity-value {
        display: block;
        padding-top: 0 !important;
    }

    .entity-info-table tbody td {
        display: block;
        padding: 8px 0 !important;
    }

    .entity-info-table tbody tr {
        padding: 8px 0;
    }
}

.table-container {
    margin-bottom: 28px;
    border-radius: 6px;
    padding-right: 5px;
}

.table-container > .dataTables_wrapper:not(:has(> table, > .table-scroll)) {
    display: block;
    text-align: left;
    grid-template-columns: none;
    column-gap: 0;
    padding: 8px 0;
    margin-bottom: 8px;
    overflow: visible;
}

.table-container > .dataTables_wrapper:not(:has(> table, > .table-scroll)) > .dataTables_paginate {
    display: inline-flex !important;
    justify-content: flex-start !important;
    grid-column: auto;
    float: none !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.table-container .govuk-table {
    display: table;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: auto;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--color-black);
    margin: 0;
    border: 0;
    background: transparent;
}

.table-container .govuk-table__head {
    display: table-header-group;
    background: transparent;
    margin: 0;
    grid-auto-columns: initial;
    grid-auto-flow: initial;
    gap: 0;
}

.table-container .govuk-table__head .govuk-table__row {
    display: table-row;
    background: transparent;
    border: 0;
    padding: 0;
    min-width: 0;
}

.table-container .govuk-table__body {
    display: table-row-group;
}

.table-container .govuk-table__row {
    display: table-row;
    background: #fafafa;
    border: 0;
    padding: 0;
    min-width: 0;
    grid-auto-columns: initial;
    grid-auto-flow: initial;
    gap: 0;
    transition: background-color 0.12s ease;
}

.table-container .govuk-table__head .govuk-table__row {
    background: transparent;
}

.table-container .govuk-table__header,
.table-container .govuk-table__cell {
    display: table-cell;
    padding: 14px 16px;
    border: 0;
    vertical-align: top;
    text-align: left;
    gap: 0;
    background: transparent;
    white-space: nowrap;
}

.project-changelog-table-section .table-container .govuk-table__header:last-child,
.project-changelog-table-section .table-container .govuk-table__cell:last-child,
.entity-changelog-table-section .table-container .govuk-table__header:last-child,
.entity-changelog-table-section .table-container .govuk-table__cell:last-child {
    white-space: normal;
    width: 100%;
    min-width: 280px;
}
.table-container .govuk-table__header {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    border-bottom: 2px solid var(--color-primary-dark);
    padding-top: 10px;
    padding-bottom: 10px;
    white-space: nowrap;
}

.table-container .govuk-table__header a {
    color: var(--color-text-secondary);
    text-decoration: none;
    font-weight: 700;
}

.table-container .govuk-table__header a:hover {
    color: var(--color-primary-dark);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

.table-container .govuk-table__header a:focus {
    outline: 3px solid var(--color-warning);
    outline-offset: 1px;
    color: var(--color-black);
    background-color: transparent;
    box-shadow: none;
    text-decoration: none;
}
.table-container .govuk-table__cell {
    border-bottom: 1px solid var(--color-border-light);
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--color-black);
}

.table-container .govuk-table__body .govuk-table__row:hover {
    background: #f6faff !important;
}
.table-container .govuk-table__body .govuk-table__row:last-child .govuk-table__cell {
    border-bottom: 0;
}
.table-container .govuk-table__cell ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.table-container .govuk-table__cell ul ul {
    margin-top: 6px;
    margin-bottom: 6px;
    padding-left: 14px;
    list-style: disc;
}

.table-container .govuk-table__cell li {
    margin-bottom: 6px;
}

.table-container .govuk-table__cell li:last-child {
    margin-bottom: 0;
}

.table-container .govuk-table__cell strong {
    color: var(--color-primary-dark);
    font-weight: 700;
    font-size: 0.875rem;
}

.table-container .govuk-table__cell i {
    font-style: normal;
    color: var(--color-black);
}
.table-container .govuk-table__header:first-child,
.table-container .govuk-table__cell:first-child {
    padding-left: 4px;
}

.table-container .govuk-table__header:last-child,
.table-container .govuk-table__cell:last-child {
    padding-right: 4px;
}

@media (max-width: 768px) {
    .table-container .govuk-table {
        font-size: 0.875rem;
    }

    .table-container .govuk-table__header,
    .table-container .govuk-table__cell {
        padding: 10px 8px;
    }

    .table-container .govuk-table__header:first-child,
    .table-container .govuk-table__cell:first-child {
        padding-left: 2px;
    }

    .table-container .govuk-table__header:last-child,
    .table-container .govuk-table__cell:last-child {
        padding-right: 2px;
    }
}

.table-container table.dataTable,
.dataTables_wrapper table.dataTable,
table.datatable-entity {
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: var(--color-black) !important;
}

.table-container table.dataTable thead th,
.dataTables_wrapper table.dataTable thead th,
.table-container table.dataTable thead .govuk-table__header,
.dataTables_wrapper table.dataTable thead .govuk-table__header,
table.datatable-entity thead th,
table.datatable-entity thead .govuk-table__header {
    padding: 10px 24px 10px 12px !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--color-text-secondary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    background: transparent !important;
    border-bottom: 2px solid var(--color-primary-dark) !important;
    vertical-align: middle !important;
}
.table-container table.dataTable tbody td,
.dataTables_wrapper table.dataTable tbody td,
.table-container table.dataTable tbody .govuk-table__cell,
.dataTables_wrapper table.dataTable tbody .govuk-table__cell,
table.datatable-entity tbody td,
table.datatable-entity tbody .govuk-table__cell {
    padding: 9px 12px !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: var(--color-black) !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    background: transparent !important;
    vertical-align: middle !important;
}
.table-container table.dataTable tbody tr,
.dataTables_wrapper table.dataTable tbody tr,
table.datatable-entity tbody tr {
    background: #fafafa !important;
}
.table-container table.dataTable tbody tr:hover,
.dataTables_wrapper table.dataTable tbody tr:hover,
.table-container table.dataTable tbody tr:hover td,
.dataTables_wrapper table.dataTable tbody tr:hover td {
    background-color: #f6faff !important;
}

.table-container table.dataTable thead .sorting::before,
.table-container table.dataTable thead .sorting::after,
.table-container table.dataTable thead .sorting_asc::before,
.table-container table.dataTable thead .sorting_asc::after,
.table-container table.dataTable thead .sorting_desc::before,
.table-container table.dataTable thead .sorting_desc::after,
.dataTables_wrapper table.dataTable thead .sorting::before,
.dataTables_wrapper table.dataTable thead .sorting::after,
.dataTables_wrapper table.dataTable thead .sorting_asc::before,
.dataTables_wrapper table.dataTable thead .sorting_asc::after,
.dataTables_wrapper table.dataTable thead .sorting_desc::before,
.dataTables_wrapper table.dataTable thead .sorting_desc::after {
    right: 6px !important;
    opacity: 0.4;
}

.table-container table.dataTable thead .sorting_asc::before,
.table-container table.dataTable thead .sorting_desc::after,
.dataTables_wrapper table.dataTable thead .sorting_asc::before,
.dataTables_wrapper table.dataTable thead .sorting_desc::after {
    opacity: 1;
    color: var(--color-primary-dark) !important;
}

/* Malá vertikálna medzera medzi indikátormi zoradenia ▲/▼ — vendor ich kladie
   na bottom:50% / top:50% (zlepené v strede), posun o 2px od stredu ich oddelí. */
.table-container table.dataTable thead .sorting::before,
.table-container table.dataTable thead .sorting_asc::before,
.table-container table.dataTable thead .sorting_desc::before,
.dataTables_wrapper table.dataTable thead .sorting::before,
.dataTables_wrapper table.dataTable thead .sorting_asc::before,
.dataTables_wrapper table.dataTable thead .sorting_desc::before {
    bottom: calc(50% + 2px) !important;
}
.table-container table.dataTable thead .sorting::after,
.table-container table.dataTable thead .sorting_asc::after,
.table-container table.dataTable thead .sorting_desc::after,
.dataTables_wrapper table.dataTable thead .sorting::after,
.dataTables_wrapper table.dataTable thead .sorting_asc::after,
.dataTables_wrapper table.dataTable thead .sorting_desc::after {
    top: calc(50% + 2px) !important;
}

.table-container table.dataTable tbody tr.dataTables_empty td,
.dataTables_wrapper table.dataTable tbody tr.dataTables_empty td {
    padding: 40px 16px !important;
    text-align: center !important;
    color: var(--color-text-secondary) !important;
    font-style: normal !important;
    border-bottom: 0 !important;
    background: #fafbfc !important;
}

.table-container table.dataTable thead tr.filters th,
.dataTables_wrapper table.dataTable thead tr.filters th {
    padding: 6px 4px !important;
    border-bottom: 0 !important;
}
.table-container table.dataTable tbody td .govuk-button,
.dataTables_wrapper table.dataTable tbody td .govuk-button,
.table-container table.dataTable tbody td .btn,
.dataTables_wrapper table.dataTable tbody td .btn {
    margin: 0 4px 0 0 !important;
    padding: 4px 10px !important;
    font-size: 0.875rem !important;
    min-height: 0 !important;
    line-height: 1.4 !important;
}

@media (max-width: 768px) {
    .table-container table.dataTable,
    .dataTables_wrapper table.dataTable {
        font-size: 0.875rem !important;
    }

    .table-container table.dataTable thead th,
    .dataTables_wrapper table.dataTable thead th,
    .table-container table.dataTable tbody td,
    .dataTables_wrapper table.dataTable tbody td {
        padding: 7px 8px !important;
    }
}

.custom-data-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 16px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--color-bg-hover);
}

.custom-data-page-header__title {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.custom-data-page-header__eyebrow {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.custom-data-page-header__h1 {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: 700;
    color: var(--color-black);
    margin: 0;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
}

.custom-data-page-header__meta {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--color-text-secondary);
    background: var(--color-bg-hover);
    padding: 2px 10px;
    border-radius: 4px;
    letter-spacing: 0;
}

.custom-data-page-header__cta {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    margin: 0 !important;
    padding: 8px 16px !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--color-text-inverse) !important;
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.custom-data-page-header__cta:hover,
.custom-data-page-header__cta:active {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
    color: var(--color-text-inverse) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.custom-data-page-header__cta:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    background-color: var(--color-primary) !important;
    color: var(--color-text-inverse) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.custom-data-page-header__cta-icon {
    flex-shrink: 0;
}

.custom-data-action-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 14px 18px;
    background: var(--color-bg-info);
    border-left: 4px solid var(--color-primary);
    border-radius: 4px;
    margin-bottom: 24px;
}

.custom-data-action-bar__intro {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--color-primary-dark);
    flex-shrink: 0;
}

.custom-data-action-bar__icon {
    flex-shrink: 0;
    color: var(--color-primary);
}

.custom-data-action-bar__label {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--color-primary-dark);
}

.custom-data-action-bar__form {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    flex: 1 1 auto;
    min-width: 0;
}

.custom-data-action-bar__select {
    min-width: 220px !important;
    max-width: 100%;
    height: 40px !important; /* IDSK3 .govuk-select výška — zladené so Select2 controlom + submitom */
    margin: 0 !important;
}
.custom-data-action-bar__form .select2-container,
.custom-data-action-bar__form + .select2-container {
    min-width: 220px !important;
    flex: 0 1 auto;
}

.custom-data-action-bar__submit {
    margin: 0 !important;
    padding: 8px 16px !important;
    height: 40px !important; /* zladené s IDSK3 výškou Select2 controlu (40px) */
    font-size: 0.9375rem !important;
    line-height: 1.2 !important;
    box-shadow: 0 2px 0 var(--color-error-dark) !important;
}

@media (max-width: 768px) {
    .custom-data-page-header {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .custom-data-page-header__cta {
        align-self: flex-start;
    }

    .custom-data-action-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .custom-data-action-bar__form {
        flex-wrap: wrap;
    }

    .custom-data-action-bar__select {
        flex: 1 1 100%;
    }
}
.custom-data-entity-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    color: var(--color-text-secondary);
    margin-bottom: 20px;
}

.custom-data-entity-info__item strong {
    color: var(--color-black);
    font-weight: 700;
    margin-right: 4px;
}

.custom-data-entity-info__sep {
    color: var(--color-border);
}
.custom-data-info-card {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-primary);
    border-radius: 5px;
    padding: 14px 18px;
    margin-bottom: 24px;
    column-gap: 32px;
    row-gap: 8px;
}

.custom-data-info-card__row {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}

.custom-data-info-card__label {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.custom-data-info-card__value {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--color-black);
}

.custom-data-info-card__value code {
    font-family: "Source Sans Pro", "Roboto Mono", monospace;
    font-size: 0.875rem;
    background: var(--color-bg-hover);
    padding: 2px 8px;
    border-radius: 3px;
    color: var(--color-primary-dark);
}
.translation-stats {
    display: flex;
    gap: 32px;
    padding: 0 0 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--color-bg-hover);
}

.translation-stats__item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.translation-stats__label {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.translation-stats__value {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-primary-dark);
    line-height: 1;
}
.translation-group {
    background: var(--color-bg);
    border: 1px solid var(--color-border-light);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 20px;
    transition: box-shadow 0.15s ease;
}

.translation-group:hover {
    box-shadow: 0 2px 12px rgba(7, 44, 102, 0.08);
}

.translation-group__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 20px;
    background: #f7faff;
    border-bottom: 1px solid var(--color-border-light);
}

.translation-group__lang {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.translation-group__flag {
    width: 28px !important;
    height: 20px !important;
    flex-shrink: 0;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.translation-group__lang-text {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

.translation-group__lang-name {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-black);
}

.translation-group__lang-code {
    font-family: "Source Sans Pro", monospace;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--color-text-secondary);
    background: var(--color-bg);
    padding: 2px 8px;
    border-radius: 3px;
    border: 1px solid #d0d4d7;
    letter-spacing: 0.5px;
}

.translation-group__count {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    background: var(--color-primary);
    color: var(--color-text-inverse);
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.translation-group__body {
    padding: 0;
}
.translation-table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    margin: 0;
}

.translation-table thead th {
    padding: 10px 16px;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    background: transparent;
    border-bottom: 1px solid var(--color-border-light);
    text-align: left;
    white-space: nowrap;
}

.translation-table tbody td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-border-light);
    color: var(--color-black);
    line-height: 1.4;
    vertical-align: middle;
}

.translation-table tbody tr:last-child td {
    border-bottom: 0;
}

.translation-table tbody tr:hover td {
    background: #f8fbff;
}

.translation-table__title-cell {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 200px;
}

.translation-table__title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--color-black);
    line-height: 1.35;
}

.translation-table__source {
    display: inline-block;
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    background: var(--color-bg-hover);
    padding: 2px 8px;
    border-radius: 3px;
    width: max-content;
}

.translation-table__meta-cell {
    color: var(--color-text-secondary);
    font-size: 0.875rem;
    white-space: nowrap;
}

.translation-table__actions-header {
    width: 1%;
}

.translation-table__actions-cell {
    white-space: nowrap;
    text-align: right;
}

.news-subscription-form-row {
    flex-direction: row !important;
    align-items: flex-end !important;
    gap: 12px !important;
}

.news-subscription-input-wrapper {
    flex: 1 1 auto;
    min-width: 0;
}

.news-subscription-input {
    height: 44px !important;
    font-size: 1rem !important;
}

.news-subscription-button {
    width: auto !important;
    flex: 0 0 auto !important;
    height: 44px !important;
    padding: 0 22px !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--color-text-inverse) !important;
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.news-subscription-button:hover,
.news-subscription-button:active {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
    color: var(--color-text-inverse) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.news-subscription-button:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    background-color: var(--color-primary) !important;
    color: var(--color-text-inverse) !important;
    box-shadow: none !important;
}

@media (max-width: 560px) {
    .news-subscription-form-row {
        flex-direction: column !important;
    }

    .news-subscription-button {
        width: 100% !important;
    }
}

.entity-changelog-rss-page-container {
    padding-bottom: 48px;
}

.entity-changelog-rss-content {
    max-width: 1200px;
    margin: 0 auto;
}

.entity-changelog-rss-hero-section {
    background: var(--color-bg);
    color: var(--color-black);
    padding: 40px 0;
    margin-bottom: 32px;
    text-align: center;
    position: relative;
    border-bottom: 1px solid #e3e6ea;
}

.entity-changelog-rss-hero-content {
    max-width: 800px;
    margin: 0 auto;
}

.entity-changelog-rss-all-section .govuk-heading-l,
.entity-changelog-rss-projects-section .govuk-heading-l {
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: var(--color-text-secondary) !important;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    margin-bottom: 16px !important;
    padding-bottom: 0;
    border-bottom: 0;
    text-align: left !important;
    display: flex;
    align-items: center;
    gap: 12px;
}

.entity-changelog-rss-all-section .govuk-heading-l::before,
.entity-changelog-rss-projects-section .govuk-heading-l::before {
    content: "";
    flex-shrink: 0;
    width: 24px;
    height: 2px;
    background: var(--color-primary);
}

.entity-changelog-rss-all-section .govuk-heading-l::after,
.entity-changelog-rss-projects-section .govuk-heading-l::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, var(--color-bg-hover) 0%, transparent 100%);
}
.entity-changelog-rss-all-section {
    margin-bottom: 44px;
}

.entity-changelog-rss-all-section .entity-changelog-rss-card {
    background: linear-gradient(135deg, var(--color-bg) 0%, #f7faff 100%);
    border: 1px solid var(--color-primary-soft);
    border-radius: 10px;
    padding: 28px 32px;
    position: relative;
    overflow: hidden;
}

.entity-changelog-rss-all-section .entity-changelog-rss-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, var(--color-primary-soft) 100%);
}

.entity-changelog-rss-all-section .entity-changelog-rss-card:hover::before {
    background: linear-gradient(90deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
}

.entity-changelog-rss-all-section .entity-changelog-rss-card-title {
    font-size: 1.375rem;
    color: var(--color-primary-dark);
    margin-bottom: 6px;
}

.entity-changelog-rss-all-section .entity-changelog-rss-card-description {
    font-size: 1rem;
    color: var(--color-text-secondary);
}
.entity-changelog-rss-card {
    background: var(--color-bg);
    border: 1px solid var(--color-border-light);
    border-top: 0;
    border-radius: 10px;
    padding: 22px 24px;
    margin-bottom: 0;
    box-shadow: 0 1px 2px rgba(7, 44, 102, 0.04);
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.entity-changelog-rss-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-soft) 100%);
}

.entity-changelog-rss-card:hover {
    box-shadow: 0 8px 24px rgba(7, 44, 102, 0.10);
    border-color: var(--color-primary-soft);
    transform: translateY(-1px);
}

.entity-changelog-rss-card:hover::before {
    background: linear-gradient(90deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
}

.entity-changelog-rss-card-header {
    margin-bottom: 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.entity-changelog-rss-card-title {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--color-black);
    margin: 0;
    line-height: 1.3;
}

.entity-changelog-rss-card-description {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    margin: 0;
    line-height: 1.4;
}

.entity-changelog-rss-project-code {
    display: inline-flex;
    align-items: center;
    background: var(--color-bg-info);
    color: var(--color-primary);
    padding: 3px 10px;
    border-radius: 4px;
    font-family: "Source Sans Pro", monospace;
    font-size: 0.875rem;
    font-weight: 700;
    width: max-content;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}
.entity-changelog-rss-projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 18px;
}
.entity-changelog-rss-badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 18px;
    min-height: auto;
}
.entity-changelog-rss-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px 3px 8px;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 4px;
    background: #f7faff;
    color: var(--color-primary-dark);
    border: 1px solid #e0eaf9;
    transition: all 0.15s ease;
}

.entity-changelog-rss-badge::before {
    content: "";
    width: 5px;
    height: 5px;
    background: var(--color-primary);
    border-radius: 50%;
    flex-shrink: 0;
}

.entity-changelog-rss-badge:hover {
    background: var(--color-bg-info);
    border-color: var(--color-primary-soft);
    color: var(--color-primary-dark);
}
.entity-changelog-rss-button {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    color: var(--color-primary-dark);
    background-color: var(--color-bg-info);
    border: 2px solid var(--color-primary);
    border-radius: 5px;
    text-decoration: none;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: none;
    transition: background-color 0.15s ease-in-out;
}

.entity-changelog-rss-button:hover,
.entity-changelog-rss-button:active {
    background-color: var(--color-primary-soft);
    border-color: var(--color-primary);
    color: var(--color-primary-dark);
    text-decoration: none;
    box-shadow: none;
}

.entity-changelog-rss-button:focus {
    outline: 3px solid var(--color-warning);
    outline-offset: 0;
    background-color: var(--color-bg-info);
    color: var(--color-primary-dark);
    text-decoration: none;
}

.entity-changelog-rss-button--small {
    padding: 6px 12px;
    font-size: 0.875rem;
}
.entity-changelog-rss-icon {
    display: none;
}

.idsk-feedback-bar__up-button {
    padding: 16px 0;
}

.idsk-feedback-bar__up-button .govuk-button,
.idsk-feedback-bar__up-button .govuk-button.govuk-button--start {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 6px 14px !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--color-primary-dark) !important;
    background-color: var(--color-bg-info) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 5px !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color 0.15s ease-in-out;
}

.idsk-feedback-bar__up-button .govuk-button:hover,
.idsk-feedback-bar__up-button .govuk-button:active,
.idsk-feedback-bar__up-button .govuk-button.govuk-button--start:hover,
.idsk-feedback-bar__up-button .govuk-button.govuk-button--start:active {
    background-color: var(--color-primary-soft) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-primary-dark) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.idsk-feedback-bar__up-button .govuk-button:focus,
.idsk-feedback-bar__up-button .govuk-button.govuk-button--start:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    background-color: var(--color-bg-info) !important;
    color: var(--color-primary-dark) !important;
    box-shadow: none !important;
}

.idsk-feedback-bar__up-button .govuk-button__start-icon {
    width: 14px !important;
    height: 11px !important;
    margin: 0 !important;
    flex-shrink: 0;
}

.auth-page-container {
    background: linear-gradient(180deg, #f7faff 0%, var(--color-bg) 100%);
    padding: 56px 20px;
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.auth-card {
    max-width: 440px;
    width: 100%;
    background: var(--color-bg);
    border: 1px solid var(--color-primary-soft);
    border-left: 4px solid var(--color-primary);
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(7, 44, 102, 0.08);
    overflow: hidden;
}

.auth-card--wide {
    max-width: 720px;
}
.auth-card .auth-header {
    background: transparent !important;
    border-bottom: 1px solid var(--color-bg-hover) !important;
    padding: 32px 32px 24px !important;
    text-align: center;
}

.auth-card .auth-header--login,
.auth-card .auth-header--reset,
.auth-card .auth-header--2fa {
    background: transparent !important;
    border-bottom: 1px solid var(--color-bg-hover) !important;
}
.auth-card .auth-icon {
    width: 56px;
    height: 56px;
    background: var(--color-bg-info);
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    color: var(--color-primary);
    box-shadow: 0 2px 8px rgba(18, 109, 255, 0.15);
    font-size: 0;
}

.auth-card .auth-icon svg {
    color: var(--color-primary);
}

.auth-card .auth-header--reset .auth-icon {
    background: var(--color-bg-error);
    border-color: var(--color-error);
    color: var(--color-error);
    box-shadow: 0 2px 8px rgba(195, 17, 43, 0.15);
}

.auth-card .auth-header--reset .auth-icon svg {
    color: var(--color-error);
}

.auth-card .auth-header--2fa .auth-icon {
    background: var(--color-bg-warning-orange);
    border-color: var(--color-warning);
    color: var(--color-warning);
    box-shadow: 0 2px 8px rgba(217, 110, 0, 0.15);
}

.auth-card .auth-header--2fa .auth-icon svg {
    color: var(--color-warning);
}

.auth-card .auth-title {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--color-black);
}

.auth-card .auth-subtitle {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    color: var(--color-text-secondary);
    margin: 0;
    line-height: 1.4;
}
.auth-card .auth-body {
    padding: 28px 32px 32px !important;
}
.auth-card .auth-form .govuk-form-group {
    margin-bottom: 18px !important;
}

.auth-card .auth-form .govuk-label {
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    color: var(--color-black) !important;
    margin-bottom: 6px !important;
}

.auth-card .auth-form .govuk-input {
    width: 100% !important;
    height: 44px !important;
    padding: 8px 12px !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    color: var(--color-black) !important;
    background: var(--color-bg) !important;
    border: 2px solid var(--color-black) !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease;
}

.auth-card .auth-form input[type="password"] {
    font-family: "Source Sans Pro", arial, sans-serif !important;
    letter-spacing: normal !important;
}

.auth-card .auth-form .govuk-input:hover {
    border-color: var(--color-black) !important;
}

.auth-card .auth-form .govuk-input:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    border-color: var(--color-black) !important;
    box-shadow: inset 0 0 0 2px var(--color-black) !important;
}
.auth-card .auth-form .auth-link {
    display: inline-block;
    margin-top: 8px;
    color: var(--color-primary) !important;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.15em;
}

.auth-card .auth-form .auth-link:hover {
    color: var(--color-primary-dark) !important;
    text-decoration-thickness: 3px;
}

.auth-card .auth-form .auth-link:focus {
    outline: 3px solid transparent;
    color: var(--color-black) !important;
    background-color: var(--color-warning);
    box-shadow: 0 -2px var(--color-warning), 0 4px var(--color-black);
    text-decoration: none;
}
.auth-card .auth-submit {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--color-bg-hover);
}

.auth-card .auth-submit .govuk-button {
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
    padding: 10px 18px !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--color-text-inverse) !important;
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-align: center;
    transition: background-color 0.15s ease;
}

.auth-card .auth-submit .govuk-button:hover,
.auth-card .auth-submit .govuk-button:active {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
    color: var(--color-text-inverse) !important;
}

.auth-card .auth-submit .govuk-button:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    background-color: var(--color-primary) !important;
}
.auth-card .auth-submit .govuk-button.govuk-button--sec,
.auth-card .auth-submit .govuk-button--sec {
    color: var(--color-primary-dark) !important;
    background-color: var(--color-bg-info) !important;
    border: 2px solid var(--color-primary) !important;
}

.auth-card .auth-submit .govuk-button.govuk-button--sec:hover,
.auth-card .auth-submit .govuk-button.govuk-button--sec:active,
.auth-card .auth-submit .govuk-button--sec:hover,
.auth-card .auth-submit .govuk-button--sec:active {
    background-color: var(--color-primary-soft) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-primary-dark) !important;
}

.auth-card .auth-submit .govuk-button.govuk-button--sec:focus,
.auth-card .auth-submit .govuk-button--sec:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    background-color: var(--color-bg-info) !important;
    color: var(--color-primary-dark) !important;
}
.auth-card .auth-submit .govuk-button.govuk-button__warning,
.auth-card .auth-submit .govuk-button__warning {
    color: var(--color-error-dark) !important;
    background-color: var(--color-bg-error) !important;
    border: 2px solid var(--color-error) !important;
}

.auth-card .auth-submit .govuk-button.govuk-button__warning:hover,
.auth-card .auth-submit .govuk-button__warning:hover {
    background-color: #f5d2d8 !important;
    border-color: var(--color-error) !important;
    color: var(--color-error-dark) !important;
}

@media (max-width: 480px) {
    .auth-card .auth-submit {
        flex-direction: column;
    }

    .auth-card .auth-submit .govuk-button {
        flex: 1 1 100%;
    }
}
.auth-card .auth-info-message {
    padding: 12px 14px;
    background: var(--color-bg-info);
    border-left: 4px solid var(--color-primary);
    border-radius: 4px;
    margin-bottom: 20px;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-primary-dark);
    line-height: 1.4;
}

.auth-card .auth-info-message a {
    color: var(--color-primary);
    font-weight: 700;
    text-decoration: underline;
}

.auth-card .auth-info-message a:hover {
    color: var(--color-primary-dark);
    text-decoration-thickness: 3px;
}
.auth-card .govuk-error-summary {
    padding: 14px 16px !important;
    background: var(--color-bg-error) !important;
    border: 0 !important;
    border-left: 4px solid var(--color-error) !important;
    border-radius: 4px;
    margin-bottom: 20px !important;
}

.auth-card .govuk-error-summary:focus {
    outline: none !important;
}

.auth-card .govuk-error-summary:focus-visible {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 2px;
}

.auth-card .govuk-error-summary__title {
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--color-error-dark) !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
}

.auth-card .govuk-error-summary__body {
    color: var(--color-black) !important;
    padding: 0 !important;
}

.auth-card .govuk-error-summary__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.auth-card .govuk-error-summary__list li {
    color: var(--color-black);
    font-size: 0.9375rem;
    margin: 0;
}

@media (max-width: 560px) {
    .auth-page-container {
        padding: 24px 12px;
    }

    .auth-card .auth-header {
        padding: 24px 20px 20px !important;
    }

    .auth-card .auth-body {
        padding: 20px !important;
    }
}
.auth-card .auth-header--success,
.auth-card .auth-header--error {
    background: transparent !important;
    border-bottom: 1px solid var(--color-bg-hover) !important;
}

.auth-card .auth-icon--success {
    background: var(--color-bg-success) !important;
    border-color: var(--color-success) !important;
    color: var(--color-success) !important;
    box-shadow: 0 2px 8px rgba(7, 136, 20, 0.15) !important;
}

.auth-card .auth-icon--success svg {
    color: var(--color-success) !important;
}

.auth-card .auth-icon--error {
    background: var(--color-bg-error) !important;
    border-color: var(--color-error) !important;
    color: var(--color-error) !important;
    box-shadow: 0 2px 8px rgba(195, 17, 43, 0.15) !important;
}

.auth-card .auth-icon--error svg {
    color: var(--color-error) !important;
}

.auth-card .auth-secondary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--color-bg-hover);
}

.auth-card .auth-secondary-actions .govuk-button,
.auth-card .auth-secondary-actions .govuk-button--sec,
.auth-card .auth-sec-link {
    margin: 0 !important;
    padding: 10px 18px !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--color-primary-dark) !important;
    background-color: var(--color-bg-info) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 5px !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.auth-card .auth-secondary-actions .govuk-button:hover,
.auth-card .auth-secondary-actions .govuk-button--sec:hover,
.auth-card .auth-sec-link:hover {
    background-color: var(--color-primary-soft) !important;
    color: var(--color-primary-dark) !important;
}

.auth-card.auth-card--wide .auth-body,
.auth-card .auth-body.auth-body--wide {
    padding: 32px 36px !important;
}

@media (max-width: 560px) {
    .auth-card.auth-card--wide .auth-body,
    .auth-card .auth-body.auth-body--wide {
        padding: 20px !important;
    }
}
.auth-card .auth-submit--center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    border-top: 0;
    padding-top: 0;
    margin-top: 24px;
}

.auth-card .auth-submit--center .govuk-button {
    width: auto !important;
    margin: 0 !important;
}
.auth-card .auth-success-panel {
    background: var(--color-bg-success) !important;
    border: 0 !important;
    border-left: 4px solid var(--color-success) !important;
    border-radius: 4px !important;
    padding: 18px 20px !important;
    margin-bottom: 24px !important;
}

.auth-card .auth-success-icon-float {
    display: none !important;
}

.auth-card .auth-success-text {
    color: var(--color-success-dark) !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
}

.auth-card .auth-info-text {
    color: var(--color-success-dark) !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.9375rem !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.auth-card .auth-error-panel {
    background: var(--color-bg-error) !important;
    border: 0 !important;
    border-left: 4px solid var(--color-error) !important;
    border-radius: 4px !important;
    padding: 18px 20px !important;
    margin-bottom: 24px !important;
}

.auth-card .auth-error-icon-float {
    display: none !important;
}

.auth-card .auth-error-text {
    color: var(--color-error-dark) !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
}

.auth-card .auth-error-info {
    color: var(--color-error-dark) !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.9375rem !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.auth-card .auth-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
}

@media (max-width: 640px) {
    .auth-card .auth-info-grid {
        grid-template-columns: 1fr;
    }
}
.auth-card .auth-info-card {
    background: #f7faff !important;
    border: 1px solid #e0eaf9 !important;
    border-radius: 6px !important;
    padding: 16px 18px !important;
    height: 100%;
}

.auth-card .auth-info-card-title {
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    color: var(--color-primary-dark) !important;
    margin: 0 0 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.auth-card .auth-info-card-text {
    color: var(--color-text-secondary) !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.auth-card .auth-info-list {
    margin: 0 !important;
    padding-left: 20px !important;
    color: var(--color-text-secondary);
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    line-height: 1.6;
}

.auth-card .auth-help-section {
    background: #f7faff;
    border-left: 4px solid var(--color-primary);
    border-radius: 4px;
    padding: 16px 18px;
    height: 100%;
}
.auth-card .auth-helper-text {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    color: var(--color-text-secondary);
    line-height: 1.5;
    text-align: center;
    margin: 0 0 24px;
}

.idsk-notification {
    margin: 16px 0;
    border-radius: 5px;
    position: relative;
    background: var(--color-bg);
    box-shadow: 0 2px 12px rgba(7, 44, 102, 0.06);
    overflow: hidden;
    animation: slideIn 0.25s ease-out;
}

@keyframes slideIn {
    from { transform: translateY(-12px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

.idsk-notification__wrapper {
    display: flex;
    align-items: flex-start;
    padding: 14px 18px;
    gap: 14px;
}

.idsk-notification__icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.idsk-notification__body {
    flex: 1;
    min-width: 0;
}

.idsk-notification__title {
    margin: 0 0 2px;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.3;
}

.idsk-notification__message {
    margin: 0;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--color-black);
    word-break: break-word;
}
.idsk-notification--success {
    background: var(--color-bg-success);
    border-left: 4px solid var(--color-success);
}

.idsk-notification--success .idsk-notification__icon,
.idsk-notification--success .idsk-notification__title {
    color: var(--color-success-dark);
}
.idsk-notification--warning {
    background: var(--color-bg-warning-orange);
    border-left: 4px solid var(--color-warning);
}

.idsk-notification--warning .idsk-notification__icon,
.idsk-notification--warning .idsk-notification__title {
    color: #b35900;
}
.idsk-notification--error {
    background: var(--color-bg-error);
    border-left: 4px solid var(--color-error);
}

.idsk-notification--error .idsk-notification__icon,
.idsk-notification--error .idsk-notification__title {
    color: var(--color-error-dark);
}
.idsk-notification--info {
    background: var(--color-bg-info);
    border-left: 4px solid var(--color-primary);
}

.idsk-notification--info .idsk-notification__icon,
.idsk-notification--info .idsk-notification__title {
    color: var(--color-primary-dark);
}
.idsk-notification__close {
    flex-shrink: 0;
    background: none;
    border: 0;
    color: var(--color-text-secondary);
    cursor: pointer;
    padding: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.idsk-notification__close:hover {
    background-color: rgba(11, 12, 12, 0.06);
    color: var(--color-black);
}

.idsk-notification__close:focus {
    outline: 3px solid var(--color-warning);
    outline-offset: 0;
}

@media (max-width: 768px) {
    .idsk-notification__wrapper {
        padding: 12px 14px;
        gap: 10px;
    }

    .idsk-notification__icon {
        width: 20px;
        height: 20px;
    }

    .idsk-notification__icon svg {
        width: 18px;
        height: 18px;
    }

    .idsk-notification__title {
        font-size: 0.875rem;
    }

    .idsk-notification__message {
        font-size: 0.875rem;
    }
}

.feedback-page {
    max-width: 720px;
    padding: 8px 0 32px;
}

.feedback-page__title.govuk-heading-l {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
}

.feedback-page__lead.govuk-body {
    font-size: 1rem !important;
    color: var(--color-text-secondary) !important;
    margin-bottom: 24px !important;
    line-height: 1.5 !important;
}

.feedback-page .govuk-fieldset__legend--m {
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
}

.feedback-page .govuk-label--m {
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    margin-bottom: 6px !important;
}

.feedback-page .govuk-radios__label {
    font-size: 0.9375rem !important;
    padding-top: 6px;
    padding-bottom: 6px;
}

.feedback-page .govuk-textarea {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    min-height: 100px;
}

.feedback-page .govuk-hint {
    font-size: 0.875rem !important;
    color: var(--color-text-secondary) !important;
}

.feedback-page .govuk-button-group {
    margin-top: 24px !important;
    gap: 10px;
    display: flex;
    flex-wrap: wrap;
}

.feedback-page .govuk-button-group .govuk-button {
    margin: 0 !important;
}
.feedback-page--thanks {
    max-width: 720px;
    padding-top: 12px;
}

.feedback-thanks-panel.govuk-panel--confirmation {
    padding: 28px 24px !important;
    border-radius: 6px;
}

.feedback-thanks-panel .govuk-panel__title {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    margin: 0 0 12px !important;
}

.feedback-thanks-panel .govuk-panel__body {
    font-size: 1rem !important;
    line-height: 1.4 !important;
}

.idsk-nav-link--active {
    border-bottom-color: var(--color-primary) !important;
}

.idsk-nav-link--active::before {
    bottom: -1px !important;
}

.idsk-nav-link:focus,
.idsk-nav-link:focus:visited,
.idsk-nav-link--active:focus {
    border-bottom-color: var(--color-warning) !important;
}

.auth-card .auth-help-title {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--color-primary-dark);
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.auth-card .auth-help-list {
    margin: 0;
    padding-left: 20px;
    color: var(--color-text-secondary);
    font-size: 0.875rem;
    line-height: 1.6;
}
.auth-card .auth-expiration-notice {
    background: var(--color-bg-warning-orange) !important;
    border: 0 !important;
    border-left: 4px solid var(--color-warning) !important;
    border-radius: 4px !important;
    padding: 16px 18px !important;
    color: var(--color-black) !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.875rem !important;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
}

.auth-card .auth-expiration-notice strong {
    color: var(--color-black) !important;
    font-weight: 700;
}

.auth-card .auth-icon-inline {
    flex-shrink: 0;
    color: var(--color-warning);
    width: 20px;
    height: 20px;
}

.auth-card .auth-help-title .auth-icon-inline,
.auth-card .auth-info-card-title .auth-icon-inline {
    color: var(--color-primary);
}
.auth-card .auth-hint {
    display: block;
    margin-top: 6px;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    line-height: 1.4;
}
.auth-card .user-2fa-warning {
    background: var(--color-bg-warning-orange);
    border: 0;
    border-left: 4px solid var(--color-warning);
    border-radius: 4px;
    padding: 16px 18px;
    margin: 0 0 24px !important;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.auth-card .user-2fa-warning-icon {
    flex-shrink: 0;
    color: var(--color-warning);
    width: 22px;
    height: 22px;
    background: none;
    font-size: 0;
}

.auth-card .user-2fa-warning-content {
    flex: 1;
    min-width: 0;
}

.auth-card .user-2fa-warning-title {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--color-black);
    margin: 0 0 6px;
}

.auth-card .user-2fa-warning-text {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-black);
    line-height: 1.5;
    margin: 0 0 8px;
}

.auth-card .user-2fa-phone-info,
.auth-card .user-2fa-phone-warning {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-black);
    margin: 8px 0 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.auth-card .user-2fa-phone-icon {
    color: var(--color-text-secondary);
}

.auth-card .user-2fa-link {
    color: var(--color-primary);
    font-weight: 700;
    text-decoration: underline;
}

.auth-card .user-2fa-link:hover {
    color: var(--color-primary-dark);
}
.auth-card .user-2fa-section {
    background: var(--color-bg);
    border: 1px solid #d0d4d7 !important;
    border-radius: 6px;
    padding: 18px !important;
    margin: 0 0 16px;
}

.auth-card .user-2fa-method {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.auth-card .user-2fa-method-header {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 auto;
    min-width: 0;
}

.auth-card .user-2fa-method-icon {
    width: 44px;
    height: 44px;
    background: var(--color-bg-info);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    font-size: 22px;
    flex-shrink: 0;
}

.auth-card .user-2fa-method-info {
    flex: 1 1 auto;
    min-width: 0;
}

.auth-card .user-2fa-method-title {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--color-black);
    margin: 0 0 2px;
}

.auth-card .user-2fa-method-description {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    margin: 0 0 6px;
}

.auth-card .user-2fa-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.auth-card .user-2fa-status--active {
    background: var(--color-bg-success);
    color: var(--color-success-dark);
}

.auth-card .user-2fa-status--inactive {
    background: var(--color-bg-hover);
    color: var(--color-text-secondary);
}

.auth-card .user-2fa-status-icon {
    font-weight: 900;
}

.auth-card .user-2fa-method-action {
    flex-shrink: 0;
}

.auth-card .user-2fa-method-action .govuk-button {
    margin: 0 !important;
    padding: 8px 16px !important;
    font-family: "Source Sans Pro", arial, sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    border: 2px solid var(--color-primary) !important;
}
.auth-card .user-2fa-method-action .govuk-button--sec,
.auth-card .user-2fa-method-action .govuk-button.govuk-button--sec {
    color: var(--color-primary-dark) !important;
    background-color: var(--color-bg-info) !important;
    border-color: var(--color-primary) !important;
}

.auth-card .user-2fa-method-action .govuk-button--sec:hover,
.auth-card .user-2fa-method-action .govuk-button.govuk-button--sec:hover {
    background-color: var(--color-primary-soft) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-primary-dark) !important;
}
.auth-card .user-2fa-method-action .govuk-button__warning,
.auth-card .user-2fa-method-action .govuk-button.govuk-button__warning {
    color: var(--color-error-dark) !important;
    background-color: var(--color-bg-error) !important;
    border-color: var(--color-error) !important;
}

.auth-card .user-2fa-method-action .govuk-button__warning:hover,
.auth-card .user-2fa-method-action .govuk-button.govuk-button__warning:hover {
    background-color: #f5d2d8 !important;
    border-color: var(--color-error) !important;
    color: var(--color-error-dark) !important;
}

.auth-card .user-2fa-method-action .govuk-button:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
}

.auth-card .user-2fa-qr-section {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--color-bg-hover);
    text-align: center;
}

.auth-card .user-2fa-qr-instruction {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    margin: 0 0 12px;
}

.auth-card .user-2fa-qr-container {
    display: inline-block;
    padding: 12px;
    background: var(--color-bg);
    border: 1px solid #d0d4d7;
    border-radius: 6px;
}

.auth-card .user-2fa-qr-code {
    display: block;
    max-width: 180px;
    height: auto;
}

@media (max-width: 560px) {
    .auth-card .user-2fa-method {
        flex-direction: column;
        align-items: stretch;
    }

    .auth-card .user-2fa-method-action .govuk-button {
        width: 100% !important;
    }
}

.entity-changelog-rss-card-footer {
    display: flex;
    justify-content: flex-start;
    padding-top: 16px;
    border-top: 1px solid var(--color-bg-hover);
}
.entity-changelog-rss-no-entities,
.entity-changelog-rss-no-feed {
    font-family: "Source Sans Pro", arial, sans-serif;
    color: #8e9498;
    font-style: italic;
    font-size: 0.875rem;
}

@media (max-width: 768px) {
    .entity-changelog-rss-hero-content h1 {
        font-size: 1.625rem !important;
    }

    .entity-changelog-rss-all-section .entity-changelog-rss-card {
        padding: 22px 20px;
    }

    .entity-changelog-rss-projects-grid {
        grid-template-columns: 1fr;
    }
}
.translation-table__action {
    display: inline-flex;
    align-items: center;
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 5px 12px;
    border-radius: 5px;
    text-decoration: none !important;
    transition: background-color 0.12s ease, color 0.12s ease;
    border: 2px solid transparent;
    box-shadow: none;
}
.translation-table__action--edit {
    background: var(--color-bg-info);
    color: var(--color-primary-dark);
    border-color: var(--color-primary);
}

.translation-table__action--edit:hover,
.translation-table__action--edit:active {
    background: var(--color-primary-soft);
    color: var(--color-primary-dark);
    border-color: var(--color-primary);
}
.translation-table__action--delete {
    background: var(--color-bg-error);
    color: var(--color-error-dark);
    border-color: var(--color-error);
    margin-left: 6px;
}

.translation-table__action--delete:hover,
.translation-table__action--delete:active {
    background: #f5d2d8;
    color: var(--color-error-dark);
    border-color: var(--color-error);
}

.translation-table__action:focus {
    outline: 3px solid var(--color-warning);
    outline-offset: 0;
    text-decoration: none !important;
}
.translation-status {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    font-size: 0.875rem;
    font-weight: 700;
    border-radius: 12px;
    letter-spacing: 0.3px;
}

.translation-status--active {
    background: var(--color-bg-success);
    color: var(--color-success-dark);
}

.translation-status--ending {
    background: var(--color-bg-error);
    color: var(--color-error-dark);
}

@media (max-width: 768px) {
    .translation-group__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .translation-table thead {
        display: none;
    }

    .translation-table tbody tr {
        display: block;
        padding: 12px 16px;
        border-bottom: 1px solid var(--color-bg-hover);
    }

    .translation-table tbody td {
        display: flex;
        justify-content: space-between;
        padding: 4px 0;
        border: 0;
    }

    .translation-table tbody td::before {
        content: attr(data-label);
        font-weight: 700;
        color: var(--color-text-secondary);
        font-size: 0.875rem;
        text-transform: uppercase;
    }

    .translation-table__actions-cell {
        text-align: left;
    }
}
.custom-data-empty-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--color-bg-info);
    border-left: 4px solid var(--color-primary);
    border-radius: 4px;
    margin-bottom: 24px;
    color: var(--color-primary-dark);
}

.custom-data-empty-notice__icon {
    flex-shrink: 0;
    color: var(--color-primary);
}

.custom-data-empty-notice__text {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--color-primary-dark);
}
.custom-data-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.custom-data-page-secondary-cta {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 8px 16px !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--color-primary-dark) !important;
    background-color: var(--color-bg-info) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.custom-data-page-secondary-cta:hover,
.custom-data-page-secondary-cta:active {
    background-color: var(--color-primary-soft) !important;
    color: var(--color-primary-dark) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.custom-data-page-secondary-cta:focus {
    outline: 3px solid var(--color-warning) !important;
    outline-offset: 0 !important;
    background-color: var(--color-bg-info) !important;
    color: var(--color-primary-dark) !important;
    text-decoration: none !important;
}

.table-container .govuk-table__row--empty:hover {
    background: transparent !important;
}

.table-container .govuk-table__cell--empty {
    padding: 40px 16px !important;
    text-align: center;
    white-space: normal !important;
    border-bottom: 0 !important;
    background: #fafbfc;
}

.empty-state {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 8px 4px;
    color: var(--color-text-secondary);
    text-align: left;
}

.empty-state__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    color: var(--color-border);
}

.empty-state__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.empty-state__text strong {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-black);
}

.empty-state__text span {
    font-family: "Source Sans Pro", arial, sans-serif;
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    line-height: 1.4;
}

@media (max-width: 480px) {
    .empty-state {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .empty-state__text {
        align-items: center;
    }
}

/* GOV.UK Frontend pagination — presunuté do pagination.css aby sa zdieľalo medzi base + adminBase */

/* ===================================================== */
/* GOV.UK Frontend warning-text — chýba v IDSK3 beta dist, doplnené z design-system.service.gov.uk/components/warning-text/ */
/* ===================================================== */

.govuk-warning-text {
    position: relative;
    margin-bottom: 1.25rem;
    padding: 0.625rem 0;
}

.govuk-warning-text__icon {
    box-sizing: border-box;
    display: inline-block;
    position: absolute;
    left: 0;
    min-width: 35px;
    min-height: 35px;
    margin-top: -7px;
    border: 3px solid var(--color-black);
    border-radius: 50%;
    color: var(--color-text-inverse);
    background: var(--color-black);
    font-size: 1.875rem;
    line-height: 29px;
    text-align: center;
    user-select: none;
    forced-color-adjust: none;
}

.govuk-warning-text__text {
    display: block;
    padding-left: 45px;
    color: var(--color-black);
    font-weight: 400;
}

.govuk-warning-text__description {
    display: block;
    font-weight: 400;
    margin-top: 0.25rem;
}

/* ===================================================== */
/* IDSK3 checkbox — verné prepísanie zo @id-sk/frontend-3.0.0-beta.0 distu */
/* Default 40x40 + --small 24x24 variant. Spec: border-radius 5px, focus oranžový outline-offset 3px */
/* ===================================================== */

.govuk-checkboxes__item {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-bottom: 10px;
}
.govuk-checkboxes__item:last-child,
.govuk-checkboxes__item:last-of-type {
    margin-bottom: 0;
}

.govuk-checkboxes__input {
    z-index: 1;
    width: 40px;
    height: 40px;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

/* IDSK3 originál má padding: 7px 15px (left=15px) ale ::before checkbox je 36×36 pri left:2,
   takže text začínajúci na x=15 prekrýva s checkbox boxom (rovnaký bug ako `--small` variant,
   už fixnutý nižšie). Pre regular variant: padding-left: 52px (36 ::before + 2 left
   + 3 focus outline + 11 buffer pre hover box-shadow) aby text mal odsadenie aj pri focuse.
   `line-height: 1.5` rieši inherited 10.67px (rovnaký bug ako .govuk-feedback-bar__label) —
   bez toho sú text riadky stlačené pod fontSize a prekrývajú sa s checkbox boxom vertikálne. */
.govuk-checkboxes__label {
    align-self: center;
    display: inline-block;
    position: relative;
    max-width: calc(100% - 70px);
    margin-bottom: 0;
    padding: 7px 15px 7px 52px;
    line-height: 1.5;
    cursor: pointer;
    touch-action: manipulation;
    font-weight: 400;
}

.govuk-checkboxes__label::before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 2px;
    left: 2px;
    width: 36px;
    height: 36px;
    border: 2px solid var(--color-black);
    border-radius: 5px;
    background: transparent;
}

.govuk-checkboxes__label::after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 13px;
    left: 10px;
    width: 23px;
    height: 12px;
    transform: rotate(-45deg);
    border: solid;
    border-width: 0 0 5px 5px;
    border-top-color: transparent;
    background: transparent;
    opacity: 0;
}

.govuk-checkboxes__input:checked + .govuk-checkboxes__label::after {
    opacity: 1;
}

.govuk-checkboxes__input:hover:not(:disabled) + .govuk-checkboxes__label::before {
    box-shadow: 0 0 0 10px #eee;
}

.govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    border-width: 2px;
    border-radius: 5px;
    outline: 3px solid var(--color-warning);
    outline-offset: 3px;
}

.govuk-checkboxes__input:disabled,
.govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
    cursor: not-allowed;
}
.govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
    opacity: 0.5;
}

/* --small variant (24x24) — používame v entity-metadata tabulke aby checkbox nebol gigant */
.govuk-checkboxes--small .govuk-checkboxes__item {
    margin-bottom: 0;
}
.govuk-checkboxes--small .govuk-checkboxes__input {
    margin-left: -8px;
}
/* Off-spec: IDSK3 originál má padding-left: 1px (spolieha na neoverené overlap-text-cez-transparent-box správanie).
   U nás text prekrýval box pri rovnakých computed štýloch, takže text odsadzujeme za box natvrdo. */
.govuk-checkboxes--small .govuk-checkboxes__label {
    padding-left: 32px;
}
.govuk-checkboxes--small .govuk-checkboxes__label::before {
    top: 8px;
    left: 0;
    width: 24px;
    height: 24px;
}
.govuk-checkboxes--small .govuk-checkboxes__label::after {
    top: 17px;
    left: 6px;
    width: 12px;
    height: 6.5px;
    border-width: 0 0 3px 3px;
}
.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label::before {
    box-shadow: 0 0 0 7.5px #eee;
}

/* Zarovnanie checkboxu v entity-metadata tabulke s ostatnými hodnotami v stĺpci.
   Posunie celý __item vľavo o 32px aby box začal na pozícii content-area td. */
.entity-metadata-modern td .govuk-checkboxes__item {
    margin-left: -32px;
}

/* Zmenšenie textu + boxu checkboxu aby pasovali k 15px fontu ostatných hodnôt */
.entity-metadata-modern td .govuk-checkboxes__label {
    font-size: 15px;
    line-height: 21px;
    padding: 5px 0 4px 28px;
}
.entity-metadata-modern td .govuk-checkboxes--small .govuk-checkboxes__label::before {
    top: 4px;
    width: 20px;
    height: 20px;
}
.entity-metadata-modern td .govuk-checkboxes--small .govuk-checkboxes__label::after {
    top: 10px;
    left: 4px;
    width: 11px;
    height: 5.5px;
    border-width: 0 0 2.5px 2.5px;
}

/* REST API export tlačidlá — zmenšiť o úroveň */
.entity-metadata-modern .entity-api-link.govuk-button {
    font-size: 14px;
    padding: 5px 10px 4px;
    line-height: 18px;
    min-height: 0;
    box-shadow: 0 1px 0 #002884;
}
