:root{--fond: #F3F4F1;--surface: #FFFFFF;--surface-2: #FAFAF8;--texte: #16191D;--texte-2: #5B6168;--bord: #DDE0DA;--bord-2: #ECEEE9;--bord-champ: #C5C9C2;--nav: #16191D;--nav-actif: #262B31;--nav-texte: #C9CED4;--accent: #1F56B3;--accent-fonce: #163F85;--accent-pale: #E6EEFB;--ok: #1E5A33;--ok-pale: #E9F3EC;--alerte: #8A3B0E;--alerte-pale: #FBEDE4;--neutre-pale: #F0F1EE;--danger: #A11D1D;font-family:IBM Plex Sans,system-ui,sans-serif;color:var(--texte);background:var(--fond);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--fond)}a{color:var(--accent)}a:hover{color:var(--accent-fonce)}h1{margin:0;font-size:24px;font-weight:600}h2{margin:0;font-size:16px;font-weight:600}.mono{font-family:IBM Plex Mono,monospace;font-size:13px}.discret{color:var(--texte-2)}.petit{font-size:12.5px}.app{display:flex;min-height:100vh}.nav{width:220px;flex:none;background:var(--nav);padding:18px 10px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh}.nav .marque{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:19px;letter-spacing:.08em;padding:2px 10px 18px}.nav .marque img{width:22px;filter:brightness(1.1);background:#fff;border-radius:3px;padding:1px}.nav a{display:flex;align-items:center;padding:9px 12px;border-radius:6px;color:var(--nav-texte);text-decoration:none;font-size:14px}.nav a:hover,.nav a.active{background:var(--nav-actif);color:#fff}.nav .bas{margin-top:auto;padding:10px 12px;color:var(--nav-texte);font-size:12.5px;display:flex;flex-direction:column;gap:6px}.nav .bas button{all:unset;cursor:pointer;color:#fff;text-decoration:underline}.contenu{flex:1;min-width:0;padding:24px 28px 48px;display:flex;flex-direction:column;gap:18px}.entete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}.ligne{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grille2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.grille4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}@media (max-width: 900px){.app{flex-direction:column}.nav{width:auto;height:auto;position:static;flex-direction:row;flex-wrap:wrap}.nav .bas{margin:0}.contenu{padding:16px}.grille2,.grille4{grid-template-columns:minmax(0,1fr)}}.carte{background:var(--surface);border:1px solid var(--bord);border-radius:8px}.carte>.titre{padding:14px 16px;border-bottom:1px solid var(--bord);display:flex;justify-content:space-between;align-items:center;gap:12px}.carte>.corps{padding:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--bord);border-radius:8px;padding:14px 16px}.kpi .l{font-size:13px;color:var(--texte-2)}.kpi .v{font-size:26px;font-weight:600;margin-top:4px}.kpi .s{font-size:12.5px;color:var(--texte-2);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 14px;border-radius:6px;border:1px solid var(--bord-champ);background:#fff;color:var(--texte);font:600 13.5px IBM Plex Sans,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--surface-2);color:var(--texte)}.btn.principal{background:var(--accent);border-color:var(--accent);color:#fff}.btn.principal:hover{background:var(--accent-fonce)}.btn.danger{color:var(--danger);border-color:#e3b5b5}.btn.lien{border:0;background:none;color:var(--accent);padding:0 6px;min-height:28px}.btn:disabled{opacity:.55;cursor:default}.btn.petit{min-height:30px;padding:0 10px;font-size:12.5px}.puce{min-height:34px;padding:0 12px;border-radius:17px;border:1px solid var(--bord-champ);background:#fff;font:600 13px IBM Plex Sans;cursor:pointer;color:var(--texte)}.puce.on{background:var(--texte);border-color:var(--texte);color:#fff}label.champ{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--texte-2)}.in,select.in,textarea.in{min-height:38px;padding:0 10px;border:1px solid var(--bord-champ);border-radius:5px;font:14px IBM Plex Sans,sans-serif;color:var(--texte);background:#fff;width:100%}textarea.in{padding:8px 10px;min-height:64px;resize:vertical}.in:focus,.cell:focus{outline:2px solid var(--accent);outline-offset:-1px}.recherche{max-width:340px}.tableau{width:100%;border-collapse:collapse}.tableau th{font-size:11.5px;font-weight:600;color:var(--texte-2);text-align:left;padding:9px 12px;border-bottom:1px solid var(--bord);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);position:sticky;top:0}.tableau td{padding:10px 12px;border-bottom:1px solid var(--bord-2);vertical-align:middle}.tableau tr.cliquable{cursor:pointer}.tableau tr.cliquable:hover td{background:#f5f8fd}.tableau .r{text-align:right;white-space:nowrap}.defile{overflow-x:auto}.statut{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.statut.en_cours{background:var(--accent-pale);color:var(--accent-fonce)}.statut.accepte{background:var(--ok-pale);color:var(--ok)}.statut.refuse,.statut.annule{background:var(--neutre-pale);color:#3d4248}.statut.relance{background:var(--alerte-pale);color:var(--alerte)}.statut.facture{background:#ede9f7;color:#3d2b6b}.message{padding:10px 14px;border-radius:6px;font-size:13.5px}.message.erreur{background:#fbe7e7;color:var(--danger)}.message.ok{background:var(--ok-pale);color:var(--ok)}.message.info{background:var(--accent-pale);color:var(--accent-fonce)}.vide{padding:28px;text-align:center;color:var(--texte-2)}.grille-devis{width:100%;border-collapse:collapse}.grille-devis th{font-size:11.5px;font-weight:600;color:var(--texte-2);text-align:left;padding:6px;text-transform:uppercase;letter-spacing:.04em}.grille-devis td{padding:0;border-bottom:1px solid var(--bord-2)}.cell{width:100%;border:0;background:transparent;padding:7px 6px;font:14px IBM Plex Sans,sans-serif;color:var(--texte);min-height:32px}.cell.r{text-align:right}.cell:hover{background:var(--surface-2)}.section-tete{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--bord);background:var(--surface-2);border-radius:8px 8px 0 0}.section-tete .titre-section{flex:1 1 280px;font-weight:600;font-size:15px}.icone{all:unset;cursor:pointer;color:var(--texte-2);padding:4px 6px;border-radius:4px;font-size:13px}.icone:hover{background:var(--bord-2);color:var(--texte)}.connexion{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.connexion .boite{width:100%;max-width:380px;background:#fff;border:1px solid var(--bord);border-radius:10px;padding:28px;display:flex;flex-direction:column;gap:14px}.connexion .marque{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px;letter-spacing:.08em}.connexion .marque img{width:34px}.inter{position:relative;width:46px;height:26px;border-radius:13px;border:0;cursor:pointer;background:#b8bdb5;flex:none}.inter.on{background:var(--accent)}.inter:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .12s}.inter.on:after{left:23px}.reglage{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--bord-2)}.reglage:last-child{border-bottom:0}
