/** Layout body.has-sidebar + .app-main */
/* ─────────────────────────────────────────────────────────────────────────
   1bis. LAYOUT GLOBAL avec Sidebar + TopBar (refonte UI 2026)
   ─────────────────────────────────────────────────────────────────────────
   Activé par <body class="has-sidebar">. Les pages legacy qui n'ont pas
   cette classe gardent leur layout d'origine — pas de régression. */
body.has-sidebar {
    margin: 0;
    padding: 0;  /* override : certaines pages legacy mettent un padding sur body */
    background: var(--color-bg-app, #fafafa);
    min-height: 100vh;
}
body.has-sidebar .app-main {
    margin-left: var(--sidebar-w);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    min-width: 0;       /* indispensable pour que les tables wide ne forcent pas un overflow horizontal du body */
}
/* Quand la sidebar est active, on désactive le max-width/margin auto des
   conteneurs internes (.main, .container, .wrap) : on veut que le contenu
   prenne toute la zone à droite de la sidebar (sinon on aurait un
   "ruban centré" laid). On force aussi un padding latéral confortable
   pour aérer le contenu (référence Pennylane : ~32-40px). */
body.has-sidebar .main,
body.has-sidebar .container,
body.has-sidebar .wrap {
    max-width: none !important;
    margin: 0 !important;
    padding: 28px 36px !important;
}
/* Mobile layout : voir css/responsive/layout.css */
