/* Alertes universelles, domaines académiques et invitations parentales */
.invite-card{max-width:760px}.invite-code{font:800 34px/1.2 Consolas,monospace;letter-spacing:5px;text-align:center;padding:20px;background:#eef5ff;border:2px dashed var(--blue);border-radius:12px;margin:18px 0}code{white-space:pre-wrap;word-break:break-all}.sidebar em{margin-left:auto}.bell{display:inline-flex!important;align-items:center!important}@media(max-width:700px){.invite-code{font-size:24px;letter-spacing:2px}}
/* Import Excel robuste et vérification par code */
.verify-card{max-width:520px}.verified-email{font-weight:800;color:var(--blue);word-break:break-all}.verify-card input{text-align:center;font:800 28px/1.2 Consolas,monospace;letter-spacing:8px}.resend-form{margin-top:12px}.secondary-button{background:#66758a}.small-note{color:var(--muted);font-size:12px}


/* Tentoni Numérik+ V2 — interface web et mobile */
:root{
  --v2-primary:#0f4ca8;
  --v2-primary-soft:#eaf2ff;
  --v2-success:#1f9d68;
  --v2-danger:#dc3545;
  --v2-radius:14px;
  --v2-shadow:0 8px 28px rgba(24,55,95,.10);
}
html{scroll-behavior:smooth}
body{min-height:100vh}
.card{border-radius:var(--v2-radius);box-shadow:var(--v2-shadow)}
button,.btn-small{min-height:40px;border-radius:10px}
input,select,textarea{min-height:42px}
.tablewrap{overflow:auto;-webkit-overflow-scrolling:touch}
.topbar{position:sticky;top:0;z-index:1000;backdrop-filter:blur(12px)}
.sidebar{position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto}
.mobile-bottom-nav{display:none}
.install-pwa-button{display:none}
@media (display-mode:browser){
  .install-pwa-button.available{display:inline-flex}
}
@media(max-width:900px){
  .app-shell{display:block!important}
  .sidebar{
    position:fixed;left:-285px;top:0;width:275px;height:100vh;z-index:2000;
    transition:left .2s ease;background:#fff;box-shadow:var(--v2-shadow)
  }
  body.sidebar-open .sidebar{left:0}
  .main-content{margin-left:0!important;padding:14px!important;padding-bottom:86px!important}
  .topbar{padding:8px 12px}
  .brand-name{font-size:18px}
  .mobile-bottom-nav{
    position:fixed;display:grid;grid-template-columns:repeat(5,1fr);
    bottom:0;left:0;right:0;z-index:1800;background:#fff;
    border-top:1px solid #dfe7f3;box-shadow:0 -6px 20px rgba(26,56,96,.08);
    padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))
  }
  .mobile-bottom-nav a{display:grid;place-items:center;gap:2px;color:#52617a;text-decoration:none;font-size:11px;min-height:54px}
  .mobile-bottom-nav .m-icon{font-size:22px}
  .formgrid{grid-template-columns:1fr!important}
  .wide{grid-column:auto!important}
  .page-heading{align-items:flex-start;gap:10px}
  .dashboard-grid,.stats-grid,.plans-grid{grid-template-columns:1fr!important}
  table{min-width:720px}
}
@media(max-width:480px){
  h1{font-size:24px}
  h2{font-size:19px}
  .card{padding:14px}
  .user-meta .role-label{display:none}
}
@media print{
  .sidebar,.topbar,.mobile-bottom-nav,.no-print{display:none!important}
  .main-content{margin:0!important;padding:0!important}
  .card{box-shadow:none;border:1px solid #ccc}
}
