/* ═══════════════════════════════════════════════════════════════════════
   Executive Government Theme — Ministry of Education, State of Kuwait
   Implements the APPROVED reference designs (login, top bar, sidebar,
   landing). Loaded AFTER site.css; UI-only — no functional changes.
   ═══════════════════════════════════════════════════════════════════════ */

:root {
    --exec-navy-950: #071433;
    --exec-navy-900: #0a1b3d;
    --exec-navy-800: #0e2451;
    --exec-navy-700: #143069;
    --exec-blue:     #0d63c9;
    --exec-gold:     #e3b530;
    --exec-gold-dim: #caa02b;
    --exec-bg:       #F6F8FC;
    --exec-card:     #ffffff;
    --exec-ink:      #10203b;
    --exec-muted:    #64748f;
    --exec-shadow:       0 6px 22px rgba(10, 27, 61, 0.08);
    --exec-shadow-hover: 0 14px 32px rgba(10, 27, 61, 0.16);
    --exec-radius:   16px;
    --exec-anim:     240ms;
}

/* ── Global surface ─────────────────────────────────────────────────────── */
body.portal-shell { background: var(--exec-bg); }
body.portal-shell .app-bg { background: var(--exec-bg); }

@keyframes exec-fade-in {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}

/* ═══ TOP BAR ════════════════════════════════════════════════════════════ */
.exec-topbar {
    position: sticky; top: 0; z-index: 1030;
    background: linear-gradient(90deg, var(--exec-navy-950) 0%, var(--exec-navy-800) 42%, var(--exec-navy-700) 100%);
    box-shadow: 0 4px 18px rgba(7, 20, 51, 0.35);
    border-bottom: 2.5px solid var(--exec-gold);
    overflow: hidden;
}
/* Faint building artwork behind the centre of the bar (approved design) */
.exec-topbar::before {
    content: ""; position: absolute; inset: 0;
    background: url('/images/ministry-building.jpg') center 30%/cover no-repeat;
    opacity: 0.14; pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 4%, #000 30%, #000 62%, transparent 82%);
            mask-image: linear-gradient(90deg, transparent 4%, #000 30%, #000 62%, transparent 82%);
}
.exec-topbar-inner {
    position: relative;
    display: flex; align-items: center; justify-content: space-between;
    gap: 1.25rem; padding: 0.6rem 1.7rem; min-height: 86px;
    max-width: 1920px; margin: 0 auto;
}

/* Right (RTL start): official logo lockup + gold curve separator */
.exec-brand { display: flex; align-items: center; flex: 0 0 auto; position: relative; padding-left: 1.6rem; }
.exec-brand img { height: 64px; width: auto; object-fit: contain; }
.exec-brand::after {
    content: ""; position: absolute; left: 0; top: -26px; bottom: -26px; width: 46px;
    border-left: 1.5px solid rgba(227, 181, 48, 0.65);
    border-radius: 0 0 0 100%;
    pointer-events: none;
}

/* Center: portal identity — large, per approved design */
.exec-center { text-align: center; flex: 1 1 auto; min-width: 0; }
.exec-center-title {
    font-family: Cairo, sans-serif; font-weight: 900; color: #fff;
    font-size: 1.85rem; line-height: 1.25; letter-spacing: 0.5px;
    display: flex; align-items: center; justify-content: center; gap: 0.9rem;
    white-space: nowrap; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
.exec-center-title::before,
.exec-center-title::after {
    content: ""; width: 40px; height: 2.5px; background: var(--exec-gold);
    border-radius: 2px; display: inline-block;
}
.exec-center-sub {
    font-family: Cairo, sans-serif; font-weight: 800; color: var(--exec-gold);
    font-size: 1.02rem; margin-top: 1px;
    display: flex; align-items: center; justify-content: center; gap: 0.7rem;
}
.exec-center-sub::before,
.exec-center-sub::after {
    content: ""; width: 26px; height: 1.5px; background: rgba(227, 181, 48, 0.55);
    display: inline-block;
}

/* Left (RTL end): year + user + logout */
.exec-user-zone { display: flex; align-items: center; gap: 1.05rem; flex: 0 0 auto; }
.exec-year { display: flex; align-items: center; gap: 0.7rem; color: #dbe6f7; font-family: Cairo, sans-serif; }
.exec-year > i {
    width: 46px; height: 46px; border-radius: 12px; flex: 0 0 46px;
    border: 1.6px solid rgba(255, 255, 255, 0.45);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.35rem; color: #fff;
}
.exec-year-label { display: block; font-size: 0.78rem; font-weight: 700; opacity: 0.85; }
.exec-year-value { display: block; font-size: 1.12rem; font-weight: 800; color: #fff; letter-spacing: 0.5px; }

.exec-sep { width: 1px; height: 44px; background: rgba(255, 255, 255, 0.22); }

.exec-user { display: flex; align-items: center; gap: 0.7rem; }
.exec-user-text { text-align: left; font-family: Cairo, sans-serif; }
.exec-user-hello { display: block; font-size: 0.74rem; font-weight: 700; color: #b9c8e4; }
.exec-user-name  { display: block; font-size: 1.02rem; font-weight: 800; color: #fff; line-height: 1.3; }
.exec-user-role  { display: block; font-size: 0.8rem; font-weight: 800; color: var(--exec-gold); }
.exec-avatar {
    width: 48px; height: 48px; border-radius: 50%; flex: 0 0 48px;
    background: #fff; display: flex; align-items: center; justify-content: center;
    color: var(--exec-navy-800); font-size: 1.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.exec-user-chev { color: #b9c8e4; font-size: 0.85rem; }

.exec-logout {
    display: inline-flex; align-items: center; gap: 0.45rem;
    background: transparent; color: #ff8f8f;
    border: 1.6px solid rgba(255, 122, 122, 0.55); border-radius: 12px;
    font-family: Cairo, sans-serif; font-weight: 800; font-size: 0.92rem;
    padding: 0.55rem 1.1rem; cursor: pointer;
    transition: background var(--exec-anim), color var(--exec-anim);
}
.exec-logout:hover { background: rgba(255, 99, 99, 0.16); color: #ffb3b3; }

@media (max-width: 1350px) { .exec-center-title { font-size: 1.4rem; } }
@media (max-width: 1200px) { .exec-year-label { display: none; } .exec-brand::after { display: none; } }
@media (max-width: 992px)  { .exec-center { display: none; } .exec-user-hello { display: none; } }

/* ═══ SIDEBAR (RIGHT) — premium enterprise style ═════════════════════════ */
.portal-sidebar {
    background: linear-gradient(180deg, var(--exec-navy-900) 0%, var(--exec-navy-800) 62%, var(--exec-navy-700) 100%) !important;
    border-left: none !important; border-right: none !important;
    box-shadow: -6px 0 18px rgba(7, 20, 51, 0.18);
    position: relative;
}
/* Decorative geometric pattern near the bottom (approved design) */
.portal-sidebar::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 240px;
    pointer-events: none; opacity: 0.16;
    background:
        repeating-linear-gradient(45deg,  rgba(227, 181, 48, 0.5) 0 1.5px, transparent 1.5px 26px),
        repeating-linear-gradient(-45deg, rgba(227, 181, 48, 0.5) 0 1.5px, transparent 1.5px 26px);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 78%);
            mask-image: linear-gradient(180deg, transparent 0%, #000 78%);
}
.portal-sidebar .sidebar-nav { position: relative; z-index: 1; }
.portal-sidebar .nav-menu { padding: 1.15rem 0.85rem; }
.portal-sidebar .nav-menu .nav-item { margin-bottom: 8px; }
.portal-sidebar .nav-menu .nav-link {
    display: flex; align-items: center; gap: 1.15rem;
    color: #eef3fb !important; font-family: Cairo, sans-serif;
    font-size: 1.02rem; font-weight: 700;
    border-radius: 13px; padding: 0.85rem 1.1rem;
    border: none; position: relative;
    transition: background var(--exec-anim) cubic-bezier(0.22, 0.61, 0.36, 1),
                color var(--exec-anim) ease,
                transform var(--exec-anim) cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow var(--exec-anim) ease;
}
.portal-sidebar .nav-menu .nav-link { gap: 1.25rem; }
.portal-sidebar .nav-menu .nav-link i {
    font-size: 1.52rem; color: #ffffff !important; width: 32px; text-align: center;
    transition: color var(--exec-anim) ease, transform var(--exec-anim) cubic-bezier(0.22, 0.61, 0.36, 1);
}
.portal-sidebar .nav-menu .nav-link:hover {
    background: rgba(255, 255, 255, 0.12); color: #fff !important;
    transform: translateX(-4px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.portal-sidebar .nav-menu .nav-link:hover i { color: var(--exec-gold); transform: scale(1.1); }

/* Active item: white rounded pill, gold icon, navy text + gold edge bar */
.portal-sidebar .nav-menu .nav-item.active .nav-link {
    background: #fff;
    color: var(--exec-navy-800) !important;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
}
.portal-sidebar .nav-menu .nav-item.active .nav-link i { color: var(--exec-gold); }
.portal-sidebar .nav-menu .nav-item.active .nav-link::before {
    content: ""; position: absolute; right: -0.85rem; top: 16%;
    height: 68%; width: 4.5px; border-radius: 3px 0 0 3px;
    background: var(--exec-gold);
}
.portal-sidebar .nav-divider {
    height: 1px; background: rgba(255, 255, 255, 0.1);
    margin: 0.8rem 0.4rem;
}

/* ═══ FOOTER ═════════════════════════════════════════════════════════════ */
.portal-footer {
    background: transparent !important; border-top: 1px solid #e3eaf5 !important;
    box-shadow: none !important; padding: 1.05rem 0 !important;
}
.exec-footer-line {
    text-align: center; font-family: Cairo, sans-serif;
    font-size: 0.88rem; font-weight: 700; color: var(--exec-muted); margin: 0;
}

/* ═══ LOGIN PAGE — approved composition ══════════════════════════════════
   Full-bleed Ministry Building photo. Solid navy executive panel on the
   LEFT with a curved gold inner edge; white rounded card floats RIGHT.  */
body.auth-page { background: var(--exec-navy-900); }
body.auth-page .app-container { padding: 0 !important; max-width: none !important; }
body.auth-page main { padding: 0 !important; }

.exec-login {
    position: fixed; inset: 0; display: flex; direction: rtl;
    font-family: Cairo, sans-serif; overflow: hidden;
    background:
    linear-gradient(
        90deg,
        rgba(8,20,50,.08) 0%,
        rgba(8,20,50,.03) 45%,
        rgba(8,20,50,.18) 100%
    ),
    url('/images/cab8b3d1-ad64-4b7c-a4d3-331d7f2dc5bc.png') center center / cover no-repeat;
}

/* Card zone — first child in RTL = right side of the screen */
.exec-login-cardzone {
    flex: 1 1 auto; display: flex; align-items: center;
    justify-content: flex-start;           
    padding: 2rem 16vw 2rem 2rem;          
}
.exec-login-card {
    width: 100%; max-width: 400px;
    background: var(--exec-card); border-radius: 20px;
    box-shadow: 0 22px 60px rgba(4, 12, 32, 0.5);
    padding: 2.4rem 2.3rem 2rem;
    animation: exec-fade-in 300ms ease 80ms both;
}
.exec-login-title {
    color: var(--exec-navy-800); font-size: 1.6rem; font-weight: 900;
    text-align: center; margin: 0 0 0.35rem;
}
.exec-login-sub {
    color: var(--exec-muted); font-size: 0.9rem; font-weight: 600;
    text-align: center; margin: 0 0 1.6rem;
}
.exec-login-field { margin-bottom: 1.05rem; }
.exec-login-input-wrap { position: relative; }
.exec-login-input-wrap > i.exec-field-icon {
    position: absolute; left: 1rem; top: 50%; transform: translateY(-50%);
    color: #93a4c4; font-size: 1.05rem; pointer-events: none;
}
.exec-login-input {
    width: 100%; font-family: Cairo, sans-serif; font-size: 0.95rem; font-weight: 600;
    color: var(--exec-ink); background: #f7f9fd;
    border: 1.6px solid #dbe4f2; border-radius: 12px;
    padding: 0.85rem 1.05rem 0.85rem 2.7rem; outline: none;
    transition: border-color var(--exec-anim), box-shadow var(--exec-anim), background var(--exec-anim);
}
.exec-login-input:focus {
    border-color: var(--exec-blue); background: #fff;
    box-shadow: 0 0 0 4px rgba(13, 99, 201, 0.12);
}
.exec-login-input::placeholder { color: #9aa9c3; font-weight: 600; }
.exec-eye {
    position: absolute; left: 2.6rem; top: 50%; transform: translateY(-50%);
    background: none; border: none; color: #93a4c4; cursor: pointer;
    font-size: 1rem; padding: 0.2rem; line-height: 1;
}
.exec-eye:hover { color: var(--exec-blue); }
.exec-login-row {
    display: flex; align-items: center; justify-content: space-between;
    margin: 0.15rem 0 1.05rem; font-size: 0.84rem; font-weight: 700;
}
.exec-remember { display: flex; align-items: center; gap: 0.4rem; color: var(--exec-ink); cursor: pointer; }
.exec-remember input { accent-color: var(--exec-blue); width: 15px; height: 15px; }
.exec-forgot { color: #7d8db0; }
.exec-login-btn {
    width: 100%; border: none; cursor: pointer;
    background: linear-gradient(135deg, var(--exec-navy-700) 0%, var(--exec-navy-900) 100%);
    color: #fff; font-family: Cairo, sans-serif; font-size: 1.05rem; font-weight: 800;
    border-radius: 12px; padding: 0.85rem 1rem;
    box-shadow: 0 8px 20px rgba(10, 27, 61, 0.35);
    transition: transform var(--exec-anim), box-shadow var(--exec-anim), filter var(--exec-anim);
}
.exec-login-btn:hover { transform: translateY(-1px); filter: brightness(1.12); box-shadow: 0 12px 26px rgba(10, 27, 61, 0.45); }

.exec-login-brand{
    flex:0 0 520px;
    position:relative;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:1.2rem;

    padding:2.8rem 2.6rem 3.6rem 70px;
    margin-right:-70px;

    background:linear-gradient(
        165deg,
        var(--exec-navy-900),
        var(--exec-navy-800)
    );

    border-top-right-radius:120px;
    border-bottom-right-radius:120px;

    box-shadow:
        3px 0 0 var(--exec-gold),
        8px 0 24px rgba(4,12,32,.35);

    z-index:2;
}

.exec-login-brand > *:not(.exec-login-curve) { position: relative; z-index: 1; }
.exec-login-logo img { height: 108px; width: auto; object-fit: contain; }
.exec-login-ministry {
    color: #fff; font-size: 2rem; font-weight: 900; margin: 0; line-height: 1.3;
}
.exec-login-ministry-en {
    color: var(--exec-gold); font-size: 0.88rem; font-weight: 800;
    letter-spacing: 3px; margin: 0.2rem 0 0;
}
.exec-login-country {
    color: #dbe6f7; font-size: 1.05rem; font-weight: 800; margin: 0.35rem 0 0;
    display: flex; align-items: center; justify-content: center; gap: 0.7rem;
}
.exec-login-country::before, .exec-login-country::after {
    content: ""; width: 28px; height: 1.5px; background: var(--exec-gold); display: inline-block;
}
.exec-login-div { width: 68%; height: 1px; background: rgba(255, 255, 255, 0.18); margin: 0.2rem auto; }
.exec-login-tagline-ar { color: #fff; font-size: 1.2rem; font-weight: 800; margin: 0; }
.exec-login-tagline-en {
    color: #b9c8e4; font-size: 0.8rem; font-weight: 800; letter-spacing: 3px; margin: 0.25rem 0 0;
}
.exec-login-year {
    display: inline-flex; align-items: center; gap: 0.8rem;
    background: rgba(255, 255, 255, 0.07); border: 1.5px solid rgba(255, 255, 255, 0.25);
    border-radius: 14px; padding: 0.75rem 1.3rem; margin-top: 0.6rem;
    color: #dbe6f7; text-align: right;
}
.exec-login-year i { font-size: 1.6rem; color: #fff; }
.exec-login-year-label { display: block; font-size: 0.78rem; font-weight: 700; }
.exec-login-year-value { display: block; font-size: 1.2rem; font-weight: 900; color: #fff; letter-spacing: 1px; }
.exec-login-copy {
    position: absolute; bottom: 1rem; right: 0; left: 0; text-align: center;
    color: rgba(219, 230, 247, 0.6); font-size: 0.72rem; font-weight: 600; z-index: 1;
}
.exec-login-secure {
    position: fixed; bottom: 1.1rem; right: 2rem; z-index: 2;
    color: rgba(255, 255, 255, 0.85); font-size: 0.8rem; font-weight: 800;
    display: flex; align-items: center; gap: 0.45rem;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}

@media (max-width: 992px) {
    .exec-login { flex-direction: column; overflow-y: auto; position: absolute; }
    .exec-login-brand { flex: 0 0 auto; order: -1; padding: 2rem 1.5rem; }
    .exec-login-curve { display: none; }
    .exec-login-cardzone { padding: 1.6rem 1.2rem 1rem; justify-content: center; }
    .exec-login-secure {
        position: static; order: 99; align-self: center;
        padding: 0 0 1.4rem; text-shadow: none;
    }
}

.exec-top-row {
    display: grid;
    grid-template-columns: 1.60fr 1fr;
    gap: 24px;
    align-items: start;
    align-self: start;
}
.exec-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    align-items: stretch;
}
a.exec-kpi-link { text-decoration: none; color: inherit; cursor: pointer; }
a.exec-kpi-link:hover {
    transform: translateY(-3px);
    box-shadow: var(--exec-shadow-hover);
    transition: transform var(--exec-anim), box-shadow var(--exec-anim);
}

.exec-hero {
    position: relative; border-radius: var(--exec-radius); overflow: hidden;
    box-shadow: var(--exec-shadow); min-height: 255px;
    animation: exec-fade-in 300ms ease both;
}
.exec-hero img.exec-hero-bg {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.exec-hero::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(270deg, rgba(10, 27, 61, 0.92) 0%, rgba(10, 27, 61, 0.62) 38%, rgba(10, 27, 61, 0.12) 75%);
    z-index: 1;
}
.exec-hero-text {
    position: relative; z-index: 2; height: 100%;
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
    gap: 0.75rem; padding: 2rem 2.4rem; max-width: 56%;
}
.exec-hero-title {
    color: #fff; font-family: Cairo, sans-serif; font-weight: 900;
    font-size: 2rem; line-height: 1.45; margin: 0;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}
.exec-hero-title .gold { color: var(--exec-gold); }
.exec-hero-sub {
    color: #d4e0f4; font-family: Cairo, sans-serif; font-weight: 600;
    font-size: 0.95rem; line-height: 1.95; margin: 0;
}
.exec-hero-dots {
    position: absolute; bottom: 0.9rem; right: 0; left: 0; z-index: 2;
    display: flex; justify-content: center; gap: 7px;
}
.exec-hero-dots span {
    width: 8px; height: 8px; border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
}
.exec-hero-dots span.on { background: var(--exec-gold); }

.exec-kpi {
    background: var(--exec-card); border-radius: var(--exec-radius);
    box-shadow: var(--exec-shadow); padding:1.3rem .75rem;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 0.6rem; text-align: center; border: 1px solid #eaeff8;
    transition: transform var(--exec-anim) ease, box-shadow var(--exec-anim) ease;
    animation: exec-fade-in 300ms ease both;
}
.exec-kpi:hover { transform: translateY(-5px); box-shadow: var(--exec-shadow-hover); }
.exec-kpi-icon {
    width: 66px; height: 66px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 1.75rem; color: #fff;
}
.exec-kpi-icon.students { background: linear-gradient(135deg, #2f80ed, #0d63c9); }
.exec-kpi-icon.schools  { background: linear-gradient(135deg, #34c98e, #1a9e5a); }
.exec-kpi-icon.staff    { background: linear-gradient(135deg, #9b6ef3, #7c4fe0); }
.exec-kpi-label { font-family: Cairo, sans-serif; font-size: 1.1rem; font-weight: 800; color: var(--exec-navy-800); }
.exec-kpi-value {
    font-family: Cairo, sans-serif; font-size:2.45rem; font-weight: 900;
    color: var(--exec-ink); line-height: 1.08; letter-spacing: -0.5px;
}
.exec-kpi-unit  { font-family: Cairo, sans-serif; font-size: 0.95rem; font-weight: 700; color: var(--exec-blue); }


.exec-chart-card {
    background: var(--exec-card); border-radius: var(--exec-radius);
    box-shadow: var(--exec-shadow); border: 1px solid #eaeff8;
    padding: 1.4rem 1.6rem 1.1rem; margin-bottom: 1.6rem;
    animation: exec-fade-in 300ms ease both;
}
.exec-chart-head { position: relative; margin-bottom: 0.4rem; min-height: 40px; }
.exec-chart-title {
    font-family: Cairo, sans-serif; font-size: 1.3rem; font-weight: 900;
    color: var(--exec-navy-800); text-align: center; margin: 0; padding-top: 0.3rem;
}
.exec-chart-chip {
    position: absolute; left: 0; top: 0;
    display: inline-flex; align-items: center; gap: 0.45rem;
    font-family: Cairo, sans-serif; font-size: 0.86rem; font-weight: 800;
    color: var(--exec-navy-800) !important; text-decoration: none !important;
    background: #fff; border: 1.5px solid #d7e2f2; border-radius: 11px;
    padding: 0.5rem 1rem;
    transition: background var(--exec-anim), border-color var(--exec-anim), transform var(--exec-anim);
}
.exec-chart-chip:hover { background: #f2f7fe; border-color: #b9cdeb; transform: translateY(-1px); }
.exec-chart-note {
    text-align: center; font-family: Cairo, sans-serif;
    font-size: 0.84rem; font-weight: 600; color: var(--exec-muted);
    margin: 0.5rem 0 0.2rem;
}

/* Quick access */
.exec-quick-title {
    font-family: Cairo, sans-serif; font-size: 1.12rem; font-weight: 900;
    color: var(--exec-navy-800); display: flex; align-items: center; gap: 0.7rem;
    margin: 0 0 1rem;
}
.exec-quick-title::after { content: ""; flex: 1; height: 1.6px; background: linear-gradient(90deg, var(--exec-gold), transparent); }
.exec-quick{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1.5rem;
    margin:2rem 0;
}
.exec-tile{
    background:#fff;
    border-radius:20px;
    padding:2.3rem 1.6rem;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    min-height:245px;

    border:1px solid #e7edf8;
    box-shadow:0 8px 24px rgba(10,27,61,.08);

    text-decoration:none;
    overflow:hidden;

    transition:.25s;
}

.exec-tile:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(10,27,61,.14);
    border-color:#d5e1f3;
}
.exec-tile-icon{
    width:72px;
    height:72px;
    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:1.4rem;
    box-shadow:none;
}
.exec-tile:hover .exec-tile-icon { transform: scale(1.1); box-shadow: 0 12px 26px rgba(10, 27, 61, 0.24); }
.exec-tile-icon .material-symbols-rounded{
    font-size:46px;

    font-variation-settings:
        'FILL' 1,
        'wght' 600,
        'GRAD' 0,
        'opsz' 48;
}
.quick-link-title{
    font-size:28px;
    font-weight:800;
    color:#0f2b63;
}
.quick-link-desc{
    font-size:15px;
    line-height:1.7;
    color:#6f7b91;
}
.quick-link-card{
    min-height:245px;
    padding:28px 22px;
}
.exec-tile-icon.c1{ background:#dcecff; color:#2f80ed; }
.exec-tile-icon.c2{ background:#dff5e8; color:#2eb872; }
.exec-tile-icon.c3{ background:#e8dcff; color:#8b5cf6; }
.exec-tile-icon.c4{ background:#fff0cf; color:#f5a623; }
.exec-tile-icon.c5{ background:#fff0cf; color:#3b82f6; }
.exec-tile-icon.c6{ background:#dcf6f1; color:#14b8a6; }
.exec-tile-name{
    font-size:1.3rem;
    font-weight:900;
    color:var(--exec-navy-800);
    margin-bottom:.65rem;
    text-align:center;
}

.exec-tile-desc{
    font-size:.9rem;
    line-height:1.8;
    color:#6b7a96;
    text-align:center;
    max-width:180px;
}

.exec-tile-more{
    display:none;
}

.exec-tile:hover .exec-tile-more { transform: translateX(-4px); }

.quick-link-icon{
    width:68px;
    height:68px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 auto 22px;
}

@media (max-width: 1250px) {
    .exec-top-row { grid-template-columns: 1fr; }
    .exec-quick { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
    .exec-kpis { grid-template-columns: repeat(2, 1fr); }
    .exec-hero-text { max-width: 100%; }
}
@media (max-width: 640px) {
    .exec-quick { grid-template-columns: repeat(2, 1fr); }
    .exec-kpis { grid-template-columns: 1fr; }
}
