:root{--vert: #14532d;--vert-clair: #dcfce7;--fond: #f8fafc;--carte: #ffffff;--texte: #0f172a;--texte-doux: #64748b;--bordure: #e2e8f0;--ambre: #b45309;--ambre-fond: #fef3c7;--rouge: #b91c1c;--rayon: 12px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fond);color:var(--texte);-webkit-text-size-adjust:100%}#root{max-width:640px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}header.app{background:var(--vert);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}header.app h1{font-size:1.1rem;margin:0}header.app button.reglages{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer}nav.onglets{display:flex;background:var(--carte);border-bottom:1px solid var(--bordure);position:sticky;top:52px;z-index:9}nav.onglets button{flex:1;padding:12px 4px;border:none;background:none;font-size:.95rem;color:var(--texte-doux);border-bottom:3px solid transparent;cursor:pointer}nav.onglets button.actif{color:var(--vert);border-bottom-color:var(--vert);font-weight:600}main{flex:1;padding:12px 12px 24px}.bandeau-demo{background:var(--ambre-fond);color:var(--ambre);border:1px solid #fcd34d;border-radius:var(--rayon);padding:10px 12px;margin-bottom:12px;font-size:.9rem}.carte{background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);padding:12px;margin-bottom:10px}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}.badge.brouillon{background:var(--ambre-fond);color:var(--ambre)}.badge.valide{background:var(--vert-clair);color:var(--vert)}.ligne-depense{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ligne-depense .marchand{font-weight:600}.ligne-depense .montant{font-weight:700;white-space:nowrap}.meta{color:var(--texte-doux);font-size:.85rem;margin-top:4px}.actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}button{font-size:1rem;border-radius:10px;border:1px solid var(--bordure);background:var(--carte);padding:10px 14px;cursor:pointer;min-height:44px}button.primaire{background:var(--vert);color:#fff;border-color:var(--vert);font-weight:600}button.danger{color:var(--rouge);border-color:#fecaca}button:disabled{opacity:.5;cursor:default}input,select,textarea{font-size:1rem;padding:10px 12px;border:1px solid var(--bordure);border-radius:10px;width:100%;min-height:44px;background:#fff;color:var(--texte)}label{display:block;font-size:.85rem;color:var(--texte-doux);margin:8px 0 4px}.fil{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.bulle{max-width:88%;padding:10px 12px;border-radius:14px;white-space:pre-wrap;word-break:break-word;font-size:.95rem}.bulle.agent{background:var(--carte);border:1px solid var(--bordure);align-self:flex-start;border-bottom-left-radius:4px}.bulle.moi{background:var(--vert);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.barre-chat{display:flex;gap:8px;position:sticky;bottom:0;background:var(--fond);padding:8px 0}.barre-chat input{flex:1}.apercu{max-width:100%;border-radius:var(--rayon);margin:8px 0}.incoherence{background:var(--ambre-fond);border:1px solid #fcd34d;border-radius:8px;padding:8px;font-size:.85rem;margin-top:8px}.reglages-panel{margin-bottom:12px}.erreur{color:var(--rouge);font-size:.9rem;margin-top:8px}.chargement{color:var(--texte-doux);font-style:italic}.lignes-recu{list-style:none;margin:8px 0 0;padding:0;border-top:1px dashed var(--bordure)}.lignes-recu li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--bordure);font-size:.92rem}.lignes-recu li:last-child{border-bottom:none}.lignes-recu .ligne-label{color:var(--texte)}.lignes-recu .ligne-montant{white-space:nowrap;font-variant-numeric:tabular-nums}.details-toggle{background:none;border:none;color:var(--vert);font-size:.88rem;padding:4px 0;cursor:pointer;text-align:left;font-weight:600}.prompt{white-space:pre-wrap;word-break:break-word;font-size:.78rem;background:var(--fond);border:1px solid var(--bordure);border-radius:8px;padding:8px;margin:0 0 8px;max-height:220px;overflow:auto}
