:root{--bg:#f1efea;--canvas:#e7e4dc;--surface:#fff;--surface-2:#f6f4ef;--ink:#172420;--ink-muted:#5b665f;--ink-faint:#93a199;--accent:#8a5a2b;--accent-ink:#5c3b1a;--accent-soft:#efe1cd;--on-accent:#fff9f1;--success:#2f6f62;--success-soft:#dceae5;--warning:#b25b12;--warning-soft:#f5e3d2;--danger:#9c3b2e;--danger-soft:#f4dfda;--info:#3b6fa0;--info-soft:#dee7ef;--rule:#e1ddd3;--rule-strong:#cbc5b7;--shadow:0 1px 2px #1724200f, 0 8px 24px -12px #1724202e;--radius-card:14px;--radius-pill:999px;--sans:-apple-system, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14100c;--canvas:#0b0908;--surface:#1e1a15;--surface-2:#26211a;--ink:#f2eee6;--ink-muted:#b4aa98;--ink-faint:#7b7264;--accent:#d8a15c;--accent-ink:#ffe9c8;--accent-soft:#3b2c18;--on-accent:#241705;--success:#6fb39f;--success-soft:#1b2e29;--warning:#e08f4c;--warning-soft:#33230f;--danger:#e0897a;--danger-soft:#33201b;--info:#86afd6;--info-soft:#1b2733;--rule:#322c22;--rule-strong:#453d2e;--shadow:0 1px 2px #0006, 0 10px 30px -14px #0009}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--info);outline-offset:2px}h1{margin:0}.app-shell{background:var(--bg);flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.navbar{border-bottom:1px solid var(--rule);background:var(--bg);flex:none;align-items:center;gap:4px;min-height:52px;padding:6px 8px;display:flex}.navbar .side{flex:1;align-items:center;display:flex}.navbar .side.right{justify-content:flex-end}.navbar h1{text-align:center;flex:2;font-size:17px;font-weight:700}.navbtn{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:2px;min-width:44px;min-height:44px;padding:6px 10px;font-size:15px;text-decoration:none;display:flex}.navbtn:hover{background:var(--surface)}.body-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.content{flex-direction:column;gap:18px;padding:14px 16px 28px;display:flex}.tabbar{padding:6px 4px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);background:var(--bg);z-index:5;flex:none;justify-content:space-around;align-items:center;display:flex;position:relative}.tab{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 6px;font-size:10.5px;text-decoration:none;display:flex}.tab svg{width:24px;height:24px}.tab.is-active{color:var(--accent)}h2.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:0 0 -6px 2px;font-size:13px;font-weight:700}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:14px}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint)}.tnum{font-variant-numeric:tabular-nums}.hr{background:var(--rule);height:1px}.avatar{color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.avatar.lg{width:64px;height:64px;font-size:22px}.avatar.md{width:44px;height:44px;font-size:16px}.pill{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.pill.success{background:var(--success-soft);color:var(--success)}.pill.warning{background:var(--warning-soft);color:var(--warning)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.neutral{background:var(--surface-2);color:var(--ink-muted)}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;padding:13px 16px;font-size:15.5px;font-weight:700;display:flex}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{background:var(--surface-2);color:var(--ink)}.btn.ghost{color:var(--accent);background:0 0;width:auto;padding:8px 4px}.btn.sm{border-radius:10px;width:auto;padding:8px 12px;font-size:13.5px}.list-row{cursor:pointer;border-bottom:1px solid var(--rule);color:inherit;text-align:left;width:100%;font:inherit;background:0 0;border-top:none;border-left:none;border-right:none;align-items:center;gap:12px;padding:11px 4px;text-decoration:none;display:flex}.list-row:last-child{border-bottom:none}.list-row .meta{flex:1;min-width:0}.list-row .name{font-size:15px;font-weight:600}.list-row .sub{color:var(--ink-muted);margin-top:1px;font-size:12.5px}.chevron{color:var(--ink-faint);flex:none}.searchbar{background:var(--surface-2);color:var(--ink-faint);border-radius:11px;align-items:center;gap:8px;padding:9px 12px;font-size:15px;display:flex}.searchbar svg{flex:none}.searchbar input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:15px}.searchbar input::placeholder{color:var(--ink-faint)}.segmented{background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:flex}.segmented button{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 4px;font-size:13px;font-weight:600}.segmented button.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12.5px;font-weight:700}.field .input,.field select{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:10px;width:100%;padding:11px 12px;font-family:inherit;font-size:15px}.empty-hint{text-align:center;color:var(--ink-faint);padding:28px 10px;font-size:13px}.erreur{color:var(--danger);font-size:13.5px}.sheet-backdrop{z-index:60;opacity:0;pointer-events:none;background:#0a0a086b;transition:opacity .22s;position:fixed;inset:0}.sheet-backdrop.open{opacity:1;pointer-events:auto}.sheet{background:var(--bg);z-index:61;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:88dvh;transition:transform .28s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%,100%);box-shadow:0 -8px 30px #00000040}.sheet.open{transform:translate(-50%)}.sheet-handle{background:var(--rule-strong);border-radius:3px;flex:none;width:36px;height:5px;margin:10px auto 4px}.sheet-head{flex:none;justify-content:space-between;align-items:center;padding:6px 16px 10px;display:flex}.sheet-head h2{font-size:17px}.sheet-body{flex-direction:column;gap:16px;padding:4px 16px 22px;display:flex;overflow-y:auto}.setup-screen{text-align:center;max-width:400px;margin:20vh auto;padding:0 24px}.setup-screen form{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.setup-screen input{border:1px solid var(--rule-strong);background:var(--surface);min-width:160px;min-height:44px;color:var(--ink);border-radius:10px;flex:1;padding:10px 12px}.setup-screen button{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:10px;min-height:44px;padding:0 16px;font-weight:700}.setup-screen .lien-discret{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;min-height:44px;margin:16px auto 0;font-size:14px;text-decoration:underline;display:block}.setup-screen .erreur{color:#d33;margin-top:12px;font-size:14px}.loading{height:100dvh;color:var(--ink-muted);justify-content:center;align-items:center;display:flex}.barre-utilisateur{color:var(--ink-muted);border-bottom:1px solid var(--rule);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.barre-utilisateur .lien-discret{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;min-height:44px;padding:0 4px;font-size:13px;text-decoration:underline}
