:root{--brand-terre:#c1553b;--brand-terre-sombre:#a6442e;--brand-terre-clair:#f2e4df;--brand-black:#1a1a1a;--brand-white:#fff;--brand-success:#2f6b4f;--brand-danger:#b3261e;--brand-warning:#b8860b;--brand-info:#c1553b;--brand-light:#f3f0ec;--brand-gray:#5f5a55;--brand-gray-dark:#3a3632;--background:#faf9f7;--surface:#fff;--text-primary:#1a1a1a;--text-secondary:#5f5a55;--divider:#e7e2dc;--font-display:"Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-full:999px;--shadow-sm:0 1px 2px #1a1a1a0d, 0 1px 1px #1a1a1a0a;--shadow-md:0 8px 24px -8px #1a1a1a29;--shadow-lg:0 16px 40px -12px #1a1a1a47;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--background);color:var(--text-primary);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;margin:0}button,input,select{font-family:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}.screen{flex-direction:column;min-height:100%;display:flex}.screen-white{background:var(--surface)}.brand-hero{text-align:center;padding:48px 24px 8px}.brand-hero-mark{justify-content:center;align-items:center;width:148px;height:148px;margin:0 auto 8px;display:flex}.brand-hero-mark img{object-fit:contain;width:100%;height:100%}.brand-hero-tagline{color:#ffffff8c;letter-spacing:.02em;margin:10px 0 0;font-size:13px}.auth-screen{flex-direction:column;flex:1;justify-content:center;padding:32px 28px;display:flex}.auth-logo{width:170px;margin:0 auto 20px;display:block}.auth-title{font-family:var(--font-display);text-align:center;margin:0 0 32px;font-size:21px;font-weight:700}.auth-field{margin-bottom:22px;position:relative}.auth-field input{border:none;border-bottom:1px solid var(--divider);width:100%;color:var(--text-primary);background:0 0;border-radius:0;padding:6px 28px 10px 2px;font-size:16px}.auth-field input:focus{border-bottom-color:var(--brand-terre);outline:none}.auth-field input::placeholder{color:var(--text-secondary)}.auth-field-toggle{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:4px;font-size:16px;line-height:1;position:absolute;bottom:8px;right:0}.auth-link{width:100%;color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:22px;padding:8px;font-size:15px;display:block}.toolbar{background:var(--brand-black);color:var(--brand-white);z-index:10;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.toolbar-back{color:var(--brand-white);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;line-height:1}.toolbar-title{font-family:var(--font-display);margin:0;font-size:17px;font-weight:600}.toolbar-wordmark{width:auto;height:20px;display:block}.content{flex:1;padding:20px 16px 32px}.card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px}.card-clickable{cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.card-clickable:active{background:var(--brand-light);transform:scale(.98)}.card-dark{background:var(--brand-black);color:var(--brand-white);border-color:var(--brand-black)}.card-dark.card-clickable:active{background:#0d0d0d}.card-dark .stat-label{color:#fff9}.card-dark .quick-link-icon,.card-dark .stat-chip{background:#ffffff24}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-chip{border-radius:var(--radius-sm);background:var(--brand-light);justify-content:center;align-items:center;width:34px;height:34px;display:flex}.stat-value{font-family:var(--font-display);margin:12px 0 2px;font-size:30px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:13px}.quick-link{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:84px;font-size:13.5px;font-weight:600;display:flex}.quick-link-icon{border-radius:var(--radius-sm);background:var(--brand-light);justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot-retard{background:var(--brand-danger)}.dot-a-jour{background:var(--brand-success)}.dot-avance{background:var(--brand-info)}.dot-gray{background:var(--brand-gray)}.avatar{border-radius:var(--radius-sm);width:40px;height:40px;font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.avatar-retard{color:var(--brand-danger);background:#fdeced}.avatar-a-jour{color:var(--brand-success);background:#e6f9f4}.avatar-avance{color:var(--brand-info);background:#e6f5fd}.avatar-gray{background:var(--brand-light);color:var(--brand-gray-dark)}.pill-on-dark{border-radius:var(--radius-full);color:var(--brand-white);background:#ffffff29;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.icon-btn-dark{background:var(--brand-terre);width:44px;height:44px;color:var(--brand-white);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:flex}.btn{border-radius:var(--radius-full);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:14px 20px;font-size:15px;font-weight:600;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-block{width:100%}.btn-primary{background:var(--brand-terre);color:var(--brand-white);box-shadow:var(--shadow-md)}.btn-primary:active{background:var(--brand-terre-sombre)}.btn-success{background:var(--brand-success);color:var(--brand-white);box-shadow:var(--shadow-sm)}.btn-warning{background:var(--brand-warning);color:var(--brand-black)}.btn-danger{background:var(--brand-danger);color:var(--brand-white);box-shadow:var(--shadow-sm)}.btn-outline{background:var(--surface);color:var(--brand-black);border:1.5px solid var(--divider)}.btn-light{background:var(--brand-white);color:var(--brand-black)}.btn-sm{border-radius:var(--radius-sm);padding:9px 14px;font-size:13px}.field{margin-bottom:18px}.field label{color:var(--text-secondary);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field input,.field select,.field textarea{border-radius:var(--radius-sm);background:var(--brand-light);width:100%;color:var(--text-primary);box-sizing:border-box;resize:vertical;border:1.5px solid #0000001f;padding:14px 16px;font-family:inherit;font-size:15px;transition:border-color .15s,background .15s}.champ-telephone{gap:8px;display:flex}.field .champ-telephone select{flex:0 0 108px;width:108px;padding-left:10px;padding-right:6px}.field .champ-telephone input{flex:1;min-width:0}.field input::placeholder,.field textarea::placeholder{color:var(--text-secondary);opacity:.7}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-black);background:var(--surface);outline:none}.error-text{color:var(--brand-danger);margin-top:8px;font-size:13px}.info-text{color:var(--text-secondary);background:#f7f5f2;border-radius:12px;margin-top:8px;padding:10px 12px;font-size:13px}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge-retard{color:var(--brand-danger);background:#fdeced}.badge-a-jour{color:var(--brand-success);background:#e6f9f4}.badge-avance{color:var(--brand-info);background:#e6f5fd}.badge-partiel{color:#9c6f05;background:#fff6db}.badge-gray{background:var(--brand-light);color:var(--brand-gray-dark)}.spinner{border:3px solid var(--divider);border-top-color:var(--brand-black);border-radius:50%;width:30px;height:30px;margin:48px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--brand-light) 25%, #eae8e3 37%, var(--brand-light) 63%);background-size:400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.skeleton-line{border-radius:5px}.skeleton-row{align-items:center;gap:14px;display:flex}.list-item{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:15px 4px;display:flex}.list-item:last-child{border-bottom:none}.section-title{font-family:var(--font-display);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:22px 0 10px;font-size:13px;font-weight:700}.search-bar{background:var(--brand-light);border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:18px;padding:12px 18px;display:flex}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:16.5px}.search-bar input::placeholder{color:var(--text-secondary)}.modal-overlay{z-index:100;background:#14120f8c;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));width:100%;max-height:85vh;box-shadow:var(--shadow-lg);overflow-y:auto}.success-modal-sheet{text-align:center;padding-top:32px}.success-modal-icon{background:#e3f9f1;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;margin:0 auto 20px;display:flex;position:relative}.success-modal-icon:before,.success-modal-icon:after{content:"✦";color:var(--brand-success);opacity:.7;font-size:14px;position:absolute}.success-modal-icon:before{top:-6px;right:-2px}.success-modal-icon:after{font-size:10px;bottom:2px;left:-12px}.success-modal-check{background:var(--brand-success);width:52px;height:52px;color:var(--brand-white);border-radius:50%;justify-content:center;align-items:center;font-size:26px;line-height:1;display:flex}.success-modal-title{font-family:var(--font-display);margin:0 0 8px;font-size:21px;font-weight:700}.success-modal-message{color:var(--text-secondary);margin:0 0 26px;font-size:14.5px;line-height:1.5}.txn-row{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:14px;margin-bottom:10px;padding:12px 16px 12px 12px;display:flex}.txn-icon{width:46px;height:46px;color:var(--brand-success);background:#e6f9f4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;display:flex}.txn-icon-danger{color:var(--brand-danger);background:#fdeced}.txn-body{flex:1;min-width:0}.txn-title{font-size:15px;font-weight:700}.txn-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12.5px}.txn-side{text-align:right;flex-shrink:0}.txn-amount{font-family:var(--font-display);color:var(--brand-success);white-space:nowrap;font-size:15px;font-weight:700}.txn-amount-danger{color:var(--brand-danger)}.txn-date{color:var(--text-secondary);margin-top:2px;font-size:12px}.txn-row-bloc{flex-wrap:wrap}.txn-details{border-top:1px solid var(--divider);flex-direction:column;flex-basis:100%;align-items:flex-start;gap:6px;min-width:0;padding-top:10px;display:flex}.txn-details>div{width:100%}.action-sheet-row{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--divider);background:0 0;align-items:center;gap:14px;padding:15px 4px;font-size:15.5px;font-weight:600;display:flex}.action-sheet-row:last-child{border-bottom:none}.action-sheet-row-icon{text-align:center;width:22px;font-size:17px}.action-sheet-row-danger{color:var(--brand-danger)}.action-sheet-row:disabled{opacity:.5;cursor:default}.confirm-modal-sheet{text-align:center;padding-top:28px}.confirm-modal-icon{background:#f1efec;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 16px;font-size:30px;line-height:1;display:flex}.confirm-modal-icon.danger{background:#fdeaec}.confirm-modal-title{color:var(--text-primary);margin:0 0 6px;font-size:19px}.confirm-modal-message{color:var(--text-secondary);margin:0;font-size:14.5px;line-height:1.45}.confirm-modal-details{color:var(--text-primary);text-align:left;background:#f7f5f2;border-radius:16px;margin-top:16px;padding:12px 14px;font-size:14.5px}.confirm-modal-details .confirm-modal-details-ligne{justify-content:space-between;gap:12px;display:flex}.confirm-modal-details .confirm-modal-details-ligne+.confirm-modal-details-ligne{margin-top:6px}.confirm-modal-details .confirm-modal-details-label{color:var(--text-secondary)}.confirm-modal-actions{gap:10px;margin-top:22px;display:flex}.confirm-modal-actions .btn:disabled{opacity:.6}.paiement-complement{background:#f7f5f2;border-radius:16px;margin:14px 0 6px;padding:12px 14px}.paiement-complement-ligne{color:var(--text-primary);justify-content:space-between;gap:12px;font-size:14.5px;display:flex}.paiement-complement-ligne+.paiement-complement-ligne{margin-top:4px}.paiement-complement-ligne span{color:var(--text-secondary)}.paiement-complement-note{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.4}.paiement-complement-total{border-top:1px solid #e5e0d9;margin-top:10px;padding-top:10px}.quick-link-icon{color:var(--brand-terre)}.quick-link-icon svg,.stat-chip svg,.toolbar svg,.avatar svg,.btn svg{display:block}.bottom-nav{z-index:50;background:var(--surface);border-top:1px solid var(--divider);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px -12px #1a1a1a40}.bottom-nav-item{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:9px 4px 8px;transition:color .15s,transform .12s;display:flex}.bottom-nav-item:active{transform:scale(.93)}.bottom-nav-item.is-active{color:var(--brand-terre)}.bottom-nav-label{letter-spacing:.01em;font-size:11px;font-weight:600}body.has-bottom-nav .content{padding-bottom:84px}@media (prefers-reduced-motion:no-preference){.content{animation:.22s both pageFade}}@keyframes pageFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.admin-summary{margin-bottom:14px}.admin-summary-montant{font-family:var(--font-display);letter-spacing:-.02em;margin:4px 0 2px;font-size:28px;font-weight:800}.admin-summary-sub{margin-bottom:2px}.admin-summary-mini{border-top:1px solid #ffffff24;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:16px;padding-top:14px;display:grid}.admin-summary-mini-value{font-family:var(--font-display);color:var(--brand-white);white-space:nowrap;font-size:15px;font-weight:700}.admin-summary-mini-label{color:#fff9;margin-top:2px;font-size:11px}.status-strip{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;overflow:hidden}.status-strip-item{border:none;border-right:1px solid var(--divider);cursor:pointer;min-width:0;color:var(--text-primary);background:0 0;flex-direction:column;flex:1;align-items:center;gap:5px;padding:14px 6px;transition:background .15s,transform .12s;display:flex}.status-strip-item:last-child{border-right:none}.status-strip-item:active{background:var(--brand-light);transform:scale(.97)}.status-strip-count{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1}.status-strip-label{color:var(--text-secondary);text-align:center;font-size:11px;line-height:1.2}.periode-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.periode-field{flex-direction:column;gap:6px;display:flex}.periode-field span{color:var(--text-secondary);font-size:13px;font-weight:600}.periode-field input,.periode-field select{border-radius:var(--radius-sm);background:var(--brand-light);width:100%;color:var(--text-primary);border:1.5px solid #0000001f;padding:12px 14px;font-family:inherit;font-size:15px}.periode-field input:focus,.periode-field select:focus{border-color:var(--brand-black);background:var(--surface);outline:none}.periode-resultat{border-top:1px solid var(--divider);justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;padding-top:14px;display:flex}.periode-montant{font-family:var(--font-display);color:var(--brand-terre);letter-spacing:-.01em;font-size:20px;font-weight:800}
