/* Premium responsive polish */
:root{
  --ee-radius: 16px;
}
.card, .border, .btn{border-radius:var(--ee-radius)!important}
.navbar-brand img{box-shadow:0 2px 8px rgba(0,0,0,.15)}
.btn{transition:transform .1s ease, box-shadow .2s}
.btn:active{transform:scale(.98)}
@media (max-width: 576px){
  .display-5{font-size:2rem}
  .navbar .nav-link{padding:.5rem .75rem}
  main{padding-top:1rem!important}
}
/* Dashboard quick tiles */
.ee-tile{display:block;padding:1rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--ee-radius);text-decoration:none}
.ee-tile:hover{background:rgba(13,110,253,.04)}
.ee-tile .icon{font-size:1.25rem;opacity:.7}

/* Role ribbon subtle backgrounds */
.role-ribbon{border-bottom:1px solid rgba(0,0,0,.08)}
.role-ribbon--secretary{background:#d1e7dd} /* success-subtle */
.role-ribbon--teacher{background:#cff4fc}   /* info-subtle */
.role-ribbon--principal{background:#cfe2ff} /* primary-subtle */
.role-ribbon--counselor{background:#e2e3e5} /* secondary-subtle */

/* Cahier de texte styles */
.ee-ct .card-header{
  background:linear-gradient(135deg, rgba(13,110,253,.08), rgba(111,66,193,.08));
  backdrop-filter:saturate(1.2) blur(2px);
}
.ee-ct .form-label{font-weight:600}
.ee-ct .btn[data-stt-btn]{display:flex;align-items:center;gap:.4rem}
.ee-ct .btn.btn-danger[data-stt-btn]{box-shadow:0 0 0 0 rgba(220,53,69,.6);animation:ee-pulse 1.2s infinite}
@keyframes ee-pulse{to{box-shadow:0 0 0 .75rem rgba(220,53,69,0)}}
.ee-ct #weightsTable [data-row-sum].badge{min-width:3.5rem}
.ee-muted{opacity:.6}
.ee-chip{display:inline-flex;align-items:center;gap:.35rem;background:#f1f3f5;border-radius:999px;padding:.2rem .6rem;font-size:.8rem}
.ee-ct .table td,.ee-ct .table th{vertical-align:middle}
.ee-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-content{border-radius:var(--ee-radius)}


 @media (max-width: 991px){
        .cta-cluster { flex-direction: column; }
        .cta-cluster .btn { width: 100%; }
        .hero-card { margin-top: 1rem; }
    }

    /* Extra mobile refinements */
    @media (max-width: 767.98px) {
        .landing-hero { padding-top: 2rem; padding-bottom: 2rem; }
        .hero-badge { padding: .35rem .85rem; font-size: .86rem; }
        .hero-heading { font-size: 1.6rem; }
        .hero-subtext { font-size: .95rem; }
        .hero-card img { max-height: 110px; }
        .stat-grid { gap: .6rem; }
        .stat-tile { padding: .85rem; }
        .feature-grid { grid-template-columns: repeat(1,1fr); }
        .feature-card { min-height: auto; padding: .95rem; }
    }

    @media (max-width: 480px) {
        .landing-hero > .container { padding-left: .75rem; padding-right: .75rem; }
        .hero-heading { font-size: 1.35rem; }
        .cta-cluster .btn { font-size: .95rem; padding: .6rem .9rem; }
        .feature-card h5 { font-size: .98rem; }
        .feature-card p { font-size: .9rem; }
        .capsule-list span { padding: .3rem .7rem; font-size: .82rem; }
    }