/* ========================================
   PREMIUM DESIGN SYSTEM - Global Styles
   ======================================== */

/* ── Local Fonts (no external dependency, no FOUC) ── */

/* Inter – latin-ext (includes ë, ç for Albanian) */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 700;
    font-display: block;
    src: url('/fonts/inter-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                   U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                   U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Inter – latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 700;
    font-display: block;
    src: url('/fonts/inter-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                   U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                   U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Material Symbols Outlined – variable font (all axes) */
@font-face {
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    font-weight: 100 700;
    font-display: block;
    src: url('/fonts/material-symbols-outlined.woff2') format('woff2');
}

/* Base class – required for ligature-to-glyph rendering (was previously served by Google Fonts CDN) */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Hide validation summary when there are no errors */
.validation-summary-valid {
    display: none !important;
}

:root {
    /* Brand Colors */
    --etax-primary: #4f46e5;
    /* Deep Navy */
    --etax-primary-light: #5650c9;
    /* Action Blue */
    --etax-secondary: #64748b;
    /* Slate */
    --etax-accent: #3b82f6;
    --etax-dark: #0f172a;
    --etax-light: #ffffff;
    --etax-indigo:       #4f46e5;
    --etax-indigo-dark:  #3730a3;
    --etax-indigo-deep:  #312e81;
    --etax-indigo-50:    #eef2ff;

    /* Semantic Colors */
    --etax-success:      #059669;
    --etax-success-dark: #065f46;
    --etax-warning:      #d97706;
    --etax-danger:       #dc2626;
    --etax-danger-dark:  #b91c1c;
    --etax-danger-light: #fecaca;
    --etax-info:         #2563eb;

    /* Navbar & UI specific */
    --etax-navbar-bg: #ffffff;
    --etax-navbar-text: #374151;
    --etax-mega-menu-bg: #ffffff;
    --etax-mega-menu-text: #0f172a;

    /* Speciality Colors */
    --etax-universal: #6366f1;
    /* Indigo */
    --etax-violet: #8b5cf6;
    /* Violet */
    --etax-quickbooks: #2ca01c;
    /* Standard QB Green */

    /* Neutral Colors */
    --etax-gray-50:  #f8fafc;
    --etax-gray-100: #f1f5f9;
    --etax-gray-200: #e2e8f0;
    --etax-gray-300: #cbd5e1;
    --etax-gray-400: #94a3b8;
    --etax-gray-600: #475569;
    --etax-gray-700: #334155;
    --etax-gray-800: #1e293b;

    /* Borders & Shadows */
    --etax-border: #e2e8f0;
    --etax-border-light: rgba(0, 0, 0, 0.05);
    --etax-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --etax-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --etax-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);

    /* Border Radius */
    --etax-radius-sm: 6px;
    --etax-radius-md: 8px;
    --etax-radius-lg: 12px;
    --etax-radius-xl: 16px;

    /* Typography */
    --etax-font-main: 'Inter', system-ui, -apple-system, sans-serif;
    --etax-font-size-xs: 0.75rem;
    --etax-font-size-sm: 0.875rem;
    --etax-font-size-base: 1rem;
    --etax-action-icon-size: 18px;

    /* Premium Aliases (to bridge old code) */
    --premium-primary: var(--etax-primary);
    --premium-accent: var(--etax-primary-light);
    --premium-bg: var(--etax-gray-50);
    --premium-card-bg: #ffffff;
    --premium-border: var(--etax-border);
    --premium-text: #334155;
    --premium-muted: var(--etax-secondary);

    /* Toolbar / panel toggle button – one place for colors */
    --etax-toolbar-btn-bg: var(--etax-light);
    --etax-toolbar-btn-border: var(--etax-border);
    --etax-toolbar-btn-color: var(--premium-text);
    --etax-toolbar-btn-hover-bg: var(--etax-gray-50);
    --etax-toolbar-btn-hover-color: var(--etax-dark);
    --etax-toolbar-btn-hover-border: var(--etax-gray-300);

    /* Standard EtaxGrid Height — dvh + clamp për zoom-safety */
    /* dvh = dynamic viewport height, merr parasysh zoom real të browser-it */
    --etax-grid-height: clamp(380px, calc((100dvh - 170px) * 0.88), 1000px);
    --etax-grid-min-height: clamp(320px, 50dvh, 610px);
    --etax-grid-mobile-min-height: 304px;
    /* Marker për faqe që prisnin etax-grid.css të veçantë (stilet e grid-it janë këtu) */
    --etax-grid-ready: 1;

    --etax-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Prevent horizontal scrollbar when mega-menu flyouts are visible */
body:has(.mega-menu.show) {
    overflow-x: hidden;
}

/* Global line-items grid model
   Derived from ManualInvoice Create and reused by JE/Create and similar entry tables. */
.etax-line-items-grid {
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid var(--etax-border, #e2e8f0);
    border-radius: 8px;
    overflow: hidden;
}

.etax-line-items-grid thead {
    background: var(--etax-gray-50, #f8fafc) !important;
    border-bottom: 1px solid var(--etax-border, #e2e8f0) !important;
    box-shadow: none !important;
}

.etax-line-items-grid thead th {
    font-family: var(--etax-font-main, inherit) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    color: var(--etax-gray-600, #475569) !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.5rem 0.5rem !important;
    border: none !important;
    border-right: 1px solid var(--etax-border, #e2e8f0) !important;
    border-bottom: 1px solid var(--etax-border, #e2e8f0) !important;
    white-space: nowrap;
}

.etax-line-items-grid thead th:last-of-type {
    border-right: none !important;
}

.etax-line-items-grid thead th.text-center {
    text-align: center !important;
}

.etax-line-items-grid thead th.text-end {
    text-align: right !important;
}

.etax-line-items-grid tbody>tr {
    background: #fff;
    transition: background 0.12s ease;
}

.etax-line-items-grid tbody>tr:nth-child(even) {
    background: #fafbfc;
}

.etax-line-items-grid tbody>tr:hover,
.etax-line-items-grid tbody>tr.active-row {
    background: #f1f5f9 !important;
}

.etax-line-items-grid tbody td {
    padding: 0.25rem 0.4rem !important;
    border: none !important;
    border-right: 1px solid var(--etax-border, #e2e8f0) !important;
    border-bottom: 1px solid var(--etax-border, #e2e8f0) !important;
    vertical-align: middle !important;
    font-family: var(--etax-font-main, inherit) !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: var(--etax-gray-800, #1e293b) !important;
    transition: background 0.15s ease;
}

.etax-line-items-grid tbody>tr:last-child td {
    border-bottom: none !important;
}

.etax-line-items-grid tbody td:last-of-type {
    border-right: none !important;
}

.etax-line-items-grid td.line-item-cell .ts-wrapper,
.etax-line-items-grid td.line-gl-cell .ts-wrapper {
    border-radius: 0;
}

.etax-line-items-grid .line-item-cell,
.etax-line-items-grid .line-gl-cell,
.etax-line-items-grid .line-account-cell,
.etax-line-items-grid .line-partner-cell,
.etax-line-items-grid .line-class-cell,
.etax-line-items-grid .line-gl-cell div {
    min-width: 0;
}

.etax-line-items-grid .etax-lookup-wrap {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    min-width: 0;
}

.etax-line-items-grid .etax-lookup-wrap>.etax-lookup-dropdown-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--etax-secondary, #64748b);
    cursor: pointer;
}

.etax-line-items-grid .etax-lookup-wrap .etax-lookup-dropdown-icon .material-symbols-outlined {
    font-size: 1.25rem !important;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.etax-line-items-grid .etax-lookup-wrap>.ts-wrapper,
.etax-line-items-grid .etax-lookup-wrap>div:not(.etax-lookup-dropdown-icon) {
    flex: 1;
    min-width: 0;
}

.etax-line-items-grid .etax-lookup-wrap .ts-wrapper {
    flex: 1;
    min-width: 0;
}

.etax-line-items-grid .form-control,
.etax-line-items-grid .form-select,
.etax-line-items-grid .line-total,
.etax-line-items-grid .line-number-display,
.etax-line-items-grid .ts-wrapper .ts-control,
.etax-line-items-grid .ts-wrapper .ts-control input,
.etax-line-items-grid .ts-wrapper .item {
    font-family: var(--etax-font-main, inherit) !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: var(--etax-gray-800, #1e293b) !important;
}

.etax-line-items-grid .form-control,
.etax-line-items-grid .form-select,
.etax-line-items-grid .ts-wrapper .ts-control {
    min-height: 30px !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    box-shadow: none !important;
}

.etax-line-items-grid .form-control:hover,
.etax-line-items-grid .form-select:hover,
.etax-line-items-grid .ts-wrapper .ts-control:hover {
    background: #fff !important;
    border-color: var(--etax-border, #e2e8f0) !important;
}

.etax-line-items-grid .form-control:focus,
.etax-line-items-grid .form-select:focus {
    border-color: var(--premium-accent, #3b82f6) !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
    outline: none;
}

.etax-line-items-grid .ts-wrapper.focus .ts-control {
    border: 1px solid var(--premium-accent, #3b82f6) !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
}

.etax-line-items-grid td:focus-within {
    outline: none;
}

.etax-line-items-grid .line-type-select {
    min-width: 90px;
}

.etax-line-items-grid .line-quantity,
.etax-line-items-grid .line-price,
.etax-line-items-grid .line-total,
.etax-line-items-grid .debit-input,
.etax-line-items-grid .credit-input {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.etax-line-items-grid .line-total {
    font-weight: 600 !important;
}

.etax-line-items-grid .line-number-display {
    color: var(--etax-secondary, #64748b);
    font-weight: 500 !important;
}

.etax-line-items-grid td.pe-3 .btn {
    padding: 0.15rem;
}

/* Dark Mode Variables */
[data-theme="dark"] {
    --etax-primary: #f8fafc;
    --etax-primary-light: #60a5fa;
    --etax-secondary: #94a3b8;
    --etax-dark: #f8fafc;
    --etax-light: #0f172a;

    --etax-gray-50: #020617;
    /* Body Background */
    --etax-gray-100: #1e293b;
    /* Component Background */
    --etax-gray-200: #334155;
    --etax-gray-300: #475569;
    --etax-gray-400: #64748b;
    --etax-gray-600: #94a3b8;
    --etax-gray-800: #f1f5f9;

    --etax-border: #334155;
    --etax-border-light: rgba(255, 255, 255, 0.1);

    --etax-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
    --etax-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);

    --premium-bg: #020617;
    --premium-card-bg: #0f172a;
    --premium-text: #f1f5f9;

    --etax-navbar-bg: #020617;
    --etax-navbar-text: #f8fafc;
    --etax-mega-menu-bg: #1e293b;
    --etax-mega-menu-text: #f8fafc;

    /* Speciality Colors (Dark Mode) */
    --etax-universal: #818cf8;
    --etax-violet: #a78bfa;

    /* Override dynamic aliases for dark mode */
    --premium-border: var(--etax-border);
    --premium-accent: var(--etax-primary-light);
}

/* Premium style OFF: simpler look (smaller radius, flatter) */
[data-premium-style="false"] .card-premium,
[data-premium-style="false"] .etax-premium-card {
    border-radius: 0.375rem !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

[data-premium-style="false"] .form-control-premium,
[data-premium-style="false"] .form-select-premium,
[data-premium-style="false"] .input-group-premium {
    border-radius: 0.375rem !important;
}

[data-premium-style="false"] .btn-premium-primary,
[data-premium-style="false"] .btn-premium-outline {
    border-radius: 0.375rem !important;
}

[data-premium-style="false"] .nav-pills-premium .nav-link {
    border-radius: 0.25rem !important;
}

/* Global utility overrides for Dark Mode */
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end,
[data-theme="dark"] .border {
    border-color: var(--etax-border) !important;
}

/* Specific readability fixes */
[data-theme="dark"] .text-muted {
    color: var(--etax-gray-400) !important;
}

[data-theme="dark"] .fa-chevron-right {
    color: var(--etax-gray-600) !important;
}

[data-theme="dark"] .form-label-premium {
    color: var(--etax-gray-300) !important;
}

[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-light-subtle {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--etax-gray-800) !important;
}

[data-theme="dark"] .bg-white {
    background-color: var(--premium-card-bg) !important;
}

[data-theme="dark"] .btn-light {
    background-color: var(--etax-gray-100) !important;
    border-color: var(--etax-border) !important;
    color: var(--etax-gray-800) !important;
}

[data-theme="dark"] .btn-light:hover {
    background-color: var(--etax-gray-200) !important;
}

[data-theme="dark"] .nav-pills-premium .nav-link {
    color: var(--etax-gray-400) !important;
}

[data-theme="dark"] .nav-pills-premium .nav-link.active {
    color: var(--etax-primary-light) !important;
    border-bottom-color: var(--etax-primary-light) !important;
}

[data-theme="dark"] .border-end-md {
    border-color: var(--etax-border) !important;
}

[data-theme="dark"] .text-primary {
    color: var(--etax-primary-light) !important;
}

/* Fix Segmented Control for Dark Mode Hierarchy */
[data-theme="dark"] .segmented-control {
    background: var(--etax-gray-50) !important;
    /* Darker than card */
}

[data-theme="dark"] .segmented-slider {
    background: var(--etax-gray-200) !important;
    /* Lighter slider */
}

[data-theme="dark"] .segmented-option.active {
    color: white !important;
}

[data-theme="dark"] .type-helper-text {
    background: rgba(59, 130, 246, 0.05) !important;
    border-color: var(--etax-primary-light) !important;
}

[data-theme="dark"] .tab-content,
[data-theme="dark"] .tab-pane {
    background-color: transparent !important;
    color: var(--etax-gray-800) !important;
}

[data-theme="dark"] .card-body {
    background-color: transparent !important;
    color: var(--etax-gray-800) !important;
}

/* Dark Mode Grid Specifics */
[data-theme="dark"] .etax-grid-loading {
    background: rgba(15, 23, 42, 0.7);
}

[data-theme="dark"] .etax-grid-table tr:hover {
    background: rgba(255, 255, 255, 0.03);
}

[data-theme="dark"] .etax-action-btn.edit-btn:hover {
    background: rgba(245, 158, 11, 0.1);
}

[data-theme="dark"] .etax-action-btn.delete-btn:hover {
    background: rgba(239, 68, 68, 0.1);
}

[data-theme="dark"] .etax-action-btn.refresh-btn:hover {
    background: rgba(59, 130, 246, 0.1);
}

[data-theme="dark"] .etax-page-btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .etax-grid-table th {
    background: var(--etax-gray-100);
}


body {
    background-color: var(--etax-gray-50) !important;
    color: var(--etax-gray-800) !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.bg-white,
.card,
.bg-light-alt {
    background-color: var(--premium-card-bg) !important;
    color: var(--etax-gray-800) !important;
    border-color: var(--etax-border) !important;
}

.text-dark,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--etax-gray-800) !important;
}

.breadcrumb-item.active {
    color: var(--etax-primary-light) !important;
}

.breadcrumb-item a,
.breadcrumb-item a * {
    cursor: pointer !important;
}

.breadcrumb-item a:hover {
    color: var(--etax-primary-light) !important;
    opacity: 0.8;
    transition: opacity 0.15s ease, color 0.15s ease;
}

[data-theme="dark"] .breadcrumb-item:not(.active) span {
    color: var(--etax-secondary) !important;
}

[data-theme="dark"] .breadcrumb-item i,
[data-theme="dark"] .breadcrumb+li i {
    color: var(--etax-gray-300) !important;
}

/* Harmonize breadcrumb chevron icon size and alignment with text */
.breadcrumb-chevron {
    font-size: 1.15rem !important;
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
    margin-top: -2px;
    /* Visual adjustment for perfect centering */
    line-height: 1;
    color: var(--etax-gray-600) !important;
    /* Make it more visible */
    font-weight: 500 !important;
    /* Slightly bolder */
    opacity: 1 !important;
    /* Override parent opacity if present */
    -webkit-user-select: none;
    user-select: none;
}

/* Ensure the parent li behaves like a perfect mx-1 d-flex align-items-center, 
   ignoring old HTML classes like mx-2 or opacity-50 */
ol.breadcrumb li:has(> .breadcrumb-chevron) {
    display: flex !important;
    align-items: center !important;
    margin-left: 0.25rem !important;
    /* mx-1 */
    margin-right: 0.25rem !important;
    /* mx-1 */
    opacity: 1 !important;
    /* Ensure it's never faded by parent classes */
    color: var(--etax-gray-600) !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

/* Primary Button Enhancements */
.btn-primary {
    background-color: var(--etax-primary-light) !important;
    border-color: var(--etax-primary-light) !important;
    color: white !important;
    transition: var(--etax-transition) !important;
}

.btn-primary:hover {
    background-color: #2563eb !important;
    /* Slightly darker blue */
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}

[data-theme="dark"] .btn-primary {
    color: #0f172a !important;
    /* Dark text for better contrast on light blue */
}

[data-theme="dark"] .btn-primary:hover {
    background-color: #93c5fd !important;
    /* Even lighter blue on hover */
    box-shadow: 0 4px 20px rgba(96, 165, 250, 0.4) !important;
}

/* Standard Mega Menu Icon Base */
.mega-menu-icon {
    width: 34px;
    height: 34px;
    background: rgba(59, 130, 246, 0.08);
    color: var(--etax-primary-light);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    flex-shrink: 0;
    font-size: 0.95rem;
    transition: var(--etax-transition);
}

.mega-menu-item:hover .mega-menu-icon {
    background: linear-gradient(135deg, var(--etax-primary-light) 0%, #2563eb 100%) !important;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3) !important;
    color: white !important;
}

/* Universal Icon Utilities */
.mega-menu-icon-universal {
    background-color: rgba(99, 102, 241, 0.1) !important;
    color: var(--etax-universal) !important;
}

.mega-menu-item:hover .mega-menu-icon-universal {
    background-color: var(--etax-universal) !important;
    color: white !important;
}

.mega-menu-icon-dual {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%) !important;
    color: var(--etax-universal) !important;
    border: 1px solid rgba(99, 102, 241, 0.2) !important;
}

.mega-menu-item:hover .mega-menu-icon-dual {
    background: linear-gradient(135deg, var(--etax-universal) 0%, var(--etax-violet) 100%) !important;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3) !important;
    color: white !important;
}

/* Premium Button Overrides */
.btn-primary {
    background: linear-gradient(135deg, var(--etax-primary) 0%, #1e293b 100%) !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25) !important;
    transition: all 0.3s ease !important;
    color: white !important;
}

.btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(15, 23, 42, 0.35) !important;
    filter: brightness(1.2);
    color: white !important;
}

.btn-primary:active {
    transform: translateY(0) !important;
}

/* Premium Secondary Button */
.btn-premium-secondary {
    background: var(--etax-gray-50, #f8fafc) !important;
    border: 1px solid var(--etax-gray-300, #cbd5e1) !important;
    color: var(--premium-text, #334155) !important;
    transition: all 0.2s ease-in-out !important;
}
.btn-premium-secondary:hover {
    background: #ffffff !important;
    border-color: var(--etax-gray-400, #94a3b8) !important;
    color: var(--etax-dark, #0f172a) !important;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08) !important;
    transform: translateY(-1px) !important;
}

/* Global Typography Reset */
html {
    font-size: 16px;
    /* Base reference */
}

body {
    font-family: var(--etax-font-main) !important;
    font-size: var(--etax-font-size-base) !important;
    line-height: 1.5;
    color: var(--etax-gray-800);
    -webkit-font-smoothing: antialiased;
}

h1 {
    font-size: var(--etax-font-size-3xl) !important;
    font-weight: 800;
    letter-spacing: -0.025em;
}

h2 {
    font-size: var(--etax-font-size-2xl) !important;
    font-weight: 800;
    letter-spacing: -0.025em;
}

h3 {
    font-size: var(--etax-font-size-xl) !important;
    font-weight: 700;
}

h4 {
    font-size: var(--etax-font-size-lg) !important;
    font-weight: 700;
}

h5 {
    font-size: var(--etax-font-size-base) !important;
    font-weight: 700;
}

h6 {
    font-size: var(--etax-font-size-sm) !important;
    font-weight: 700;
}

p,
span,
div,
li {
    font-size: var(--etax-font-size-sm);
    /* Standard reading size for Enterprise apps */
}

/* Premium Card Styles - Clean Enterprise Look */
.card,
.etax-premium-card {
    background: #ffffff !important;
    border-radius: var(--etax-radius-lg) !important;
    box-shadow: var(--etax-shadow-sm) !important;
    border: 1px solid var(--etax-border) !important;
    transition: var(--etax-transition);
    overflow: hidden;
}

.card:hover,
.etax-premium-card:hover {
    box-shadow: var(--etax-shadow-md) !important;
}

/* Enterprise Card Headers - Minimalist White-on-White */
.card-header {
    background: #ffffff !important;
    color: var(--etax-dark) !important;
    border-bottom: 1px solid var(--etax-border) !important;
    padding: 1.25rem 1.5rem !important;
    font-weight: 700;
}

.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6 {
    color: var(--etax-dark) !important;
    margin: 0;
    font-size: 1.1rem;
    letter-spacing: -0.025em;
}

/* Enterprise Buttons - Solid & Purposeful */
.btn {
    border-radius: var(--etax-radius-sm);
    padding: 0.6rem 1.25rem;
    font-weight: 600;
    transition: var(--etax-transition);
    border: 1px solid transparent;
    font-size: 0.875rem;
}

.btn .material-symbols-outlined,
.btn .material-icons {
    font-size: 1em !important;
    line-height: 1;
    vertical-align: -0.12em;
}

/* ── Icon + Text Harmonization (Global) ── */

/* Badges: scale icon to badge text, center vertically */
.badge .material-symbols-outlined,
.badge .material-icons {
    font-size: 0.92em !important;
    line-height: 1;
    vertical-align: -0.1em;
}

/* Buttons with icon+text: flex-center so icon and label sit on the same line */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Links / spans / small containers that hold icon+text */
a>.material-symbols-outlined,
span>.material-symbols-outlined,
label>.material-symbols-outlined {
    vertical-align: -0.14em;
}

/* Nav tabs / pills with icons inside */
.nav-link .material-symbols-outlined,
.nav-link .material-icons {
    font-size: 1em !important;
    line-height: 1;
    vertical-align: -0.12em;
}

/* Breadcrumb chevron separator (standardised) */
/* Standardised Breadcrumb symbols */
.breadcrumb-chevron {
    font-size: 0.55rem !important;
    line-height: 1;
    vertical-align: 0;
    opacity: 0.45;
}

.btn-primary {
    background-color: var(--etax-primary) !important;
    color: white !important;
    border: none !important;
}

.btn-primary:hover {
    background-color: #1e293b !important;
    box-shadow: var(--etax-shadow-md);
}

.btn-success {
    background-color: var(--etax-success) !important;
    color: white !important;
    border: none !important;
}

.btn-success:hover {
    background-color: #047857 !important;
    /* Slightly darker emerald */
    box-shadow: var(--etax-shadow-md);
}

.btn-danger {
    background-color: var(--etax-danger) !important;
    color: white !important;
    border: none !important;
}

.btn-danger:hover {
    background-color: #b91c1c !important;
    box-shadow: var(--etax-shadow-md);
}

.btn-warning {
    background-color: var(--etax-warning) !important;
    color: white !important;
    border: none !important;
}

.btn-warning:hover {
    background-color: #b45309 !important;
    box-shadow: var(--etax-shadow-md);
}

.btn-info {
    background-color: var(--etax-info) !important;
    color: white !important;
    border: none !important;
}

.btn-info:hover {
    background-color: #1d4ed8 !important;
    box-shadow: var(--etax-shadow-md);
}

.btn-outline-primary {
    border-color: var(--etax-border) !important;
    color: var(--etax-dark) !important;
    background: white !important;
}

.btn-outline-primary:hover {
    background: var(--etax-gray-50) !important;
    border-color: var(--etax-gray-300) !important;
}

/* Modern Soft Buttons (Enterprise Premium) */
.btn-soft-primary {
    background-color: rgba(59, 130, 246, 0.1) !important;
    color: #3b82f6 !important;
    border: none !important;
}

.btn-soft-primary:hover {
    background-color: #3b82f6 !important;
    color: #ffffff !important;
}

.btn-soft-success {
    background-color: rgba(5, 150, 105, 0.1) !important;
    color: #059669 !important;
    border: none !important;
}

.btn-soft-success:hover {
    background-color: #059669 !important;
    color: #ffffff !important;
}

.btn-soft-danger {
    background-color: rgba(220, 38, 38, 0.1) !important;
    color: #dc2626 !important;
    border: none !important;
}

.btn-soft-danger:hover {
    background-color: #dc2626 !important;
    color: #ffffff !important;
}

.btn-soft-info {
    background-color: rgba(37, 99, 235, 0.1) !important;
    color: #2563eb !important;
    border: none !important;
}

.btn-soft-info:hover {
    background-color: #2563eb !important;
    color: #ffffff !important;
}

.btn-soft-warning {
    background-color: rgba(217, 119, 6, 0.1) !important;
    color: #d97706 !important;
    border: none !important;
}

.btn-soft-warning:hover {
    background-color: #d97706 !important;
    color: #ffffff !important;
}

.shadow-none {
    box-shadow: none !important;
}

/* ========================================
   PREMIUM UI SHARED COMPONENTS
   Klasa të centralizuara që ndaheshin nëpër
   shumë view-të; tani definohen një herë.
   ======================================== */

/* Premium Black CTA Button
   Zëvendëson kopjet inline në çdo Index view */
.btn-premium-black {
    background: linear-gradient(135deg, #1f2937 0%, #0f172a 100%) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.28) !important;
    transition: all 0.18s ease !important;
}

.btn-premium-black:hover,
.btn-premium-black:focus {
    background: linear-gradient(135deg, #111827 0%, #020617 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.38) !important;
    transform: translateY(-1px);
}

.btn-premium-black:active {
    transform: translateY(0) !important;
}

/* Premium Ghost / Navigation Button (Back, Cancel)
   Sinjalizon navigim jo veprim kryesor */
.btn-nav-back {
    background: #fff !important;
    border: 1.5px solid #cbd5e1 !important;
    color: #334155 !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06) !important;
    transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
    font-weight: 600 !important;
}

.btn-nav-back .material-symbols-outlined {
    font-size: 1.1rem;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
    transition: transform 0.18s ease;
}

.btn-nav-back:hover,
.btn-nav-back:focus {
    border-color: #334155 !important;
    color: #0f172a !important;
    background: #f8fafc !important;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.10) !important;
    transform: translateY(-1px);
}

.btn-nav-back:hover .material-symbols-outlined {
    transform: translateX(-2px);
}

/* Premium Black Outline Button
   Outline me border dark; hover mbush dark gradient */
.btn-premium-black-outline {
    background: #fff !important;
    border: 1.5px solid #0f172a !important;
    color: #0f172a !important;
    box-shadow: none !important;
    transition: all 0.18s ease !important;
}

.btn-premium-black-outline:hover {
    background: linear-gradient(135deg, #1f2937 0%, #0f172a 100%) !important;
    color: #fff !important;
    border-color: #0f172a !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.28) !important;
    transform: translateY(-1px);
}

.btn-premium-black-outline:focus-visible {
    outline: 2px solid #0f172a !important;
    outline-offset: 2px;
    background: #fff !important;
    color: #0f172a !important;
}

.btn-premium-black-outline:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.2) !important;
    background: #020617 !important;
}

/* Page Header Icon Container
   Kutia ikonë 52×52 në çdo faqe Index/Detail – stil premium */
.etax-page-icon {
    width: 52px;
    height: 52px;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Wrapper për breadcrumb + titull + helper – hierarki i qartë */
.etax-page-header-content {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.etax-page-header-content .breadcrumb {
    margin-bottom: 0;
}

.etax-page-header-content .si-page-title,
.etax-page-header-content .mi-page-title,
.etax-page-header-content .ah-page-title,
.etax-page-header-content .sp-page-title,
.etax-page-header-content .review-page-title,
.etax-page-header-content .page-title,
.etax-page-header-content .etax-page-title {
    margin-top: 0.05rem;
    margin-bottom: 0;
}

.etax-page-header-content .si-header-helper,
.etax-page-header-content .mi-header-helper,
.etax-page-header-content .ah-header-helper,
.etax-page-header-content .sp-header-helper,
.etax-page-header-content .etax-page-helper {
    margin-top: 0.2rem;
    margin-bottom: 0;
}

/* Premium Black Icon (akon i errët me opacitet subtil) */
.premium-black-icon {
    color: #0f172a !important;
    opacity: 0.9;
}

.etax-page-icon .premium-black-icon {
    font-size: 1.05em !important;
    line-height: 1;
    vertical-align: -0.08em;
}

/* Premium Black Breadcrumb */
.premium-black-breadcrumb .breadcrumb-item.active {
    color: #0f172a !important;
    font-weight: 700;
}

/* Page header helper text (Etax Premium Design System) */
.mi-header-helper {
    font-size: 0.72rem;
    color: #64748b;
}

/* ========================================
   PAGE HEADER PREMIUM SYSTEM (GLOBAL)
   Unifikon tipografinë, breadcrumbs dhe CTA
   për header-at e faqeve në gjithë aplikacionin.
   ======================================== */

:root {
    --etax-header-title-size: 1.18rem;
    --etax-header-title-line: 1.22;
    --etax-header-helper-size: 0.73rem;
    --etax-header-breadcrumb-size: 0.72rem;
    --etax-header-action-font: 0.83rem;
    --etax-header-action-height: 36px;
}

.premium-black-breadcrumb {
    font-size: var(--etax-header-breadcrumb-size);
    line-height: 1.25;
}

/* Breadcrumb si titull faqeje (pa h1) — item aktiv rritet si heading */
.premium-black-breadcrumb.breadcrumb-as-title {
    font-size: 0.83rem;
}
.premium-black-breadcrumb.breadcrumb-as-title .breadcrumb-item.active {
    font-size: 0.83rem;
    font-weight: 700;
    color: #0f172a !important;
    letter-spacing: normal;
    line-height: 1.25;
}

.premium-black-breadcrumb .breadcrumb-item,
.premium-black-breadcrumb .breadcrumb-item a {
    font-weight: 500;
    color: #64748b;
    transition: color 0.15s ease;
}

.premium-black-breadcrumb .breadcrumb-item a:hover {
    color: #0f172a;
}

.premium-black-breadcrumb .material-symbols-outlined,
.premium-black-breadcrumb .material-icons {
    font-size: 0.8em !important;
    line-height: 1;
    vertical-align: -0.06em;
    color: #94a3b8;
}

.sp-page-title,
.si-page-title,
.ah-page-title,
.review-page-title,
.mi-page-title,
.page-title,
.etax-page-title {
    font-size: var(--etax-header-title-size) !important;
    line-height: var(--etax-header-title-line) !important;
    letter-spacing: -0.012em;
    color: #0f172a !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
}

.mi-header-helper,
.sp-header-helper,
.si-header-helper,
.ah-header-helper,
.etax-page-helper {
    font-size: var(--etax-header-helper-size) !important;
    line-height: 1.35;
    color: #64748b !important;
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}

.mi-header-helper .material-symbols-outlined,
.sp-header-helper .material-symbols-outlined,
.si-header-helper .material-symbols-outlined,
.ah-header-helper .material-symbols-outlined,
.etax-page-helper .material-symbols-outlined,
.mi-header-helper .material-icons,
.sp-header-helper .material-icons,
.si-header-helper .material-icons,
.ah-header-helper .material-icons,
.etax-page-helper .material-icons {
    font-size: 0.96em !important;
    line-height: 1;
}

.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-black.rounded-pill,
.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-black-outline.rounded-pill,
.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-secondary.rounded-pill,
.row.align-items-center.mb-4.mt-n4 .btn.btn-nav-back.rounded-pill {
    min-height: var(--etax-header-action-height) !important;
    height: var(--etax-header-action-height) !important;
    padding: 0.42rem 1rem !important;
    font-size: var(--etax-header-action-font) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
}

.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-black.rounded-pill .material-symbols-outlined,
.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-black-outline.rounded-pill .material-symbols-outlined,
.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-secondary.rounded-pill .material-symbols-outlined,
.row.align-items-center.mb-4.mt-n4 .btn.btn-nav-back.rounded-pill .material-symbols-outlined,
.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-black.rounded-pill .material-icons,
.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-black-outline.rounded-pill .material-icons,
.row.align-items-center.mb-4.mt-n4 .btn.btn-premium-secondary.rounded-pill .material-icons,
.row.align-items-center.mb-4.mt-n4 .btn.btn-nav-back.rounded-pill .material-icons {
    font-size: 1em !important;
    line-height: 1;
    vertical-align: -0.1em;
}

/* ── Summary Cards (reusable across Payroll, TimeTracking, etc.) ── */
.summary-card { background: #fff; border-radius: 8px; padding: 12px 16px; border: 1px solid #cbd5e1; display: flex; flex-direction: column; justify-content: center; height: 100%; box-shadow: 0 1px 2px rgba(0,0,0,0.02); }
.summary-label { font-size: 0.65rem; color: #64748b; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
.summary-value { font-size: 1.15rem; font-weight: 600; color: #0f172a; font-variant-numeric: tabular-nums; }
.summary-green { color: #16a34a !important; }
.summary-red   { color: #dc2626 !important; }

/* Compact page header: list/grid pages – less vertical space, premium look
   NOTE: Do NOT add margin-top override here. The mt-n4 class in the HTML
   is intentional — it offsets main-content's padding-top:1rem so the header
   sits flush against the navbar area. Overriding it adds unwanted top space. */
.etax-header-compact {
    margin-bottom: 0.5rem !important; /* Bootstrap mb-4 (1.5rem) → 8px */
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
    border-bottom: 1px solid #e2e8f0;
}


/* Kill Bootstrap's default col vertical padding inside the header */
.etax-header-compact > [class*="col-"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.etax-header-compact .etax-page-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.etax-header-compact .d-flex.align-items-center.gap-3 {
    gap: 0.625rem !important;
    align-items: center;
    min-height: 32px;
}

.etax-header-compact .etax-page-header-content {
    gap: 0 !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 32px;
}

.etax-header-compact .breadcrumb.mb-0 {
    margin: 0 !important;
    padding: 0;
}

/* Right-side actions: vertically centered, no extra top margin on desktop */
.etax-header-compact > .col-lg-4 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 32px;
    margin-top: 0 !important;
    padding-top: 0;
    padding-bottom: 0;
}

/* Mobile: stack actions below header */
@media (max-width: 991.98px) {
    .etax-header-compact > .col-lg-4 {
        justify-content: flex-start;
        margin-top: 0.5rem !important;
        min-height: auto;
    }
    .etax-header-compact > .col-lg-4 .d-flex {
        flex-wrap: wrap;
    }
}

.etax-header-compact .breadcrumb.mb-1 {
    margin-bottom: 0.2rem !important;
}

.etax-header-compact .si-page-title,
.etax-header-compact .mi-page-title,
.etax-header-compact .ah-page-title,
.etax-header-compact .sp-page-title,
.etax-header-compact .etax-page-title {
    font-size: 1.35rem !important;
    letter-spacing: -0.02em;
    font-weight: 800 !important;
}

.etax-header-compact .si-header-helper,
.etax-header-compact .ah-header-helper,
.etax-header-compact .mi-header-helper,
.etax-header-compact .etax-page-helper {
    margin-top: 0.25rem !important;
    font-size: 0.75rem !important;
    color: #64748b !important;
    line-height: 1.4;
}

/* ══════════════════════════════════════════════════
   Universal Page Header Classes
   Përdor këto në view-t e reja.
   Backward-compat: alias-et mi-/sp-/si-/ah- mbeten.
   ══════════════════════════════════════════════════ */
.etax-page-icon-symbol {
    font-size: 1.25em;
}
.etax-page-create-btn {
    font-size: var(--etax-header-action-font, 0.83rem);
}

/* Force compact buttons inside compact header to prevent height inflation 
   (Overrides Bootstrap's py-2 and similar paddings) */
.etax-header-compact .etax-page-create-btn,
.etax-header-compact .btn-std {
    height: 30px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 28px !important;
    font-size: 0.8rem !important;
}

/* Background utility */
.bg-light-alt {
    background-color: #f8fafc !important;
}

/* ========================================
   STANDARD LIST CARD (GLOBAL)
   Modeluar sipas ScanningItems
   ======================================== */

.etax-standard-card {
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.9rem !important;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    background: #fff;
}

.etax-standard-card .card-header {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 0.72rem 0.9rem !important;
}

.etax-standard-card .card-body {
    padding: 0 !important;
}

.etax-card-search {
    position: relative;
    border: 1px solid #cfd9e6;
    border-radius: 999px;
    background: #fff;
    min-height: 34px;
    padding-inline: 0.7rem;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
}

.etax-card-search:focus-within {
    border-color: #0f172a;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}

.etax-card-search .material-symbols-outlined,
.etax-card-search .material-icons {
    position: absolute;
    left: 0.78rem;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1;
}

.etax-card-search .form-control,
.etax-card-search .etax-card-search-input {
    height: 32px;
    font-size: 0.83rem;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    padding: 0.35rem 0.55rem 0.35rem 1.75rem !important;
}

.etax-card-search .form-control:focus,
.etax-card-search .etax-card-search-input:focus {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

:root {
    --etax-card-btn-height: 32px;
    --etax-card-btn-font: 0.75rem;
    --etax-card-btn-px: 0.75rem;
    --etax-card-btn-gap: 0.32rem;
}

.etax-card-btn,
.etax-card-header-btn {
    min-height: var(--etax-card-btn-height);
    height: var(--etax-card-btn-height);
    padding: 0.3rem var(--etax-card-btn-px) !important;
    font-size: var(--etax-card-btn-font) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    display: inline-flex;
    align-items: center;
    gap: var(--etax-card-btn-gap);
    border-radius: 999px;
}

.etax-card-btn .material-symbols-outlined,
.etax-card-btn .material-icons,
.etax-card-header-btn .material-symbols-outlined,
.etax-card-header-btn .material-icons {
    font-size: 1em !important;
    line-height: 1;
    vertical-align: -0.08em;
}

/* ========================================
   QUICK FILTERS (GLOBAL STANDARD)
   ======================================== */

:root {
    --etax-qf-height: 31px;
    --etax-qf-font: 0.72rem;
    --etax-qf-radius: 0.95rem;
    --etax-qf-icon-size: 26px;
    --etax-qf-icon-radius: 0.5rem;
    --etax-qf-icon-font: 0.72rem;
    --etax-grid-header-icon-size: var(--etax-qf-icon-size);
    --etax-grid-header-icon-radius: var(--etax-qf-icon-radius);
    --etax-grid-header-icon-font: var(--etax-qf-icon-font);
}

.quick-filter-capsule,
.gl-report-filter,
.etax-quick-filter {
    border: 1px solid #e2e8f0;
    border-radius: var(--etax-qf-radius);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.05);
    padding: 0.42rem 0.55rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    max-width: 100%;
}

.quick-filter-icon,
.etax-quick-filter-icon {
    width: var(--etax-qf-icon-size) !important;
    height: var(--etax-qf-icon-size) !important;
    border-radius: var(--etax-qf-icon-radius) !important;
    border: 1px solid #e2e8f0;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0f172a;
    flex-shrink: 0;
}

.quick-filter-icon .material-symbols-outlined,
.quick-filter-icon .material-icons,
.etax-quick-filter-icon .material-symbols-outlined,
.etax-quick-filter-icon .material-icons {
    font-size: var(--etax-qf-icon-font) !important;
    line-height: 1;
}

.quick-filter-title,
.etax-quick-filter-title {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #64748b;
    font-weight: 700;
    white-space: nowrap;
    margin-right: 0.15rem;
}

.quick-filter-capsule .btn-quick-filter,
.btn-quick-filter,
.gl-report-filter .gl-filter-segment,
.etax-quick-filter .etax-filter-segment {
    border: none !important;
    height: var(--etax-qf-height);
    padding: 0 0.8rem !important;
    font-size: var(--etax-qf-font) !important;
    font-weight: 600 !important;
    color: #64748b !important;
    border-radius: 999px;
    background: transparent;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: all 0.18s ease;
}

.quick-filter-capsule .btn-quick-filter:hover,
.btn-quick-filter:hover,
.gl-report-filter .gl-filter-segment:hover,
.etax-quick-filter .etax-filter-segment:hover {
    background-color: #f8fafc !important;
    color: #0f172a !important;
}

.btn-check:checked+.btn-quick-filter,
.btn-quick-filter.active,
.gl-report-filter .gl-filter-segment.active,
.etax-quick-filter .etax-filter-segment.active {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* ── Status Filter Capsule (global base)
   Shared by: JournalEntry, InternalTransfers, Payments.
   Module-specific active-color overrides (data-status, data-wfstate, etc.)
   are defined locally in each view's @section Styles.
   ─────────────────────────────────────────────────────────────────────── */
.btn-status-filter {
    border: none !important;
    height: var(--etax-qf-height, 31px);
    padding: 0 0.8rem !important;
    font-size: var(--etax-qf-font, 0.72rem) !important;
    font-weight: 600 !important;
    color: #64748b !important;
    border-radius: 999px;
    background: transparent;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: all 0.18s ease;
}
.btn-status-filter:hover {
    background-color: #f8fafc !important;
    color: #0f172a !important;
}
.btn-status-filter.active {
    background-color: #f1f5f9 !important;
    font-weight: 700 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* ── Status active-color palette — all modules
   Single unified attribute: data-status with string enum values.
   Shared by: JournalEntry (Approved), InternalTransfers (Draft/Posted), Payments (Draft/Posted).
   ─────────────────────────────────────────────────────────────────────── */

/* Draft — amber */
.btn-status-filter.active[data-status="Draft"]          { color: #92400e !important; }

/* Pending — blue */
.btn-status-filter.active[data-status="PendingApproval"] { color: #0369a1 !important; }

/* Posted / Approved — green */
.btn-status-filter.active[data-status="Posted"],
.btn-status-filter.active[data-status="Approved"]       { color: #166534 !important; }

/* Rejected — red */
.btn-status-filter.active[data-status="Rejected"]       { color: #991b1b !important; }

/* Payments flow filter — Payments-specific (no parallel in JE/IT) */
.btn-quick-filter.active[data-flow="all"]     { color: #3b82f6 !important; }
.btn-quick-filter.active[data-flow="receive"] { color: #10b981 !important; }
.btn-quick-filter.active[data-flow="pay"]     { color: #ef4444 !important; }



.gl-filter-count,
.etax-filter-count {
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    color: #475569;
}

.gl-report-filter .gl-filter-segment.active .gl-filter-count,
.etax-quick-filter .etax-filter-segment.active .etax-filter-count {
    background: rgba(15, 23, 42, 0.12);
    color: #0f172a;
}

/* ========================================
   MODERN SOFT BADGES
   ======================================== */

/* Global badge baseline: always capitalize */
.badge {
    text-transform: capitalize !important;
}

.badge[class*="badge-soft-"] {
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0.01em;
    border-radius: 999px;
    padding: 0.24rem 0.52rem;
}

.badge[class*="badge-soft-"] .material-symbols-outlined,
.badge[class*="badge-soft-"] .material-icons {
    font-size: 0.95em;
    line-height: 1;
    vertical-align: -0.08em;
}

/* badge-soft-dark (mungonte) */
.badge-soft-dark {
    background-color: rgba(15, 23, 42, 0.08) !important;
    color: #0f172a !important;
    border: 1px solid rgba(15, 23, 42, 0.1) !important;
}

/* Modern Soft Badges */
.badge-soft-primary {
    background-color: rgba(59, 130, 246, 0.1) !important;
    color: #3b82f6 !important;
    border: 1px solid rgba(59, 130, 246, 0.1) !important;
}

.badge-soft-success {
    background-color: rgba(5, 150, 105, 0.1) !important;
    color: #059669 !important;
    border: 1px solid rgba(5, 150, 105, 0.1) !important;
}

.badge-soft-danger {
    background-color: rgba(220, 38, 38, 0.1) !important;
    color: #dc2626 !important;
    border: 1px solid rgba(220, 38, 38, 0.1) !important;
}

.badge-soft-info {
    background-color: rgba(37, 99, 235, 0.1) !important;
    color: #2563eb !important;
    border: 1px solid rgba(37, 99, 235, 0.1) !important;
}

.badge-soft-warning {
    background-color: rgba(217, 119, 6, 0.1) !important;
    color: #d97706 !important;
    border: 1px solid rgba(217, 119, 6, 0.1) !important;
}

.badge-soft-secondary {
    background-color: rgba(100, 116, 139, 0.1) !important;
    color: #64748b !important;
    border: 1px solid rgba(100, 116, 139, 0.1) !important;
}

.badge-soft-quickbooks {
    background-color: rgba(44, 160, 28, 0.1) !important;
    color: var(--etax-quickbooks) !important;
    border: 1px solid rgba(44, 160, 28, 0.1) !important;
}

/* QuickBooks Specific Utilities */
.text-quickbooks {
    color: var(--etax-quickbooks) !important;
}

.bg-quickbooks-soft {
    background-color: rgba(44, 160, 28, 0.1) !important;
}

.mega-menu-icon-quickbooks {
    background-color: rgba(44, 160, 28, 0.1) !important;
    color: var(--etax-quickbooks) !important;
    border: 1px solid rgba(44, 160, 28, 0.1) !important;
}

.mega-menu-item:hover .mega-menu-icon-quickbooks {
    background: linear-gradient(135deg, #2ca01c 0%, #1e7e12 100%) !important;
    box-shadow: 0 4px 12px rgba(44, 160, 28, 0.3) !important;
    color: white !important;
}

/* Modern Navbar & Top Bar */
.navbar {
    padding: 0.4rem 0 !important;
    background: var(--etax-primary) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.navbar .navbar-brand {
    font-weight: 800;
    letter-spacing: -0.5px;
    padding: 0 !important;
}

.navbar .nav-link {
    font-size: 0.9rem;
    font-weight: 500;
    padding: 0.5rem 1rem !important;
    color: rgba(255, 255, 255, 0.8) !important;
    transition: var(--etax-transition);
    border-radius: var(--etax-radius-sm);
}

.navbar .nav-link:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.05);
}

.navbar .nav-item.active .nav-link,
.navbar .nav-link.active {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1);
}

/* Modern Dropdowns */
.dropdown-menu {
    border: 1px solid var(--etax-border) !important;
    border-top: 3px solid var(--etax-primary-light) !important;
    /* Top accent */
    border-radius: var(--etax-radius-md) !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    padding: 0.5rem !important;
    margin-top: 0.75rem !important;
    background-color: #ffffff !important;
}

.dropdown-item {
    padding: 0.7rem 1.25rem !important;
    font-size: var(--etax-font-size-sm) !important;
    font-weight: 500 !important;
    color: var(--etax-gray-800) !important;
    border-radius: var(--etax-radius-sm) !important;
    transition: var(--etax-transition-fast) !important;
}

.dropdown-item:hover {
    background: var(--etax-gray-100) !important;
    color: var(--etax-primary-light) !important;
    transform: translateX(4px);
}

.dropdown-item i {
    width: 20px;
    margin-right: 10px;
    color: var(--etax-secondary);
    font-size: 0.9rem;
}

/* Premium Container */
.etax-container {
    background: #ffffff;
    border-radius: var(--etax-radius-lg);
    box-shadow: var(--etax-shadow-md);
    border: 1px solid var(--etax-border-light);
    padding: 2rem;
    margin-bottom: 2rem;
}

/* Standardize Common Elements for Inconsistency */
.main-content {
    background-color: var(--etax-gray-50) !important;
    padding: 1rem 0 2rem 0;
    transition: background-color 0.3s ease;
}

/* Eliminate top space completely when using the compact header */
.main-content:has(.etax-header-compact) {
    padding-top: 0 !important;
}

/* Neutralize the legacy mt-n4 class so the header doesn't overflow its parent container */
.etax-header-compact.mt-n4 {
    margin-top: 0 !important;
}

[data-theme="dark"] .main-content {
    background-color: var(--etax-gray-50) !important;
    /* Deep background to let cards pop out */
}

.section-title-modern {
    font-size: var(--etax-font-size-2xl);
    font-weight: 800;
    color: var(--etax-dark);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.table-premium-header {
    background: var(--etax-gray-50) !important;
    border-bottom: 2px solid var(--etax-border) !important;
}

.table-premium-header th {
    padding: 1rem 0.75rem !important;
    text-transform: uppercase !important;
    font-size: var(--etax-font-size-xs) !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    color: var(--etax-gray-600) !important;
}

/* Force consistency on any card in the app */
.card,
.k-card,
.well {
    border: 1px solid var(--etax-border) !important;
    border-radius: var(--etax-radius-lg) !important;
    background: #ffffff !important;
    box-shadow: var(--etax-shadow-sm) !important;
}

.card-header,
.k-card-header {
    background: #ffffff !important;
    border-bottom: 1px solid var(--etax-border) !important;
    padding: 1.25rem 1.5rem !important;
}

/* ========================================
   KENDO UI MODERNIZATION - Premium Theme
   ======================================== */

.k-grid {
    border: none !important;
    background: transparent !important;
    font-family: var(--etax-font-main) !important;
    font-size: 0.8125rem !important;
    /* Premium Compact (13px) */
}

/* Header Styling */
.k-grid-header {
    background: var(--etax-gray-50) !important;
    border-bottom: 2px solid var(--etax-border) !important;
    border-radius: var(--etax-radius-lg) var(--etax-radius-lg) 0 0 !important;
}

.k-grid-header th {
    padding: 0.5rem 1.5rem !important;
    text-transform: uppercase !important;
    font-size: var(--etax-font-size-xs) !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    color: var(--etax-gray-600) !important;
    background: transparent !important;
    border-color: var(--etax-border-light) !important;
    position: relative;
}

/* Kendo Filter Icons - Premium Interactions */
.k-grid-header th .k-grid-filter {
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: var(--etax-transition) !important;
    margin-right: -4px !important;
    color: var(--etax-gray-600) !important;
    background: transparent !important;
}

.k-grid-header th .k-grid-filter:hover,
.k-grid-header th .k-grid-filter.k-state-active,
.k-grid-header th .k-grid-filter.k-active {
    background-color: rgba(59, 130, 246, 0.1) !important;
    /* Soft Primary */
    color: var(--etax-primary-light) !important;
}

.k-grid-header th .k-grid-filter span.k-icon {
    font-size: 0.9rem !important;
}


/* Grid Content & Rows */
.k-grid-content {
    background: white !important;
}

.k-grid tbody tr {
    transition: var(--etax-transition);
    border-bottom: 1px solid var(--etax-border-light) !important;
}

.k-grid tbody tr:hover {
    background-color: var(--etax-gray-50) !important;
}

.k-grid tbody td {
    padding: 0.375rem 1.5rem !important;
    border: none !important;
    color: var(--etax-gray-800) !important;
}

/* ========================================
   ETAX INLINE EDITOR - Premium Theme
   ======================================== */

.etax-inline-editor-container--premium {
    border: 1px solid var(--etax-border);
    border-radius: var(--etax-radius-md);
    background: var(--premium-card-bg);
    box-shadow: var(--etax-shadow-sm);
}

.etax-grid-table th {
    position: relative; /* Ensure resizer is positioned relative to th */
}

.etax-grid-resizer {
    position: absolute;
    top: 0;
    right: -3px;        /* wider hit area: extends 3px on each side */
    width: 10px;        /* 10px total hit area for easy grab (especially touch) */
    height: 100%;
    cursor: col-resize;
    -webkit-user-select: none;
    user-select: none;
    z-index: 10;
}
.etax-grid-resizer::after {
    content: '';
    position: absolute;
    top: 0;
    right: 3px;         /* visual indicator centered inside the hit area */
    width: 3px;
    height: 100%;
    background: transparent;
    border-radius: 2px;
    transition: background-color 0.15s;
}
.etax-grid-resizer:hover::after,
.etax-grid-resizer.is-active::after {
    background-color: var(--etax-primary, #3b82f6);
    opacity: 0.65;
}

.etax-grid-table.is-resizing {
    cursor: col-resize;
    -webkit-user-select: none;
    user-select: none;
}

/* Keep col-resize cursor when mouse leaves the table during a drag */
body.etax-resizing-active,
body.etax-resizing-active * {
    cursor: col-resize !important;
}

/* Live vertical guide line during drag */
.etax-resize-guide {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--etax-primary, #3b82f6);
    opacity: 0.55;
    pointer-events: none;
    z-index: 30;
    display: none;
}

/* Width tooltip that follows the cursor */
.etax-resize-tooltip {
    position: fixed;
    background: #0f172a;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0.18rem 0.5rem;
    border-radius: 0.35rem;
    pointer-events: none;
    z-index: 9999;
    white-space: nowrap;
    display: none;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 2px 8px rgba(15,23,42,.25);
}

/* Reset widths button hover */
.etax-reset-widths-btn:hover {
    background: #f8fafc !important;
    color: #334155 !important;
}

/* Fixed layout mode: activated when user resizes a column or loads with saved widths.
   Allows columns to be narrower than their content (truncates with ellipsis). */
.etax-grid-table.etax-grid-clipped {
    table-layout: fixed;
    width: 100%;
}
.etax-grid-table.etax-grid-clipped td:not(.etax-col-actions):not(.etax-col-index):not(.etax-col-filler) {
    overflow: hidden;
    max-width: 0; /* Forces content to respect the column width in fixed layout */
}
/* Inline text content: promote to block so text-overflow applies */
.etax-grid-table.etax-grid-clipped td .etax-row-value,
.etax-grid-table.etax-grid-clipped td .etax-row-meta,
.etax-grid-table.etax-grid-clipped td .etax-row-primary {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
/* Buttons/links that wrap cell content must not overflow — exclude Actions column */
.etax-grid-table.etax-grid-clipped td:not(.etax-col-actions) .etax-row-link,
.etax-grid-table.etax-grid-clipped td:not(.etax-col-actions) button:not(.etax-action-btn) {
    display: block;
    max-width: 100%;
    overflow: hidden;
}

.etax-grid-table thead {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    box-shadow: inset 0 -1px 0 #cbd5e1;
}

.etax-grid-table th {
    background: transparent;
    padding: 0.46rem 0.7rem;
    font-weight: 700;
    font-size: 0.71rem;
    text-transform: none;
    letter-spacing: 0.015em;
    color: #334155;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease;
    -webkit-user-select: none;
    user-select: none;
    border-bottom: 1px solid #cbd5e1;
    vertical-align: bottom;
}

/* Specific grids customization (if any left) */

/* Alignment Logic in CSS */
.etax-grid-table th[data-align="center"] .th-content,
.etax-grid-table td[data-align="center"] {
    text-align: center;
    justify-content: center;
}

.etax-grid-table th[data-align="end"] .th-content,
.etax-grid-table td[data-align="end"] {
    text-align: right;
    justify-content: flex-end;
}

/* ── th-content: title left, sort-icon pinned right ── */
.th-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.3rem;
    width: 100%;
    min-width: 0;
}

/* Title fills remaining space */
.th-content .th-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Alignment overrides */
.etax-grid-table th[data-align="center"] .th-content { justify-content: center; }
.etax-grid-table th[data-align="end"]    .th-content { justify-content: flex-end; }
.etax-grid-table td[data-align="center"] { text-align: center; }
.etax-grid-table td[data-align="end"]    { text-align: right; }

/* ── Sort icon — always pinned to far right, vertically centered ── */
.sort-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
    font-size: 0.85rem;
    line-height: 1;
    color: #94a3b8;
    opacity: 0.5;
    flex-shrink: 0;
    margin-left: auto;    /* pushes to far right */
    align-self: center;   /* always vertically centered */
    transition: opacity 0.18s ease, color 0.18s ease;
    border-radius: 3px;
    padding: 1px;
}

.etax-grid-table th:hover .sort-icon {
    opacity: 0.85;
    color: #475569;
}

.sortable .sort-icon::before { content: 'unfold_more'; }

.sorted-asc .sort-icon,
.sorted-desc .sort-icon {
    opacity: 1;
    color: #0f172a;
    font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 20;
}

.sorted-asc .sort-icon::before  { content: 'arrow_upward'; }
.sorted-desc .sort-icon::before { content: 'arrow_downward'; }

.etax-grid-table th:hover {
    background: var(--etax-gray-100);
}

.etax-inline-editor--premium {
    margin-bottom: 0;
    background: var(--premium-card-bg);
}

.etax-inline-editor--premium thead th {
    background: var(--etax-gray-50);
    color: var(--etax-gray-600);
    border-bottom: 1px solid var(--etax-border);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.etax-inline-editor--premium tbody td {
    border-bottom: 1px solid var(--etax-border-light);
}

.etax-inline-editor--premium tbody tr:last-child td {
    border-bottom: none;
}

.etax-inline-editor--premium tbody tr:hover td {
    background: color-mix(in srgb, var(--premium-accent) 6%, transparent);
}

.etax-inline-editor--premium .ts-wrapper {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    display: block;
}

.etax-inline-editor--premium .ts-control {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.etax-inline-editor--premium .ts-wrapper.focus .ts-control,
.etax-inline-editor--premium .ts-wrapper.dropdown-active .ts-control,
.etax-inline-editor--premium .ts-wrapper.input-active .ts-control,
.etax-inline-editor--premium .ts-wrapper.has-items .ts-control {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: color-mix(in srgb, var(--premium-slate, #0f172a) 6%, transparent) !important;
}

.etax-inline-editor--premium .ts-wrapper .ts-control:focus,
.etax-inline-editor--premium .ts-wrapper .ts-control:focus-within,
.etax-inline-editor--premium .ts-control input,
.etax-inline-editor--premium .ts-control input:focus,
.etax-inline-editor--premium .ts-control input:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.etax-inline-editor--premium .table-input,
.etax-inline-editor--premium input,
.etax-inline-editor--premium select,
.etax-inline-editor--premium textarea {
    border-radius: var(--etax-radius-sm);
    transition: var(--etax-transition);
}

.etax-inline-editor--premium .table-input:focus,
.etax-inline-editor--premium input:focus,
.etax-inline-editor--premium select:focus,
.etax-inline-editor--premium textarea:focus {
    border-color: var(--premium-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--premium-accent) 18%, transparent) !important;
}

.ts-dropdown.ts-dropdown-excel {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 1px solid var(--etax-border) !important;
}

.ts-dropdown.ts-dropdown-excel .option {
    text-shadow: none !important;
}

.ts-dropdown.ts-dropdown-excel .option:hover,
.ts-dropdown.ts-dropdown-excel .option.active,
.ts-dropdown.ts-dropdown-excel .active {
    background: color-mix(in srgb, var(--premium-slate, #0f172a) 7%, transparent) !important;
    color: var(--etax-gray-900) !important;
}

[data-theme="dark"] .etax-inline-editor-container--premium {
    background: var(--premium-card-bg);
    border-color: var(--etax-border);
}

[data-theme="dark"] .etax-inline-editor--premium thead th {
    background: var(--etax-gray-100);
    color: var(--etax-gray-300);
}

/* Toolbar & Command Buttons */
.k-grid-toolbar {
    background: white !important;
    border: none !important;
    border-bottom: 1px solid var(--etax-border) !important;
    padding: 1rem 1.5rem !important;
    gap: 0.75rem !important;
}

/* Map Kendo buttons to our system */
.k-grid-toolbar .k-button,
.k-grid .k-command-cell .k-button {
    border-radius: var(--etax-radius-sm) !important;
    padding: 0.5rem 1rem !important;
    font-weight: 600 !important;
    transition: var(--etax-transition) !important;
}

/* Primary buttons (e.g. Add New) */
.k-grid-toolbar .k-button-solid-primary,
.k-grid .k-grid-search .k-input-button,
.k-grid .k-command-cell .k-grid-edit {
    background-color: var(--etax-primary) !important;
    border-color: var(--etax-primary) !important;
    color: white !important;
}

.k-grid-toolbar .k-button-solid-primary:hover,
.k-grid .k-command-cell .k-grid-edit:hover {
    background-color: #1e293b !important;
}

/* Danger buttons (e.g. Delete) */
.k-grid .k-command-cell .k-grid-delete {
    background-color: transparent !important;
    color: var(--etax-danger) !important;
    border: 1px solid var(--etax-border) !important;
}

.k-grid .k-command-cell .k-grid-delete:hover {
    background-color: #fef2f2 !important;
    border-color: #fee2e2 !important;
}

/* Icon-only Command Buttons UX Refinement */
.k-grid .k-command-cell {
    text-align: center !important;
    white-space: nowrap !important;
}

.k-grid .k-command-cell .k-button {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 4px !important;
}

.k-grid .k-command-cell .k-button span.k-icon {
    margin: 0 !important;
    font-size: 1.1rem !important;
}

/* Hide text labels for icon-only UX */
.k-grid .k-command-cell .k-button .k-button-text {
    display: none !important;
}

.k-grid .k-command-cell .k-grid-edit {
    color: var(--etax-primary-light) !important;
    background: var(--etax-gray-50) !important;
    border-color: var(--etax-border) !important;
}

.k-grid .k-command-cell .k-grid-edit:hover {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
}

/* Pager Styling */
.k-pager-wrap {
    background: white !important;
    border: none !important;
    border-top: 1px solid var(--etax-border) !important;
    padding: 0.75rem 1.5rem !important;
    color: var(--etax-secondary) !important;
}

.k-pager-numbers .k-link {
    border-radius: var(--etax-radius-sm) !important;
    transition: var(--etax-transition) !important;
}

.k-pager-numbers .k-selected {
    background-color: var(--etax-primary) !important;
    border-color: var(--etax-primary) !important;
    color: white !important;
}

/* Search Box Modernization */
.k-grid .k-grid-search {
    border-radius: var(--etax-radius-sm) !important;
    border: 1px solid var(--etax-border) !important;
    background: var(--etax-gray-50) !important;
    padding-left: 0.5rem !important;
}

.k-grid .k-grid-search .k-input-inner {
    font-size: var(--etax-font-size-sm) !important;
}

/* Window/Popup Modernization (Editors) */
.k-window {
    border-radius: var(--etax-radius-lg) !important;
    box-shadow: var(--etax-shadow-lg) !important;
    border-color: var(--etax-border) !important;
}

.k-window-titlebar {
    background: white !important;
    border-bottom: 1px solid var(--etax-border) !important;
    padding: 1rem 1.5rem !important;
}

.k-window-title {
    font-weight: 700 !important;
    color: var(--etax-dark) !important;
}

/* Navbar Styles */
.etax-navbar {
    background-color: var(--etax-navbar-bg) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.07) !important;
    transition: background-color 0.3s ease;
}

.etax-navbar .etax-navbar-logo {
    display: block;
    width: 100px;
    height: 30px;
}

.etax-wordmark-text {
    font-weight: 800;
    font-size: 1.15rem;
    letter-spacing: 0.06em;
    color: #4f46e5;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.etax-wordmark-prefix {
    font-weight: 400;
    font-size: 0.95em;
    opacity: 0.85;
    margin-right: 0.05em;
}

.etax-ai-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #4f46e5;
    color: #fff;
    font-weight: 800;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    border-radius: 6px;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.etax-navbar .nav-link,
.etax-top-nav .nav-link {
    color: var(--etax-navbar-text) !important;
    opacity: 1;
    transition: color 0.15s ease, background 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.etax-navbar .nav-link:hover,
.etax-top-nav .nav-link:hover {
    opacity: 1;
    color: #111827 !important;
}

.etax-navbar .nav-link .material-symbols-outlined,
.etax-top-nav .nav-link .material-symbols-outlined {
    font-size: 1.1rem;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

.etax-top-nav .navbar-nav>.nav-item>.nav-link>.material-symbols-outlined {
    color: #4f46e5 !important;
}

.etax-top-nav .navbar-nav>.nav-item>.nav-link {
    color: var(--etax-gray-700, #334155) !important;
}

.etax-top-nav .navbar-nav>.nav-item>.nav-link:hover,
.etax-top-nav .navbar-nav>.nav-item>.nav-link:focus,
.etax-top-nav .navbar-nav>.nav-item>.nav-link.show {
    color: #4338ca !important;
}

.etax-top-nav .navbar-nav>.nav-item>.nav-link:hover>.material-symbols-outlined {
    color: #4338ca !important;
}

.etax-top-nav .navbar-nav>.nav-item>.nav-link:focus>.material-symbols-outlined,
.etax-top-nav .navbar-nav>.nav-item>.nav-link.show>.material-symbols-outlined {
    color: #4338ca !important;
}

.etax-navbar .dropdown-toggle::after,
.etax-top-nav .dropdown-toggle::after {
    margin-left: 0.35rem;
    vertical-align: middle;
}

.nav-business-indicator {
    display: flex;
    align-items: center;
    background: rgba(79, 70, 229, 0.06);
    border: 1px solid rgba(79, 70, 229, 0.24);
    color: #4f46e5;
    padding: 0.25rem 1rem;
    border-radius: 50px;
    height: 42px;
    box-shadow: 0 1px 2px rgba(79, 70, 229, 0.08);
}

.nav-business-indicator .bg-white.bg-opacity-20 {
    background: rgba(79, 70, 229, 0.14) !important;
}

.nav-business-indicator .material-symbols-outlined.text-white,
.nav-business-indicator .text-white {
    color: #4f46e5 !important;
}

.nav-business-indicator .text-white-50 {
    color: rgba(79, 70, 229, 0.75) !important;
}

.dropdown-menu[aria-labelledby="userDropdown"],
.dropdown-menu[aria-labelledby="adminPanelDropdown"] {
    border-top: 2px solid rgba(79, 70, 229, 0.55) !important;
}

.dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item .material-symbols-outlined,
.dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item .fw-semibold,
.dropdown-menu[aria-labelledby="adminPanelDropdown"] .dropdown-item .material-symbols-outlined,
.dropdown-menu[aria-labelledby="adminPanelDropdown"] .dropdown-item .fw-semibold {
    color: #4f46e5 !important;
}

.dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item:hover,
.dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item:focus,
.dropdown-menu[aria-labelledby="adminPanelDropdown"] .dropdown-item:hover,
.dropdown-menu[aria-labelledby="adminPanelDropdown"] .dropdown-item:focus {
    background: rgba(79, 70, 229, 0.08) !important;
    color: #4338ca !important;
}

.dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item:hover .material-symbols-outlined,
.dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item:focus .material-symbols-outlined,
.dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item:hover .fw-semibold,
.dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item:focus .fw-semibold,
.dropdown-menu[aria-labelledby="adminPanelDropdown"] .dropdown-item:hover .material-symbols-outlined,
.dropdown-menu[aria-labelledby="adminPanelDropdown"] .dropdown-item:focus .material-symbols-outlined,
.dropdown-menu[aria-labelledby="adminPanelDropdown"] .dropdown-item:hover .fw-semibold,
.dropdown-menu[aria-labelledby="adminPanelDropdown"] .dropdown-item:focus .fw-semibold {
    color: #4338ca !important;
}

.top-menu-stack {
    display: inline-flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: unset;
    padding: 0.4rem 0.6rem !important;
    border-radius: 6px;
    transition: background 0.15s ease, color 0.15s ease;
}

.top-menu-stack>.material-symbols-outlined {
    font-size: 1.05rem !important;
    line-height: 1;
    margin: 0 !important;
    flex-shrink: 0;
}

.top-menu-stack-label {
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.top-menu-stack.dropdown-toggle::after {
    display: none !important;
}

/* ── Enterprise nav hover / active states ── */
#nav-modules .top-menu-stack:hover {
    background: rgba(79, 70, 229, 0.07);
    color: #4338ca !important;
}

#nav-modules .top-menu-stack:hover>.material-symbols-outlined {
    color: #4338ca !important;
}

#nav-modules .nav-link.show.top-menu-stack {
    background: rgba(79, 70, 229, 0.11);
    color: #4338ca !important;
}

#nav-modules .nav-link.show.top-menu-stack>.material-symbols-outlined {
    color: #4338ca !important;
}

/* Open item: bottom accent line */
#nav-modules .nav-item.show {
    position: relative;
}

#nav-modules .nav-item.show::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0.4rem;
    right: 0.4rem;
    height: 2px;
    background: #4f46e5;
    border-radius: 2px 2px 0 0;
}

/* Separator between nav-modules and nav-utilities */
#nav-utilities {
    border-left: 1px solid rgba(0, 0, 0, 0.09);
    padding-left: 0.75rem;
    margin-left: 0.25rem;
}

[data-theme="dark"] #nav-utilities {
    border-left-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] #nav-modules .top-menu-stack:hover {
    background: rgba(248, 250, 252, 0.08);
}

[data-theme="dark"] #nav-modules .nav-link.show.top-menu-stack {
    background: rgba(248, 250, 252, 0.13);
}

.nav-login-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.62rem 1rem !important;
    border: 1.5px solid #4f46e5 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #4f46e5 !important;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: none !important;
    transition: transform 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
}

.nav-login-cta:hover,
.nav-login-cta:focus {
    color: #4338ca !important;
    border-color: #4338ca !important;
    transform: translateY(-1px);
    background: transparent !important;
    box-shadow: none !important;
}

.nav-login-cta:active {
    transform: translateY(0);
    color: #3730a3 !important;
    border-color: #3730a3 !important;
    box-shadow: none !important;
}

.nav-login-cta .material-symbols-outlined {
    font-size: 1rem;
    line-height: 1;
}

.nav-item.top-dept-menu:has(> .mega-menu) {
    position: relative !important;
}

.top-dept-menu .mega-menu {
    width: 360px !important;
    max-width: min(360px, calc(100vw - 1rem)) !important;
    border-top: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    margin-top: 0 !important;
    top: calc(100% + 0.35rem) !important;
}

.top-dept-menu .mega-menu::before {
    display: none;
}

.top-dept-menu .mega-menu .mega-menu-content {
    grid-template-columns: 1fr !important;
    gap: 0.6rem !important;
}

.dropdown-menu[aria-labelledby="operationsDropdown"].mega-menu {
    width: 360px !important;
    max-width: min(360px, calc(100vw - 1rem)) !important;
    overflow: visible !important;
}

.dropdown-menu[aria-labelledby="financeDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="settingsDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="qbSyncDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="adminPanelDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="languageDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="userDropdown"].mega-menu {
    overflow: visible !important;
}

.dropdown-menu[aria-labelledby="operationsDropdown"] .operations-column {
    max-width: 100%;
}



/* Footer icon consistency (Material Symbols Outlined) */
.modern-footer .material-symbols-outlined,
.minimal-footer .material-symbols-outlined {
    font-size: 1rem;
    line-height: 1;
    vertical-align: middle;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

.modern-footer .footer-link .material-symbols-outlined,
.minimal-footer a .material-symbols-outlined {
    margin-top: -1px;
}

/* ========================================
   MEGA MENU STYLES
   ======================================== */

/* ── DESKTOP (≥992px) ──
   Nav-item bëhet static → mega-menu pozicionohet relative ndaj navbar (gjerësi e plotë).
   right:0 = i ankoruar ndaj skajit të djathtë të navbar.
   max-width = nuk del jashtë ekranit kurrë.
   overflow-x: auto = scroll brenda menysë kur ngushtësohet. */

/* Vetëm nav-item-at që kanë mega-menu direkt si fëmijë bëhen static */
.nav-item:has(> .mega-menu) {
    position: static !important;
}

/* Hapja me klik nga Bootstrap - mega-hover-open mund të përdoret si fallback */
@media (min-width: 992px) {
    .nav-item.dropdown.mega-hover-open>.mega-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

.mega-menu::before {
    content: '';
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
}

.mega-menu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin-top: 0.5rem !important;
    padding: 1.5rem !important;
    background-color: var(--etax-mega-menu-bg) !important;
    border: 1px solid var(--etax-border) !important;
    border-radius: var(--etax-radius-lg) !important;
    box-shadow: var(--etax-shadow-lg) !important;
    width: min(1120px, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem) !important;
    max-height: calc(100vh - 7rem) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}

.mega-menu-md {
    width: 700px !important;
    max-width: calc(100vw - 1rem) !important;
}

.dropdown-menu[aria-labelledby="adminPanelDropdown"].mega-menu-md {
    width: 310px !important;
    max-width: calc(100vw - 1rem) !important;
}

.dropdown-menu[aria-labelledby="adminPanelDropdown"] .mega-menu-content {
    grid-template-columns: 1fr !important;
}

.mega-menu-content {
    min-width: 0 !important;
    width: 100% !important;
}

.mega-menu-md .mega-menu-content {
    grid-template-columns: repeat(2, minmax(200px, 1fr)) !important;
    min-width: 0 !important;
}

.mega-menu-sm .mega-menu-content {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
}

.mega-menu-column {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.mega-menu-header {
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: var(--etax-primary-light) !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid var(--etax-border-light) !important;
    display: flex;
    align-items: center;
    gap: 8px;
    -webkit-user-select: none;
    user-select: none;
}

.mega-menu-header.text-quickbooks {
    color: var(--etax-success) !important;
}

.mega-menu-header.text-universal {
    color: var(--etax-universal) !important;
}

.mega-menu-header.text-operations {
    color: #4f46e5 !important;
}

.mega-menu-header.text-finance {
    color: #4f46e5 !important;
}

.mega-menu-item {
    display: flex !important;
    align-items: flex-start !important;
    padding: 0.6rem 0.8rem !important;
    border-radius: var(--etax-radius-md) !important;
    transition: var(--etax-transition) !important;
    text-decoration: none !important;
    margin-bottom: 2px;
}

.nav-item.top-dept-menu:has(> .mega-menu) {
    position: relative !important;
}

.top-dept-menu .mega-menu {
    width: 360px !important;
    max-width: min(360px, calc(100vw - 1rem)) !important;
    border-top: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    margin-top: 0 !important;
    top: calc(100% + 0.35rem) !important;
}

.top-dept-menu .mega-menu::before {
    display: none;
}

.top-dept-menu .mega-menu .mega-menu-content {
    grid-template-columns: 1fr !important;
    gap: 0.6rem !important;
}

.dropdown-menu[aria-labelledby="operationsDropdown"].mega-menu {
    width: 360px !important;
    max-width: min(360px, calc(100vw - 1rem)) !important;
    overflow: visible !important;
}

.dropdown-menu[aria-labelledby="financeDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="settingsDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="qbSyncDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="adminPanelDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="languageDropdown"].mega-menu,
.dropdown-menu[aria-labelledby="userDropdown"].mega-menu {
    overflow: visible !important;
}

.dropdown-menu[aria-labelledby="operationsDropdown"] .operations-column {
    max-width: 100%;
}



/* Footer icon consistency (Material Symbols Outlined) */
.modern-footer .material-symbols-outlined,
.minimal-footer .material-symbols-outlined {
    font-size: 1rem;
    line-height: 1;
    vertical-align: middle;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

.modern-footer .footer-link .material-symbols-outlined,
.minimal-footer a .material-symbols-outlined {
    margin-top: -1px;
}

/* ========================================
   MEGA MENU STYLES
   ======================================== */

/* ── DESKTOP (≥992px) ──
   Nav-item bëhet static → mega-menu pozicionohet relative ndaj navbar (gjerësi e plotë).
   right:0 = i ankoruar ndaj skajit të djathtë të navbar.
   max-width = nuk del jashtë ekranit kurrë.
   overflow-x: auto = scroll brenda menysë kur ngushtësohet. */

/* Vetëm nav-item-at që kanë mega-menu direkt si fëmijë bëhen static */
.nav-item:has(> .mega-menu) {
    position: static !important;
}

/* Hapja me klik nga Bootstrap - mega-hover-open mund të përdoret si fallback */
@media (min-width: 992px) {
    .nav-item.dropdown.mega-hover-open>.mega-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

.mega-menu::before {
    content: '';
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
}

.mega-menu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin-top: 0.5rem !important;
    padding: 1.5rem !important;
    background-color: var(--etax-mega-menu-bg) !important;
    border: 1px solid var(--etax-border) !important;
    border-radius: var(--etax-radius-lg) !important;
    box-shadow: var(--etax-shadow-lg) !important;
    width: min(1120px, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem) !important;
    max-height: calc(100vh - 7rem) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}

.mega-menu-md {
    width: 700px !important;
    max-width: calc(100vw - 1rem) !important;
}

.dropdown-menu[aria-labelledby="adminPanelDropdown"].mega-menu-md {
    width: 310px !important;
    max-width: calc(100vw - 1rem) !important;
}

.dropdown-menu[aria-labelledby="adminPanelDropdown"] .mega-menu-content {
    grid-template-columns: 1fr !important;
}

.mega-menu-content {
    min-width: 0 !important;
    width: 100% !important;
}

.mega-menu-md .mega-menu-content {
    grid-template-columns: repeat(2, minmax(200px, 1fr)) !important;
    min-width: 0 !important;
}

.mega-menu-sm .mega-menu-content {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
}

.mega-menu-column {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.mega-menu-header {
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: var(--etax-primary-light) !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid var(--etax-border-light) !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mega-menu-header.text-quickbooks {
    color: var(--etax-success) !important;
}

.mega-menu-header.text-universal {
    color: var(--etax-universal) !important;
}

.mega-menu-header.text-operations {
    color: #4f46e5 !important;
}

.mega-menu-header.text-finance {
    color: #4f46e5 !important;
}

.mega-menu-item {
    display: flex !important;
    align-items: flex-start !important;
    padding: 0.6rem 0.8rem !important;
    border-radius: var(--etax-radius-md) !important;
    transition: var(--etax-transition) !important;
    text-decoration: none !important;
    margin-bottom: 2px;
}

.mega-menu-item:hover {
    background: var(--etax-gray-50) !important;
    transform: translateX(3px);
}

.mega-menu-item-with-create {
    display: block !important;
    padding-right: 4rem !important;
}

.mega-menu-create-btn {
    position: absolute;
    top: 50%;
    right: 1.85rem;
    transform: translateY(-50%);
    z-index: 3;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #1f2937 !important;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    box-shadow: none;
    opacity: 0.9;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.mega-menu-create-btn:hover {
    transform: translateY(-50%);
    filter: brightness(0.99);
    border-color: #0f172a;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
    opacity: 1;
}

.mega-menu-open-btn {
    position: absolute;
    top: 50%;
    right: 0.15rem;
    transform: translateY(-50%);
    z-index: 3;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #4f46e5 !important;
    border: 1px solid rgba(79, 70, 229, 0.35);
    background: rgba(79, 70, 229, 0.08);
    box-shadow: none;
    opacity: 0.9;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.mega-menu-open-btn:hover {
    transform: translateY(-50%);
    border-color: #4f46e5;
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(79, 70, 229, 0.28);
    opacity: 1;
}

.mega-menu-open-btn .material-symbols-outlined {
    font-size: 13px;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

.mega-menu-create-btn .material-symbols-outlined {
    font-size: 15px;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

.mega-menu-create-btn-note {
    color: #4f46e5 !important;
}

.mega-menu-create-btn-note:hover {
    border-color: #4f46e5;
    box-shadow: 0 10px 20px rgba(79, 70, 229, 0.18);
}

.mega-menu-column:not(.qb-column) .mega-menu-create-btn {
    color: #4f46e5 !important;
    border-color: rgba(79, 70, 229, 0.35);
    background: rgba(79, 70, 229, 0.08);
}

.mega-menu-column:not(.qb-column) .mega-menu-create-btn:hover {
    border-color: #4f46e5;
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(79, 70, 229, 0.28);
}

.mega-menu-column:not(.qb-column) .mega-menu-create-btn-note {
    color: #4f46e5 !important;
    border-color: rgba(79, 70, 229, 0.35);
    background: rgba(79, 70, 229, 0.08);
}

.mega-menu-column:not(.qb-column) .mega-menu-create-btn-note:hover {
    border-color: #4f46e5;
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(79, 70, 229, 0.28);
}

.mega-menu-column:not(.qb-column) .mega-menu-open-btn {
    color: #4f46e5 !important;
    border-color: rgba(79, 70, 229, 0.35);
    background: rgba(79, 70, 229, 0.08);
}

.mega-menu-column:not(.qb-column) .mega-menu-open-btn:hover {
    border-color: #4f46e5;
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(79, 70, 229, 0.28);
}

.mega-menu-icon .material-symbols-outlined {
    font-size: 1.05rem;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

.mega-menu-text {
    display: flex;
    flex-direction: column;
}

.mega-menu-title {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: var(--etax-mega-menu-text) !important;
    line-height: 1.2;
}

.mega-menu-desc {
    font-size: 0.7rem !important;
    color: var(--etax-secondary) !important;
    margin-top: 2px;
    line-height: 1.3;
}

/* Premium black alignment for mega-menu (easy rollback: remove this block) */
.mega-menu-header {
    font-size: 0.69rem !important;
    letter-spacing: 0.04em !important;
    color: #334155 !important;
}

.mega-menu-header.text-quickbooks,
.mega-menu-header.text-universal {
    color: inherit !important;
}

.mega-menu-header.text-quickbooks {
    color: var(--etax-quickbooks) !important;
}

.mega-menu-header.text-universal {
    color: var(--etax-universal) !important;
}

.mega-menu-title {
    font-weight: 700 !important;
    color: #0f172a !important;
}

.mega-menu-desc {
    font-size: 0.72rem !important;
    color: #64748b !important;
}

.mega-menu-item .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal) {
    background: #f8fafc !important;
    color: #0f172a !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
}

.mega-menu-item:hover .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal) {
    background: linear-gradient(135deg, #1f2937 0%, #0f172a 100%) !important;
    color: #ffffff !important;
    border-color: #0f172a !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.25) !important;
}

.finance-submenu-group {
    position: relative;
    border: 1px solid var(--etax-border-light);
    border-radius: 10px;
    margin-bottom: 0.55rem;
    background: rgba(238, 242, 255, 0.65);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.finance-submenu-group::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 2px;
    border-radius: 999px;
    background: transparent;
    transition: background-color 0.18s ease;
}

.finance-column {
    position: relative;
    overflow: visible;
}

.finance-submenu-trigger {
    margin-bottom: 0 !important;
    cursor: default;
    align-items: center !important;
}

.operations-column .finance-submenu-group>.finance-submenu-trigger,
.finance-column .finance-submenu-group>.finance-submenu-trigger,
.settings-column .finance-submenu-group>.finance-submenu-trigger,
.admin-column .finance-submenu-group>.finance-submenu-trigger,
.user-column .finance-submenu-group>.finance-submenu-trigger,
.language-column .finance-submenu-group>.finance-submenu-trigger,
.operations-column .finance-submenu-group>.finance-submenu-trigger:hover,
.finance-column .finance-submenu-group>.finance-submenu-trigger:hover,
.settings-column .finance-submenu-group>.finance-submenu-trigger:hover,
.admin-column .finance-submenu-group>.finance-submenu-trigger:hover,
.user-column .finance-submenu-group>.finance-submenu-trigger:hover,
.language-column .finance-submenu-group>.finance-submenu-trigger:hover,
.operations-column .finance-submenu-group:focus-within>.finance-submenu-trigger,
.finance-column .finance-submenu-group:focus-within>.finance-submenu-trigger,
.settings-column .finance-submenu-group:focus-within>.finance-submenu-trigger,
.admin-column .finance-submenu-group:focus-within>.finance-submenu-trigger,
.user-column .finance-submenu-group:focus-within>.finance-submenu-trigger,
.language-column .finance-submenu-group:focus-within>.finance-submenu-trigger {
    border-color: transparent !important;
    box-shadow: none !important;
}

.finance-submenu-trigger .mega-menu-title {
    font-size: 0.82rem !important;
}

.finance-hover-hint {
    font-size: 0.68rem;
    color: #64748b;
    margin: -0.3rem 0 0.6rem;
    padding-left: 0.15rem;
}

.finance-submenu-arrow {
    margin-left: auto;
    font-size: 1rem;
    color: #a5b4fc;
    transition: transform 0.18s ease, color 0.18s ease;
}

.operations-column .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.finance-column .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.settings-column .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.user-column .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.language-column .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.admin-column .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal) {
    background: rgba(99, 102, 241, 0.12) !important;
    color: var(--etax-universal) !important;
    border: 1px solid rgba(99, 102, 241, 0.22) !important;
    box-shadow: none !important;
}

.operations-column .mega-menu-item:hover .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.finance-column .mega-menu-item:hover .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.settings-column .mega-menu-item:hover .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.user-column .mega-menu-item:hover .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.language-column .mega-menu-item:hover .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal),
.admin-column .mega-menu-item:hover .mega-menu-icon:not(.mega-menu-icon-quickbooks):not(.mega-menu-icon-dual):not(.mega-menu-icon-universal) {
    background: linear-gradient(135deg, var(--etax-universal) 0%, var(--etax-violet) 100%) !important;
    color: #ffffff !important;
    border-color: var(--etax-universal) !important;
    box-shadow: 0 6px 14px rgba(99, 102, 241, 0.32) !important;
}

.finance-submenu-list {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: visible;
    position: absolute;
    top: 0;
    left: calc(100% - 8px);
    min-width: 340px;
    max-width: 420px;
    z-index: 2400;
    padding: 0.5rem;
    border: 1px solid var(--etax-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.16);
    transform: translateX(-8px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.finance-submenu-item {
    margin-left: 0;
    margin-bottom: 0.18rem;
    border-left: none;
    border-radius: 8px !important;
}

.qb-column {
    position: relative;
    overflow: visible;
}

.qb-hover-hint {
    font-size: 0.68rem;
    color: #64748b;
    margin: -0.3rem 0 0.6rem;
    padding-left: 0.15rem;
}

.qb-submenu-group {
    position: relative;
    border: 1px solid var(--etax-border-light);
    border-radius: 10px;
    margin-bottom: 0.55rem;
    background: rgba(240, 253, 244, 0.65);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.qb-submenu-group::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 2px;
    border-radius: 999px;
    background: transparent;
    transition: background-color 0.18s ease;
}

.qb-submenu-trigger {
    margin-bottom: 0 !important;
    cursor: default;
    align-items: center !important;
}

.qb-submenu-trigger .mega-menu-title {
    font-size: 0.82rem !important;
}

.qb-submenu-arrow {
    margin-left: auto;
    font-size: 1rem;
    color: #86efac;
    transition: transform 0.18s ease, color 0.18s ease;
}

.qb-submenu-list {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: visible;
    position: absolute;
    top: 0;
    left: calc(100% - 8px);
    right: auto;
    min-width: 340px;
    max-width: 420px;
    z-index: 2400;
    padding: 0.5rem;
    border: 1px solid var(--etax-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.16);
    transform: translateX(-8px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

/* Flip to left when JS adds .flyout-left to the group */
.qb-submenu-group.flyout-left .qb-submenu-list {
    left: auto;
    right: calc(100% - 8px);
    transform: translateX(8px);
}

.qb-submenu-item {
    margin-left: 0;
    margin-bottom: 0.18rem;
    border-radius: 8px !important;
}

.mega-menu-column:not(.qb-column):not(.operations-column):not(.finance-column):not(.settings-column):not(.admin-column):not(.user-column):not(.language-column) .mega-menu-item {
    background: rgba(238, 242, 255, 0.65) !important;
    border: 1px solid var(--etax-border-light);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.mega-menu-column:not(.qb-column):not(.operations-column):not(.finance-column):not(.settings-column):not(.admin-column):not(.user-column):not(.language-column) .mega-menu-item:hover {
    background: #ffffff !important;
    border-color: rgba(99, 102, 241, 0.35);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
}

.operations-column .mega-menu-item,
.finance-column .mega-menu-item,
.settings-column .mega-menu-item,
.user-column .mega-menu-item,
.language-column .mega-menu-item,
.admin-column .mega-menu-item {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transition: var(--etax-transition) !important;
}

.operations-column .mega-menu-item:hover,
.finance-column .mega-menu-item:hover,
.settings-column .mega-menu-item:hover,
.user-column .mega-menu-item:hover,
.language-column .mega-menu-item:hover,
.admin-column .mega-menu-item:hover {
    background: var(--etax-gray-50) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

@media (min-width: 992px) {

    .finance-submenu-group:hover,
    .finance-submenu-group:focus-within {
        border-color: var(--etax-border-light);
        background: #ffffff;
        box-shadow: none;
    }

    .finance-submenu-group:hover::before,
    .finance-submenu-group:focus-within::before {
        background: rgba(99, 102, 241, 0.55);
    }

    .finance-submenu-group:hover .finance-submenu-list,
    .finance-submenu-group:focus-within .finance-submenu-list {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }

    .finance-submenu-group:hover .finance-submenu-arrow,
    .finance-submenu-group:focus-within .finance-submenu-arrow {
        transform: rotate(180deg);
        color: var(--etax-universal);
    }

    .qb-submenu-group:hover,
    .qb-submenu-group:focus-within {
        border-color: var(--etax-border-light);
        background: #ffffff;
        box-shadow: none;
    }

    .qb-submenu-group:hover::before,
    .qb-submenu-group:focus-within::before {
        background: rgba(34, 197, 94, 0.55);
    }

    .qb-submenu-group:hover .qb-submenu-list,
    .qb-submenu-group:focus-within .qb-submenu-list {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }

    .qb-submenu-group:hover .qb-submenu-arrow,
    .qb-submenu-group:focus-within .qb-submenu-arrow {
        transform: rotate(180deg);
        color: #15803d;
    }
}

/* ── MOBILE (<992px): Bootstrap collapse — accordion ── */
@media (max-width: 991.98px) {

    /* Remove desktop separator on mobile — stacks vertically */
    #nav-utilities {
        border-left: none;
        padding-left: 0;
        margin-left: 0;
    }

    /* Remove bottom underline indicator on mobile */
    #nav-modules .nav-item.show::after {
        display: none;
    }

    .navbar-toggler,
    .etax-top-nav-toggler {
        border-color: #d1d5db !important;
        background: #ffffff !important;
        color: var(--etax-navbar-text) !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .navbar-toggler .material-symbols-outlined,
    .etax-top-nav-toggler .material-symbols-outlined {
        font-size: 1.45rem;
        line-height: 1;
        font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20;
    }

    /* Ktheje nav-item në relative që dropdown të funksionojë në collapse */
    .nav-item:has(> .mega-menu) {
        position: relative !important;
    }

    .mega-menu {
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        padding: 0 !important;
        margin-top: 0 !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
    }

    .mega-menu-md,
    .mega-menu-sm {
        width: 100% !important;
    }

    .mega-menu-content {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .mega-menu-column {
        min-width: 0 !important;
        border-bottom: 1px solid var(--etax-border-light);
    }

    .mega-menu-column:last-child {
        border-bottom: none;
    }

    .mega-menu-header {
        cursor: pointer !important;
        padding: 0.7rem 0.5rem !important;
        margin-bottom: 0 !important;
        border-bottom: none !important;
        justify-content: space-between !important;
        -webkit-user-select: none;
        user-select: none;
    }

    .mega-menu-header::after {
        content: 'expand_more';
        font-family: 'Material Symbols Outlined';
        font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
        font-size: 1rem;
        color: var(--etax-secondary);
        transition: transform 0.2s;
        margin-left: auto;
        line-height: 1;
    }

    .mega-menu-header.mm-open::after {
        transform: rotate(180deg);
    }

    .mega-menu-column-items {
        display: none;
        padding: 0.25rem 0 0.5rem 0;
    }

    .mega-menu-column-items.mm-visible {
        display: block;
    }

    .mega-menu-item {
        padding: 0.45rem 0.6rem !important;
    }

    .finance-submenu-list {
        position: static;
        min-width: 0;
        max-width: none;
        z-index: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        overflow: visible;
        transform: none;
        padding: 0.25rem 0.3rem 0.35rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .finance-submenu-arrow {
        display: none;
    }

    .finance-hover-hint {
        display: none;
    }

    .qb-submenu-list {
        position: static;
        min-width: 0;
        max-width: none;
        z-index: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        overflow: visible;
        transform: none;
        padding: 0.25rem 0.3rem 0.35rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .qb-submenu-arrow {
        display: none;
    }

    .qb-hover-hint {
        display: none;
    }
}



/* ========================================
   ENTERPRISE PREMIUM DESIGN SYSTEM
   Standardized Layout & Form Components
   ======================================== */


.bg-slate-50 {
    background-color: var(--premium-bg) !important;
}

[data-theme="dark"] .bg-slate-50 {
    background-color: var(--premium-card-bg) !important;
}

/* Premium Card Architecture */
.card-premium {
    background: var(--premium-card-bg);
    border: 1px solid var(--premium-border) !important;
    border-radius: 12px;
    box-shadow: var(--etax-shadow-sm);
    transition: all 0.3s ease;
}

.card-premium:hover {
    box-shadow: var(--etax-shadow-md);
}

[data-theme="dark"] .card-premium {
    box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.4);
}

.card-header-premium {
    background: transparent;
    border-bottom: 1px solid var(--premium-border);
    padding: 1.25rem 1.5rem;
}

/* Tooltip i kostumizuar – teksti i plotë kur fusha është e cepur */
#etax-fulltext-tooltip {
    position: fixed;
    display: none;
    z-index: 99999;
    background: rgba(15, 23, 42, 0.95);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    color: #fff;
    padding: 10px 16px;
    border-radius: var(--etax-radius-md);
    font-size: 0.8rem;
    font-weight: 500;
    max-width: 360px;
    line-height: 1.5;
    box-shadow: var(--etax-shadow-lg);
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.1);
    white-space: pre-wrap;
    word-break: break-word;
}

.etax-truncate-tooltip {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

/* Premium Typography & Form Labels */
.form-label-premium {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #0f172a;
    margin-bottom: 0.5rem;
    display: block;
}

/* Standardized Form Controls */
.form-control-premium {
    border: 2px solid var(--premium-border) !important;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    color: var(--premium-primary);
    background-color: var(--premium-card-bg);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="dark"] .form-control-premium,
[data-theme="dark"] .form-select-premium {
    background-color: var(--etax-gray-50) !important;
    /* Inset look */
    border-color: var(--etax-border) !important;
}

[data-theme="dark"] .input-group-premium {
    background-color: var(--etax-gray-50) !important;
}

.form-control-premium:focus {
    border-color: var(--premium-accent) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    outline: none;
}

.form-select-premium {
    border: 2px solid var(--premium-border);
    border-radius: 8px;
    padding: 0.75rem 2.5rem 0.75rem 1rem;
    font-size: 0.95rem;
    background-color: var(--premium-card-bg);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.form-select-premium:focus {
    border-color: var(--premium-accent);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    outline: none;
}

.section-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--premium-primary);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

/* Form section header (e.g. "Informacioni i Palës", "Detajet e Faturës") */
.form-section-title {
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--premium-primary);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.form-section-title::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: linear-gradient(to right, var(--premium-border), transparent);
}

/* Premium Action Buttons */
.btn-premium-primary {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    color: white;
    border-radius: 12px;
    padding: 0.85rem 1.5rem;
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.2), 0 4px 6px -4px rgba(15, 23, 42, 0.1);
    text-transform: uppercase;
    letter-spacing: 0.025em;
    font-size: 0.9rem;
}

.btn-premium-primary:hover {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.25), 0 8px 10px -6px rgba(15, 23, 42, 0.1);
    color: #fff;
}

.btn-premium-primary:active {
    transform: translateY(0);
}

.btn-premium-outline {
    background: white;
    color: var(--premium-text);
    border: 1px solid var(--premium-border);
    border-radius: 12px;
    padding: 0.85rem 1.5rem;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-premium-outline:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: var(--premium-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* Hover Utilities */
.hover-translate-y {
    transition: all 0.3s ease;
}

.hover-translate-y:hover {
    transform: translateY(-2px);
}

.toggle-switch-premium .form-check-input {
    width: 2.8rem;
    height: 1.5rem;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3csvg%3e");
    background-color: #e2e8f0;
    border-color: #cbd5e1;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.toggle-switch-premium .form-check-input:checked {
    background-color: var(--premium-primary);
    border-color: var(--premium-primary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3csvg%3e");
}

.toggle-switch-premium .form-check-input:focus {
    box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.1);
    border-color: var(--premium-primary);
}

.toggle-switch-premium .form-check-input:active {
    filter: brightness(90%);
    transform: scale(0.95);
}

/* Toggle labels always look the same — only the icon changes state */
label:has(.toggle-switch-premium .form-check-input) {
    background-color: #fcfcfd !important;
    border-color: rgba(15, 23, 42, 0.15) !important;
}

label:has(.toggle-switch-premium .form-check-input) span {
    color: var(--premium-primary) !important;
}

/* ========================================
   CONFIG PANEL — Reusable Design System
   Compact section headers & toggle rows
   ======================================== */

/* Section header: icon + uppercase label */
.config-section-header {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
}

.config-section-icon {
    font-size: 0.75rem;
    color: var(--premium-accent);
    width: 14px;
    text-align: center;
    flex-shrink: 0;
}

.config-section-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--premium-muted);
    margin: 0;
}

/* Toggle row: full-width label with text left, switch right */
.toggle-row-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    border: 1px solid var(--premium-border);
    cursor: pointer;
    transition: border-color 0.2s ease;
    -webkit-user-select: none;
    user-select: none;
}

.toggle-row-label:hover {
    border-color: rgba(15, 23, 42, 0.2);
}

.toggle-row-text {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--premium-primary);
    line-height: 1.3;
}



/* Premium Navigation Elements */
.nav-pills-premium {
    border-bottom: 0;
}

.nav-pills-premium .nav-link {
    color: #0f172a;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.5rem 1rem;
    border-radius: 0;
    transition: all 0.2s ease;
    border-bottom: 2px solid transparent;
}

.nav-pills-premium .nav-link.active {
    color: #0f172a;
    background-color: transparent !important;
    border-bottom: 2px solid #0f172a;
}

.nav-pills-premium .nav-link:hover:not(.active) {
    color: #1e293b;
    background-color: rgba(15, 23, 42, 0.04);
}

.premium-tabs .nav-link {
    color: #475569;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
    transition: all 0.2s;
}

.premium-tabs .nav-link:hover {
    background-color: #f1f5f9;
}

.premium-tabs .nav-link.active {
    background-color: #0f172a;
    color: #ffffff;
}

.nav-pills-premium .nav-link .material-symbols-outlined,
.nav-pills-premium .nav-link .material-icons,
.premium-tabs .nav-link .material-symbols-outlined,
.premium-tabs .nav-link .material-icons {
    font-size: 1em !important;
    line-height: 1;
    vertical-align: -0.12em;
}

[data-theme="dark"] .nav-pills-premium .nav-link:not(.active) {
    color: var(--etax-gray-400);
}

/* Premium Table Components */
.table-premium th {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--etax-primary);
    font-weight: 700;
    padding: 1rem;
    border-bottom: 1px solid var(--premium-border);
    background-color: var(--etax-gray-50);
}

.table-premium td {
    padding: 1rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--premium-border);
}

/* EtaxGrid preset: scanning (application-level typography harmonization) */
.etax-grid-container.etax-grid-preset-scanning .etax-grid-search input {
    font-size: 0.82rem;
}

.etax-grid-container.etax-grid-preset-scanning .etax-grid-search i {
    font-size: 0.76rem;
}

.etax-grid-container.etax-grid-preset-scanning .etax-grid-table th {
    font-size: 0.72rem;
}

.etax-grid-container.etax-grid-preset-scanning .etax-grid-table td {
    font-size: 0.82rem;
    line-height: 1.3;
}

.etax-grid-container.etax-grid-density-compact .etax-grid-table th {
    padding: 0.46rem 0.7rem;
    font-size: 0.72rem;
}

.etax-grid-container.etax-grid-density-compact .etax-grid-table td {
    padding: 0.42rem 0.7rem;
    font-size: 0.82rem;
    line-height: 1.28;
}

/* ── Premium Grid: header gradient più marcato + divisore ── */
.etax-grid-container.etax-grid-toolbar-premium .etax-grid-table thead {
    background: linear-gradient(180deg, #f0f4f8 0%, #e8edf3 100%);
    box-shadow: inset 0 -1px 0 #cbd5e1;
}

.etax-grid-container.etax-grid-toolbar-premium .etax-grid-table th {
    border-bottom: 1px solid #cbd5e1;
}

.etax-grid-container.etax-grid-toolbar-premium .etax-grid-table th:hover {
    background: rgba(15, 23, 42, 0.045);
}

/* Badge "0" (vuoto) → opacità ridotta, look faded */
.etax-grid-table .badge.bg-light.text-dark.border {
    min-width: 22px;
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-size: 0.71rem !important;
    font-weight: 600 !important;
    padding: 0.2em 0.45em;
    border-color: #e2e8f0 !important;
    background-color: #f1f5f9 !important;
    color: #64748b !important;
}

/* Quando il valore è 0, mostra più sbiadito */
.etax-grid-table .badge.bg-light.text-dark.border:empty,
.etax-grid-table td[data-value="0"] .badge.bg-light {
    opacity: 0.45;
}

/* Colonne finanziarie: lieve separatore visivo a destra */
.etax-grid-table th.ps-col-money:not(:last-of-type),
.etax-grid-table td.ps-col-money:not(:last-of-type) {
    border-right: 1px solid rgba(226, 232, 240, 0.6);
}


.etax-grid-container.etax-grid-toolbar-premium .etax-grid-toolbar {
    padding: 0.72rem 0.9rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.etax-grid-container.etax-grid-toolbar-premium .etax-grid-search {
    border: 1px solid #cfd9e6;
    border-radius: 999px;
    background: #fff;
    min-height: 34px;
    padding-inline: 0.7rem;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
}

.etax-grid-container.etax-grid-toolbar-premium .etax-grid-search:focus-within {
    border-color: #0f172a;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}

.etax-grid-container.etax-grid-toolbar-premium .etax-grid-search input {
    height: 32px;
    font-size: 0.82rem;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    padding: 0.35rem 0.55rem 0.35rem 1.75rem !important;
}

.etax-grid-container.etax-grid-toolbar-premium .etax-grid-search .material-symbols-outlined {
    color: #64748b;
    font-size: 0.78rem !important;
}

.etax-grid-container.etax-grid-toolbar-premium .etax-page-size-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-right: 0.25rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.etax-grid-min-height-standard {
    min-height: 450px;
}

.etax-row-stack {
    min-width: 0;
}

.etax-row-primary {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.etax-row-secondary {
    display: block;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.etax-row-meta {
    font-size: 0.82rem;
    font-weight: 500;
    color: #64748b;
    white-space: nowrap;
}

.etax-row-value {
    font-size: 0.82rem;
    font-weight: 600;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.etax-row-link {
    text-decoration: none;
    transition: opacity 0.2s;
    display: inline-block;
}

.etax-row-link:hover {
    opacity: 0.8;
}

.etax-row-link:focus-visible,
.etax-action-btn:focus-visible {
    outline: 2px solid #0f172a;
    outline-offset: 2px;
}

.etax-grid-badge {
    border-radius: 999px;
}

.etax-grid-badge-sm {
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0.01em;
    padding: 0.24rem 0.52rem;
}

/* Numerical Data Visualization */
.input-number-premium,
.input-quantity-premium {
    text-align: right !important;
    font-family: 'JetBrains Mono', 'Courier New', Courier, monospace;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    font-weight: 700 !important;
    letter-spacing: -0.5px;
    color: var(--premium-primary);
}

/* Hide spin buttons */
.input-number-premium::-webkit-outer-spin-button,
.input-number-premium::-webkit-inner-spin-button,
.input-quantity-premium::-webkit-outer-spin-button,
.input-quantity-premium::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

.input-number-premium[type=number],
.input-quantity-premium[type=number] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Unified Premium Input Groups */
.input-group-premium {
    border: 2px solid var(--premium-border) !important;
    border-radius: 8px !important;
    overflow: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--premium-card-bg);
}

.input-group-premium:focus-within {
    border-color: var(--premium-accent) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

.input-group-premium .form-control,
.input-group-premium .form-select {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.input-group-premium .input-group-text {
    background: transparent !important;
    border: none !important;
    color: var(--premium-accent);
    font-size: 0.75rem;
    padding-left: 0;
    padding-right: 0.75rem;
}

/* Premium input group with left icon (e.g. Review invoice header) */
.input-group-premium.input-group-premium-icon {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    min-height: 42px;
}

.input-group-premium-icon .form-control-premium {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    flex: 1;
    padding: 0 0.5rem;
    min-height: 0;
}

.input-group-premium-icon>i {
    color: var(--premium-accent);
    font-size: 0.875rem;
    width: 22px;
    text-align: center;
    flex-shrink: 0;
}

.input-group-premium-icon.input-group-premium-icon-main {
    min-height: 46px;
}

.input-group-premium-icon.input-group-premium-icon-main .form-control-premium {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--premium-primary) !important;
}

.bg-quantity-premium {
    background-color: var(--etax-gray-50) !important;
}

.input-quantity-premium {
    text-align: right !important;
    font-weight: 800 !important;
    color: var(--premium-primary) !important;
    font-family: 'JetBrains Mono', monospace;
}

/* Placeholder Styling */
.form-control::placeholder,
textarea.form-control::placeholder,
.form-control-premium::placeholder,
.ts-wrapper .ts-control input::placeholder,
.ts-wrapper .ts-control .placeholder,
.ts-wrapper .ts-control>input {
    color: #94a3b8 !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0.02em !important;
    opacity: 0.8 !important;
}

[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] textarea.form-control::placeholder,
[data-theme="dark"] .form-control-premium::placeholder {
    color: var(--etax-gray-600) !important;
}

/* Ensure placeholder text doesn't look like a real value */
.ts-wrapper.single .ts-control .item:empty+input::placeholder,
.ts-wrapper.single .ts-control .placeholder {
    color: #94a3b8 !important;
    font-style: italic !important;
}

/* TomSelect Integration */
.ts-wrapper .ts-control {
    border-radius: 8px !important;
    border: 2px solid var(--premium-border) !important;
    padding: 0 0.8rem !important;
    height: 38px !important;
    min-height: 38px !important;
    background-color: var(--premium-card-bg);
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.ts-wrapper.focus .ts-control {
    border-color: var(--premium-accent) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

.ts-dropdown {
    border-radius: 8px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid var(--premium-border) !important;
    z-index: 1060 !important;
}

.ts-dropdown .option {
    padding: 0.5rem 1rem !important;
}

.ts-dropdown .option:hover,
.ts-dropdown .active {
    background-color: rgba(59, 130, 246, 0.08) !important;
}

/* Visual Type Selector Cards */
.type-card {
    cursor: pointer;
    border: 2px solid var(--premium-border);
    border-radius: 12px;
    padding: 1rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-align: center;
    background: var(--premium-card-bg);
    flex: 1;
}

.type-card:hover {
    border-color: var(--premium-accent);
    background-color: rgba(59, 130, 246, 0.02);
    transform: translateY(-2px);
}

.type-card.active {
    border-color: var(--premium-accent);
    background-color: rgba(59, 130, 246, 0.05);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);
}

.type-card.active .type-icon {
    color: var(--premium-accent);
    transform: scale(1.1);
}

.type-icon {
    font-size: 1.5rem;
    color: var(--premium-muted);
    margin-bottom: 0.5rem;
    transition: all 0.3s ease;
}

.type-label {
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
}

/* Utility Animations */
.section-animate {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    transform: translateY(0);
}

.section-animate.d-none {
    opacity: 0 !important;
    transform: translateY(10px);
    display: none !important;
}

.input-emphasis {
    font-size: 1.25rem !important;
    padding: 1rem !important;
    border-width: 2px !important;
}

.banner-premium-info {
    background: linear-gradient(to right, rgba(59, 130, 246, 0.05), var(--premium-card-bg));
    border: 1px solid var(--etax-border) !important;
    border-left: 4px solid var(--premium-accent) !important;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

[data-theme="dark"] .banner-premium-info span {
    color: var(--etax-gray-300) !important;
}

.banner-premium-info i {
    color: var(--premium-accent);
    font-size: 1rem;
}

.banner-premium-info span {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--etax-primary);
    letter-spacing: -0.01em;
}

/* ========================================
   RESPONSIVE DESIGN SYSTEM (Premium Overrides)
   ======================================== */
@media (max-width: 991.98px) {
    .border-end-md {
        border-right: none !important;
        border-bottom: 1px solid var(--premium-border) !important;
        padding-bottom: 1rem !important;
        margin-bottom: 1rem !important;
    }
}

@media (max-width: 767.98px) {
    .type-card {
        padding: 0.75rem 0.5rem !important;
    }

    .type-icon {
        font-size: 1.25rem !important;
    }

    .type-label {
        font-size: 0.6rem !important;
    }

    .row:has(.toggle-switch-premium)>div {
        width: 100% !important;
    }

    .card-premium {
        border-radius: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .nav-pills-premium .nav-link {
        padding: 0.4rem 0.6rem !important;
        font-size: 0.6rem !important;
    }
}

/* ========================================
   MODERN UI COMPONENTS - Segmented & Lists
   ======================================== */

/* Premium Segmented Control */
.segmented-control {
    display: flex;
    background: var(--etax-gray-100);
    padding: 4px;
    border-radius: 12px;
    position: relative;
    margin-bottom: 8px;
    border: 1px solid var(--etax-border);
}

.segmented-option {
    flex: 1;
    text-align: center;
    padding: 8px 12px;
    z-index: 1;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--etax-secondary);
    transition: color 0.3s ease;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.segmented-option.active {
    color: var(--etax-primary);
}

.segmented-slider {
    position: absolute;
    height: calc(100% - 8px);
    width: calc(33.33% - 4px);
    background: var(--premium-card-bg);
    border-radius: 9px;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}

/* Helper Text Styling */
.type-helper-text {
    font-size: 0.65rem;
    color: var(--etax-secondary);
    background: var(--etax-gray-50);
    padding: 8px 12px;
    border-radius: 8px;
    border-left: 3px solid #3b82f6;
    margin-top: 5px;
    text-align: left;
    min-height: 42px;
    display: flex;
    align-items: center;
}

/* ========================================
   ETAX PREMIUM GRID SYSTEM
   ======================================== */

.etax-grid-container {
    background: var(--premium-card-bg);
    border-radius: var(--etax-radius-lg);
    border: 1px solid var(--etax-border);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    font-family: var(--etax-font-main);
}

.etax-grid-toolbar {
    padding: 0.72rem 0.9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    flex-shrink: 0;
}

.etax-grid-search {
    position: relative;
    max-width: 320px;
    /* clamp: min 160px, preferred 20vw, max 280px — adaptive me zoom */
    width: clamp(160px, 20vw, 280px);
    transition: width 0.3s ease;
    border: 1px solid #cfd9e6;
    border-radius: 999px;
    background: #fff;
    min-height: 34px;
    padding-inline: 0.7rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.etax-grid-search:focus-within {
    width: clamp(200px, 25vw, 320px);
    border-color: #0f172a;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.07);
}

.etax-grid-search input {
    width: 100%;
    height: 32px;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    font-size: 0.82rem;
    padding: 0.35rem 0.55rem 0.35rem 1.75rem !important;
}

.etax-grid-search .material-symbols-outlined {
    position: absolute;
    left: 0.8rem;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    font-size: var(--etax-grid-header-icon-font) !important;
    transition: color 0.2s ease;
}

.etax-grid-search:focus-within .material-symbols-outlined {
    color: #0f172a;
}

@media (max-width: 768px) {
    .etax-grid-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .etax-grid-toolbar>.d-flex {
        flex-wrap: wrap;
        width: 100%;
    }

    .etax-grid-search {
        width: 100%;
        max-width: 100%;
    }

    .etax-grid-search:focus-within {
        width: 100%;
    }

    .etax-grid-actions {
        justify-content: flex-end;
        width: 100%;
    }

    .filters-runtime-bar {
        flex-wrap: wrap;
        margin-bottom: 4px;
    }

    /* Scale down titles and breadcrumbs for small factors */
    .si-page-title,
    h1 {
        font-size: 1.25rem !important;
    }

    .premium-black-breadcrumb {
        font-size: 0.7rem;
    }

    .etax-page-icon {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px;
    }

    .etax-page-icon .material-symbols-outlined {
        font-size: 1.1rem !important;
    }

    .etax-header-compact .etax-page-icon {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px;
        border-radius: 0.625rem;
    }

    .etax-header-compact .d-flex.align-items-center.gap-3 {
        min-height: 32px;
    }

    .premium-black-breadcrumb.breadcrumb-as-title .breadcrumb-item.active {
        font-size: 1.05rem;
    }
}

/* Skeleton Shimmer Loading Effect */
@keyframes skeleton-shimmer {
    0% {
        background-position: -468px 0;
    }

    100% {
        background-position: 468px 0;
    }
}

.skeleton-shimmer {
    background: #f6f7f8;
    background-image: linear-gradient(to right, #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%);
    background-repeat: no-repeat;
    background-size: 800px 104px;
    display: inline-block;
    position: relative;
    animation-duration: 1.2s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: skeleton-shimmer;
    animation-timing-function: linear;
    border-radius: 4px;
}

[data-theme="dark"] .skeleton-shimmer {
    background: #1e293b;
    background-image: linear-gradient(to right, #1e293b 0%, #334155 20%, #1e293b 40%, #1e293b 100%);
}

.skeleton-text {
    height: 12px;
    width: 100%;
    margin: 8px 0;
}

.skeleton-badge {
    height: 24px;
    width: 80px;
    border-radius: 50px;
}

.skeleton-circle {
    height: 32px;
    width: 32px;
    border-radius: 50%;
}

.etax-grid-container {
    min-height: 400px;
    position: relative;
    height: var(--etax-grid-height) !important;
    max-height: var(--etax-grid-height) !important;
    min-height: var(--etax-grid-min-height) !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Lejojme scroll horizontal per tabelat masive ne .table-responsive */
.etax-grid-container .table-responsive {
    overflow-x: auto;

    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}

.etax-grid-container.etax-grid-scroll-contained .table-responsive {
    max-height: var(--etax-grid-body-max-height, clamp(280px, 62dvh, 750px));
}

.etax-grid-container.etax-grid-scroll-contained .table-responsive::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.etax-grid-container.etax-grid-scroll-contained .table-responsive::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
}

.etax-grid-container.etax-grid-scroll-contained .table-responsive::-webkit-scrollbar-track {
    background: transparent;
}

.etax-grid-container.etax-grid-sticky-header .etax-grid-table thead th {
    position: sticky;
    top: 0;
    z-index: 30;  /* must be well above any badge/tooltip in data rows */
    background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
    border-bottom: 1px solid #cbd5e1;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 0 #e2e8f0;
    /* Force GPU compositing layer — fixes Chromium table-layout:fixed sticky painting bug
       where td content bleeds through transparent/gradient th backgrounds */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
    isolation: isolate;
}

/* Inner-scroll grids (maxBodyHeight): thead stays at top naturally BUT background
   must be opaque so rows scrolling behind it don’t show through transparent th cells */
.etax-grid-container.etax-grid-scroll-contained .etax-grid-table thead {
    position: sticky;
    top: 0;
    z-index: 20;
}
.etax-grid-container.etax-grid-scroll-contained .etax-grid-table thead th {
    background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

@media (max-width: 768px) {
    .etax-grid-container {
        height: auto !important;
        max-height: none !important;
        min-height: var(--etax-grid-mobile-min-height) !important;
    }

    .etax-grid-container.etax-grid-responsive-balanced.etax-grid-scroll-contained .table-responsive {
        max-height: none;
    }
}

/* Zoom > 125%: browser rrit device pixel ratio → kalojmë në auto height */
/* min-resolution: 1.25dppx aktivizohet automatikisht kur zoom > ~125% */
@media (min-resolution: 1.25dppx) {
    .etax-grid-container {
        height: auto !important;
        max-height: none !important;
        min-height: clamp(300px, 55dvh, 600px) !important;
    }

    .etax-split-layout {
        height: auto !important;
        min-height: 0 !important;
    }

    .etax-split-panel {
        min-height: clamp(280px, 50dvh, 560px);
        max-height: none;
    }

    /* Search box zgjerohet pak më shumë kur zoom-i e ngushton hapësirën */
    .etax-grid-search {
        width: clamp(140px, 18vw, 260px);
    }

    .etax-grid-search:focus-within {
        width: clamp(170px, 22vw, 300px);
    }
}

.etax-grid-table {
    width: 100%;
    border-collapse: collapse;
}

.etax-grid-table th:hover {
    background: rgba(15, 23, 42, 0.035);
    color: #1e293b;
}

.etax-grid-table td {
    padding: 0.5rem 0.8rem;
    border-bottom: 1px solid var(--etax-border-light);
    color: var(--etax-gray-800);
    vertical-align: middle;
    line-height: 1.3;
    font-size: 0.82rem;
    font-weight: 500;
    -webkit-font-smoothing: subpixel-antialiased;
}

.etax-grid-table .material-symbols-outlined {
    font-size: 0.88rem;
    line-height: 1;
    vertical-align: middle;
}

/* Force all elements inside td to inherit the uniform style (like the Unit column) */
.etax-grid-table td>*,
.etax-grid-table td span,
.etax-grid-table td div:not(.small) {
    color: inherit !important;
    font-weight: inherit !important;
    font-size: inherit;
}

/* Grid Row Selected State */
.etax-grid-row-selected {
    background-color: #f8fafc !important;
}

.etax-grid-row-selected td {
    color: #0f172a !important;
    /* Use box-shadow to prevent border-collapse from hiding the borders */
    box-shadow: inset 0 2px 0 -1px #3b82f6, inset 0 -2px 0 -1px #3b82f6 !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
}

/* Indicator bar on the left */
.etax-grid-row-selected td:first-child {
    box-shadow: inset 3px 0 0 #3b82f6, inset 0 2px 0 -1px #3b82f6, inset 0 -2px 0 -1px #3b82f6 !important;
    border-left: none !important;
}

/* Indicator bar on the right */
.etax-grid-row-selected td:last-child {
    box-shadow: inset -1px 0 0 #3b82f6, inset 0 2px 0 -1px #3b82f6, inset 0 -2px 0 -1px #3b82f6 !important;
    border-right: none !important;
}

.etax-grid-row-selected td,
.etax-grid-row-selected td:not(.etax-col-actions) span:not(.badge-movement-in):not(.badge-movement-out):not(.text-success):not(.text-danger):not(.badge),
.etax-grid-row-selected td a,
.etax-grid-row-selected td div {
    color: #0f172a !important;
    opacity: 1 !important;
}

.etax-grid-table .text-muted {
    color: var(--etax-secondary) !important;
    opacity: 0.75;
}

@keyframes gridFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.etax-grid-table tbody tr {
    animation: gridFadeIn 0.3s ease-out forwards;
    transition: background-color 0.15s ease;
}

/* Zebra striping — shumë subtil, ndihmon skanimin horizontal */
.etax-grid-table tbody tr:nth-child(even) {
    background-color: rgba(248, 250, 252, 0.7);
}

.etax-grid-table tbody tr:nth-child(odd) {
    background-color: #ffffff;
}

.etax-grid-table tbody tr:hover,
.etax-grid-table tr:hover {
    background-color: #f4f7fb !important;
}

.etax-grid-pagination {
    padding: 1rem 1.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    flex-shrink: 0;
}

.etax-pagination-info {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748b !important;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.etax-pagination-info strong {
    font-weight: 600;
    color: #1e293b !important;
}

.etax-pagination-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.etax-page-size-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-right: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748b !important;
    white-space: nowrap;
}

.etax-page-size-select {
    height: 32px;
    min-width: 60px;
    border: 1px solid #cbd5e1 !important;
    border-radius: var(--etax-radius-md);
    padding: 0 1.5rem 0 0.5rem;
    background-color: #f8fafc !important;
    color: #1e293b !important;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position: calc(100% - 12px) calc(50% - 2px), calc(100% - 7px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    transition: all 0.2s ease;
}

.etax-page-size-select:hover {
    border-color: #94a3b8 !important;
    background-color: #fff !important;
}

.etax-page-size-select:focus-visible {
    outline: none;
    border-color: #0f172a !important;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.1);
    background-color: #fff !important;
}

.etax-pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 32px;
    color: #94a3b8 !important;
    font-size: 0.85rem;
    pointer-events: none;
    font-weight: 600;
}

.etax-page-btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--etax-radius-md);
    border: 1px solid transparent !important;
    background: transparent !important;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 600;
    font-size: 0.8125rem;
    color: #475569 !important;
    box-shadow: none !important;
}

.etax-page-btn i,
.etax-page-btn .material-symbols-outlined {
    font-size: 1rem !important;
    font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 20;
    line-height: 1;
    color: #64748b;
    transition: color 0.2s ease;
}

.etax-page-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    background: transparent !important;
    border-color: transparent !important;
}

.etax-page-btn:disabled i,
.etax-page-btn:disabled .material-symbols-outlined {
    color: #cbd5e1;
}

.etax-page-btn:hover:not(:disabled) {
    background: #f1f5f9 !important;
    color: #0f172a !important;
}

.etax-page-btn:hover:not(:disabled) i,
.etax-page-btn:hover:not(:disabled) .material-symbols-outlined {
    color: #0f172a;
}

.etax-page-btn.active {
    background: #fff !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.etax-page-btn.active:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

.etax-page-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.2);
    border-color: #cbd5e1 !important;
}

/* Global Pagination Range Style (harmonized with etax-page-btn) */
.etax-pagination-range {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    min-width: 82px;
    height: 32px;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #334155;
    border: 1px solid #cbd5e1;
    border-radius: var(--etax-radius-md, 6px);
    padding: 0 0.6rem;
    background: #fff;
    font-variant-numeric: tabular-nums;
    box-shadow: none;
}

.etax-pagination-range small {
    font-size: 0.65rem;
    color: #64748b;
    font-weight: 600;
}

/* Global Pagination Wrapper for non-grid chunks */
.etax-pagination-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.25rem;
}

[data-theme="dark"] .etax-page-btn.active {
    background: #fff !important;
    color: #0f172a !important;
    border: 1.5px solid #0f172a !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12) !important;
}

/* Hover effect premium për rreshtat kudo në grid */
.etax-grid-table tbody tr {
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.etax-grid-table tbody tr:hover {
    background-color: #f8fafc !important;
}

/* Selected Row premium me ngjyra neutrale (jo blu) */
.etax-grid-table tbody tr.etax-grid-row-selected {
    background-color: #f1f5f9 !important;
    box-shadow: inset 3px 0 0 #0f172a, inset 0 1px 3px rgba(15, 23, 42, 0.05);
}

.etax-grid-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.etax-grid-table tbody.etax-grid-soft-enter tr {
    animation: etax-grid-soft-enter 140ms ease-out;
}

@keyframes etax-grid-soft-enter {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Premium Action Buttons for Grids */
.btn-action-premium {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(0, 0, 0, 0.05);
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.btn-action-premium:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 0, 0, 0.1);
    background-color: #f8fafc;
}

.btn-action-premium i,
.btn-action-premium .material-symbols-outlined,
.btn-action-premium .material-icons {
    font-size: var(--etax-action-icon-size) !important;
    line-height: 1 !important;
}

.etax-grid-toolbar .etax-grid-actions {
    align-items: center;
}

.etax-grid-toolbar .etax-grid-actions .etax-action-btn {
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.2) !important;
    background: #fff !important;
    color: var(--etax-gray-800) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.etax-grid-toolbar .etax-grid-actions .etax-action-btn:hover {
    background: #0f172a !important;
    color: #fff !important;
    border-color: #0f172a !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2) !important;
}

.etax-grid-toolbar .etax-grid-actions .etax-action-btn .material-symbols-outlined,
.etax-grid-toolbar .etax-grid-actions .etax-action-btn .material-icons {
    font-size: var(--etax-action-icon-size) !important;
    line-height: 1 !important;
}

.etax-action-btn {
    width: 32px;
    min-width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    background-color: #fff;
    color: var(--etax-gray-800);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    text-decoration: none;
}

.etax-action-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 0, 0, 0.1);
    background-color: #f8fafc;
}

/* Ikona transition — refresh rotate dhe hover lift */
.etax-action-btn i,
.etax-action-btn .material-symbols-outlined {
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.etax-action-btn i,
.etax-action-btn .material-symbols-outlined,
.etax-action-btn .material-icons,
.etax-grid-actions-toggle .material-symbols-outlined,
.etax-grid-actions-toggle .material-icons,
.partner-action-btn .material-symbols-outlined,
.partner-action-btn .material-icons {
    font-size: var(--etax-action-icon-size) !important;
    line-height: 1 !important;
    inline-size: var(--etax-action-icon-size);
    block-size: var(--etax-action-icon-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Edit Button Specifics */
.etax-action-btn.edit-btn:hover {
    background: #0f172a;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.18);
}

/* Delete Button Specifics */
.etax-action-btn.delete-btn:hover {
    background: #ef4444;
    color: #ffffff !important;
    border-color: #ef4444;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.18);
}

/* ── Actions Overflow Menu ─────────────────────────────────────────────────── */
.etax-overflow-wrap {
    position: relative;
    display: inline-flex;
}
.etax-overflow-btn:hover {
    background: #e2e8f0;
    color: #334155;
    transform: none;
}
.etax-overflow-menu {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1060;
    min-width: 148px;
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.6rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.etax-overflow-wrap.show .etax-overflow-menu {
    display: block;
}
.etax-overflow-menu li {
    padding: 0;
}
/* Override etax-action-btn sizing/shape for items inside the dropdown */
.etax-overflow-menu .etax-overflow-item {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    height: auto !important;
    padding: 0.42rem 0.75rem !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #334155 !important;
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transform: none !important;
    box-shadow: none !important;
    transition: background 0.13s ease, color 0.13s ease;
    white-space: nowrap;
}
.etax-overflow-menu .etax-overflow-item:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    transform: none !important;
    box-shadow: none !important;
}
.etax-overflow-item .material-symbols-outlined {
    font-size: 0.95rem !important;
    flex-shrink: 0;
    color: #64748b;
}
.etax-overflow-item:hover .material-symbols-outlined {
    color: #0f172a;
}
.etax-overflow-item-label {
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1;
}
/* Separator between overflow wrap and inline buttons */
.etax-col-actions .etax-overflow-wrap + .etax-action-btn {
    margin-left: 2px;
}

/* Kolona Veprimet — e ngushtë: ~2× buton 34px + gap i vogël; max-width mbulon edhe ⋯+2 (overflow) */
.etax-grid-table th.etax-col-actions,
.etax-grid-table td.etax-col-actions {
    width: 1%;
    min-width: 80px;
    max-width: 130px;
    padding-left: 0.3rem !important;
    padding-right: 1.15rem !important; /* increased to push buttons cleanly inside row boundary */
    box-sizing: border-box;
    vertical-align: middle;
}
.etax-grid-table.etax-grid-clipped th.etax-col-actions,
.etax-grid-table.etax-grid-clipped td.etax-col-actions {
    min-width: 80px;
    max-width: 130px;
    /* overflow must stay visible so the fixed-positioned dropdown isn't clipped */
    overflow: visible !important;
}
.etax-grid-table th.etax-col-actions {
    /* Enterprise command column: header content is intentionally empty */
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Empty .th-content for Actions (enterprise convention: no visible label) */
.etax-grid-table th.etax-col-actions .th-content--actions {
    display: block;
    height: 0;
    min-height: 0;
}
.etax-col-actions .etax-col-actions-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.28rem;
}
.etax-col-actions .etax-grid-actions-wrap {
    gap: 0.28rem !important;
}
/* Filler column — absorbs free space when table-layout:fixed is active.
   Must be completely invisible: no border, padding, background, or hover effects.
   NOTE: width is intentionally NOT set here — the inline width:auto on the element
   lets table-layout:fixed assign all remaining horizontal space to the filler. */
.etax-grid-table td.etax-col-filler,
.etax-grid-table th.etax-col-filler {
    padding: 0 !important;
    border: none !important;
    background: inherit !important;
    overflow: hidden;
    pointer-events: none;
}
/* Header filler — transparent lets thead gradient show through */
.etax-grid-table thead th.etax-col-filler {
    border-bottom: none !important;
    border-top: none !important;
    box-shadow: none !important;
    background: transparent !important;
    cursor: default;
}
/* In sticky-header context the filler must be opaque to cover scrolled rows */
.etax-grid-container.etax-grid-sticky-header .etax-grid-table thead th.etax-col-filler {
    border-bottom: none !important;
    border-top: none !important;
    box-shadow: none !important;
    background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%) !important;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 30;
    cursor: default;
}
/* Footer filler */
.etax-grid-footer-row td.etax-col-filler {
    border-top: none !important;
    box-shadow: none !important;
    background: #fbfcfe !important;
}



/* Approve Button Specifics — green, for approval actions */
.etax-action-btn.approve-btn:hover {
    background: #16a34a;
    color: #ffffff !important;
    border-color: #16a34a;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.18);
}

/* Cancel Button Specifics — amber, semantically distinct from delete */
.etax-action-btn.cancel-btn:hover {
    background: #d97706;
    color: #ffffff !important;
    border-color: #d97706;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.18);
}

/* Refresh + Panel Toggle Hover (Standardized) */
.etax-grid-toolbar .etax-grid-actions .etax-action-btn.refresh-btn:hover,
.etax-action-btn.refresh-btn:hover,
.etax-panel-toggle-btn:hover,
.it-je-panel-toggle-btn:hover {
    background: #f8fafc !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    transform: none;
    box-shadow: none;
}

.etax-action-btn.refresh-btn:hover i,
.etax-action-btn.refresh-btn:hover .material-symbols-outlined {
    transform: none;
}

/* ── Uniform hover për të gjitha butonat action në kolonën e veprimeve ── */
.etax-col-actions .etax-action-btn:not(.refresh-btn):not(.delete-btn):not(.cancel-btn):hover,
.etax-action-btn.copy-btn:hover,
.etax-action-btn.view-btn:hover {
    background: #0f172a;
    color: #ffffff !important;
    border-color: #0f172a;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
}

/* Default Hover nëse nuk është brenda col-actions dhe nuk ka klasë specifike */
.etax-action-btn:hover:not(.edit-btn):not(.delete-btn):not(.cancel-btn):not(.refresh-btn):not(.copy-btn):not(.view-btn) {
    background: #0f172a;
    color: #ffffff !important;
    border-color: #0f172a;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18);
}

/* ========================================
   GLOBAL SWEETALERT PREMIUM UX OVERRIDES
   ======================================== */

/* Premium Popup Window */
body.swal2-shown .swal2-popup {
    border-radius: 1.5rem !important;
    border: none !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
    padding: 2rem !important;
}

/* Rich Dark Title */
body.swal2-shown .swal2-title {
    font-weight: 800 !important;
    font-size: 1.5rem !important;
    color: var(--etax-gray-800) !important;
    margin-bottom: 0.5rem !important;
}

/* Clear, Professional Text */
body.swal2-shown .swal2-html-container {
    color: var(--etax-secondary) !important;
    font-weight: 500 !important;
    font-size: 1.05rem !important;
}

/* REVERSE BUTTONS: Cancel on left, Confirm on right */
body.swal2-shown .swal2-actions {
    flex-direction: row-reverse !important;
    margin-top: 2rem !important;
}

/* Base button styles applied to ALL sweetalert buttons */
body.swal2-shown .swal2-actions>button {
    border-radius: 50rem !important;
    padding: 0.6rem 2rem !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin: 0 0.5rem !important;
    box-shadow: none !important;
    border: none !important;
}

body.swal2-shown .swal2-actions>button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
}

/* Confirm Button - Primary Accent */
body.swal2-shown .swal2-styled.swal2-confirm,
body.swal2-shown .btn-primary:not(.swal2-cancel) {
    background: linear-gradient(135deg, var(--etax-primary) 0%, #1e293b 100%) !important;
    color: white !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25) !important;
    border: none !important;
}

body.swal2-shown .btn-danger:not(.swal2-cancel) {
    background-color: var(--etax-danger) !important;
    color: white !important;
}

/* Cancel / Light Buttons */
body.swal2-shown .swal2-styled.swal2-cancel,
body.swal2-shown .btn-secondary,
body.swal2-shown .btn-light {
    background-color: var(--etax-gray-100) !important;
    color: var(--etax-gray-600) !important;
    border: 1px solid var(--etax-border) !important;
}

body.swal2-shown .swal2-styled.swal2-cancel:hover,
body.swal2-shown .btn-secondary:hover,
body.swal2-shown .btn-light:hover {
    background-color: var(--etax-gray-200) !important;
    color: var(--etax-gray-800) !important;
}

/* Icon Premium Overrides */
body.swal2-shown .swal2-icon {
    border-width: 3px !important;
    transform: scale(1.1) !important;
}

body.swal2-shown .swal2-icon.swal2-warning {
    border-color: rgba(15, 23, 42, 0.2) !important;
    color: var(--etax-primary) !important;
}

body.swal2-shown .swal2-icon.swal2-success {
    border-color: #a7f3d0 !important;
    color: var(--etax-success) !important;
}

body.swal2-shown .swal2-icon.swal2-error {
    border-color: #fecaca !important;
    color: var(--etax-danger) !important;
}

/* ========================================
   GLOBAL PRINT SETTINGS (A4 / Letter Aware)
   ======================================== */
@media print {
    @page {
        size: auto;
        /* Default to browser/system setting */
        margin: 15mm;
    }

    /* Standard A4 Support */
    .print-a4 {
        width: 210mm;
        min-height: 297mm;
        margin: auto;
    }

    body {
        background: #fff !important;
        color: #000 !important;
        font-size: 11pt !important;
    }

    .no-print,
    .navbar,
    .footer,
    .minimal-footer,
    .btn,
    .breadcrumb,
    .alert,
    .etax-navbar,
    .modal-footer {
        display: none !important;
    }

    .main-content {
        padding: 0 !important;
        margin: 0 !important;
    }

    .card,
    .container,
    .container-fluid {
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }

    .table {
        width: 100% !important;
        border-collapse: collapse !important;
    }

    .table th,
    .table td {
        border: 1px solid #eee !important;
        padding: 6pt !important;
    }

    /* Force background colors if needed (SaaS premium look) */
    .bg-light {
        background-color: #f8f9fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .badge {
        border: 1px solid #ccc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

/* Address helper utilities */
.address-block {
    line-height: 1.4;
    white-space: pre-line;
}

.phone-link {
    text-decoration: none;
    color: inherit;
}

.phone-link:hover {
    color: var(--etax-primary-light);
}

/* Spinning animation for Material Symbol refresh icons */
@keyframes icon-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.spin-icon {
    animation: icon-spin 1s linear infinite;
    display: inline-block;
}

/* ========================================
   GLOBAL LIST / DATA PAGE UTILITIES
   ======================================== */
.report-standard-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0.2rem !important;
    padding: 0.85rem 1rem 0.75rem !important;
    border-bottom: 1px solid var(--etax-border) !important;
    background: linear-gradient(180deg, #ffffff 0%, var(--etax-gray-50) 100%) !important;
}

.report-standard-header .report-name {
    font-family: var(--etax-font-main) !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    color: var(--etax-primary) !important;
    margin: 0 !important;
}

.report-standard-header .company-name {
    font-family: var(--etax-font-main) !important;
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    color: var(--etax-gray-800) !important;
    margin: 0 !important;
}

.report-standard-header .report-period {
    font-family: var(--etax-font-main) !important;
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    color: var(--etax-gray-600) !important;
    margin: 0 !important;
}

.etax-filter-row {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

@media (max-width: 991.98px) {
    .report-standard-header {
        padding: 0.7rem 0.75rem !important;
    }

    .report-standard-header .report-name {
        font-size: 0.95rem !important;
    }

    .report-standard-header .company-name {
        font-size: 0.82rem !important;
    }

    .report-standard-header .report-period {
        font-size: 0.7rem !important;
    }

    .etax-filter-row {
        justify-content: stretch;
        align-items: stretch;
    }

    .etax-filter-row .quick-filter-capsule {
        width: 100%;
        flex-wrap: wrap;
        row-gap: 0.35rem;
    }

    .etax-filter-row .quick-filter-title {
        width: auto;
        flex: 1;
        margin-right: 0;
    }

    .etax-filter-row .btn-group {
        width: 100%;
    }

    .etax-filter-row .btn-quick-filter {
        flex: 1 1 0;
        justify-content: center;
        padding: 0 0.45rem !important;
        font-size: 0.69rem !important;
    }
}

/* Common Material Symbols styling for Lists */
.etax-ms {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

.etax-ms-page {
    font-size: 1.5rem;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

/* Compact context: scale icon to fit 32px box */
.etax-header-compact .etax-ms-page {
    font-size: 1.1rem;
}

.etax-ms-crumb {
    font-size: 0.78rem;
    opacity: 0.75;
}

.etax-ms-helper {
    font-size: 0.86rem;
    vertical-align: text-bottom;
}

.etax-ms-btn {
    font-size: 0.9rem;
}

.etax-ms-filter {
    font-size: 0.95rem;
}

.etax-ms-action {
    font-size: var(--etax-action-icon-size) !important;
    line-height: 1 !important;
    font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 20;
}

.filters-runtime-bar {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.18rem 0.22rem;
    border: 1px solid rgba(226, 232, 240, 0.65);
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    flex-wrap: wrap;
}

.active-filter-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.74rem;
    font-weight: 600;
    color: #312e81;
    background: linear-gradient(135deg, #eef2ff, #f8fafc);
    border: 1px solid rgba(99, 102, 241, 0.12);
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    white-space: nowrap;
}

.active-filter-hint .material-symbols-outlined {
    font-size: 0.9rem;
}

/* Legacy inline header rule removed in favor of .etax-header-compact */

/* SPLIT PANEL LAYOUT */
.etax-split-layout {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1rem;
    height: var(--etax-grid-height);
    min-height: var(--etax-grid-min-height);
}

.etax-split-main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.etax-split-main>.card {
    height: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.etax-split-main>.card>.card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.etax-split-main>.etax-grid-container,
.etax-split-main>.card>.card-body>.etax-grid-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    min-height: 0;
}

.etax-split-main>.card>.card-body>.etax-grid-container>.table-responsive {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: auto;
}

.etax-split-panel-wrap {
    flex: 0 0 360px;
    width: 360px;
    max-width: 360px;
    position: relative;
    overflow: visible;
    transition: width 0.22s ease, flex-basis 0.22s ease, opacity 0.2s ease;
}

.etax-split-panel-wrap.size-sm {
    flex: 0 0 320px;
    width: 320px;
    max-width: 320px;
}

.etax-split-panel-wrap.is-collapsed {
    flex-basis: 0;
    width: 0;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}

.etax-split-panel {
    width: 100%;
    height: 100%;
    min-height: var(--etax-grid-min-height);
    max-height: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.etax-split-panel-wrap.is-collapsed .etax-split-panel {
    display: none;
}

.etax-panel-header {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem;
    flex-shrink: 0;
}

.etax-panel-body {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem;
    background: #f8fafc;
}

.etax-panel-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--etax-gray-800) !important;
    background: transparent !important;
    color: var(--etax-gray-800) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.etax-panel-toggle-btn:hover {
    background: var(--etax-gray-800) !important;
    color: #fff !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border-color: var(--etax-gray-800) !important;
}

.etax-panel-toggle-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.etax-panel-toggle-btn .material-symbols-outlined {
    font-size: 1rem !important;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 20;
}

/* Panel Pin Button — bllokon hapjen e panelit me klikim rreshti */
.etax-panel-pin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--etax-gray-300, #cbd5e1) !important;
    background: transparent !important;
    color: var(--etax-gray-400, #94a3b8) !important;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: none;
    flex-shrink: 0;
}

.etax-panel-pin-btn:hover {
    background: #f8fafc !important;
    color: var(--etax-gray-700, #334155) !important;
    border-color: var(--etax-gray-400, #94a3b8) !important;
}

.etax-panel-pin-btn.is-pinned {
    background: var(--etax-gray-800, #1e293b) !important;
    color: #fff !important;
    border-color: var(--etax-gray-800, #1e293b) !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.25);
}

.etax-panel-pin-btn.is-pinned:hover {
    background: #334155 !important;
    border-color: #334155 !important;
}

.etax-panel-pin-btn .material-symbols-outlined {
    font-size: 0.85rem !important;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
    transition: font-variation-settings 0.15s ease;
    transform: rotate(45deg);
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), font-variation-settings 0.15s ease;
}

.etax-panel-pin-btn.is-pinned .material-symbols-outlined {
    font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 20;
    transform: rotate(0deg);
}

/* Partner / panel expand button – app-level, overrides inline/local */
.partner-panel-expand-btn {
    display: inline-flex !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0;
    border-radius: 50% !important;
    border: 1px solid var(--etax-gray-800) !important;
    background: transparent !important;
    color: var(--etax-gray-800) !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    transition: var(--etax-transition, all 0.2s cubic-bezier(0.4, 0, 0.2, 1));
    cursor: pointer;
}

.partner-panel-expand-btn .material-symbols-outlined {
    font-size: 1rem !important;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 20;
}

.partner-panel-expand-btn:hover {
    background: var(--etax-gray-800) !important;
    color: #fff !important;
    border-color: var(--etax-gray-800) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

/* Partner both-chip label (shared – Partners page + ManualInvoices panel) */
.partner-both-chip {
    display: flex;
    align-items: center;
    font-size: 0.64rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #334155;
    margin-bottom: 0.4rem;
}

.partner-both-chip .material-symbols-outlined {
    font-size: 0.95rem;
    line-height: 1;
}

/* Row remove (delete line) button – same theme as etax-action-btn.delete-btn */
.etax-line-remove-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border-radius: var(--etax-radius-md) !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: #64748b !important;
    box-shadow: none !important;
    transition: var(--etax-transition, all 0.2s ease);
    cursor: pointer;
}

.etax-line-remove-btn .material-symbols-outlined {
    font-size: 1.1rem !important;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 20;
}

.etax-line-remove-btn:hover {
    color: var(--etax-danger) !important;
    background: #fef2f2 !important;
    border-color: #fecaca !important;
}

.etax-line-remove-btn:focus-visible {
    outline: 2px solid var(--etax-danger);
    outline-offset: 2px;
}

@media (max-width:1399.98px) {
    .etax-split-panel-wrap {
        flex-basis: 320px;
        width: 320px;
        max-width: 320px;
    }

    .etax-split-panel-wrap.size-sm {
        flex-basis: 290px;
        width: 290px;
        max-width: 290px;
    }
}

@media (max-width:1199.98px) {
    .etax-split-layout {
        flex-direction: column;
        height: auto;
    }

    .etax-split-panel-wrap,
    .etax-split-panel-wrap.is-collapsed,
    .etax-split-panel-wrap.size-sm {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: auto !important;
        opacity: 1;
        pointer-events: auto;
        overflow: visible;
    }

    .etax-split-panel-wrap.is-collapsed {
        display: none;
    }

    .etax-split-panel {
        min-height: var(--etax-grid-mobile-min-height);
    }
}


/* ========================================
   FILTER CAPSULES
   ======================================== */
.date-filter-capsule,
.status-filter-capsule {
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.05);
    padding: 0.42rem 0.55rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: auto;
    max-width: 100%;
}

.status-filter-select {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0.55rem !important;
    font-size: 0.77rem !important;
    height: 31px;
    color: #334155 !important;
    padding: 0.2rem 1.8rem 0.2rem 0.45rem !important;
    width: 110px;
    cursor: pointer;
    font-weight: 600;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.4rem center !important;
    background-size: 1rem !important;
}

.status-filter-select:focus {
    outline: none !important;
    box-shadow: none !important;
}

.entity-filter-capsule .status-filter-select,
.entity-filter-capsule .ts-control {
    min-width: 260px;
}

.date-filter-icon {
    width: var(--etax-qf-icon-size) !important;
    height: var(--etax-qf-icon-size) !important;
    border-radius: var(--etax-qf-icon-radius) !important;
    border: 1px solid #e2e8f0;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0f172a;
    flex-shrink: 0;
}

.date-filter-icon .material-symbols-outlined,
.date-filter-icon .material-icons {
    font-size: var(--etax-qf-icon-font) !important;
    line-height: 1;
}

.date-filter-label {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #64748b;
    font-weight: 700;
    white-space: nowrap;
}

.date-filter-input {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0.55rem !important;
    font-size: 0.77rem !important;
    height: 31px;
    color: #334155 !important;
    padding: 0.2rem 0.45rem !important;
}

.date-filter-input:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

.date-filter-btn {
    height: 31px;
    min-width: 92px;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px;
    padding: 0 0.9rem;
    font-size: 0.76rem;
    font-weight: 700;
    color: #0f172a !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
    flex-shrink: 0;
}

.date-filter-btn .material-symbols-outlined {
    color: #0f172a !important;
}

.date-filter-btn:hover {
    background: #f8fafc !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
}

.date-filter-btn:hover .material-symbols-outlined {
    color: #0f172a !important;
}

.date-filter-submit-capsule {
    background: #0f172a !important;
    border-color: #0f172a !important;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18) !important;
}

.date-filter-submit-capsule:hover {
    background: #1e293b !important;
    border-color: #1e293b !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.28) !important;
    transform: translateY(-1px);
}

.date-filter-submit-capsule:hover .date-filter-submit-icon {
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
}

.date-filter-submit-capsule:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18) !important;
}

.date-filter-submit-capsule:disabled,
.date-filter-submit-capsule.disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none !important;
}

.date-filter-submit-icon {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
}

.date-filter-submit-icon .material-symbols-outlined {
    color: #fff !important;
}

.date-filter-submit-label {
    font-size: 0.76rem;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    letter-spacing: 0.01em;
}

.date-filter-input.is-invalid {
    border: 1px solid var(--bs-danger) !important;
    background: #fff !important;
}

.date-filter-error {
    margin-top: 0.3rem;
    font-size: 0.72rem;
    color: var(--bs-danger);
}

@media (max-width: 768px) {

    /* Date capsule: icon + label; nga/deri në një rresht; butoni poshtë */
    .date-filter-capsule {
        flex-wrap: wrap;
        width: 100%;
        align-items: center;
        row-gap: 0.35rem;
        column-gap: 0.25rem;
    }

    .date-filter-capsule .date-filter-icon {
        flex-shrink: 0;
    }

    .date-filter-capsule .date-filter-label {
        flex: 1;
        min-width: 0;
        width: auto;
    }

    .date-filter-capsule .date-filter-input {
        flex: 0 0 6.85rem;
        width: 6.85rem !important;
        min-width: 0;
        max-width: 6.85rem;
        padding-left: 0.2rem !important;
        padding-right: 0.2rem !important;
        font-size: 0.72rem !important;
    }

    .date-filter-capsule > span.text-muted.small {
        flex-shrink: 0;
        align-self: center;
        padding-left: 0.15rem !important;
        padding-right: 0.15rem !important;
    }

    .date-filter-capsule .date-filter-btn {
        flex: 1 1 100%;
        width: 100%;
        margin-top: 0.15rem;
    }

    /* Status capsule: stays on one row, select fills remaining space */
    .status-filter-capsule {
        width: 100%;
        flex-wrap: nowrap;
    }

    .status-filter-capsule .date-filter-label {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .status-filter-select {
        flex: 1;
        width: auto !important;
        min-width: 0;
    }
}

/* ========================================
   JOURNAL ENTRY / PANEL SPECIFIC
   ======================================== */
.je-panel-title {
    font-family: var(--etax-font-main) !important;
    font-weight: 800;
    font-size: 0.92rem;
    color: #0f172a;
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
}

.je-panel-title .material-symbols-outlined {
    font-size: 1.1rem;
    line-height: 1;
}

.je-panel-subtitle {
    font-family: var(--etax-font-main) !important;
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 500;
    margin-top: 0.15rem;
}

.je-panel-close {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: all 0.2s ease;
}

.je-panel-close .material-symbols-outlined {
    font-size: 1rem;
    line-height: 1;
}

.je-panel-close:hover {
    background: #f1f5f9;
    color: #0f172a;
    transform: rotate(90deg);
}

.je-panel-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    gap: 0.75rem;
    color: #64748b;
    font-size: 0.85rem;
    font-family: var(--etax-font-main) !important;
}

.je-panel-loader .material-symbols-outlined {
    font-size: 1.75rem;
    line-height: 1;
    color: #94a3b8;
}

@keyframes etax-sync-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.je-panel-loader .material-symbols-outlined.sync-spin {
    animation: etax-sync-spin 1s linear infinite;
}

/* Shared detail panel header (Partners, ManualInvoices – same as JE panel) */
.etax-detail-panel-header-content {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.etax-detail-panel-header-content .material-symbols-outlined {
    font-size: 1.1rem;
    line-height: 1;
    color: #0f172a;
    opacity: 0.9;
    flex-shrink: 0;
}

.etax-detail-panel-title {
    font-family: var(--etax-font-main) !important;
    font-weight: 800;
    font-size: 0.92rem;
    color: #0f172a;
    letter-spacing: -0.01em;
    margin: 0;
    line-height: 1.25;
}

.etax-detail-panel-subtitle {
    font-family: var(--etax-font-main) !important;
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 500;
    margin-top: 0.15rem;
    line-height: 1.2;
}

.etax-detail-panel-header-content .min-width-0 {
    min-width: 0;
    flex: 1 1 auto;
}

/* ========================================
   ACTIVE FILTER HINT
   ======================================== */
.filters-runtime-bar {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.18rem 0.22rem;
    border: 1px solid rgba(226, 232, 240, 0.65);
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    flex-wrap: wrap;
}

.active-filter-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.74rem;
    font-weight: 600;
    color: #312e81;
    background: linear-gradient(135deg, #eef2ff, #f8fafc);
    border: 1px solid rgba(99, 102, 241, 0.12);
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    white-space: nowrap;
}

.active-filter-hint .material-symbols-outlined {
    font-size: 0.9rem;
}

.etax-col-index {
    width: 32px;
    min-width: 32px;
    white-space: nowrap;
    text-align: center;
    padding-inline: 0.5rem !important;
}

thead .etax-col-index {
    text-align: center;
    color: #94a3b8;
    font-size: 0.65rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    cursor: default;
}

tbody .etax-col-index {
    text-align: center;
    color: #94a3b8;
    font-size: 0.73rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

/* ========================================
   ETAX QUICK INFO BAR (Global)
   Shiritin kompakt i fiksuar fund-ekranit
   Shfaqet kur zgjedhet rreshti i gridit
   ======================================== */
.etax-quick-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    background: #ffffff;
    border-top: 1.5px solid #e2e8f0;
    box-shadow: 0 -4px 24px rgba(15, 23, 42, 0.10), 0 -1px 4px rgba(15, 23, 42, 0.04);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 1.25rem 0.55rem 1rem;
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 52px;
    font-family: var(--etax-font-main, system-ui, sans-serif);
}
.etax-quick-bar.is-visible {
    transform: translateY(0);
}
.etax-quick-bar-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #334155, #0f172a);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}
.etax-quick-bar-name {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
    flex-shrink: 1;
}
.etax-quick-bar-divider {
    width: 1px;
    height: 22px;
    background: #e2e8f0;
    flex-shrink: 0;
}
.etax-quick-bar-metrics {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex: 1;
    min-width: 0;
}
.etax-quick-bar-metric {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 0;
}
.etax-quick-bar-metric-label {
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    white-space: nowrap;
    line-height: 1;
    margin-bottom: 0.12rem;
}
.etax-quick-bar-metric-value {
    font-size: 0.82rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    line-height: 1;
}
.etax-quick-bar-metric-value.qb-neutral  { color: #0f172a; }
.etax-quick-bar-metric-value.qb-positive { color: #16a34a; }
.etax-quick-bar-metric-value.qb-negative { color: #dc2626; }
.etax-quick-bar-metric-value.qb-warning  { color: #d97706; }
.etax-quick-bar-metric-value.qb-muted    { color: #64748b; }
@keyframes etax-qb-shimmer {
    0%   { background-position: -240px 0; }
    100% { background-position: 240px 0; }
}
.etax-quick-bar-metric-value.qb-loading,
.etax-quick-bar-name.qb-loading {
    color: transparent !important;
    border-radius: 0.3rem;
    min-width: 5rem;
    min-height: 0.82rem;
    background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
    background-size: 480px 100%;
    animation: etax-qb-shimmer 1.1s infinite linear;
    display: inline-block;
}
.etax-quick-bar-name.qb-loading { min-width: 8rem; }
.etax-quick-bar-action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.85rem;
    border-radius: 999px;
    background: #0f172a;
    color: #fff;
    border: none;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.18s ease, transform 0.15s ease;
    font-family: inherit;
    line-height: 1;
}
.etax-quick-bar-action:hover {
    background: #1e293b;
    transform: translateY(-1px);
}
.etax-quick-bar-action .material-symbols-outlined {
    font-size: 0.88rem;
    line-height: 1;
}
.etax-quick-bar-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: none;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
    font-family: inherit;
    padding: 0;
}
.etax-quick-bar-close:hover {
    background: #e2e8f0;
    color: #0f172a;
}
.etax-quick-bar-close .material-symbols-outlined {
    font-size: 0.88rem;
    line-height: 1;
}
@media (max-width: 600px) {
    .etax-quick-bar-metric.etax-qb-hide-sm { display: none; }
    .etax-quick-bar-name                   { max-width: 110px; }
    .etax-quick-bar-action span:not(.material-symbols-outlined) { display: none; }
}

.etax-grid-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.8rem 0;
}

.etax-grid-empty-state-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    color: #475569;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.etax-grid-empty-state-icon .material-symbols-outlined {
    font-size: 1.35rem;
    line-height: 1;
}

.etax-grid-empty-state-title {
    font-size: 0.96rem;
    font-weight: 700;
    color: #0f172a;
}

.etax-grid-empty-state-subtitle {
    max-width: 26rem;
    font-size: 0.82rem;
    color: #64748b;
}

.etax-grid-filter-rail {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.etax-grid-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.34rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(241, 245, 249, 0.92) 100%);
    color: #334155;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.etax-grid-filter-chip .material-symbols-outlined {
    font-size: 0.88rem;
    line-height: 1;
}

.etax-grid-filter-chip-active {
    background: linear-gradient(135deg, #eef2ff, #f8fafc);
    border-color: rgba(99, 102, 241, 0.12);
    color: #312e81;
}

.etax-grid-footer-row td {
    background: #fbfcfe;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
/* Footer: ensure sticky Actions + filler cells match the footer background.
   Specificity must beat the base filler rule (.etax-grid-table td.etax-col-filler = 0,3,0).
   Adding .etax-grid-table gives (0,3,1) which wins. */
.etax-grid-table .etax-grid-footer-row td.etax-col-actions,
.etax-grid-table .etax-grid-footer-row td.etax-col-filler,
.etax-grid-table .etax-grid-footer-row td.etax-col-index {
    background: #fbfcfe !important;
}
/* Footer Actions cell: suppress the left shadow that data rows use */
.etax-grid-footer-row td.etax-col-actions::before {
    display: none;
}

.etax-grid-footer-label,
.etax-grid-footer-total {
    font-size: 0.78rem;
    font-weight: 700;
    color: #0f172a;
}

/* ========================================
   GRID ACTION BUTTONS & DROPDOWN MENU
   Global — shared by Payments, IT, JE, etc.
   ======================================== */

.etax-grid-actions-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}

.text-center .etax-grid-actions-wrap {
    justify-content: center;
}


/* ── Enterprise action toggle button: consistent 32×32 rounded-rect, matches .etax-action-btn ── */
.etax-grid-actions-toggle {
    width: 32px;
    min-width: 32px;
    height: 32px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    background-color: #fff;
    color: var(--etax-gray-800);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    padding: 0;
}
.etax-grid-actions-toggle:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 0, 0, 0.1);
    background-color: #f8fafc;
    color: #0f172a;
}
.etax-grid-actions-toggle .material-symbols-outlined {
    font-size: var(--etax-action-icon-size) !important;
    line-height: 1 !important;
}

/* Enterprise hover-reveal: action buttons are always visible with full opacity. */
.etax-grid-table tbody tr .etax-col-actions .etax-action-btn,
.etax-grid-table tbody tr .etax-col-actions .etax-grid-actions-toggle {
    opacity: 1;
    transition: opacity 0.15s ease,
                background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                color 0.2s,
                transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.2s;
}
.etax-grid-table tbody tr:hover .etax-col-actions .etax-action-btn,
.etax-grid-table tbody tr:hover .etax-col-actions .etax-grid-actions-toggle,
.etax-grid-table tbody tr.etax-grid-row-selected .etax-col-actions .etax-action-btn,
.etax-grid-table tbody tr.etax-grid-row-selected .etax-col-actions .etax-grid-actions-toggle,
.etax-grid-table tbody tr .etax-col-actions .etax-grid-actions-wrap.is-open .etax-action-btn,
.etax-grid-table tbody tr .etax-col-actions .etax-grid-actions-wrap.is-open .etax-grid-actions-toggle {
    opacity: 1;
}

/* Dropdown panel */
.etax-grid-actions-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    min-width: 195px;
    padding: 0.35rem;
    border: 1px solid #dbe3ee;
    border-radius: 0.7rem;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.16);
    z-index: 1055;
    display: none;
}
.etax-grid-actions-wrap.is-open .etax-grid-actions-menu {
    display: block;
}

/* Dropdown items */
.etax-grid-actions-menu-item {
    width: 100%;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    text-align: left;
    border-radius: 0.45rem;
    padding: 0.38rem 0.48rem;
    font-size: 0.78rem;
    font-weight: 500;
    color: #1f2937;
    cursor: pointer;
    transition: background .12s ease;
}
.etax-grid-actions-menu-item:hover {
    background: #f8fafc;
}
.etax-grid-actions-menu-item .material-symbols-outlined {
    font-size: 17px;
    color: #64748b;
    flex-shrink: 0;
}
.etax-grid-actions-menu-item.text-danger .material-symbols-outlined {
    color: inherit;
}
.etax-grid-actions-menu-item.fw-bold {
    font-weight: 700;
}

/* Divider */
.etax-grid-actions-menu-divider {
    height: 1px;
    background: #eef2f7;
    margin: 0.28rem 0;
}


/* ═══════════════════════════════════════════════════════════════════════
   CENTRALIZED SHARED STYLES
   Moved from local @section Styles of: JournalEntry, InternalTransfers, Payments.
   Do NOT duplicate these in individual views — extend locally only when
   module-specific overrides are needed (e.g. data-attribute color variants).
   ═══════════════════════════════════════════════════════════════════════ */


/* ── SweetAlert2 Premium Theme
   Consumers: JournalEntry/Index, Payments/Index, InternalTransfers/Index
   ─────────────────────────────────────────────────────────────────────── */
.swal2-popup {
    border-radius: 24px !important;
    padding: 2rem !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15) !important;
}
.swal2-title {
    color: #0f172a !important;
    font-weight: 800 !important;
    font-size: 1.5rem !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0.5rem !important;
}
.swal2-html-container {
    color: #64748b !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
}
.swal2-actions {
    margin-top: 2rem !important;
    gap: 12px !important;
    justify-content: flex-end !important;
}
.swal2-styled {
    border-radius: 50px !important;
    padding: 10px 30px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    transition: all 0.2s ease !important;
}
.swal2-styled.swal2-confirm {
    background-color: #3b82f6 !important;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.2), 0 2px 4px -2px rgba(59, 130, 246, 0.1) !important;
}
.swal2-styled.swal2-confirm:hover {
    background-color: #2563eb !important;
    transform: translateY(-1px);
}
.swal2-styled.swal2-cancel {
    background-color: #f1f5f9 !important;
    color: #64748b !important;
}
.swal2-html-container .form-control,
.swal2-html-container .form-select {
    border-radius: 12px !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 0.9rem !important;
    background-color: #f8fafc !important;
    transition: all 0.2s ease !important;
}
.swal2-html-container .form-control:focus,
.swal2-html-container .form-select:focus {
    border-color: #3b82f6 !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1) !important;
    outline: none !important;
}
.swal2-icon {
    border-width: 3px !important;
    margin-bottom: 1.5rem !important;
}


/* ── Panel Shimmer Animation
   Consumers: JournalEntry/Index, InternalTransfers/Index
   ─────────────────────────────────────────────────────────────────────── */
@keyframes jePanelShimmer {
    0%   { background-position: -220px 0; }
    100% { background-position:  220px 0; }
}


/* ── Side Panel — Skeleton / Idle / Loading shells
   Consumers: JournalEntry/Index, InternalTransfers/Index
   ─────────────────────────────────────────────────────────────────────── */
.je-panel-skeleton-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.je-panel-skeleton-card {
    display: flex;
    justify-content: space-between;
    gap: 0.7rem;
    padding: 0.52rem 0.62rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.7rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    min-height: 66px;
}
.je-panel-skeleton-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.34rem;
}
.je-panel-skeleton-side {
    width: 5.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.34rem;
    align-items: flex-end;
    justify-content: center;
}
.je-panel-skeleton-line {
    color: transparent !important;
    border-color: transparent !important;
    border-radius: 0.4rem;
    background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
    background-size: 440px 100%;
    animation: jePanelShimmer 1.1s infinite linear;
    display: inline-block;
}
.je-panel-skeleton-line.title     { height: 0.82rem; width: 10.8rem; max-width: 100%; }
.je-panel-skeleton-line.meta      { height: 0.66rem; width: 13.8rem; max-width: 100%; }
.je-panel-skeleton-line.amount    { height: 0.78rem; width: 4.9rem; }
.je-panel-skeleton-line.amount-sm { height: 0.66rem; width: 3.9rem; }

.je-panel-idle-shell {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.7rem 0.55rem;
}
.je-panel-idle-head {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.74rem;
    font-weight: 700;
    color: #64748b;
}
.je-panel-idle-head .material-symbols-outlined {
    font-size: 1rem;
    line-height: 1;
    color: #64748b;
}
.je-panel-loading-shell {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding: 0.7rem 0.55rem;
}
.je-panel-loading-head {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.74rem;
    font-weight: 700;
    color: #64748b;
}
.je-panel-loading-head .material-symbols-outlined {
    font-size: 1rem;
    line-height: 1;
    color: #64748b;
    animation: etax-sync-spin 1s linear infinite;
}


/* ── Grid Cell Utilities — JE / Invoice shared notation
   Consumers: JournalEntry/Index, InternalTransfers/Index, Payments/Index
   ─────────────────────────────────────────────────────────────────────── */
.je-id-cell,
.inv-number   { color: #64748b; font-size: 0.78rem; white-space: nowrap; }

.je-date-cell,
.inv-date-cell { color: #64748b; font-size: 0.79rem; white-space: nowrap; }

.je-desc-main,
.inv-party-name {
    font-weight: 600;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.je-desc-ref {
    display: block;
    color: #64748b;
    font-size: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.je-amount,
.inv-amount {
    font-weight: 700;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.je-created-by,
.je-created-at {
    color: #475569;
    font-size: 0.78rem;
    white-space: nowrap;
}
.je-created-at { font-variant-numeric: tabular-nums; }


/* ── Grid Action Buttons (btn-action-*)
   Consumers: JournalEntry/Index (actionsFromList uses these via legacy classes)
   ─────────────────────────────────────────────────────────────────────── */
.btn-action-view,
.btn-action-copy,
.btn-action-edit,
.btn-action-delete,
.btn-action-recurring { color: #0f172a !important; }

.btn-action-view:hover,
.btn-action-copy:hover,
.btn-action-edit:hover,
.btn-action-delete:hover,
.btn-action-recurring:hover {
    color: #020617 !important;
    background: #f8fafc !important;
    border-color: #cfd9e6 !important;
    box-shadow: none !important;
}


/* ── Grid Table — Row Pointer & Selected State
   Consumers: JournalEntry/Index, Payments/Index, InternalTransfers/Index
   ─────────────────────────────────────────────────────────────────────── */
.etax-grid-table tbody tr { cursor: pointer; }




/* ── Panel Error Shell
   Consumers: InternalTransfers/Index, JournalEntry/Index
   ─────────────────────────────────────────────────────────────────────── */
.je-panel-error-shell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    gap: 0.4rem;
    color: #b91c1c;
    font-size: 0.82rem;
    font-weight: 600;
    text-align: center;
    padding: 0.75rem;
}
.je-panel-error-shell .material-symbols-outlined {
    font-size: 1.8rem;
    line-height: 1;
}

/* ── Layout footer & utility styles (moved from _Layout.cshtml inline <style>) ── */
.modern-footer {
    background-color: var(--premium-card-bg);
    border-top: 1px solid var(--etax-border);
    color: var(--etax-indigo);
}
.modern-footer .text-muted,
.modern-footer small,
.modern-footer li,
.modern-footer p,
.modern-footer h1, .modern-footer h2, .modern-footer h3,
.modern-footer h4, .modern-footer h5, .modern-footer h6,
.modern-footer .footer-heading,
.modern-footer .bottom-bar,
.modern-footer strong {
    color: var(--etax-indigo) !important;
    opacity: 0.85 !important;
}

.footer-top {
    padding: 4rem 0 3rem;
}

@media (max-width: 575.98px) {
    .footer-top {
        padding: 2rem 0 1.5rem;
    }
    .footer-heading {
        margin-bottom: 0.75rem;
    }
    .bottom-bar > .container {
        flex-direction: column !important;
        gap: 0.25rem !important;
        align-items: center !important;
        text-align: center;
    }
    .minimal-footer {
        padding: 12px 0;
    }
}

@media (max-width: 575.98px) {
    .footer-top {
        padding: 2rem 0 1.5rem;
    }
    .footer-heading {
        margin-bottom: 0.75rem;
    }
    .bottom-bar {
        padding: 1rem 0;
        text-align: center;
    }
    .bottom-bar .container {
        flex-direction: column !important;
        gap: 0.25rem !important;
        align-items: center !important;
    }
    .minimal-footer {
        padding: 12px 0;
    }
}

.footer-brand-text {
    font-weight: 700;
    font-size: 1.25rem;
    color: #2c3e50;
}

.footer-link {
    color: var(--etax-indigo);
    text-decoration: none;
    transition: color 0.2s;
    font-size: 0.9rem;
}

.footer-link:hover {
    color: var(--etax-indigo-dark);
    text-decoration: none;
}

.footer-heading {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 1px;
    margin-bottom: 1.5rem;
    color: var(--etax-indigo);
}

.bottom-bar {
    padding: 1.5rem 0;
    border-top: 1px solid #f1f3f5;
    font-size: 0.85rem;
}

.minimal-footer {
    padding: 10px 0;
    background-color: var(--premium-card-bg);
    border-top: 1px solid var(--etax-border);
    color: var(--etax-secondary);
    font-size: 0.8rem;
}

.text-indigo-premium {
    color: var(--etax-indigo) !important;
}
.text-indigo-premium:hover {
    color: #4338ca !important;
}

.hover-lift {
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.hover-lift:hover {
    transform: translateY(-1px);
}

/* =========================================================
   INLINE-STYLE REFACTOR UTILITIES  (2026-04-04)
   ========================================================= */

/* -- Page container max-widths (margin auto for centering on plain divs) -- */
.etax-page-xl   { max-width: 1400px !important; margin-left: auto; margin-right: auto; }
.etax-page-lg   { max-width: 1200px !important; margin-left: auto; margin-right: auto; }
.etax-page-md   { max-width: 1000px !important; margin-left: auto; margin-right: auto; }
.etax-page-sm   { max-width: 800px  !important; margin-left: auto; margin-right: auto; }
.etax-page-xs   { max-width: 600px  !important; margin-left: auto; margin-right: auto; }
.etax-page-2xs  { max-width: 500px  !important; margin-left: auto; margin-right: auto; }
.etax-page-900  { max-width: 900px  !important; margin-left: auto; margin-right: auto; }
.etax-page-850  { max-width: 850px  !important; margin-left: auto; margin-right: auto; }
.etax-page-650  { max-width: 650px  !important; margin-left: auto; margin-right: auto; }
.etax-mw-400    { max-width: 400px  !important; }

/* -- Standard toolbar button size (font 0.85rem, height 38px) -- */
.btn-std { font-size: 0.85rem !important; height: 36px; }
.etax-header-compact .btn-std { height: 30px !important; font-size: 0.8rem !important; padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
.etax-header-compact .form-select-sm { height: 30px !important; padding-top: 0.2rem !important; padding-bottom: 0.2rem !important; }

/* -- Material Symbols Outlined icon sizes (rem-based) -- */
.icon-xs  { font-size: 0.65rem !important; }
.icon-sm  { font-size: 0.85rem !important; }
.icon-md  { font-size: 1rem    !important; }
.icon-lg  { font-size: 1.1rem  !important; }
.icon-xl  { font-size: 1.25rem !important; }
.icon-2x  { font-size: 1.5rem  !important; }
.icon-3x  { font-size: 2rem    !important; }
.icon-big { font-size: 3em     !important; }
.icon-5x  { font-size: 4em     !important; }
.icon-6x  { font-size: 5em     !important; }
/* fractional rem helpers */
.icon-0-68  { font-size: 0.68rem !important; }
.icon-0-7   { font-size: 0.7rem  !important; }
.icon-0-74  { font-size: 0.74rem !important; }
.icon-0-75  { font-size: 0.75rem !important; }
.icon-0-8   { font-size: 0.8rem  !important; }
.icon-0-88  { font-size: 0.88rem !important; }
.icon-0-9   { font-size: 0.9rem  !important; }
.icon-0-95  { font-size: 0.95rem !important; }
.icon-1-05  { font-size: 1.05rem !important; }
.icon-1-15  { font-size: 1.15rem !important; }
.icon-1-2   { font-size: 1.2rem  !important; }
.icon-1-3   { font-size: 1.3rem  !important; }
.icon-1-4   { font-size: 1.4rem  !important; }
.icon-1-6   { font-size: 1.6rem  !important; }
.icon-1-75  { font-size: 1.75rem !important; }
.icon-2-4   { font-size: 2.4rem  !important; }
.icon-2-5   { font-size: 2.5rem  !important; }
.icon-3     { font-size: 3rem    !important; }
.icon-4     { font-size: 4rem    !important; }
.icon-5     { font-size: 5rem    !important; }
.icon-6     { font-size: 6rem    !important; }
/* em-based icon sizes (relative to parent) */
.icon-0-8em  { font-size: 0.8em  !important; }
.icon-1em    { font-size: 1em    !important; }
.icon-1-15em { font-size: 1.15em !important; }
.icon-1-25em { font-size: 1.25em !important; }
.icon-1-5em  { font-size: 1.5em  !important; }
.icon-1-8em  { font-size: 1.8em  !important; }
.icon-2em    { font-size: 2em    !important; }
.icon-2-5em  { font-size: 2.5em  !important; }
/* px sizes */
.icon-15px { font-size: 15px !important; }
.icon-28px { font-size: 28px !important; }

/* -- Icon sizes (px-based, for precise alignment) -- */
.icon-11px { font-size: 11px !important; }
.icon-12px { font-size: 12px !important; }
.icon-13px { font-size: 13px !important; }
.icon-14px { font-size: 14px !important; }
.icon-16px { font-size: 16px !important; }
.icon-18px { font-size: 18px !important; }
.icon-20px { font-size: 20px !important; }

/* -- Text font-size utilities -- */
.text-fs-55  { font-size: 0.55rem   !important; }
.text-fs-6   { font-size: 0.6rem    !important; }
.text-fs-62  { font-size: 0.62rem   !important; }
.text-fs-65  { font-size: 0.65rem   !important; }
.text-fs-68  { font-size: 0.68rem   !important; }
.text-fs-7   { font-size: 0.7rem    !important; }
.text-fs-72  { font-size: 0.72rem   !important; }
.text-fs-75  { font-size: 0.75rem   !important; }
.text-fs-76  { font-size: 0.76rem   !important; }
.text-fs-78  { font-size: 0.78rem   !important; }
.text-fs-8   { font-size: 0.8rem    !important; }
.text-fs-81  { font-size: 0.8125rem !important; }
.text-fs-82  { font-size: 0.82rem   !important; }
.text-fs-84  { font-size: 0.84rem   !important; }
.text-fs-85  { font-size: 0.85rem   !important; }
.text-fs-875 { font-size: 0.875rem  !important; }
.text-fs-9   { font-size: 0.9rem    !important; }
.text-fs-92  { font-size: 0.92rem   !important; }
.text-fs-95  { font-size: 0.95rem   !important; }
.text-fs-1-1 { font-size: 1.1rem    !important; }
.text-fs-1-35{ font-size: 1.35rem   !important; }

/* -- Label tracking utilities (font-size + letter-spacing pairs) -- */
.text-label-xs  { font-size: 0.65rem !important; letter-spacing: 0.05em; }
.text-label-sm  { font-size: 0.7rem  !important; letter-spacing: 0.05em; }
.text-label-sm2 { font-size: 0.7rem  !important; letter-spacing: 0.07em; }

/* -- Cursor utilities -- */
.cursor-pointer { cursor: pointer !important; }
.cursor-help    { cursor: help    !important; }
.cursor-default { cursor: default !important; }

/* -- Font weight extras -- */
.fw-800 { font-weight: 800 !important; }
