:root{--bg: #FFF8F1;--surface: #FFFFFF;--ink: #2A1514;--muted: #6B5A55;--line: #EFE2D5;--accent: #491615;--accent-ink: #FFFFFF;--accent-soft: #FBEDE0;--tan: #DE9A62;--neg: #C42B1F;--neg-soft: #FCE3DF;--warn: #9A4D00;--warn-soft: #FFEACF;--ok: #1E7A4B;--ok-soft: #DCF3E6;--info: #2F5DB0;--info-soft: #E4ECFB;--bar-cost: #C9B5A6;--ombre: 0 1px 2px rgba(73, 22, 21, .05), 0 8px 24px rgba(73, 22, 21, .07);--fond: radial-gradient(900px 420px at 0% -10%, #FFE4C9 0%, transparent 65%), radial-gradient(700px 380px at 100% 0%, #FDE9DC 0%, transparent 60%);--champ: #FFFCF9;--font-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body: "Instrument Sans", "Segoe UI", system-ui, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1A1110;--surface: #251918;--ink: #F3E9E2;--muted: #B7A59C;--line: #3A2A27;--accent: #E0A67C;--accent-ink: #2A1514;--accent-soft: #3A2620;--tan: #CB9066;--neg: #FF8F82;--neg-soft: #4A201C;--warn: #E6B654;--warn-soft: #33270F;--bar-cost: #7A6A61;--ok: #7FD8A6;--ok-soft: #173826;--info: #9DBBF5;--info-soft: #1D2B47;--ombre: 0 0 0 1px var(--line);--fond: none;--champ: #2C1F1D;color-scheme:dark}}:root[data-theme=dark]{--bg: #1A1110;--surface: #251918;--ink: #F3E9E2;--muted: #B7A59C;--line: #3A2A27;--accent: #E0A67C;--accent-ink: #2A1514;--accent-soft: #3A2620;--tan: #CB9066;--neg: #FF8F82;--neg-soft: #4A201C;--warn: #E6B654;--warn-soft: #33270F;--bar-cost: #7A6A61;--ok: #7FD8A6;--ok-soft: #173826;--info: #9DBBF5;--info-soft: #1D2B47;--ombre: 0 0 0 1px var(--line);--fond: none;--champ: #2C1F1D;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.45;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:16px 96px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.app{max-width:1080px;margin:0 auto;display:grid;gap:20px}.top{display:grid;gap:12px}.brand{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.brand h1{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin:0;letter-spacing:-.01em;line-height:1.1}.brand .logo{width:56px;height:56px;border-radius:14px;background:#fff;border:1px solid var(--line);padding:3px;object-fit:contain;flex:none}.brand .tag{display:block;font-size:.78rem;color:var(--muted);font-weight:500;font-family:var(--font-body);margin-top:2px}.topband{height:4px;border-radius:4px;background:var(--tan)}.badge{font-size:.75rem;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--warn-soft);color:var(--warn)}.roles{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.roles span{font-size:.8rem;color:var(--muted)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.seg button{border:0;background:transparent;padding:9px 14px;min-height:44px;font-size:.9rem}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:600}nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;background:var(--surface);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}nav.tabs button{flex:1;min-width:0;min-height:52px;border:0;background:transparent;display:grid;place-items:center;gap:2px;font-size:.75rem;color:var(--muted);border-radius:10px}nav.tabs button svg{width:22px;height:22px}nav.tabs button span{font-size:.66rem;text-align:center;line-height:1.1}@media(min-width:880px){nav.tabs button span{font-size:.95rem;text-align:left}}nav.tabs button[aria-current=page]{color:var(--accent);font-weight:600;background:var(--accent-soft);box-shadow:inset 0 -3px 0 var(--tan)}main{min-width:0;display:grid;gap:16px;align-content:start}h2{font-family:var(--font-display);font-size:1.6rem;line-height:1.15;margin:0;letter-spacing:-.01em}h3{font-family:var(--font-display);font-size:1.05rem;margin:0 0 10px}.sub{color:var(--muted);margin:4px 0 0;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}.hero{padding:20px;border-top:4px solid var(--tan)}.hero .lab{font-size:.85rem;color:var(--muted)}.hero .val{font-family:var(--font-display);font-weight:700;font-size:clamp(2.1rem,9vw,3.2rem);line-height:1.05;letter-spacing:-.02em;margin:6px 0}.neg{color:var(--neg)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:99px;background:var(--accent-soft);color:var(--accent)}.pill.neg{background:var(--neg-soft);color:var(--neg)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.kpi .lab{font-size:.8rem;color:var(--muted)}.kpi .v{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin:4px 0 2px;letter-spacing:-.01em}.kpi .s{font-size:.8rem;color:var(--muted)}.cols{display:grid;gap:16px;grid-template-columns:1fr}.monthbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.monthbar .m{font-family:var(--font-display);font-weight:700;font-size:1.05rem;min-width:9.5em;text-align:center;text-transform:capitalize}.btn{min-height:44px;min-width:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:600}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{min-height:36px;padding:0 12px;font-size:.85rem}.wf{display:grid;gap:10px}.wf .row{display:grid;gap:4px}.wf .head{display:flex;justify-content:space-between;gap:8px;font-size:.88rem}.wf .head b{font-weight:600}.wf .track{position:relative;height:16px;background:color-mix(in srgb,var(--line) 55%,transparent);border-radius:4px}.wf .bar{position:absolute;top:0;bottom:0;border-radius:4px;background:var(--bar-cost)}.wf .bar.total{background:var(--accent)}.wf .bar.res-neg{background:var(--neg)}.wf .zero{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.55}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}td.r,th.r{text-align:right}.scroll{overflow-x:auto}details summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.checks{list-style:none;margin:0;padding:0;display:grid;gap:8px}.checks li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem}.dot{flex:none;width:22px;height:22px;border-radius:99px;display:grid;place-items:center;font-size:.8rem;font-weight:700;background:var(--accent-soft);color:var(--accent)}.dot.bad{background:var(--neg-soft);color:var(--neg)}.field{display:grid;gap:6px}.fgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:12px 0}.field .hint{font-size:.78rem;color:var(--muted)}.field .err{font-size:.8rem;color:var(--neg);font-weight:600;min-height:1em}.field select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--surface)}.field label{font-size:.85rem;color:var(--muted)}.field input{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surface)}button.link{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;font-weight:600;min-height:32px;text-align:left}.prod{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.prod:last-of-type{border-bottom:0}.prod .n{font-weight:600}.prod .p{font-size:.85rem;color:var(--muted)}.step{display:inline-flex;align-items:center;gap:4px}.step button{width:52px;height:52px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:1.5rem;line-height:1;font-weight:600}.step button.plus{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.step .q{min-width:3.2em;text-align:center;font-family:var(--font-display);font-weight:700;font-size:1.4rem}.totalbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.totalbar .t{font-family:var(--font-display);font-weight:700;font-size:1.6rem}.empty{color:var(--muted);padding:8px 0}.list{display:grid;gap:0}.list .it{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.list .it:last-child{border-bottom:0}.note{font-size:.82rem;color:var(--muted)}#toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:9;max-width:calc(100vw - 32px);background:var(--ink);color:var(--bg);border-radius:12px;padding:12px 14px;display:none;align-items:center;gap:14px;box-shadow:0 6px 24px #00000040}#toast.on{display:flex}#toast button{background:transparent;border:1px solid currentColor;border-radius:8px;padding:6px 12px;font-weight:600;min-height:36px}.seg.plein{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%;gap:1px;background:var(--line)}.seg.plein button{min-height:52px;font-size:.95rem;line-height:1.2;background:var(--surface)}.seg.plein button+button{border-left:0}.seg.plein button[aria-pressed=true]{background:var(--accent)}.fgrid.saisie{grid-template-columns:1fr;align-items:start}.fgrid.saisie .large{grid-column:1 / -1}.fgrid.saisie .field button.link{justify-self:start}@media(min-width:560px){.fgrid.saisie{grid-template-columns:repeat(2,minmax(0,1fr))}}.footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}@media(min-width:880px){body{padding-bottom:32px}.app{grid-template-columns:210px minmax(0,1fr);align-items:start}.top{grid-column:1 / -1;grid-template-columns:1fr auto;align-items:center}nav.tabs{position:sticky;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:8px;inset:16px auto auto}nav.tabs button{grid-auto-flow:column;justify-content:start;gap:10px;padding:0 12px;min-height:48px;font-size:.95rem}.cols{grid-template-columns:1.3fr 1fr}#toast{bottom:24px}}.invoice{background:#fff;color:#2a1514;border:1px solid var(--line);border-radius:14px;padding:16px;max-width:760px;width:100%;margin:0 auto;font-size:.85rem}.invoice .box{border:2px solid #CB9066;border-radius:14px;padding:10px 12px}.inv-head{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:10px;align-items:center}.inv-co b{font-family:var(--font-display);font-size:1.15rem;display:block;margin-bottom:4px}.inv-co div{line-height:1.35}.inv-logo{width:100%;max-width:92px;justify-self:center}.inv-title{text-align:right}.inv-title .ft{font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:.02em}.inv-title .no{font-weight:700;color:#7a2a22;font-size:1.05rem}.inv-client{margin-top:10px;display:grid;gap:4px}.inv-client .l{display:flex;gap:8px;flex-wrap:wrap}.inv-client .l span{flex:1 1 140px;border-bottom:1px dotted #8a756c;min-height:1.4em}.inv-client .l span b{font-weight:600;margin-right:4px}.inv-tab{width:100%;border-collapse:separate;border-spacing:0;margin-top:10px;border:2px solid #CB9066;border-radius:14px;overflow:hidden}.inv-tab th{background:transparent;color:#2a1514;text-transform:none;letter-spacing:0;font-size:.85rem;text-align:center;border-bottom:2px solid #CB9066;padding:8px 6px}.inv-tab td{padding:6px;border-bottom:1px dotted #8a756c;border-left:2px solid #CB9066;height:28px}.inv-tab td:first-child{border-left:0}.inv-tab td.r{text-align:right}.inv-tab tr:last-child td{border-bottom:0}.inv-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;align-items:stretch}.inv-sign{min-height:110px;font-weight:600}.inv-tot{width:100%;border-collapse:collapse;border:2px solid #CB9066;border-radius:14px;overflow:hidden}.inv-tot td{border:0;border-bottom:2px solid #CB9066;padding:7px 8px;height:auto}.inv-tot tr:last-child td{border-bottom:0;font-weight:700}.inv-tot td:last-child{text-align:right;border-left:2px solid #CB9066;white-space:nowrap}.tabcheck{display:flex;align-items:center;gap:10px;min-height:44px}.tabcheck input{width:22px;height:22px;accent-color:var(--accent)}@media(max-width:520px){.inv-head{grid-template-columns:1fr 1fr}.inv-logo{display:none}.inv-foot{grid-template-columns:1fr}}body{background:var(--fond),var(--bg);background-attachment:fixed}.card{border:0;border-radius:18px;box-shadow:var(--ombre)}.hero{border-top:0;background:linear-gradient(135deg,var(--accent-soft),var(--surface) 65%)}.brand .logo{width:48px;height:48px;border:0;border-radius:14px;box-shadow:var(--ombre)}.badge{background:var(--ok-soft);color:var(--ok)}.roles .btn.small{min-height:36px;border-radius:99px;background:var(--surface);border-color:var(--line)}.btn{border-radius:12px}.btn.primary{box-shadow:0 4px 12px #4916152e}.btn.primary:hover:not(:disabled){filter:brightness(1.12)}.field input,.field select{border:1.5px solid var(--line);border-radius:12px;background:var(--champ);transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{outline:none;border-color:var(--tan);box-shadow:0 0 0 3px color-mix(in srgb,var(--tan) 28%,transparent)}.seg,.seg.plein{border:0;border-radius:14px;background:var(--accent-soft);padding:4px;gap:4px}.seg button,.seg.plein button{border-radius:10px;background:transparent}.seg button+button{border-left:0}.seg button[aria-pressed=true],.seg.plein button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);box-shadow:0 2px 8px #49161533}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.info{background:var(--info-soft);color:var(--info)}.step button{border-radius:14px}.step button.plus{box-shadow:0 4px 12px #4916152e}nav.tabs{border-top:0;box-shadow:0 -4px 20px #49161514}nav.tabs button svg{width:18px;height:18px;padding:6px;box-sizing:content-box;border-radius:12px;color:var(--c, var(--accent));background:color-mix(in srgb,var(--c, var(--accent)) 14%,transparent)}nav.tabs button[aria-current=page]{background:transparent;box-shadow:none;color:var(--ink)}nav.tabs button[aria-current=page] svg{background:var(--c, var(--accent));color:#fff}@media(min-width:880px){nav.tabs{border:0;box-shadow:var(--ombre);border-radius:18px}nav.tabs button{min-height:50px}nav.tabs button[aria-current=page]{background:color-mix(in srgb,var(--c, var(--accent)) 12%,transparent)}}@media(max-width:879px){.card .totalbar{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:3;margin:12px -16px -16px;padding:10px 16px;flex-wrap:nowrap;background:var(--surface);border-radius:0 0 18px 18px;box-shadow:0 -6px 16px #49161514}.card .totalbar .t{font-size:1.25rem}.card .totalbar .note{font-size:.72rem;line-height:1.2}.card .totalbar .btn.primary{width:auto;flex:none;max-width:60%;min-height:48px;padding:0 14px;line-height:1.15}.roles{flex-wrap:nowrap;gap:6px}.roles span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roles .btn.small{flex:none;min-height:34px;padding:0 10px;font-size:.8rem}}.app{max-width:1360px;gap:16px}main{gap:14px}.fgrid{gap:10px 12px;margin:10px 0}.duo{display:grid;gap:14px;align-items:start;min-width:0}.duo .gauche{display:grid;gap:14px;min-width:0}@media(min-width:1180px){.duo{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.duo>.card:last-child{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}}@media(max-width:520px){body{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-top:12px}.card{padding:14px}.app{gap:12px}main{gap:12px}h2{font-size:1.4rem}.card .totalbar{margin:10px -14px -14px;padding:10px 14px}}.sous-menu{display:none}@media(min-width:880px){.sous-menu{display:grid;gap:2px;margin:2px 0 6px 22px;padding-left:12px;border-left:2px solid color-mix(in srgb,var(--c, var(--accent)) 35%,transparent)}.sous-menu button{display:block;min-height:38px;padding:0 10px;border:0;border-radius:10px;background:transparent;text-align:left;font-size:.9rem;color:var(--muted)}.sous-menu button:hover{background:color-mix(in srgb,var(--c, var(--accent)) 8%,transparent);color:var(--ink)}.sous-menu button[aria-current=true]{background:color-mix(in srgb,var(--c, var(--accent)) 16%,transparent);color:var(--ink);font-weight:600}.seg.plein.sous-onglets{display:none}}@media print{body{background:#fff;padding:0!important}.top,nav.tabs,.noprint,#toast,.footer{display:none!important}.app{display:block;max-width:none}.invoice{border:0;padding:0;max-width:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.roles .btn.small.rapport{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.roles .btn.small.rapport:disabled{opacity:.6;cursor:progress}.emprunt-tete{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.emprunt{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:12px;background:var(--bg)}.emprunt-chiffres{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 6px;font-size:.85rem;color:var(--muted)}.emprunt-chiffres b{color:var(--ink)}.emprunt-pied{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:6px}table.echeances{font-size:.85rem;min-width:620px}table.echeances th,table.echeances td{padding:7px 8px}table.echeances thead th{position:sticky;top:0;background:var(--bg)}table.echeances tr.du-mois td{background:var(--info-soft)}table.echeances tr.payee td{color:var(--muted)}table.echeances tr.payee td:nth-child(6){color:var(--ok)}.coche{display:inline-grid;place-items:center;min-width:36px;min-height:32px;cursor:pointer}.coche input{width:20px;height:20px;accent-color:var(--ok);cursor:pointer}.nouvel-emprunt{border-top:1px dashed var(--line);padding-top:8px}.ligne-depart{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line)}.ligne-depart:last-of-type{margin-bottom:10px}.situation .it.total{border-top:2px solid var(--ink);font-size:1.05rem}.depart-lien{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:12px}.fgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));align-items:start}.field{min-width:0}.field input,.field select{width:100%;min-width:0}.step input.q{width:3.2em;height:52px;padding:0;border:0;background:transparent;appearance:textfield;-moz-appearance:textfield}.step input.q::-webkit-outer-spin-button,.step input.q::-webkit-inner-spin-button{appearance:none;margin:0}.tableau{min-width:1120px;font-size:.82rem}.tableau th,.tableau td{padding:7px 8px;white-space:nowrap}.tableau th:first-child,.tableau td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);white-space:normal;min-width:260px;max-width:260px}.tableau .section td{background:var(--accent-soft);color:var(--accent);font-weight:600;white-space:normal}.tableau .section td:first-child{background:var(--accent-soft)}.tableau .forte td{font-weight:600}.tableau .total{border-left:1px solid var(--line);font-weight:600}.tableau th{text-transform:capitalize}
