:root {
    --bs-primary: #193C56;
    --bs-primary-rgb: 25, 60, 86;

    --bs-link-color: #193C56;
    --bs-link-hover-color: #102B40;
} 	
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #193C56;
    --bs-btn-border-color: #193C56;

    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #102B40;
    --bs-btn-hover-border-color: #102B40;

    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #102B40;
    --bs-btn-active-border-color: #102B40;

    --bs-btn-disabled-bg: #193C56;
    --bs-btn-disabled-border-color: #193C56;
}

.btn-outline-primary {
    --bs-btn-color: #193C56;
    --bs-btn-border-color: #193C56;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #193C56;
    --bs-btn-hover-border-color: #193C56;
    --bs-btn-active-bg: #102B40;
    --bs-btn-active-border-color: #102B40;
}
body{background:#f5f7fb}.page{max-width:1300px;margin:auto}.card{border:0;box-shadow:0 2px 12px #1b2a3b0b}.table td{vertical-align:middle}.tag{display:inline-block;border-radius:30px;background:#eaf2f8;padding:2px 9px;margin:2px;font-size:.8rem}.form-label{font-weight:600}.hint{color:#657482;font-size:.88rem}
:root{--sidebar-width:250px;--sidebar-bg:#173c57;--sidebar-active:#315c78}
.desktop-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--sidebar-bg);color:#fff;z-index:1030;padding:22px 14px;overflow-y:auto}
.sidebar-brand{display:flex;align-items:center;gap:12px;color:white;padding:4px 8px 22px;border-bottom:1px solid #ffffff26;margin-bottom:20px;line-height:1.25}
.sidebar-brand small{color:#c3d3df;font-size:.78rem}
.logo-slot{width:55px;height:55px;border:1px dashed #9cb8cb;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff12;overflow:hidden}
.logo-slot img{max-width:100%;max-height:100%;object-fit:contain}.logo-slot i{font-size:1.5rem;color:#bed3e1}
.sidebar-links{display:flex;flex-direction:column;gap:4px}.side-link{display:flex;align-items:center;gap:12px;color:#e2edf5;text-decoration:none;padding:11px 13px;border-radius:9px;transition:background .15s ease}.side-link i{width:20px;text-align:center;font-size:1.1rem}.side-link:hover,.side-link:focus{background:#ffffff1c;color:#fff}.side-link.active{background:var(--sidebar-active);color:#fff;font-weight:600}
.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff26;padding-top:12px}.sidebar-user{font-size:.85rem;color:#d4e2ec;padding:11px 13px;overflow-wrap:anywhere}
.mobile-header,.mobile-nav{background:var(--sidebar-bg);color:#fff}.mobile-nav .offcanvas-body{display:flex;flex-direction:column}.sidebar-rule{border-color:#ffffff55}.brand-logo-sm{width:34px;height:34px;object-fit:contain}
@media(min-width:992px){.app-main{margin-left:var(--sidebar-width);max-width:none;padding:28px 34px 50px!important}.app-main>.card,.app-main>.row{max-width:1500px}.guest-main{padding-top:24px}}
@media(max-width:991.98px){.app-main{padding-top:22px}.mobile-nav{max-width:300px}}

/* v0.1.2 – Écran de connexion et création de compte */
.auth-body{background:#f4f7fb;color:#203244}
.auth-main{min-height:100vh;width:100%}
.auth-main>.alert{position:relative;z-index:2;max-width:480px;margin:12px auto -16px}
.auth-layout{display:grid;grid-template-columns:minmax(360px,46%) 1fr;min-height:100vh}
.auth-panel{position:relative;overflow:hidden;background:linear-gradient(155deg,#102f48 0%,#194663 65%,#1f5973 100%);color:white;padding:clamp(34px,5vw,78px);display:flex;flex-direction:column}
.auth-panel:after{content:'';position:absolute;width:540px;height:540px;border:1px solid #ffffff1c;border-radius:50%;right:-300px;bottom:-220px;box-shadow:0 0 0 70px #ffffff08,0 0 0 150px #ffffff06;pointer-events:none}
.auth-identity{display:flex;align-items:center;gap:17px;position:relative;z-index:1}
.auth-logo{height:76px;width:76px;flex:none;display:flex;align-items:center;justify-content:center;background:#ffffff17;border:1px solid #ffffff3b;border-radius:19px;overflow:hidden}
.auth-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.auth-logo i{font-size:2.3rem;color:white}
.auth-brand{font-size:1.42rem;font-weight:750;letter-spacing:-.03em}
.auth-brand-subtitle{font-size:.89rem;color:#c6d9e5;margin-top:2px}
.auth-welcome{margin:auto 0;max-width:490px;position:relative;z-index:1;padding:70px 0}
.auth-eyebrow{display:block;font-size:.71rem;letter-spacing:.18em;font-weight:800;color:#74c7eb;margin-bottom:15px}
.auth-welcome h1{font-size:clamp(2.25rem,3.5vw,3.6rem);line-height:1.12;font-weight:750;letter-spacing:-.045em;margin-bottom:22px}
.auth-welcome p{font-size:1.08rem;line-height:1.75;color:#d3e2eb;max-width:440px}
.auth-decoration{position:absolute;right:12%;bottom:16%;font-size:7rem;opacity:.075;transform:rotate(-15deg);pointer-events:none}
.auth-panel-footer{position:relative;z-index:1;font-size:.8rem;color:#c3d5e0}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:45px 30px}
.auth-card{width:100%;max-width:445px}
.auth-card-heading{margin-bottom:32px}
.auth-card-heading .auth-eyebrow{color:#2a779f;margin-bottom:12px}
.auth-card-heading h2{font-weight:750;letter-spacing:-.035em;font-size:2.15rem;margin-bottom:9px;color:#172f43}
.auth-card-heading p{color:#697d8e;margin:0}
.auth-form .form-label{font-size:.89rem;color:#30465a;margin-bottom:9px}
.auth-form .form-control{height:53px;border:1px solid #dce4ec;border-radius:11px;background:white;box-shadow:none}
.auth-form .form-control:focus{border-color:#317fac;box-shadow:0 0 0 .2rem #317fac20}
.auth-input-wrap{position:relative}
.auth-input-wrap>i{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#8498a9;pointer-events:none}
.auth-input-wrap .form-control{padding-left:46px}
.auth-password-wrap .form-control{padding-right:53px}
.auth-toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:transparent;color:#72889b;border-radius:8px}
.auth-toggle-password:hover{background:#eef4f8}
.auth-submit{margin-top:16px;height:53px;border-radius:11px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:12px}
.auth-security{margin-top:30px;text-align:center;color:#8494a2;font-size:.82rem}
.auth-security i{margin-right:6px}
.auth-mobile-brand{display:none}
@media(max-width:850px){.auth-layout{grid-template-columns:1fr}.auth-panel{display:none}.auth-form-side{min-height:100vh;padding:30px 22px}.auth-mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:46px;color:#1d405a}.auth-logo-small{width:52px;height:52px;border-radius:12px;background:#1b4966}.auth-logo-small i{font-size:1.6rem}.auth-card-heading h2{font-size:1.85rem}}
@media(prefers-reduced-motion:reduce){.auth-body *{scroll-behavior:auto!important;transition:none!important}}
