/* RINDUS ERP - styles (charte : marine #132A4E, or #C99A2E) */
:root{--navy:#132A4E;--navy-d:#0C1D38;--navy-l:#1E3A66;--gold:#C99A2E;--gold-l:#E8B94A;
--bg:#F4F6FA;--card:#fff;--ink:#1B2432;--muted:#5A6577;--ok:#1E9E5A;--warn:#E28A1D;--err:#D64545;
--radius:12px;--shadow:0 4px 18px rgba(12,29,56,.08)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:15px;padding:10px 12px;border:1.5px solid #D4DBE6;border-radius:8px;width:100%;background:#fff}
input:focus,select:focus{outline:3px solid rgba(201,154,46,.3);border-color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;padding:10px 18px;border-radius:8px;border:0;font-size:14px}
.btn-p{background:var(--gold);color:var(--navy-d)}.btn-p:hover{background:#B8891F}
.btn-s{background:transparent;border:1.5px solid var(--navy);color:var(--navy)}
.btn-d{background:#FBEAEA;color:var(--err)}
/* Entree a la garderie : bleu, pour ne pas confondre avec la sortie */
.btn-b{background:var(--navy);color:#fff}.btn-b:hover{background:var(--navy-l)}
.btn-sm{padding:6px 12px;font-size:13px}
/* ---- Login ---- */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--navy),var(--navy-d));padding:20px}
.login-card{background:#fff;border-radius:16px;padding:36px 32px;max-width:400px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.login-card img{height:110px;margin:0 auto 8px;display:block}
.login-card h1{font-size:1.25rem;text-align:center;color:var(--navy);margin-bottom:4px}
.login-card p.sub{text-align:center;color:var(--muted);font-size:.88rem;margin-bottom:22px}
.field{margin-bottom:14px}
.field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:5px}
.msg{padding:11px 14px;border-radius:8px;font-size:.88rem;margin-bottom:14px;display:none}
.msg.err{background:#FBEAEA;color:var(--err);display:block}
.msg.ok{background:#E7F6EE;color:#14663A;display:block}
.linklike{background:none;border:none;color:var(--navy);text-decoration:underline;font-size:.85rem}
/* ---- Shell ---- */
.shell{display:flex;min-height:100vh}
.sidebar{width:232px;background:var(--navy-d);color:#C9D4E4;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:40;transition:transform .2s}
.sidebar img{height:92px;margin:18px auto 6px}
.sidebar nav{flex:1;padding:12px 10px}
.sidebar a{display:flex;gap:10px;align-items:center;color:#C9D4E4;text-decoration:none;padding:11px 14px;border-radius:8px;font-weight:600;font-size:.92rem;margin-bottom:3px}
.sidebar a:hover{background:rgba(255,255,255,.07)}
.sidebar a.active{background:var(--gold);color:var(--navy-d)}
.sidebar .foot{padding:14px;font-size:.78rem;color:#7C8BA3;border-top:1px solid rgba(255,255,255,.08)}
.main{flex:1;margin-left:232px;padding:24px 28px 60px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px;flex-wrap:wrap}
.topbar h2{color:var(--navy);font-size:1.35rem}
.userchip{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:6px 14px 6px 6px;box-shadow:var(--shadow);font-size:.88rem}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy-d);display:flex;align-items:center;justify-content:center;font-weight:800}
/* ---- Cards / tables ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:24px}
.card{background:var(--card);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}
.card .kpi{font-size:1.9rem;font-weight:800;color:var(--navy)}
.card .lbl{font-size:.85rem;color:var(--muted)}
.panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}
.panel h3{color:var(--navy);font-size:1.05rem;margin-bottom:14px}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th{text-align:left;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:2px solid #E7EBF2}
td{padding:10px;border-bottom:1px solid #F0F2F6;vertical-align:middle}
tr:hover td{background:#FAFBFD}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.b-ok{background:#E7F6EE;color:var(--ok)}.b-off{background:#EEF1F5;color:#8A94A3}
.b-role{background:#EEF2F8;color:var(--navy);margin:1px 2px}
.b-warn{background:#FBF0DE;color:var(--warn)}
.formrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end;margin-bottom:8px}
.toast{position:fixed;bottom:20px;right:20px;background:var(--navy);color:#fff;padding:13px 20px;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.3);font-size:.9rem;z-index:100;display:none}
.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.tabs button{border:1.5px solid #D4DBE6;background:#fff;border-radius:999px;padding:7px 16px;font-weight:600;font-size:.85rem}
.tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.burger{display:none;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:9px 12px;font-size:1.1rem}
@media(max-width:900px){
 .sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}
 .main{margin-left:0;padding:16px 14px 60px}.burger{display:block}
}
/* v37 : menu de gauche déroulant quand toutes les pages sont visibles */
.sidebar nav{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.sidebar nav::-webkit-scrollbar{width:6px}
.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:3px}
/* v44 : menu groupé par catégories */
.navsec{font-size:.68rem;font-weight:800;letter-spacing:.09em;color:#7C8BA3;padding:14px 14px 4px;text-transform:uppercase}
.navsec:first-child{padding-top:4px}
/* v70 : statuts motos differencies */
.b-expl{background:#DCEBFF;color:#1E3A66}
.b-dispo{background:#E7F6EE;color:#1E7B34}
/* v76 : barre de saisie du chat */
.chbar{display:grid;grid-template-columns:1fr 44px 44px auto 25%;gap:8px;align-items:center}
.chbar #ch-in{width:100%;margin:0}
.chbar .chbtn-emo{width:44px;padding:9px 0;font-size:1.15rem;text-align:center}
.chbar .chbtn-att{white-space:nowrap;padding:9px 14px}
.chbar .chbtn-send{width:100%}
@media(max-width:640px){
  .chbar{grid-template-columns:1fr 44px 44px auto;grid-template-areas:"txt emo cam att" "snd snd snd snd"}
  .chbar #ch-in{grid-area:txt}.chbar .chbtn-emo{grid-area:emo}
  .chbar .chbtn-cam{grid-area:cam}.chbar .chbtn-att{grid-area:att}.chbar .chbtn-send{grid-area:snd}
}

.chbar .chbtn-cam{width:44px;padding:9px 0;font-size:1.05rem;text-align:center}
/* v81 : calendrier */
.calgrid{display:grid;gap:6px;min-width:640px}
.calhead{text-align:center;font-size:.8rem;color:#5A6577;padding:4px;text-transform:capitalize}
.calcol{background:#F7F9FC;border-radius:10px;padding:6px;min-height:220px}
.calcol.calauj,.calcell.calauj{outline:2px solid #F0A821}
.calbody{min-height:180px;cursor:pointer}
.calvide{color:#B7BFCC;text-align:center;padding:14px 0;font-size:.85rem}
.calev{background:#fff;border-radius:8px;padding:6px 8px;margin-bottom:6px;font-size:.82rem;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.calev:hover{background:#EEF2F8}
.calcell{background:#F7F9FC;border-radius:8px;padding:5px;min-height:92px;cursor:pointer}
.calcell.calhors{opacity:.45}
.calmini{background:#fff;border-radius:6px;padding:2px 5px;margin-top:3px;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* v101 : calendrier en grille horaire */
.calh{display:grid;gap:0;min-width:660px;border:1px solid #E3E8F0;border-radius:10px;overflow:hidden}
.calh-coin{background:#F7F9FC;border-bottom:1px solid #E3E8F0}
.calh-head{background:#F7F9FC;text-align:center;padding:6px 2px;font-size:.8rem;color:#5A6577;border-bottom:1px solid #E3E8F0;border-left:1px solid #E3E8F0;text-transform:capitalize}
.calh-head.calh-auj{background:#FDF3DC;color:#8A6A00}
.calh-heures{background:#FBFCFE}
.calh-heure{font-size:.72rem;color:#8A94A3;text-align:right;padding:2px 6px 0 0;border-top:1px solid #EEF1F5;box-sizing:border-box}
.calh-col{position:relative;border-left:1px solid #E3E8F0}
.calh-slot{position:absolute;left:0;right:0;border-top:1px solid #EEF1F5;cursor:pointer;box-sizing:border-box}
.calh-slot:hover{background:#F0F5FF}
.calh-ev{position:absolute;left:3px;right:3px;color:#fff;border-radius:7px;padding:3px 6px;font-size:.74rem;line-height:1.25;overflow:hidden;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.calh-ev:hover{filter:brightness(1.1)}

/* --- Dette fournisseur, connexion conducteur et espace conducteur (V135) --- */
.reste-dette{border:1.5px solid #E3E8F0;border-left-width:5px;border-radius:10px;
padding:10px 12px;margin:6px 0;font-size:.9rem;background:#FAFBFD}
.reste-dette.du{border-left-color:#F0A821}
.reste-dette.solde{border-left-color:#1E7B34}
.onglets-login{display:flex;gap:6px;background:#EEF1F6;border-radius:10px;padding:4px;margin-bottom:12px}
.onglets-login .ol{flex:1;border:0;background:transparent;border-radius:7px;padding:9px 6px;
font-weight:700;font-size:.86rem;color:#5A6577;cursor:pointer;font-family:inherit}
.onglets-login .ol.on{background:#fff;color:#132A4E;box-shadow:0 1px 4px rgba(19,42,78,.14)}
.cond-shell{max-width:760px;margin:0 auto;padding:0 12px 40px}
.cond-tete{display:flex;align-items:center;gap:12px;padding:14px 4px 16px;position:sticky;top:0;
background:#F6F8FB;z-index:5}
.cond-tete img{height:34px}
.cond-tete div{flex:1;line-height:1.2}
.cond-tete b{display:block;font-size:1rem;color:#132A4E}
.cond-tete small{color:#5A6577;font-size:.78rem}
.cond-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.cond-cartes .cc{background:#F6F8FB;border:1px solid #E3E8F0;border-radius:11px;padding:10px 12px}
.cond-cartes .cc small{display:block;color:#5A6577;font-size:.76rem}
.cond-cartes .cc b{display:block;font-size:1.12rem;color:#132A4E;margin-top:2px}
.cond-cartes .cc span{display:block;color:#5A6577;font-size:.72rem}
.cond-cartes .cc.alerte{background:#FBEAEA;border-color:#E9B7B7}
.cond-cartes .cc.alerte b{color:#D64545}
