@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5972bc34-module__OU16Qa__className{font-family:Inter,Inter Fallback;font-style:normal}
:root{--bg:#f1f5f9;--surface:#fff;--surface-hover:#f8fafc;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--primary-border:#bfdbfe;--error:#dc2626;--error-bg:#fef2f2;--error-border:#fecaca;--success:#16a34a;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0000000f;--shadow:0 1px 3px #00000014, 0 4px 16px #0000000f;--shadow-lg:0 4px 6px #00000012, 0 10px 40px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}.auth-shell{background:linear-gradient(160deg,#f8fafc 0%,#eff6ff 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.25rem 2rem}.auth-logo{justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.auth-logo-mark{background:var(--primary);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;font-weight:700;display:flex}.auth-logo-text{color:var(--text);letter-spacing:-.02em;font-size:1rem;font-weight:600}.auth-title{color:var(--text);letter-spacing:-.02em;margin-bottom:.375rem;font-size:1.375rem;font-weight:700}.auth-subtitle{color:var(--text-muted);margin-bottom:1.75rem;font-size:.875rem;line-height:1.6}.field{flex-direction:column;gap:.375rem;margin-bottom:1.125rem;display:flex}.field label{color:var(--text);font-size:.8125rem;font-weight:500}.field input{border:1.5px solid var(--border);border-radius:var(--radius-sm);height:44px;color:var(--text);background:var(--surface);outline:none;width:100%;padding:0 .875rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.field input::placeholder{color:var(--text-subtle)}.field input:disabled{background:var(--bg);opacity:.6}.btn{border-radius:var(--radius-sm);cursor:pointer;letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:.5rem;height:44px;padding:0 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s,opacity .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.985)}.btn-primary{background:var(--primary);color:#fff;width:100%;box-shadow:0 1px 2px #2563eb4d,0 0 #0000}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 2px 8px #2563eb66}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{color:var(--primary);background:0 0;height:auto;padding:0;font-size:.875rem;font-weight:500}.btn-ghost:hover{text-underline-offset:2px;text-decoration:underline}.btn-outline{color:var(--text-muted);border:1.5px solid var(--border);background:0 0;font-size:.875rem}.btn-outline:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-hover)}.alert{border-radius:var(--radius-sm);margin-bottom:1.125rem;padding:.75rem .875rem;font-size:.875rem;line-height:1.5}.alert-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error)}.alert-info{background:var(--primary-light);border:1px solid var(--primary-border);color:#1e40af}.auth-divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.auth-footer{text-align:center;color:var(--text-muted);margin-top:1.25rem;font-size:.875rem}.backup-codes{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0;padding:1rem;display:grid}.backup-code{letter-spacing:.05em;color:var(--text);font-family:SF Mono,ui-monospace,Cascadia Code,monospace;font-size:.8125rem}.app-header{border-bottom:1px solid var(--border);background:var(--surface);height:60px;box-shadow:var(--shadow-sm);z-index:10;align-items:center;gap:1rem;padding:0 1.5rem;display:flex;position:sticky;top:0}.app-logo{flex:1;align-items:center;gap:.5rem;text-decoration:none;display:flex}.app-logo-mark{background:var(--primary);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.875rem;font-weight:700;display:flex}.app-logo-text{color:var(--text);letter-spacing:-.02em;font-size:.9375rem;font-weight:600}.app-header-right{align-items:center;gap:.75rem;display:flex}.app-user-email{color:var(--text-muted);font-size:.8125rem;display:none}@media (min-width:480px){.app-user-email{display:block}}.app-main{max-width:720px;margin:0 auto;padding:2rem 1.25rem}@media (min-width:640px){.app-main{padding:2.5rem 1.5rem}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.page-title{letter-spacing:-.03em;color:var(--text);margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.9375rem}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.btn-add-poche{white-space:nowrap;flex-shrink:0;width:auto!important}.synthese-card{margin-bottom:1.5rem;padding:1.25rem 1.5rem}.synthese-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.625rem;display:flex}.synthese-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.synthese-value{color:var(--text);font-size:.9375rem;font-weight:600}.synthese-cible{color:var(--text-muted);font-size:.875rem;font-weight:400}.synthese-pct{color:var(--text-subtle);text-align:right;margin-top:.375rem;font-size:.75rem}.progress-track{background:var(--bg);border-radius:99px;height:8px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--primary) 0%, #60a5fa 100%);border-radius:99px;min-width:2px;height:100%;transition:width .4s}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 2rem}.empty-state-icon{margin-bottom:.75rem;font-size:2.5rem}.empty-state-title{color:var(--text);margin-bottom:.375rem;font-weight:500}.empty-state-sub{margin-bottom:1.5rem;font-size:.875rem}.empty-state .btn-add-poche{margin:0 auto}.poches-list{flex-direction:column;gap:.75rem;display:flex}.poche-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem 1.25rem 1rem;transition:box-shadow .15s}.poche-card:hover{box-shadow:var(--shadow)}.poche-card-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.poche-card-title{color:var(--text);letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.poche-emoji{font-size:1.25rem;line-height:1}.poche-card-actions{flex-shrink:0;gap:.25rem;display:flex}.poche-action-btn{cursor:pointer;border-radius:var(--radius-sm);opacity:.5;background:0 0;border:none;padding:.375rem;font-size:1rem;line-height:1;transition:background .12s}.poche-action-btn:hover{background:var(--bg);opacity:1}.poche-action-btn:disabled{opacity:.3;cursor:not-allowed}.poche-amounts{align-items:baseline;gap:.375rem;margin-bottom:.625rem;display:flex}.poche-total{color:var(--text);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.poche-cible{color:var(--text-muted);font-size:.875rem}.poche-footer{justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}.poche-pct{color:var(--text-subtle);font-size:.75rem}.poche-contrib{color:var(--text-muted);font-size:.75rem}.poche-dialog{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:none;width:min(480px,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1.75rem;animation:.15s dialog-in;overflow-y:auto}.poche-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:none}}.poche-dialog-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.poche-dialog-title{color:var(--text);letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.poche-dialog-close{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;padding:.375rem;font-size:.875rem;line-height:1;transition:background .12s}.poche-dialog-close:hover{background:var(--bg);color:var(--text)}.poche-dialog-actions{gap:.75rem;margin-top:.5rem;display:flex}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:.25rem;display:grid}@media (max-width:400px){.emoji-grid{grid-template-columns:repeat(6,1fr)}}.emoji-btn{border-radius:var(--radius-sm);cursor:pointer;text-align:center;aspect-ratio:1;background:0 0;border:1.5px solid #0000;justify-content:center;align-items:center;padding:.375rem;font-size:1.25rem;line-height:1;transition:background .1s,border-color .1s;display:flex}.emoji-btn:hover{background:var(--bg)}.emoji-btn-selected{background:var(--primary-light);border-color:var(--primary-border)}.btn-versement{background:var(--primary-light);color:var(--primary);border:1.5px solid var(--primary-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:.3125rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:background .12s,border-color .12s}.btn-versement:hover{background:#dbeafe;border-color:#93c5fd}.btn-versement:active{transform:scale(.97)}.versements-list{border-top:1px solid var(--border);margin-top:.875rem;padding-top:.25rem}.versement-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.versement-row:last-child{border-bottom:none}.versement-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.versement-date{color:var(--text-muted);white-space:nowrap;font-size:.8125rem}.versement-note{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.versement-right{flex-shrink:0;align-items:center;gap:.625rem;display:flex}.versement-montant{color:var(--success);white-space:nowrap;font-size:.875rem;font-weight:600}.versement-delete{cursor:pointer;color:var(--text-subtle);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:.25rem;font-size:1rem;line-height:1;transition:background .1s,color .1s;display:flex}.versement-delete:hover{background:var(--error-bg);color:var(--error)}.versement-delete:disabled{opacity:.3;cursor:not-allowed}
