/* One XS scale for all layouts, including modal and Vue controls.
   Layered important rules take precedence over legacy/theme size overrides. */
@font-face {
    font-family: NoraKopActions;
    src: url('../fonts/primeicons.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}
:root {
    --nk-control-xs-height: 24px;
    --nk-control-xs-font-size: 12px;
    --nk-control-xs-line-height: 16px;
    --nk-control-xs-padding-x: 8px;
}
@layer norakop-xs {
    body [data-nk-tone="neutral"] { --nk-action-bg: #f1f5f9; --nk-action-fg: #475569; --nk-action-border: #cbd5e1; --nk-action-hover: #e2e8f0; }
    body [data-nk-tone="info"] { --nk-action-bg: #eff6ff; --nk-action-fg: #1d4ed8; --nk-action-border: #93c5fd; --nk-action-hover: #dbeafe; }
    body [data-nk-tone="link"] { --nk-action-bg: #f5f3ff; --nk-action-fg: #6d28d9; --nk-action-border: #c4b5fd; --nk-action-hover: #ede9fe; }
    body [data-nk-tone="positive"] { --nk-action-bg: #166534; --nk-action-fg: #fff; --nk-action-border: #166534; --nk-action-hover: #14532d; --nk-action-focus: #166534; }
    body [data-nk-tone="warning"] { --nk-action-bg: #fffbeb; --nk-action-fg: #92400e; --nk-action-border: #fcd34d; --nk-action-hover: #fef3c7; }
    body [data-nk-tone="danger"] { --nk-action-bg: #fef2f2; --nk-action-fg: #b91c1c; --nk-action-border: #fca5a5; --nk-action-hover: #fee2e2; }
    body [data-nk-tone="download"] { --nk-action-bg: #f0fdfa; --nk-action-fg: #0f766e; --nk-action-border: #5eead4; --nk-action-hover: #ccfbf1; }
    body [data-nk-tone] {
        background: var(--nk-action-bg) !important;
        color: var(--nk-action-fg) !important;
        border: 1px solid var(--nk-action-border) !important;
        box-shadow: none !important;
    }
    body [data-nk-tone]:is(:hover, :focus-visible) { background: var(--nk-action-hover) !important; }
    body [data-nk-tone]:focus-visible { outline: 2px solid var(--nk-action-focus, var(--nk-action-fg)) !important; outline-offset: 2px !important; }
    body [data-nk-tone]:is(:disabled, [aria-disabled="true"], .disabled) { opacity: .55 !important; }
    body :is(button, input[type="button"], input[type="submit"], input[type="reset"],
        .btn, .button, .p-button, .dt-button, a.paginate_button, .page-link,
        .sp-borrower-button, summary, [role="button"], .dropdown-menu a, .p-menu-item-link) {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: var(--nk-control-xs-height) !important;
        min-height: var(--nk-control-xs-height) !important;
        min-width: 0 !important;
        padding: 3px var(--nk-control-xs-padding-x) !important;
        font-size: var(--nk-control-xs-font-size) !important;
        line-height: var(--nk-control-xs-line-height) !important;
        gap: 4px !important;
        text-align: center !important;
        white-space: nowrap !important;
        vertical-align: middle !important;
    }
    body :is(button, .btn, .button, .p-button, .dt-button, a.paginate_button, .page-link,
        .sp-borrower-button, summary, [role="button"], .dropdown-menu a, .p-menu-item-link)
        :is(i, .pi, .p-button-icon, .mdi, .glyphicon) {
        font-size: 12px !important;
        line-height: 1 !important;
        flex-shrink: 0 !important;
    }
    body :is(button, .btn, .button, .p-button, .dt-button, a.paginate_button, .page-link,
        .sp-borrower-button, summary, [role="button"], .dropdown-menu a, .p-menu-item-link)
        :is(svg, img) {
        width: 12px !important;
        height: 12px !important;
        flex-shrink: 0 !important;
    }
    /* CSS also supplies icons for newly inserted/relabelled buttons.
       Empty alternative text preserves the original accessible name. */
    body :is(button, .btn, .button, .p-button, .dt-button, a.paginate_button, .page-link,
        .sp-borrower-button, summary, [role="button"], .dropdown-menu a, .p-menu-item-link):not(:has(i, svg, img, .pi, .p-button-icon, .mdi, .glyphicon, [class*="fa-"]))::before {
        content: var(--nk-action-icon, "\e91b") / "" !important;
        display: inline-block !important;
        font: normal 12px/1 NoraKopActions !important;
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        margin: 0 !important;
        text-transform: none !important;
    }
    body .p-button-label {
        flex: 0 1 auto !important;
        font-size: inherit !important;
        line-height: 16px !important;
    }
    body :is(button.p-button-icon-only, .btn-circle, .btn-icon, button.close,
        .nk-password-toggle, .nk-nav-search button, .p-dialog-close-button, .p-drawer-close-button,
        [data-nk-symbol="true"]) {
        width: 24px !important;
        min-width: 24px !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }
    body [data-nk-symbol="true"] { font-size: 0 !important; }
    body button.close > span { display: none !important; }
    body summary { width: 100% !important; justify-content: flex-start !important; overflow: hidden !important; --nk-action-icon: "\e901"; }
    body summary::marker, body summary::-webkit-details-marker { display: none !important; content: "" !important; }
    body summary > span { overflow: hidden !important; text-overflow: ellipsis !important; margin: 0 0 0 8px !important; }
    body details[open] > summary { --nk-action-icon: "\e902"; }

    body :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
        select, textarea, .form-control, .p-inputtext, .p-textarea) {
        box-sizing: border-box !important;
        height: 24px !important;
        min-height: 24px !important;
        padding: 3px 8px !important;
        font-size: 12px !important;
        line-height: 16px !important;
        border-radius: 5px !important;
        vertical-align: middle !important;
    }
    body :is(input[type="checkbox"], input[type="radio"]) {
        width: 12px !important;
        height: 12px !important;
        min-height: 12px !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }
    body input[type="file"] { padding: 0 !important; line-height: 22px !important; }
    body input[type="file"]::file-selector-button {
        box-sizing: border-box !important;
        height: 22px !important;
        padding: 2px 8px 2px 24px !important;
        margin: 0 8px 0 0 !important;
        font-size: 12px !important;
        line-height: 16px !important;
        vertical-align: top !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23245b43' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V3m-5 5 5-5 5 5M4 16v5h16v-5'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: 6px center !important;
    }
    body :is(.select2-selection--single, .select2-selection--multiple, .p-select,
        .p-multiselect, .p-autocomplete, .p-inputnumber, .p-datepicker, .p-autocomplete-input-multiple,
        .input-group, .input-group-prepend, .input-group-append) {
        box-sizing: border-box !important;
        min-height: 24px !important;
        height: 24px !important;
        font-size: 12px !important;
    }
    body :is(.select2-selection--single, .select2-selection--multiple, .p-select, .p-multiselect) {
        padding: 0 !important;
        border-radius: 5px !important;
    }
    body .select2-selection--single .select2-selection__rendered {
        padding: 0 28px 0 8px !important;
        font-size: 12px !important;
        line-height: 22px !important;
    }
    body .select2-selection__arrow {
        height: 22px !important;
        width: 20px !important;
        top: 0 !important;
        right: 4px !important;
    }
    body .select2-selection__clear { font-size: 12px !important; line-height: 22px !important; }
    body .select2-selection--multiple { overflow-x: auto !important; white-space: nowrap !important; }
    body .select2-selection--multiple .select2-selection__rendered {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        height: 22px !important;
        padding: 0 4px !important;
    }
    body :is(.select2-selection__choice, .p-chip) {
        margin: 0 3px 0 0 !important;
        padding: 0 4px !important;
        font-size: 11px !important;
        line-height: 18px !important;
        height: 18px !important;
    }
    body .select2-search--inline .select2-search__field {
        height: 20px !important;
        min-height: 20px !important;
        margin: 0 !important;
        padding: 2px 4px !important;
    }
    body :is(.p-select-label, .p-multiselect-label) {
        height: 22px !important;
        padding: 3px 8px !important;
        font-size: 12px !important;
        line-height: 16px !important;
    }
    body :is(.p-select-dropdown, .p-multiselect-dropdown, .p-autocomplete-dropdown) { width: 24px !important; min-width: 24px !important; }
    body :is(.p-select-option, .p-multiselect-option, .p-autocomplete-option,
        .select2-results__option, .dropdown-item, option) {
        font-size: 12px !important;
        line-height: 16px !important;
        padding: 4px 8px !important;
    }
    body :is(.input-group-text, .p-inputgroup-addon) {
        height: 24px !important;
        min-height: 24px !important;
        min-width: 24px !important;
        padding: 3px 8px !important;
        font-size: 12px !important;
        line-height: 16px !important;
    }
    /* Center input adornments on the compact input instead of their old 44px row. */
    body :is(.nk-input .ico, .nk-nav-search > i, .nk-hub-search > i, .sp-money-input > span) {
        top: 50% !important;
        left: 8px !important;
        transform: translateY(-50%) !important;
        font-size: 12px !important;
    }
    body :is(.nk-input input, .nk-nav-search input, .nk-hub-search input) { padding: 3px 32px 3px 28px !important; }
    body .sp-money-input > input { padding-left: 28px !important; }
    body :is(.nk-password-toggle, .nk-nav-search button, .nk-hub-search .p-button) {
        top: 50% !important;
        right: 3px !important;
        transform: translateY(-50%) !important;
    }
    body .nk-key-hint { top: 50% !important; transform: translateY(-50%) !important; }
    body .nk-user-button .nk-avatar { width: 18px !important; height: 18px !important; font-size: 10px !important; }
    body .nk-user-button .nk-user-copy { gap: 0 !important; }
    body .nk-user-button .nk-user-copy strong { font-size: 12px !important; line-height: 16px !important; }
    body .nk-user-button .nk-user-copy small { display: none !important; }
    body .nk-panelmenu .p-panelmenu-header { padding: 0 !important; }
    body .nk-menu-item {
        box-sizing: border-box !important;
        height: 24px !important;
        padding: 3px 8px !important;
        gap: 7px !important;
        font-size: 12px !important;
    }
    body .nk-menu-item > span { line-height: 16px !important; }
    body .nk-menu-item > .pi { width: 14px !important; font-size: 12px !important; }
    /* Preserve application visibility, including jQuery hide() and conditional actions. */
    body :is([hidden], input[type="hidden"], .d-none, .hidden, .hide,
        [style*="display: none"], [style*="display:none"]) { display: none !important; }
}
