:root{--color-primary:#00796b;--color-primary-light:#4db6ac;--color-primary-dark:#004d40;--color-secondary:#ff6f00;--color-secondary-light:#ffb74d;--color-accent:#e91e63;--color-accent-light:#f48fb1;--color-bg:#fff8f0;--color-bg-card:#fff;--color-bg-section:#f1f8f6;--color-text:#2e3b32;--color-text-light:#6b7c72;--color-text-muted:#9eaaa3;--color-border:#d4e2dc;--color-success:#2e7d32;--color-warning:#f57f17;--color-danger:#c62828;--color-gold:#d4a017;--shadow-sm:0 1px 3px rgba(0,77,64,.08);--shadow-md:0 4px 12px rgba(0,77,64,.1);--shadow-lg:0 8px 30px rgba(0,77,64,.12);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;min-height:100vh}h1,h2,h3,h4{font-family:Playfair Display,Georgia,serif;font-weight:600}.font-script{font-family:Dancing Script,cursive}button,input,select,textarea{font-family:inherit;font-size:inherit}button{border:none;cursor:pointer;outline:none}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary-light);outline-offset:1px}.container{margin:0 auto;max-width:1200px;padding:0 20px}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(2deg)}75%{transform:translateY(4px) rotate(-1deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.fade-enter-active{animation:fadeIn .4s ease-out}.fade-leave-active{animation:fadeIn .3s ease-in reverse}@font-face{font-display:swap;font-family:Dancing Script;font-style:normal;font-weight:400;src:url(./Dancing_Script-normal-400-vietnamese.BsUJvdxu.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Dancing Script;font-style:normal;font-weight:400;src:url(./Dancing_Script-normal-400-latin-ext.DJGK6qJa.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Dancing Script;font-style:normal;font-weight:400;src:url(./Dancing_Script-normal-400-latin.CyISZbeS.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Dancing Script;font-style:normal;font-weight:700;src:url(./Dancing_Script-normal-400-vietnamese.BsUJvdxu.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Dancing Script;font-style:normal;font-weight:700;src:url(./Dancing_Script-normal-400-latin-ext.DJGK6qJa.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Dancing Script;font-style:normal;font-weight:700;src:url(./Dancing_Script-normal-400-latin.CyISZbeS.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:300;src:url(./Lato-normal-300-latin-ext.CYtq150c.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Lato;font-style:normal;font-weight:300;src:url(./Lato-normal-300-latin.BP2wSCML.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:400;src:url(./Lato-normal-400-latin-ext.CK4GAP86.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Lato;font-style:normal;font-weight:400;src:url(./Lato-normal-400-latin.BEhtfm5r.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:700;src:url(./Lato-normal-700-latin-ext.C6gwlRgY.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Lato;font-style:normal;font-weight:700;src:url(./Lato-normal-700-latin.BUGMgin4.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:400;src:url(./Playfair_Display-normal-400-cyrillic.5WvUvBgz.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:400;src:url(./Playfair_Display-normal-400-vietnamese.Cabi7G8-.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:400;src:url(./Playfair_Display-normal-400-latin-ext.CT1r92Rl.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Playfair Display;font-style:normal;font-weight:400;src:url(./Playfair_Display-normal-400-latin.BOwq7MWX.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:600;src:url(./Playfair_Display-normal-400-cyrillic.5WvUvBgz.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:600;src:url(./Playfair_Display-normal-400-vietnamese.Cabi7G8-.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:600;src:url(./Playfair_Display-normal-400-latin-ext.CT1r92Rl.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Playfair Display;font-style:normal;font-weight:600;src:url(./Playfair_Display-normal-400-latin.BOwq7MWX.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:700;src:url(./Playfair_Display-normal-400-cyrillic.5WvUvBgz.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:700;src:url(./Playfair_Display-normal-400-vietnamese.Cabi7G8-.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:700;src:url(./Playfair_Display-normal-400-latin-ext.CT1r92Rl.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Playfair Display;font-style:normal;font-weight:700;src:url(./Playfair_Display-normal-400-latin.BOwq7MWX.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.gate[data-v-6dae1c1f]{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.gate-card[data-v-6dae1c1f]{animation:fadeIn .5s ease-out;background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:380px;padding:48px 40px;text-align:center;width:100%}.gate-icon[data-v-6dae1c1f]{color:var(--color-primary);margin-bottom:20px}.gate-title[data-v-6dae1c1f]{color:var(--color-primary-dark);font-size:1.8rem;margin-bottom:4px}.gate-title .font-script[data-v-6dae1c1f]{color:var(--color-secondary);font-size:2rem}.gate-subtitle[data-v-6dae1c1f]{color:var(--color-text-light);font-size:.95rem;margin-bottom:32px}.gate-form[data-v-6dae1c1f]{display:flex;flex-direction:column;gap:16px}.input-wrapper input[data-v-6dae1c1f]{border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;letter-spacing:2px;padding:14px 18px;text-align:center;transition:border-color .2s;width:100%}.input-wrapper input[data-v-6dae1c1f]:focus{border-color:var(--color-primary);outline:none}.input-error input[data-v-6dae1c1f]{border-color:var(--color-danger)}.error-msg[data-v-6dae1c1f]{color:var(--color-danger);font-size:.85rem;font-weight:600;margin-top:-8px}.gate-btn[data-v-6dae1c1f]{align-items:center;background:var(--color-primary);border-radius:var(--radius-md);color:#fff;display:flex;font-size:1rem;font-weight:700;justify-content:center;min-height:48px;padding:14px;transition:all .2s}.gate-btn[data-v-6dae1c1f]:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gate-btn[data-v-6dae1c1f]:disabled{cursor:not-allowed;opacity:.5}.spinner[data-v-6dae1c1f]{animation:spin-6dae1c1f .6s linear infinite;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin-6dae1c1f{to{transform:rotate(1turn)}}.app-header[data-v-9cad8324]{overflow:hidden;position:relative;z-index:10}.header-bg[data-v-9cad8324]{background:linear-gradient(135deg,#004d40,#00796b 40%,#00897b 70%,#26a69a);inset:0;position:absolute;z-index:-1}.header-bg[data-v-9cad8324]:after{background:radial-gradient(circle at 20% 80%,hsla(0,0%,100%,.05) 0,transparent 50%),radial-gradient(circle at 80% 20%,hsla(0,0%,100%,.08) 0,transparent 50%);content:"";inset:0;position:absolute}.header-content[data-v-9cad8324]{padding:32px 20px 24px}.header-top[data-v-9cad8324]{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.header-title[data-v-9cad8324]{align-items:center;display:flex;gap:16px}.header-icon[data-v-9cad8324]{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:2.5rem}.couple-names[data-v-9cad8324]{color:#fff;font-size:2.2rem;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.2)}.wedding-subtitle[data-v-9cad8324]{color:#ffffffe6;font-size:1.05rem;font-weight:300;margin-top:2px}.wedding-guests[data-v-9cad8324]{color:#ffffffb3;font-size:.9rem;font-weight:300}.edit-info-btn[data-v-9cad8324]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-radius:var(--radius-sm);color:#fff;font-size:.85rem;padding:8px 16px;transition:background .2s}.edit-info-btn[data-v-9cad8324]:hover{background:#ffffff40}.stats-row[data-v-9cad8324]{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:16px}.stat-card[data-v-9cad8324]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:4px;padding:14px 16px}.stat-label[data-v-9cad8324]{color:#ffffffb3;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.stat-value[data-v-9cad8324]{color:#fff;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700}.stat-value.remaining.over[data-v-9cad8324]{color:#ff8a80}.progress-section[data-v-9cad8324]{align-items:center;display:flex;gap:12px}.progress-bar-container[data-v-9cad8324]{background:#ffffff26;border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-bar-fill[data-v-9cad8324]{background:linear-gradient(90deg,#a5d6a7,#66bb6a);border-radius:4px;height:100%;transition:width .5s ease}.progress-bar-fill.over[data-v-9cad8324]{background:linear-gradient(90deg,#ef9a9a,#e53935)}.progress-text[data-v-9cad8324]{color:#fffc;font-size:.8rem;white-space:nowrap}.modal-overlay[data-v-9cad8324]{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal[data-v-9cad8324]{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;padding:32px;width:100%}.modal h3[data-v-9cad8324]{color:var(--color-primary-dark);margin-bottom:24px}.modal-form[data-v-9cad8324]{gap:16px}.modal-form[data-v-9cad8324],.modal-form label[data-v-9cad8324]{display:flex;flex-direction:column}.modal-form label[data-v-9cad8324]{color:var(--color-text-light);font-size:.85rem;font-weight:600;gap:4px}.modal-form input[data-v-9cad8324]{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;padding:10px 14px;transition:border-color .2s}.modal-form input[data-v-9cad8324]:focus{border-color:var(--color-primary)}.modal-actions[data-v-9cad8324]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-btn[data-v-9cad8324]{border-radius:var(--radius-sm);font-weight:600;padding:10px 24px}.modal-btn.cancel[data-v-9cad8324]{background:var(--color-bg-section);color:var(--color-text-light)}.modal-btn.save[data-v-9cad8324]{background:var(--color-primary);color:#fff}@media(max-width:640px){.header-content[data-v-9cad8324]{padding:20px 16px 18px}.header-top[data-v-9cad8324]{margin-bottom:16px}.header-title[data-v-9cad8324]{gap:10px}.couple-names[data-v-9cad8324]{font-size:1.5rem}.header-icon[data-v-9cad8324]{font-size:1.8rem}.wedding-subtitle[data-v-9cad8324]{font-size:.9rem}.edit-info-btn[data-v-9cad8324],.wedding-guests[data-v-9cad8324]{font-size:.8rem}.edit-info-btn[data-v-9cad8324]{padding:6px 12px}.stats-row[data-v-9cad8324]{gap:8px;grid-template-columns:repeat(2,1fr)}.stat-card[data-v-9cad8324]{padding:10px 12px}.stat-label[data-v-9cad8324]{font-size:.7rem}.stat-value[data-v-9cad8324]{font-size:1.05rem}.progress-section[data-v-9cad8324]{align-items:stretch;flex-direction:column;gap:6px}.progress-text[data-v-9cad8324]{font-size:.75rem;text-align:center;white-space:normal}.modal[data-v-9cad8324]{margin:12px;max-height:90vh;overflow-y:auto;padding:24px 20px}.modal-form input[data-v-9cad8324]{font-size:16px}}.summary-dashboard[data-v-3e87aed9]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:24px;padding:28px}.section-title[data-v-3e87aed9]{align-items:center;color:var(--color-primary-dark);display:flex;font-size:1.3rem;gap:10px;margin-bottom:24px}.section-icon[data-v-3e87aed9]{font-size:1.4rem}.chart-grid[data-v-3e87aed9]{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.chart-bar-row[data-v-3e87aed9]{gap:8px}.chart-bar-row[data-v-3e87aed9],.chart-label[data-v-3e87aed9]{align-items:center;display:flex}.chart-label[data-v-3e87aed9]{flex-shrink:0;gap:6px;width:230px}.chart-icon[data-v-3e87aed9]{font-size:1.1rem}.chart-name[data-v-3e87aed9]{color:var(--color-text-light);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-bar-container[data-v-3e87aed9]{align-items:center;display:flex;flex:1;gap:8px}.chart-bar[data-v-3e87aed9]{border-radius:4px;height:22px;min-width:2px;transition:width .5s ease}.chart-amount[data-v-3e87aed9]{color:var(--color-text);font-size:.85rem;font-weight:600;min-width:80px;white-space:nowrap}.totals-summary[data-v-3e87aed9]{border-top:2px solid var(--color-border);display:flex;flex-direction:column;gap:8px;padding-top:16px}.total-row[data-v-3e87aed9]{align-items:center;display:flex;font-size:.95rem;justify-content:space-between;padding:6px 0}.total-row span[data-v-3e87aed9]{color:var(--color-text-light)}.total-row strong[data-v-3e87aed9]{color:var(--color-text);font-size:1.1rem}.total-row strong.paid[data-v-3e87aed9]{color:var(--color-success)}.total-row strong.over[data-v-3e87aed9]{color:var(--color-danger)}.total-row.highlight[data-v-3e87aed9]{background:var(--color-bg-section);border-radius:var(--radius-sm);margin-top:4px;padding:10px 12px}.total-row.highlight strong[data-v-3e87aed9]{font-size:1.25rem}.total-row.guests[data-v-3e87aed9]{font-size:.85rem}@media(max-width:640px){.summary-dashboard[data-v-3e87aed9]{border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.section-title[data-v-3e87aed9]{font-size:1.1rem;margin-bottom:16px}.chart-bar-row[data-v-3e87aed9]{align-items:stretch;flex-direction:column;gap:4px}.chart-label[data-v-3e87aed9]{min-width:0}.chart-name[data-v-3e87aed9]{font-size:.8rem}.chart-bar-container[data-v-3e87aed9]{gap:8px}.chart-bar[data-v-3e87aed9]{height:16px}.chart-amount[data-v-3e87aed9]{font-size:.8rem;min-width:60px}.total-row[data-v-3e87aed9]{font-size:.85rem}.total-row strong[data-v-3e87aed9]{font-size:.95rem}.total-row.highlight[data-v-3e87aed9]{padding:8px 10px}.total-row.highlight strong[data-v-3e87aed9]{font-size:1.1rem}}.budget-category[data-v-532fe1b5]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.category-header[data-v-532fe1b5]{align-items:center;border-left:4px solid var(--cat-color);cursor:pointer;display:flex;justify-content:space-between;padding:18px 24px;transition:background .2s}.category-header[data-v-532fe1b5]:hover{background:var(--color-bg-section)}.category-left[data-v-532fe1b5]{align-items:center;display:flex;gap:12px;min-width:0}.category-icon[data-v-532fe1b5]{flex-shrink:0;font-size:1.6rem}.category-name[data-v-532fe1b5]{color:var(--color-text);font-size:1.1rem}.category-count[data-v-532fe1b5]{color:var(--color-text-muted);font-size:.8rem}.category-right[data-v-532fe1b5]{align-items:center;display:flex;flex-shrink:0;gap:20px}.category-totals[data-v-532fe1b5]{align-items:flex-end;display:flex;flex-direction:column;gap:1px}.cat-total-label[data-v-532fe1b5]{color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase}.cat-total-value[data-v-532fe1b5]{color:var(--color-text);font-size:.95rem;font-weight:700}.cat-total-value.paid[data-v-532fe1b5]{color:var(--color-success)}.collapse-icon[data-v-532fe1b5]{color:var(--color-text-muted);font-size:.8rem;transition:transform .3s ease}.collapse-icon.collapsed[data-v-532fe1b5]{transform:rotate(-90deg)}.category-body[data-v-532fe1b5]{border-top:1px solid var(--color-border)}.items-mobile[data-v-532fe1b5]{display:none}.items-desktop[data-v-532fe1b5]{padding:0 12px}.table-header[data-v-532fe1b5]{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-transform:uppercase}.table-header[data-v-532fe1b5],.table-row[data-v-532fe1b5]{display:grid;gap:8px;grid-template-columns:2fr 1.2fr 100px 100px 100px 1.5fr 36px}.table-row[data-v-532fe1b5]{align-items:center;border-bottom:1px solid #f5f5f5;padding:6px 12px;transition:background .15s}.table-row[data-v-532fe1b5]:hover{background:#fafffe}.table-row[data-v-532fe1b5]:last-child{border-bottom:none}.items-desktop input[data-v-532fe1b5]{background:transparent;border:1.5px solid transparent;border-radius:6px;font-size:.9rem;padding:7px 10px;transition:all .2s;width:100%}.items-desktop input[data-v-532fe1b5]:hover{background:#fff;border-color:var(--color-border)}.items-desktop input[data-v-532fe1b5]:focus{background:#fff;border-color:var(--color-primary-light);outline:none}.input-name[data-v-532fe1b5]{color:var(--color-text);font-weight:500}.input-notes[data-v-532fe1b5],.input-provider[data-v-532fe1b5]{color:var(--color-text-light);font-size:.85rem}.input-number[data-v-532fe1b5]{font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.input-paid[data-v-532fe1b5]{color:var(--color-success)}.btn-remove-item[data-v-532fe1b5]{align-items:center;background:transparent;border-radius:50%;color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:.8rem;height:28px;justify-content:center;transition:all .2s;width:28px}.btn-remove-item[data-v-532fe1b5]:hover{background:#fee;color:var(--color-danger)}.empty-state[data-v-532fe1b5]{color:var(--color-text-muted);font-style:italic;padding:32px;text-align:center}.category-actions[data-v-532fe1b5]{border-top:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:12px 24px}.btn-add-item[data-v-532fe1b5]{background:transparent;border-radius:var(--radius-sm);color:var(--color-primary);font-size:.85rem;font-weight:600;padding:6px 12px;transition:background .2s}.btn-add-item[data-v-532fe1b5]:hover{background:var(--color-bg-section)}.btn-remove-cat[data-v-532fe1b5]{background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.8rem;padding:6px 12px;transition:all .2s}.btn-remove-cat[data-v-532fe1b5]:hover{background:#fee;color:var(--color-danger)}.desktop-only[data-v-532fe1b5]{display:flex}@media(max-width:900px){.table-header[data-v-532fe1b5],.table-row[data-v-532fe1b5]{grid-template-columns:2fr 100px 100px 100px 36px}.col-notes[data-v-532fe1b5],.col-provider[data-v-532fe1b5],.desktop-only[data-v-532fe1b5]{display:none}.category-right[data-v-532fe1b5]{gap:10px}}@media(max-width:640px){.category-header[data-v-532fe1b5]{padding:14px 16px}.category-name[data-v-532fe1b5]{font-size:.95rem}.category-icon[data-v-532fe1b5]{font-size:1.3rem}.items-desktop[data-v-532fe1b5]{display:none}.items-mobile[data-v-532fe1b5]{background:#f5f5f5;display:flex;flex-direction:column;gap:1px}.mobile-card[data-v-532fe1b5]{background:#fff;padding:14px 16px}.mobile-card-header[data-v-532fe1b5]{align-items:center;display:flex;gap:8px;margin-bottom:10px}.mobile-input-name[data-v-532fe1b5]{background:transparent;border:none;border-bottom:1px solid transparent;color:var(--color-text);flex:1;font-size:.95rem;font-weight:600;min-width:0;padding:4px 0}.mobile-input-name[data-v-532fe1b5]:focus{border-bottom-color:var(--color-primary-light);outline:none}.mobile-card-fields[data-v-532fe1b5]{display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr;margin-bottom:8px}.mobile-card-fields label[data-v-532fe1b5]{display:flex;flex-direction:column;gap:3px}.mobile-card-fields label span[data-v-532fe1b5]{color:var(--color-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.mobile-card-fields input[data-v-532fe1b5]{background:var(--color-bg-section);border:1.5px solid var(--color-border);border-radius:6px;font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:600;padding:8px 10px;text-align:right;width:100%}.mobile-card-fields input[data-v-532fe1b5]:focus{background:#fff;border-color:var(--color-primary-light);outline:none}.mobile-card-fields .input-paid[data-v-532fe1b5]{color:var(--color-success)}.mobile-card-extra[data-v-532fe1b5]{display:flex;gap:8px}.mobile-card-extra input[data-v-532fe1b5]{background:transparent;border:none;border-bottom:1px solid var(--color-border);border-radius:0;color:var(--color-text-light);flex:1;font-size:.8rem;min-width:0;padding:6px 0}.mobile-card-extra input[data-v-532fe1b5]:focus{border-bottom-color:var(--color-primary-light);outline:none}.category-actions[data-v-532fe1b5]{background:#fff;padding:12px 16px}}.app-footer[data-v-0f4efcf9]{background:linear-gradient(135deg,#004d40,#00695c);color:#fffc;margin-top:40px;padding:24px 20px;text-align:center}.footer-text[data-v-0f4efcf9]{color:#fff;font-size:1.4rem;margin-bottom:4px}.footer-sub[data-v-0f4efcf9]{font-size:.85rem}.main-content[data-v-1a9b4fb7]{padding-bottom:100px;padding-top:20px}.actions-bar[data-v-1a9b4fb7]{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:40px;padding:24px}@media(max-width:640px){.main-content[data-v-1a9b4fb7]{padding-bottom:60px;padding-top:12px}.container[data-v-1a9b4fb7]{padding:0 12px}.actions-bar[data-v-1a9b4fb7]{flex-direction:column;gap:10px;margin-top:24px;padding:16px 0}.btn[data-v-1a9b4fb7]{font-size:.9rem;justify-content:center;padding:14px 20px}}.btn[data-v-1a9b4fb7]{align-items:center;border:2px solid transparent;border-radius:var(--radius-md);display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.btn[data-v-1a9b4fb7]:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-add-category[data-v-1a9b4fb7]{background:var(--color-primary);color:#fff}.btn-add-category span[data-v-1a9b4fb7]{font-size:1.2em}.btn-export[data-v-1a9b4fb7]{background:linear-gradient(135deg,var(--color-secondary),#ff8f00);color:#fff}.btn-json-export[data-v-1a9b4fb7],.btn-json-import[data-v-1a9b4fb7]{background:var(--color-bg-section);border-color:var(--color-border);color:var(--color-text)}.btn-json-import[data-v-1a9b4fb7]{cursor:pointer}.btn-reset[data-v-1a9b4fb7]{background:#fff0f0;border-color:#ffcdd2;color:var(--color-danger)}.save-indicator[data-v-1a9b4fb7]{animation:fadeIn .2s ease-out;background:var(--color-primary);border-radius:var(--radius-sm);bottom:20px;box-shadow:var(--shadow-md);color:#fff;font-size:.8rem;font-weight:600;padding:8px 16px;position:fixed;right:20px;z-index:100}.export-overlay[data-v-1a9b4fb7]{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.export-spinner[data-v-1a9b4fb7]{border-radius:var(--radius-lg);color:var(--color-primary);font-size:1.5rem;padding:40px 60px}.export-spinner[data-v-1a9b4fb7],.loader-card[data-v-1a9b4fb7]{background:#fff;box-shadow:var(--shadow-lg)}.loader-card[data-v-1a9b4fb7]{align-items:center;border-radius:50%;display:flex;height:120px;justify-content:center;width:120px}.loader-petals[data-v-1a9b4fb7]{animation:loaderSpin-1a9b4fb7 3s linear infinite;height:60px;position:relative;width:60px}.petal[data-v-1a9b4fb7]{animation:petalPulse-1a9b4fb7 1.5s ease-in-out infinite;animation-delay:calc((var(--i) - 1)*.25s);background:var(--color-primary-light);border-radius:50%/60% 60% 40% 40%;height:28px;left:50%;margin:-14px 0 0 -9px;opacity:.85;position:absolute;top:50%;transform:rotate(calc((var(--i) - 1)*60deg));transform-origin:center 24px;width:18px}.petal[data-v-1a9b4fb7]:nth-child(odd){background:var(--color-accent-light)}.loader-center[data-v-1a9b4fb7]{background:var(--color-secondary);border-radius:50%;height:14px;left:50%;margin:-7px 0 0 -7px;position:absolute;top:50%;width:14px;z-index:1}@keyframes loaderSpin-1a9b4fb7{to{transform:rotate(1turn)}}@keyframes petalPulse-1a9b4fb7{0%,to{opacity:.5;transform:rotate(calc((var(--i) - 1)*60deg)) scale(.85)}50%{opacity:1;transform:rotate(calc((var(--i) - 1)*60deg)) scale(1)}}
