/**
 * Eye-catching panel icons â Font Awesome 6 via Iconify CDN
 * (same pack as react-icons/fa6). High-contrast, colourful, easy to spot.
 */

.dash-stat {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 8.25rem;
    padding: 1.4rem 1.55rem !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dash-stat:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}
.dash-stat-body { position: relative; z-index: 1; min-width: 0; }
.dash-stat-body h3 {
    font-size: clamp(1.85rem, 4.2vw, 2.5rem);
    letter-spacing: -0.02em;
    line-height: 1.1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.dash-stat-body p {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.4rem !important;
    font-weight: 700;
    letter-spacing: 0.01em;
    font-size: 0.98rem;
}
.dash-stat-body p img {
    width: 1.45rem;
    height: 1.45rem;
    padding: 0.2rem;
    border-radius: 0.4rem;
    background: rgba(255, 255, 255, 0.28);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}

/* Large colourful icon badge on stats */
.dash-stat-icon {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 1.35rem;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #ffffff 0%, #fff8e7 55%, #ffe8a3 100%);
    border: 3px solid #fff;
    box-shadow:
        0 12px 26px rgba(0, 0, 0, 0.28),
        0 0 0 5px rgba(255, 215, 64, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    animation: dash-icon-pulse 2.8s ease-in-out infinite;
}
.dash-stat-icon img {
    width: 3rem;
    height: 3rem;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.22));
}
@keyframes dash-icon-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 12px 26px rgba(0,0,0,0.28), 0 0 0 5px rgba(255,215,64,0.35); }
    50% { transform: scale(1.06); box-shadow: 0 14px 30px rgba(0,0,0,0.32), 0 0 0 7px rgba(255,215,64,0.5); }
}
@media (prefers-reduced-motion: reduce) {
    .dash-stat-icon { animation: none; }
    .dash-stat, .dash-qa-btn, .sidebar-react-icon { transition: none; }
}
.dash-stat::after {
    content: "";
    position: absolute;
    right: -18%;
    bottom: -40%;
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    pointer-events: none;
}

.dash-qa-header {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}
.dash-qa-header img {
    width: 1.85rem;
    height: 1.85rem;
    padding: 0.28rem;
    border-radius: 0.5rem;
    background: rgba(255, 214, 64, 0.95);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    filter: none;
}

.dash-qa-btn {
    display: flex !important;
    align-items: center;
    gap: 0.9rem;
    text-align: left;
    font-weight: 700;
    font-size: 1.05rem;
    padding: 0.95rem 1.05rem !important;
    border: 0;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}
.dash-qa-btn:hover:not(:disabled) {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
    filter: brightness(1.06);
}
.dash-qa-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.dash-qa-icon {
    flex-shrink: 0;
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 1rem;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #ffffff, #fff3c4);
    border: 2px solid #fff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 0 0 3px rgba(255, 200, 50, 0.35);
}
.dash-qa-icon img {
    width: 1.85rem;
    height: 1.85rem;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.18));
}

.page-header h1.dash-page-title,
.page-header h1:has(> img) {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}
.page-header h1 img {
    width: 2.15rem;
    height: 2.15rem;
    padding: 0.3rem;
    border-radius: 0.65rem;
    background: linear-gradient(145deg, #fff7d6, #ffd54f);
    box-shadow: 0 4px 12px rgba(170, 24, 44, 0.18);
}

/* Sidebar centre icons â colourful tiles, easy to spot */
.sidebar-react-icon,
img.menu-icon.sidebar-react-icon {
    width: 1.55rem !important;
    height: 1.55rem !important;
    object-fit: contain;
    flex-shrink: 0;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
    border-radius: 0.55rem;
    background: linear-gradient(145deg, #ffffff 0%, #fff4c2 100%);
    padding: 0.4rem;
    box-sizing: content-box;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.28), 0 0 0 2px rgba(255, 215, 64, 0.45);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.sidebar-toggle:hover .sidebar-react-icon,
.sidebar-toggle[aria-expanded="true"] .sidebar-react-icon {
    background: linear-gradient(145deg, #ffffff 0%, #ffe066 100%);
    transform: scale(1.12);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.32), 0 0 0 3px rgba(255, 200, 40, 0.65);
}

/* Financials module-nav + sidebar submenu â FA6 / react-icons style */
.module-nav-link .module-nav-react-icon,
.submenu-item .submenu-react-icon {
    width: 1.05rem !important;
    height: 1.05rem !important;
    object-fit: contain;
    flex-shrink: 0;
    padding: 0.28rem;
    border-radius: 0.45rem;
    background: linear-gradient(145deg, #ffffff 0%, #fff4c2 100%);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12), 0 0 0 1.5px rgba(255, 215, 64, 0.35);
    box-sizing: content-box;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.12));
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.module-nav-link:hover .module-nav-react-icon,
.submenu-item:hover .submenu-react-icon {
    background: linear-gradient(145deg, #ffffff 0%, #ffe066 100%);
    transform: scale(1.08);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16), 0 0 0 2px rgba(255, 200, 40, 0.5);
}
.module-nav-link.active .module-nav-react-icon {
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2), 0 0 0 2px rgba(255, 255, 255, 0.55);
}
.module-nav-header .module-nav-icon-img {
    width: 1.25rem !important;
    height: 1.25rem !important;
    padding: 0.28rem;
    border-radius: 0.45rem;
    background: rgba(255, 255, 255, 0.18);
    box-sizing: content-box;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
}

/* Compact coloured icon tiles for centre menus / feature cards */
.react-icon-tile {
    width: 3.15rem;
    height: 3.15rem;
    border-radius: 0.95rem;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(145deg, #ffffff, #ffe9a8);
    border: 2px solid #fff;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16), 0 0 0 3px rgba(255, 196, 0, 0.28);
    flex-shrink: 0;
}
.react-icon-tile img {
    width: 1.65rem;
    height: 1.65rem;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.15));
}
.react-icon-tile-lg {
    width: 3.85rem;
    height: 3.85rem;
    border-radius: 1.1rem;
}
.react-icon-tile-lg img {
    width: 2.1rem;
    height: 2.1rem;
}

/* Tone variants for colourful tile backgrounds */
.react-icon-tile[data-tone="red"],
.dash-stat-icon[data-tone="red"] { background: linear-gradient(145deg, #fff, #ffd0d6); box-shadow: 0 8px 18px rgba(0,0,0,0.16), 0 0 0 3px rgba(238, 68, 98, 0.35); }
.react-icon-tile[data-tone="green"],
.dash-stat-icon[data-tone="green"] { background: linear-gradient(145deg, #fff, #c8f7d8); box-shadow: 0 8px 18px rgba(0,0,0,0.16), 0 0 0 3px rgba(34, 197, 94, 0.35); }
.react-icon-tile[data-tone="blue"],
.dash-stat-icon[data-tone="blue"] { background: linear-gradient(145deg, #fff, #ccebff); box-shadow: 0 8px 18px rgba(0,0,0,0.16), 0 0 0 3px rgba(14, 165, 233, 0.35); }
.react-icon-tile[data-tone="amber"],
.dash-stat-icon[data-tone="amber"] { background: linear-gradient(145deg, #fff, #ffe4a8); box-shadow: 0 8px 18px rgba(0,0,0,0.16), 0 0 0 3px rgba(245, 158, 11, 0.4); }
.react-icon-tile[data-tone="purple"],
.dash-stat-icon[data-tone="purple"] { background: linear-gradient(145deg, #fff, #e4d4ff); box-shadow: 0 8px 18px rgba(0,0,0,0.16), 0 0 0 3px rgba(168, 85, 247, 0.35); }
.react-icon-tile[data-tone="teal"],
.dash-stat-icon[data-tone="teal"] { background: linear-gradient(145deg, #fff, #c5f5f0); box-shadow: 0 8px 18px rgba(0,0,0,0.16), 0 0 0 3px rgba(20, 184, 166, 0.35); }

/* Admissions hub light stats with react icons */
.admissions-stat.dash-stat-lite {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    text-align: left;
    padding: 16px 14px;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    border: 1px solid #d7e2f0;
}
.admissions-stat.dash-stat-lite:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(30, 57, 91, 0.14);
}
.admissions-stat.dash-stat-lite .dash-stat-lite-body strong {
    display: block;
    font-size: 1.55rem;
    color: #aa182c;
    line-height: 1.1;
}
.admissions-stat.dash-stat-lite .dash-stat-lite-body span {
    color: #5a6d8a;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Admissions menu icons â larger & brighter */
.applicant-info-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
}
.applicant-info-icon img {
    width: 1.2rem !important;
    height: 1.2rem !important;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)) !important;
}
.applicant-info-dropdown-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    background: #fff !important;
    border: 2px solid color-mix(in srgb, var(--adm-tone, #0d6efd) 35%, #fff);
    box-shadow: 0 3px 8px color-mix(in srgb, var(--adm-tone, #0d6efd) 25%, transparent);
}
.applicant-info-dropdown-icon img {
    width: 1.05rem !important;
    height: 1.05rem !important;
}

/* Teaching feature cards */
.tc-feature-icon,
.pe-icon.tc-feature-icon {
    width: 3.75rem !important;
    height: 3.75rem !important;
    border-radius: 1.1rem !important;
    display: grid !important;
    place-items: center;
    background: linear-gradient(145deg, #ffffff, #ffe9a8) !important;
    border: 2px solid #fff;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.14), 0 0 0 3px rgba(255, 196, 0, 0.3) !important;
    margin-bottom: 0.85rem;
}
.tc-feature-icon img,
.pe-icon.tc-feature-icon img {
    width: 2rem !important;
    height: 2rem !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.18));
}
