:root{
    --uac-blue:#1f4f86;
    --uac-blue-soft:#edf4fb;
    --uac-gold:#c8a84b;
    --uac-ink:#263445;
    --uac-muted:#6b7685;
    --uac-border:#dbe5ef;
}
body{font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--uac-ink);background:#fbfcfe;}
a{color:var(--uac-blue);text-decoration:none} a:hover{text-decoration:underline}
.soft-navbar{box-shadow:0 2px 18px rgba(31,79,134,.05)}
.brand-logo{width:54px;height:54px;object-fit:contain}.footer-logo{width:48px;height:48px;object-fit:contain}
.hero{background:linear-gradient(90deg,rgba(18,49,88,.86),rgba(37,78,122,.58)),url('../img/rectorat_uac.jpg') center/cover no-repeat;color:white;padding:6rem 0 5rem;position:relative;overflow:hidden}
.hero .glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(4px);border-radius:1.25rem;padding:1rem}
.soft-card{border:1px solid var(--uac-border);border-radius:1.25rem;background:white;box-shadow:0 12px 32px rgba(38,52,69,.06)}
.section-title{font-weight:800;letter-spacing:-.025em}.section-kicker{color:var(--uac-blue);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em}
.btn-uac{background:var(--uac-blue);color:white;border-radius:999px;padding:.72rem 1.2rem;border:0}.btn-uac:hover{background:#173c66;color:white;text-decoration:none}
.btn-soft{background:var(--uac-blue-soft);color:var(--uac-blue);border-radius:999px;padding:.72rem 1.2rem;border:1px solid #d6e6f5}.btn-soft:hover{background:#dfeefa;color:var(--uac-blue);text-decoration:none}
.icon-round{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--uac-blue-soft);color:var(--uac-blue);font-size:1.35rem}
.gallery-img{height:245px;object-fit:cover;border-radius:1rem}.profile-img{width:118px;height:118px;object-fit:cover;border-radius:50%;border:4px solid white;box-shadow:0 8px 20px rgba(0,0,0,.14)}
.hero-logo{width:92px;height:92px;object-fit:contain;background:white;border-radius:50%;padding:.35rem}.muted{color:var(--uac-muted)}
.timeline{border-left:3px solid var(--uac-border);padding-left:1.25rem}.timeline-item{position:relative;margin-bottom:1.25rem}.timeline-item:before{content:"";position:absolute;left:-1.58rem;top:.25rem;width:.85rem;height:.85rem;background:var(--uac-blue);border-radius:50%;border:3px solid white;box-shadow:0 0 0 2px var(--uac-border)}
.badge-soft{background:var(--uac-blue-soft);color:var(--uac-blue);border:1px solid #d6e6f5}.footer{background:white;border-top:1px solid var(--uac-border)}
.form-control,.form-select{border-radius:.85rem;border-color:#d8e2ee;padding:.72rem .9rem}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(31,79,134,.12);border-color:#9dbbd8}
.table>tbody>tr>td,.table>tbody>tr>th{vertical-align:middle}.admin-sidebar{min-height:100vh;background:#182b42}.admin-sidebar a{color:#d9e7f8;display:block;padding:.72rem 1rem;border-radius:.75rem}.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.1);text-decoration:none;color:white}.admin-brand{color:white;font-weight:800}.admin-content{background:#f6f8fb;min-height:100vh}.stat-card{border:0;border-radius:1.1rem;box-shadow:0 10px 28px rgba(38,52,69,.06)}
@media(max-width:768px){.hero{padding:4rem 0}.gallery-img{height:190px}}
.language-switcher{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.lang-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--uac-border);border-radius:999px;padding:.24rem .52rem;background:#fff;color:var(--uac-ink);font-size:.78rem;font-weight:700;line-height:1}.lang-btn:hover{text-decoration:none;background:var(--uac-blue-soft)}.lang-btn.active{border-color:var(--uac-blue);background:var(--uac-blue-soft);color:var(--uac-blue)}.flag-svg{display:inline-flex;width:26px;height:18px;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.flag-svg svg{width:26px;height:18px;display:block}.lang-code{display:inline-block;min-width:18px;text-align:center}
.grading-table th{font-weight:800;color:var(--uac-ink)}.grade-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;border-radius:999px;background:var(--uac-blue-soft);color:var(--uac-blue);font-weight:800;padding:.22rem .65rem;border:1px solid #d6e6f5}.credit-list li{margin-bottom:.8rem}.navbar .nav-link{font-weight:600;font-size:.92rem}.navbar .nav-link:hover{color:var(--uac-blue)}
@media(max-width:992px){.language-switcher{padding:.5rem 0}.navbar-nav{align-items:flex-start!important}}
.reference-img{max-height:340px;width:100%;object-fit:contain;background:#f8fafc;border:1px solid var(--uac-border)}

.info-step{border-left:4px solid var(--uac-blue);padding-left:1rem;margin-bottom:1rem}.notice-soft{background:#fff8e8;border:1px solid #f0db9c;border-radius:1rem;padding:1rem}.arrival-card{border:1px solid var(--uac-border);border-radius:1rem;padding:1rem;background:#fff}.document-card{border:1px solid var(--uac-border);border-radius:1rem;background:#fff;padding:1rem}

/* Correction finale : menu compact et sélecteur de langue sans texte visible */
.compact-navbar{min-height:70px}.compact-navbar .navbar-brand{min-width:250px}.brand-logo{width:48px;height:48px}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-text strong{font-size:1.08rem;letter-spacing:.02em}.brand-text small{font-size:.78rem;color:var(--uac-muted);font-weight:700}.main-menu{gap:.08rem}.compact-navbar .nav-link{font-weight:700;font-size:.89rem;padding:.55rem .62rem;border-radius:999px;color:#2d3a4b}.compact-navbar .nav-link:hover,.compact-navbar .nav-link:focus{background:var(--uac-blue-soft);color:var(--uac-blue);text-decoration:none}.nav-admin{border:1px solid var(--uac-border);background:#fff}.dropdown-menu-soft{border:1px solid var(--uac-border);border-radius:1rem;box-shadow:0 18px 45px rgba(31,79,134,.12);padding:.55rem;min-width:245px}.dropdown-menu-soft .dropdown-item{border-radius:.75rem;padding:.62rem .75rem;font-weight:600;color:#2d3a4b}.dropdown-menu-soft .dropdown-item:hover{background:var(--uac-blue-soft);color:var(--uac-blue)}
.language-switcher.flag-only{display:flex;gap:.32rem;align-items:center;flex-wrap:nowrap;border:1px solid var(--uac-border);border-radius:999px;background:#f8fbff;padding:.22rem}.language-switcher.flag-only .lang-btn{width:38px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;line-height:1}.language-switcher.flag-only .lang-btn:hover{background:#e8f2fb;text-decoration:none}.language-switcher.flag-only .lang-btn.active{background:white;box-shadow:0 2px 10px rgba(31,79,134,.16);outline:2px solid rgba(31,79,134,.22);color:var(--uac-blue)}.language-switcher.flag-only .flag-svg{width:27px;height:18px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.12);overflow:hidden}.language-switcher.flag-only .flag-svg svg{width:27px;height:18px;display:block}.language-switcher.flag-only .lang-code{display:none!important}
@media(max-width:1199.98px){.compact-navbar .navbar-collapse{padding:1rem 0}.main-menu{align-items:flex-start!important;gap:.18rem}.compact-navbar .nav-link{padding:.55rem .75rem}.language-switcher.flag-only{margin-top:.5rem}.compact-navbar .navbar-brand{min-width:auto}}
@media(min-width:1200px) and (max-width:1400px){.compact-navbar .nav-link{font-size:.84rem;padding:.5rem .47rem}.compact-navbar .navbar-brand{min-width:210px}.brand-logo{width:44px;height:44px}.brand-text small{font-size:.72rem}}
