:root{--fp-bg: #F6F5F2;--fp-surface: #FFFFFF;--fp-surface-2: #FBFAF8;--fp-text: #28344C;--fp-text-muted: #6B7280;--fp-primary: #B33C00;--fp-primary-strong: #933000;--fp-accent: #DC4C00;--fp-border: #E6E2DB;--fp-success: #1F7A5A;--fp-warning: #C98A2B;--fp-danger: #C0492F;--fp-radius-sm: 10px;--fp-radius: 14px;--fp-radius-lg: 18px;--fp-radius-pill: 999px;--fp-shadow-sm: 0 1px 2px rgba(43, 39, 36, .06), 0 1px 3px rgba(43, 39, 36, .08);--fp-shadow-md: 0 4px 12px rgba(43, 39, 36, .1);--fp-space-1: 4px;--fp-space-2: 8px;--fp-space-3: 12px;--fp-space-4: 16px;--fp-space-5: 24px;--fp-space-6: 32px;--fp-font: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;color-scheme:light}:root[data-theme=dark]{--fp-bg: #1B2230;--fp-surface: #232C3C;--fp-surface-2: #2A3445;--fp-text: #EDF0F5;--fp-text-muted: #9BA6B8;--fp-primary: #FF7A4D;--fp-primary-strong: #F2683A;--fp-accent: #FF7A4D;--fp-border: #334056;--fp-success: #3DBA8F;--fp-warning: #E0A94A;--fp-danger: #E0775C;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--fp-font);background:var(--fp-bg);color:var(--fp-text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,ul{margin:0}a{color:var(--fp-primary)}button{font-family:inherit}.fp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--fp-radius-pill);border:1px solid var(--fp-border);background:var(--fp-surface);color:var(--fp-text);cursor:pointer;font-size:16px}.fp-icon-btn:hover{background:var(--fp-surface-2)}.fp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--fp-radius-sm);border:1px solid transparent;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.fp-btn:disabled{opacity:.55;cursor:not-allowed}.fp-btn--primary{background:var(--fp-primary);color:#fff}.fp-btn--primary:hover:not(:disabled){background:var(--fp-primary-strong)}.fp-btn--secondary{background:var(--fp-surface);color:var(--fp-text);border-color:var(--fp-border)}.fp-btn--secondary:hover:not(:disabled){background:var(--fp-surface-2)}.fp-btn--ghost{background:transparent;color:var(--fp-primary)}.fp-btn--ghost:hover:not(:disabled){background:var(--fp-surface-2)}.fp-btn--danger{background:var(--fp-danger);color:#fff}.fp-field{display:flex;flex-direction:column;gap:6px;font-size:14px}.fp-field__label{font-weight:600;color:var(--fp-text)}.fp-field__hint{color:var(--fp-text-muted);font-size:13px}.fp-field__error{color:var(--fp-danger);font-size:13px}.fp-input{padding:10px 12px;border-radius:var(--fp-radius-sm);border:1px solid var(--fp-border);background:var(--fp-surface);color:var(--fp-text);font-size:15px;width:100%}.fp-input:focus{outline:2px solid var(--fp-primary);outline-offset:1px}.fp-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.fp-card{background:var(--fp-surface);border:1px solid var(--fp-border);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm);padding:var(--fp-space-5)}.fp-section-title{font-size:18px;font-weight:700;margin-bottom:var(--fp-space-4)}.fp-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--fp-radius-pill);font-size:13px;font-weight:600;border:1px solid transparent}.fp-pill--neutral{background:var(--fp-surface-2);color:var(--fp-text-muted);border-color:var(--fp-border)}.fp-pill--success{background:color-mix(in srgb,var(--fp-success) 16%,transparent);color:var(--fp-success)}.fp-pill--warning{background:color-mix(in srgb,var(--fp-warning) 18%,transparent);color:var(--fp-warning)}.fp-pill--danger{background:color-mix(in srgb,var(--fp-danger) 16%,transparent);color:var(--fp-danger)}.fp-pill--info{background:color-mix(in srgb,var(--fp-primary) 14%,transparent);color:var(--fp-primary)}.fp-stat{display:flex;flex-direction:column;gap:2px;background:var(--fp-surface);border:1px solid var(--fp-border);border-radius:var(--fp-radius);padding:var(--fp-space-4);min-width:160px}.fp-stat__label{font-size:13px;color:var(--fp-text-muted)}.fp-stat__value{font-size:22px;font-weight:700}.fp-stat__hint{font-size:12px;color:var(--fp-text-muted)}.fp-table-wrap{overflow-x:auto;border:1px solid var(--fp-border);border-radius:var(--fp-radius)}.fp-table{width:100%;border-collapse:collapse;font-size:14px}.fp-table th,.fp-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--fp-border)}.fp-table th{color:var(--fp-text-muted);font-weight:600;background:var(--fp-surface-2)}.fp-table tr:last-child td{border-bottom:none}.fp-empty{text-align:center;padding:var(--fp-space-6);color:var(--fp-text-muted)}.fp-empty__icon{font-size:32px;margin-bottom:var(--fp-space-2)}.fp-empty__title{font-weight:700;color:var(--fp-text)}.fp-empty__desc{margin-top:4px}.fp-empty__action{margin-top:var(--fp-space-4)}.fp-tabs{display:inline-flex;gap:4px;background:var(--fp-surface-2);padding:4px;border-radius:var(--fp-radius-pill);flex-wrap:wrap}.fp-tab{border:none;background:transparent;color:var(--fp-text-muted);padding:6px 14px;border-radius:var(--fp-radius-pill);cursor:pointer;font-size:14px;font-weight:600}.fp-tab--active{background:var(--fp-surface);color:var(--fp-text);box-shadow:var(--fp-shadow-sm)}.fp-shell{display:flex;min-height:100vh}.fp-sidebar{width:240px;flex-shrink:0;background:var(--fp-surface);border-right:1px solid var(--fp-border);position:sticky;top:0;height:100vh}.fp-sidebar__inner{display:flex;flex-direction:column;height:100%;padding:var(--fp-space-4);gap:var(--fp-space-4)}.fp-brand{padding:var(--fp-space-2)}.fp-logo{font-weight:800;font-size:20px;color:var(--fp-accent);letter-spacing:.3px}.fp-nav{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto}.fp-nav__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;color:var(--fp-text);border-radius:var(--fp-radius-sm);cursor:pointer;font-size:14px;font-weight:600;text-align:left}.fp-nav__item:hover{background:var(--fp-surface-2)}.fp-nav__item--active{background:color-mix(in srgb,var(--fp-primary) 14%,transparent);color:var(--fp-primary)}.fp-nav__icon{font-size:16px}.fp-nav__group{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fp-text-muted);padding:10px 12px 4px}.fp-nav__group:first-child{padding-top:0}.fp-nav__empty{color:var(--fp-text-muted);font-size:14px;line-height:1.5;text-align:center;padding:var(--fp-space-4)}.fp-help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:50%;background:var(--fp-surface-2);border:1px solid var(--fp-border);color:var(--fp-text-muted);font-size:11px;font-weight:700;cursor:help;vertical-align:middle}.fp-sidebar__footer,.fp-sidebar__hint{color:var(--fp-text-muted);font-size:13px}.fp-principles{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px}.fp-principles__chip{flex:0 0 auto;padding:5px 12px;border-radius:var(--fp-radius-pill);background:var(--fp-surface-2);border:1px solid var(--fp-border);color:var(--fp-text-muted);font-size:13px;font-weight:600;white-space:nowrap;cursor:default}.fp-main{flex:1;min-width:0;display:flex;flex-direction:column}.fp-topbar{display:flex;align-items:center;gap:var(--fp-space-3);padding:var(--fp-space-3) var(--fp-space-5);border-bottom:1px solid var(--fp-border);background:var(--fp-surface);position:sticky;top:0;z-index:10}.fp-topbar__spacer{flex:1}.fp-topbar__right{display:flex;align-items:center;gap:var(--fp-space-3)}.fp-hamburger{display:none}.fp-user{display:flex;align-items:center;gap:var(--fp-space-2)}.fp-user__name{color:var(--fp-text-muted);font-size:14px}.fp-content{padding:var(--fp-space-5);max-width:1120px;width:100%;margin:0 auto}.fp-muted{color:var(--fp-text-muted);font-weight:400;font-size:14px}.fp-spaces__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--fp-space-4);margin-bottom:var(--fp-space-5)}.fp-space-card{display:flex;justify-content:space-between;align-items:center}.fp-create__form{display:flex;gap:var(--fp-space-3);flex-wrap:wrap;align-items:flex-end}.fp-space-switcher{position:relative}.fp-space-switcher__menu{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;background:var(--fp-surface);border:1px solid var(--fp-border);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-md);padding:6px;z-index:20;display:flex;flex-direction:column}.fp-space-switcher__item{text-align:left;border:none;background:transparent;color:var(--fp-text);padding:8px 10px;border-radius:var(--fp-radius-sm);cursor:pointer}.fp-space-switcher__item:hover{background:var(--fp-surface-2)}.fp-space-switcher__meta{color:var(--fp-text-muted);font-size:12px}.fp-space-switcher__create{color:var(--fp-primary);font-weight:600}.fp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:15}@media (max-width: 1023px){.fp-sidebar{position:fixed;z-index:16;height:100vh;transform:translate(-100%);transition:transform .2s}.fp-sidebar--open{transform:translate(0)}.fp-hamburger{display:inline-flex}}.fp-logo--btn{display:inline-flex;align-items:center;background:none;border:none;padding:0;cursor:pointer;font:inherit}.fp-brand-logo{display:block;width:auto;max-width:100%}.fp-brand-logo--mark{height:32px}.fp-brand-logo--full{height:48px}.fp-admin__brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--fp-text)}.fp-admin__brand .fp-brand-logo--mark{height:26px}.fp-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--fp-space-5);position:relative;background:radial-gradient(1200px 500px at 50% -10%,color-mix(in srgb,var(--fp-primary) 10%,transparent),transparent)}.fp-auth__toggle{position:absolute;top:var(--fp-space-4);right:var(--fp-space-4)}.fp-auth__card{width:100%;max-width:380px}.fp-auth__logo{margin-bottom:4px}.fp-auth__form{display:flex;flex-direction:column;gap:var(--fp-space-3);margin-top:var(--fp-space-4)}.fp-auth__form .fp-btn{margin-top:var(--fp-space-2)}.fp-auth__switch{margin-top:var(--fp-space-3);width:100%}.fp-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--fp-space-3);margin-bottom:var(--fp-space-4)}.fp-stack{display:flex;flex-direction:column;gap:var(--fp-space-4)}.fp-row{display:flex;gap:var(--fp-space-3);flex-wrap:wrap;align-items:flex-end}.fp-cashflow__accounts-list{list-style:none;padding:var(--fp-space-3) 0;display:grid;gap:6px;font-size:14px}.fp-checkbox{font-size:13px;display:flex;gap:6px;align-items:center}.fp-cashflow__canceled{text-decoration:line-through}.fp-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--fp-space-4)}.fp-plan--current{border-color:var(--fp-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--fp-primary) 30%,transparent)}.fp-plans__row{display:flex;justify-content:space-between;align-items:center;gap:var(--fp-space-2);flex-wrap:wrap}.fp-plans__feature-list{list-style:none;padding:0;margin:var(--fp-space-3) 0;display:grid;gap:var(--fp-space-1)}.fp-plans__feature-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--fp-space-2);font-size:13px}.fp-plans__feature-list--narrow{max-width:320px}.fp-plans__actions{display:grid;gap:var(--fp-space-2)}.fp-plans__hint{font-size:13px;color:var(--fp-text-muted)}.fp-stat__value--neutral{color:var(--fp-text)}.fp-stat__value--success{color:var(--fp-success)}.fp-stat__value--danger{color:var(--fp-danger)}.fp-stat__value--warning{color:var(--fp-warning)}.fp-stat__value--info{color:var(--fp-primary)}.fp-plans__banner{border-color:var(--fp-primary);background:color-mix(in srgb,var(--fp-primary) 8%,var(--fp-surface))}.fp-plans__hint--warning{color:var(--fp-warning)}.fp-debts__sim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--fp-space-3);margin-top:var(--fp-space-3)}.fp-debts__sim-body{font-size:14px;display:grid;gap:var(--fp-space-1);margin-top:var(--fp-space-1)}.fp-debts__limitation{font-size:12px;margin:0;grid-column:1 / -1}.fp-lifestyle__profile{display:grid;gap:4px;font-size:14px}.fp-lifestyle__profile-row{display:flex;justify-content:space-between;gap:var(--fp-space-3)}.fp-lifestyle__profile-row--total{border-top:1px solid var(--fp-border);padding-top:var(--fp-space-1);margin-top:2px}.fp-lifestyle__adj-list{display:grid;gap:var(--fp-space-2)}.fp-lifestyle__adj-item{display:flex;justify-content:space-between;align-items:center;gap:var(--fp-space-2);font-size:13px}.fp-lifestyle__actions{display:flex;gap:var(--fp-space-2);flex-shrink:0}.fp-lifestyle__proj-cols{display:flex;gap:var(--fp-space-5);flex-wrap:wrap}.fp-lifestyle__proj-col{flex:1;min-width:200px}.fp-lifestyle__delta{font-size:14px;margin-top:var(--fp-space-3)}.fp-lifestyle__pos{color:var(--fp-success)}.fp-lifestyle__neg{color:var(--fp-danger)}.fp-goals__card{display:grid;gap:var(--fp-space-3)}.fp-goals__head{display:flex;justify-content:space-between;gap:var(--fp-space-2);flex-wrap:wrap;font-size:14px}.fp-goals__private{margin-left:var(--fp-space-2)}.fp-goals__bar{height:8px;background:var(--fp-surface-2);border-radius:var(--fp-radius-pill);overflow:hidden}.fp-goals__bar-fill{height:100%;background:var(--fp-primary);border-radius:var(--fp-radius-pill)}.fp-goals__bar-fill--done{background:var(--fp-success)}.fp-goals__contrib{width:140px;flex:0 0 auto}.fp-goals__progress{font-size:13px;display:grid;gap:2px}.fp-goals__alert{color:var(--fp-danger);font-size:12px}.fp-diagnosis__form{max-width:520px;margin-top:var(--fp-space-4)}.fp-diagnosis__points{list-style:disc;padding-left:var(--fp-space-5);display:grid;gap:var(--fp-space-1);font-size:14px}.fp-education__list{display:grid;gap:var(--fp-space-2)}.fp-education__box{background:var(--fp-surface-2);border:1px solid var(--fp-border);border-radius:var(--fp-radius-sm);padding:var(--fp-space-3);font-size:14px;display:grid;gap:var(--fp-space-1)}.fp-education__box--neutral{border-left:4px solid var(--fp-text-muted)}.fp-education__box--danger{border-left:4px solid var(--fp-danger)}.fp-education__box--success{border-left:4px solid var(--fp-success)}.fp-education__head{display:flex;justify-content:space-between;align-items:center;gap:var(--fp-space-2)}.fp-education__body{line-height:1.5;margin-top:var(--fp-space-1)}.fp-education__glossary{margin:0}.fp-education__glossary>div{padding:var(--fp-space-2) 0;border-bottom:1px solid var(--fp-border)}.fp-education__glossary>div:last-child{border-bottom:none}.fp-education__term{font-weight:600;font-size:14px}.fp-admin{max-width:760px;margin:0 auto;padding:var(--fp-space-5);display:flex;flex-direction:column;gap:var(--fp-space-4)}.fp-admin__header{display:flex;justify-content:space-between;align-items:center;gap:var(--fp-space-3)}.fp-admin__user{display:flex;align-items:center;gap:var(--fp-space-3)}.fp-budget__badges{display:inline-flex;gap:var(--fp-space-2);flex-wrap:wrap}.fp-budget__warning{color:var(--fp-warning);font-size:14px;margin:0}.fp-budget__models{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--fp-space-3);margin-bottom:var(--fp-space-3)}.fp-budget__model{display:flex;flex-direction:column;gap:2px;text-align:left;padding:var(--fp-space-3);border:1px solid var(--fp-border);border-radius:var(--fp-radius);background:var(--fp-surface);color:var(--fp-text);cursor:pointer}.fp-budget__model:hover{background:var(--fp-surface-2)}.fp-budget__model--current{border-color:var(--fp-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--fp-primary) 30%,transparent)}.fp-budget__editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--fp-space-3);margin-bottom:var(--fp-space-4)}.fp-budget__save-row{align-items:center;justify-content:space-between}
