/* Styles propres à l'application (au-delà du thème) — Stock INS */

/* ---------- Écran de connexion ---------- */
.ins-auth { min-height: 100vh; background: var(--color-bg); }
.ins-auth__wrap { display: grid; grid-template-columns: minmax(380px, 46%) 1fr; min-height: 100vh; }
.ins-auth__brand { position: relative; background: var(--color-sidebar-bg); color: #fff; display: flex; align-items: center; padding: 3rem; overflow: hidden; }
.ins-auth__brand::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -180px; top: -160px; border: 56px solid rgba(247,146,30,.10); }
.ins-auth__brand::after { content: ""; position: absolute; width: 380px; height: 380px; border-radius: 50%; left: -140px; bottom: -150px; border: 44px solid rgba(0,169,56,.10); }
.ins-auth__brand-inner { position: relative; z-index: 1; max-width: 460px; }
.ins-auth__logo { width: 84px; height: 84px; background: #fff; border-radius: 16px; padding: 6px; margin-bottom: 1.5rem; }
.ins-auth__brand h1 { color: #fff; font-size: 2rem; margin-bottom: .5rem; }
.ins-auth__brand p { color: var(--color-sidebar-text); font-size: 1.05rem; }
.ins-auth__points { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: .85rem; color: var(--color-sidebar-text); }
.ins-auth__points i { color: var(--ins-orange-500); margin-right: .6rem; font-size: 1.1rem; }
.ins-auth__footer { margin-top: 3rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--color-sidebar-muted); }
.ins-auth__tricolor { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: linear-gradient(90deg, var(--ins-logo-orange) 0 33.3%, #fff 33.3% 66.6%, var(--ins-logo-green-bar) 66.6%); }
.ins-auth__panel { display: flex; align-items: center; justify-content: center; padding: 2rem 1.25rem; }
.ins-auth__form { width: 100%; max-width: 400px; }
.ins-auth__form h2 { font-size: 1.6rem; margin-bottom: .25rem; }
.ins-auth__logo-sm { width: 64px; height: 64px; margin-bottom: 1rem; }
@media (max-width: 991.98px) { .ins-auth__wrap { grid-template-columns: 1fr; } .ins-auth__brand { display: none; } }

/* ---------- Divers ---------- */
.table-responsive { position: relative; }
/* Mobile : le fil d'Ariane est redondant avec le titre et le menu → masqué */
@media (max-width: 575.98px) { .app-content-header .breadcrumb { display: none; } }
/* Le menu des notifications ne doit jamais élargir la page sur mobile */
.app-header .dropdown-menu-lg { width: min(360px, calc(100vw - 24px)) !important; }
html, body { overflow-x: hidden; }
.ins-kv { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1.25rem; font-size: var(--fs-sm); margin: 0; }
.ins-kv dt { color: var(--color-text-muted); font-weight: 500; }
.ins-kv dd { margin: 0; color: var(--color-text); }
.ins-lines-table td, .ins-lines-table th { vertical-align: middle; }
.ins-lines-table .form-control { min-height: 34px; }
.ins-sticky-actions { position: sticky; bottom: 0; background: var(--color-surface); border-top: 1px solid var(--color-border); padding: .75rem 1.25rem; z-index: 5; }
.dropdown-menu .dropdown-item.active small { color: rgba(255,255,255,.8) !important; }
.table td .btn-sm { white-space: nowrap; }
div.dt-container div.dt-search input { min-width: 220px; }
@media (max-width: 575.98px) { div.dt-container div.dt-search input { min-width: 0; width: 100%; } }
