/**
 * Tabler Icons — Global Sizing & Compatibility
 * Sets a readable base size and contextual overrides
 * so icons are never invisible or too small.
 */

/* ===================================================
   SPINNER ANIMATION
   =================================================== */
@keyframes ti-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.ti-spin,
.ti-loader {
    animation: ti-spin 1s linear infinite;
}

/* ===================================================
   BASE ICON SIZE
   The vendor tabler-icons.css sets NO font-size,
   so icons inherit tiny sizes (14px from .btn, etc.).
   This sets a readable default.
   =================================================== */
.ti {
    font-size: 1.25rem;        /* 20px — readable baseline */
    line-height: 1;
    vertical-align: -0.125em;  /* optical alignment with text */
    display: inline-block;
}

/* ===================================================
   CONTEXTUAL ICON SIZES
   Override per-context so icons scale with their UI.
   =================================================== */

/* ── Buttons ── */
.btn .ti,
.btn i.ti {
    font-size: 1.2rem;         /* 19.2px — comfortable in buttons */
    vertical-align: -0.1em;
}

.btn-sm .ti,
.btn-sm i.ti {
    font-size: 1.05rem;        /* 16.8px */
}

.btn-lg .ti,
.btn-lg i.ti {
    font-size: 1.4rem;         /* 22.4px */
}

.btn-xs .ti,
.btn-xs i.ti {
    font-size: 0.95rem;        /* 15.2px */
}

/* ── Navigation & Tabs ── */
.nav-link .ti,
.nav-tabs .nav-link .ti,
.nav-pills .nav-link .ti {
    font-size: 1.2rem;
}

/* ── Dropdown Items ── */
.dropdown-item .ti,
.dropdown-item i.ti {
    font-size: 1.15rem;        /* 18.4px */
    width: 22px;
    text-align: center;
}

/* ── Badges ── */
.badge .ti {
    font-size: 0.9em;          /* relative to badge text */
    vertical-align: -0.05em;
}

/* ── Alerts ── */
.alert .ti {
    font-size: 1.3rem;         /* 20.8px */
    vertical-align: -0.15em;
}

/* ── Breadcrumbs ── */
.breadcrumb-item .ti {
    font-size: 1rem;
}

/* ── Input Groups & Form ── */
.input-group-text .ti {
    font-size: 1.2rem;
}

/* ── Cards ── */
.card-header .ti,
.card-title .ti {
    font-size: 1.3rem;         /* 20.8px */
}

/* ── Headings (h1–h6) ── */
h1 .ti { font-size: 1.5em; }
h2 .ti { font-size: 1.4em; }
h3 .ti { font-size: 1.3em; }
h4 .ti { font-size: 1.2em; }
h5 .ti { font-size: 1.1em; }
h6 .ti { font-size: 1em; }

/* ── Accordion Headers ── */
.accordion-button .ti,
.default-according .card-header .ti {
    font-size: 1.25rem;
}

/* ── Table Cells ── */
td .ti,
th .ti {
    font-size: 1.15rem;        /* 18.4px */
}

/* ── Tooltips & Popovers ── */
.tooltip .ti,
.popover .ti {
    font-size: 1rem;
}

/* ── List Groups ── */
.list-group-item .ti {
    font-size: 1.2rem;
}

/* ===================================================
   EXPLICIT SIZE UTILITIES
   Use .ti-lg, .ti-xl etc. when you need a specific size
   =================================================== */
.ti-sm  { font-size: 1rem !important; }       /* 16px */
.ti-md  { font-size: 1.25rem !important; }    /* 20px (= base) */
.ti-lg  { font-size: 1.5rem !important; }     /* 24px */
.ti-xl  { font-size: 1.75rem !important; }    /* 28px */
.ti-2x  { font-size: 2em !important; }
.ti-3x  { font-size: 3em !important; }
.ti-4x  { font-size: 4em !important; }
.ti-5x  { font-size: 5em !important; }

/* ===================================================
   LEGACY TABLER/FA ALIASES
   Keep older view templates visible while the portal
   uses bundled Tabler Icons 3.x class names.
   =================================================== */
.ti-angle-right:before { content: "\ea61"; } /* ti-chevron-right */
.ti-bar-chart:before { content: "\ea59"; } /* ti-chart-bar */
.ti-bell-slash:before { content: "\ece9"; } /* ti-bell-off */
.ti-box-open:before { content: "\ea45"; } /* ti-box */
.ti-brain-off:before { content: "\f59f"; } /* ti-brain */
.ti-calendar-check-o:before { content: "\f824"; } /* ti-calendar-check */
.ti-calendar-times-o:before { content: "\f832"; } /* ti-calendar-x */
.ti-category-off:before { content: "\fd20"; } /* ti-category-minus */
.ti-check-circle:before { content: "\ea67"; } /* ti-circle-check */
.ti-check-double:before { content: "\ebaa"; } /* ti-checks */
.ti-check-square:before { content: "\eba6"; } /* ti-checkbox */
.ti-circle-o:before { content: "\ea6b"; } /* ti-circle */
.ti-clock-o:before { content: "\ea70"; } /* ti-clock */
.ti-cog:before { content: "\eb20"; } /* ti-settings */
.ti-crosshairs:before { content: "\ec3e"; } /* ti-crosshair */
.ti-desktop:before { content: "\ea89"; } /* ti-device-desktop */
.ti-envelope:before { content: "\eae5"; } /* ti-mail */
.ti-exclamation-triangle:before { content: "\ea06"; } /* ti-alert-triangle */
.ti-expand:before { content: "\ea28"; } /* ti-arrows-maximize */
.ti-file-excel-o:before { content: "\f03e"; } /* ti-file-spreadsheet */
.ti-file-pdf-o:before { content: "\fb10"; } /* ti-file-type-pdf */
.ti-file-text-o:before { content: "\eaa2"; } /* ti-file-text */
.ti-flag-checkered:before { content: "\fb8c"; } /* ti-flag-check */
.ti-floppy-o:before { content: "\eb62"; } /* ti-device-floppy */
.ti-handshake-o:before { content: "\f0f3"; } /* ti-heart-handshake */
.ti-hdd-o:before { content: "\ea88"; } /* ti-database */
.ti-hourglass-half:before { content: "\ef93"; } /* ti-hourglass */
.ti-id-card:before { content: "\eac3"; } /* ti-id */
.ti-image:before { content: "\eb0a"; } /* ti-photo */
.ti-knife:before { content: "\eeff"; } /* ti-tools-kitchen-2 */
.ti-line-chart:before { content: "\ea5c"; } /* ti-chart-line */
.ti-list-alt:before { content: "\ef40"; } /* ti-list-details */
.ti-map-marker:before { content: "\eae8"; } /* ti-map-pin */
.ti-map-o:before { content: "\eae9"; } /* ti-map */
.ti-map-signs:before { content: "\ea8e"; } /* ti-directions */
.ti-medkit:before { content: "\ef5f"; } /* ti-first-aid-kit */
.ti-microchip:before { content: "\ef8e"; } /* ti-cpu */
.ti-minus-circle:before { content: "\ea68"; } /* ti-circle-minus */
.ti-mobile:before { content: "\ea8a"; } /* ti-device-mobile */
.ti-money:before { content: "\ea55"; } /* ti-cash */
.ti-moon-o:before { content: "\eaf8"; } /* ti-moon */
.ti-object-ungroup:before { content: "\efd0"; } /* ti-polygon */
.ti-paper-plane:before { content: "\eb1e"; } /* ti-send */
.ti-pause:before { content: "\ed45"; } /* ti-player-pause */
.ti-pause-circle:before { content: "\ed45"; } /* ti-player-pause */
.ti-pencil-square:before { content: "\eb04"; } /* ti-pencil */
.ti-percent:before { content: "\ecf4"; } /* ti-percentage */
.ti-pie-chart:before { content: "\ea5d"; } /* ti-chart-pie */
.ti-play:before { content: "\ed46"; } /* ti-player-play */
.ti-plus-square:before { content: "\eb2a"; } /* ti-square-plus */
.ti-print:before { content: "\eb0e"; } /* ti-printer */
.ti-save:before { content: "\eb62"; } /* ti-device-floppy */
.ti-share-alt:before { content: "\eb21"; } /* ti-share */
.ti-sign-in:before { content: "\eba7"; } /* ti-login */
.ti-sign-out:before { content: "\eba8"; } /* ti-logout */
.ti-signal:before { content: "\eccb"; } /* ti-antenna-bars-5 */
.ti-star-o:before { content: "\eb2e"; } /* ti-star */
.ti-stop:before { content: "\ed4a"; } /* ti-player-stop */
.ti-sync:before { content: "\eb13"; } /* ti-refresh */
.ti-tachometer:before { content: "\eab1"; } /* ti-gauge */
.ti-tasks:before { content: "\f074"; } /* ti-checklist */
.ti-text:before { content: "\f4a4"; } /* ti-text-caption */
.ti-th:before { content: "\edba"; } /* ti-layout-grid */
.ti-tint:before { content: "\ea97"; } /* ti-droplet */
.ti-undo:before { content: "\eb77"; } /* ti-arrow-back-up */
.ti-warning:before { content: "\ea06"; } /* ti-alert-triangle */
.ti-wrench:before { content: "\eb40"; } /* ti-tool */
.ti-x-circle:before { content: "\ea6a"; } /* ti-circle-x */
