*,:after,:before{box-sizing:border-box}html{font-size:16px}body,h1,h2,h3,p{margin:0}body{min-height:100vh}button{font:inherit}:root{--page-background:#eef4fd;--panel-background:rgba(255,255,255,0.78);--panel-background-strong:rgba(241,247,255,0.92);--panel-border:rgba(128,164,214,0.24);--text-primary:#173567;--text-secondary:#52637f;--text-soft:#6d7f9b;--accent:#6ca5e8;--accent-strong:#4b89d9;--accent-pale:#dbe9fb;--accent-pale-strong:#c6dcf7;--white:#ffffff;--shadow-soft:0 18px 50px rgba(114,145,189,0.14);--radius-large:28px;--radius-medium:20px;--radius-small:14px}body{background:radial-gradient(circle at top left,rgba(196,220,252,.8),transparent 25%),radial-gradient(circle at bottom right,rgba(205,227,255,.82),transparent 28%),linear-gradient(180deg,#f8fbff 0,var(--page-background) 100%);color:var(--text-primary);font-family:Avenir Next,Segoe UI,sans-serif}#app,.app-shell{min-height:100vh}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr) 220px;position:relative;overflow:hidden}.app-shell__sidebar{position:relative;padding:48px 22px 28px;background:linear-gradient(180deg,rgba(237,244,255,.96),rgba(228,239,252,.9));border-right:1px solid rgba(255,255,255,.55)}.app-shell__main{position:relative;padding:42px 36px 36px}.app-shell__decor{position:relative;padding:70px 20px 24px 0}.app-shell__backdrop{position:absolute;pointer-events:none;border-radius:999px;filter:blur(12px)}.app-shell__backdrop--top{inset:-90px auto auto 12%;width:360px;height:360px;background:radial-gradient(circle,rgba(206,225,252,.72),transparent 70%)}.app-shell__backdrop--bottom{inset:auto auto -140px 42%;width:420px;height:420px;background:radial-gradient(circle,rgba(225,236,252,.8),transparent 72%)}.page-intro{position:relative;z-index:1;margin-bottom:28px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;margin-bottom:22px}.content-grid,.summary-grid{position:relative;z-index:1;display:grid;gap:20px}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);grid-gap:20px}.decor-panel{position:absolute;right:0}@media (max-width:1280px){.app-shell{grid-template-columns:250px minmax(0,1fr)}.app-shell__decor{display:none}}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.app-shell__sidebar{padding-bottom:140px}.content-grid,.summary-grid{grid-template-columns:1fr}}@media (max-width:640px){.app-shell__main{padding:28px 18px 24px}.app-shell__sidebar{padding:28px 16px 120px}}.brand-mark{margin-bottom:28px;padding-left:18px}.brand-mark__script{font-family:Snell Roundhand,Brush Script MT,cursive;font-size:4rem;line-height:.9;color:#3b5d95}.brand-mark__sans{margin-top:10px;letter-spacing:.42rem;text-transform:uppercase;font-size:1.05rem;color:#5476ad}.sidebar-nav{display:grid;grid-gap:6px;gap:6px;position:relative;z-index:1}.sidebar-nav__item{display:flex;align-items:center;gap:14px;padding:15px 18px;border:0;background:transparent;border-radius:14px;color:var(--text-primary);cursor:pointer;text-align:left}.sidebar-nav__item--active{background:linear-gradient(135deg,rgba(172,205,245,.92),rgba(144,187,240,.94));color:var(--white);box-shadow:0 12px 26px rgba(116,153,202,.16)}.sidebar-nav__icon{width:30px;height:30px;display:grid;place-items:center}.sidebar-bloom{position:absolute;left:0;right:0;bottom:0;height:280px;pointer-events:none}.top-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-bottom:18px;position:relative;z-index:1}.profile-pill,.toolbar-icon-button{border:0;background:transparent;color:#6388c0}.toolbar-icon-button{width:44px;height:44px;display:grid;place-items:center}.profile-pill{width:46px;height:46px;border-radius:999px;background:linear-gradient(135deg,rgba(132,182,242,.94),rgba(102,157,226,.94));color:var(--white);cursor:pointer}.eyebrow{letter-spacing:.28rem;text-transform:uppercase;color:#6682ae;font-size:.8rem;margin-bottom:12px}.page-title{font-family:Baskerville,Times New Roman,serif;font-size:clamp(3rem,4vw,4.3rem);line-height:1;font-weight:500;color:#16366b}.title-divider{width:min(350px,100%);height:15px;margin:14px 0 18px;position:relative}.title-divider:after,.title-divider:before{content:"";position:absolute;top:7px;width:calc(50% - 16px);height:1px;background:linear-gradient(90deg,rgba(104,148,209,.8),rgba(104,148,209,.15))}.title-divider:after{right:0;transform:scaleX(-1)}.title-divider:before{left:0}.title-divider::marker{content:""}.title-divider:after,.title-divider:before{border-radius:999px}.title-divider{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,0),rgba(255,255,255,0) 34%,rgba(104,148,209,.7) 35%,rgba(104,148,209,.7) 38%,rgba(255,255,255,0) 39%),radial-gradient(circle at 46% 50%,rgba(104,148,209,.7) 0 10%,transparent 13%),radial-gradient(circle at 54% 50%,rgba(104,148,209,.7) 0 10%,transparent 13%);background-repeat:no-repeat;background-position:50%}.page-subtitle{color:var(--text-secondary);font-size:1.1rem}.section-card{background:var(--panel-background);border:1px solid var(--panel-border);border-radius:var(--radius-medium);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-card{padding:28px 30px}.summary-card--tinted{background:linear-gradient(135deg,rgba(234,243,255,.86),rgba(245,249,255,.86))}.summary-card__header{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-title,.summary-card__title{text-transform:uppercase;letter-spacing:.03rem;font-weight:600;font-size:.95rem;line-height:1.45}.goal-ring__amount,.summary-card__amount{font-family:Baskerville,Times New Roman,serif;font-size:clamp(2.8rem,4vw,3.4rem);font-weight:500;color:#648fd1}.goal-panel__message,.goal-ring__label,.goal-ring__subtext,.summary-card__note{color:var(--text-secondary)}.summary-card__icon{color:var(--accent)}.panel-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:16px}.panel-heading--table{padding-bottom:16px;border-bottom:1px solid rgba(126,165,216,.16)}.panel-columns{display:grid;grid-template-columns:repeat(3,96px);grid-gap:8px;gap:8px;color:var(--text-soft);text-transform:uppercase;font-size:.85rem}.budget-panel{padding:24px 22px 28px}.budget-panel__rows{display:grid;grid-gap:12px;gap:12px}.budget-panel__action{margin-top:22px;display:flex;justify-content:center}.category-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(140px,1fr) 96px 96px 96px;grid-gap:10px;gap:10px;align-items:center;min-height:40px}.category-row__label{display:flex;align-items:center;gap:14px;min-width:0}.category-row__icon{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(224,236,252,.95),rgba(206,224,248,.95));color:#4f81c4;flex-shrink:0}.category-row__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-track{width:100%;height:10px;border-radius:999px;background:rgba(214,228,248,.9);overflow:hidden}.progress-track__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8eb5e7,#6d9fdd)}.category-row__money{text-align:right;color:var(--text-primary)}.category-row__money--accent{color:var(--accent-strong)}.goal-panel{padding:24px 22px 28px;display:grid;justify-items:center;align-content:start}.panel-title--centered{text-align:center}.goal-ring{width:min(100%,280px);aspect-ratio:1;margin:26px 0 20px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(255,255,255,.96) 0 61%,transparent 62% 100%),conic-gradient(var(--accent-strong) 0deg var(--progress-degrees),rgba(220,232,249,.96) var(--progress-degrees) 1turn)}.goal-ring__inner{width:68%;text-align:center}.goal-ring__amount{font-size:clamp(2.2rem,4vw,3.2rem)}.goal-ring__label{margin-top:6px;margin-bottom:4px;font-size:1.05rem}.goal-ring__subtext{font-size:.95rem}.goal-panel__message{max-width:220px;text-align:center;line-height:1.45;margin-bottom:18px}.primary-button{border:0;border-radius:10px;min-width:220px;min-height:46px;padding:12px 20px;text-transform:uppercase;letter-spacing:.16rem;color:var(--white);background:linear-gradient(135deg,#7aaae6,#5d93d8);box-shadow:0 12px 24px rgba(104,145,206,.22);cursor:pointer}.primary-button--ghost{background:rgba(255,255,255,.5);color:var(--accent-strong);border:1px solid rgba(98,148,216,.75);box-shadow:none}.icon{width:24px;height:24px}.icon--feature{width:54px;height:54px}.icon--small{width:22px;height:22px}@media (max-width:980px){.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-bloom{height:180px}.category-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 0;border-bottom:1px solid rgba(126,165,216,.12)}.panel-columns{display:none}.category-row__money{text-align:left}}@media (max-width:640px){.brand-mark__script{font-size:3rem}.brand-mark__sans{letter-spacing:.24rem;font-size:.84rem}.sidebar-nav{grid-template-columns:1fr}.budget-panel,.goal-panel,.summary-card{padding-left:18px;padding-right:18px}.primary-button{width:100%;min-width:0}}.sidebar-nav__link{text-decoration:none}.toolbar-icon-button{cursor:pointer}.page-panel{position:relative;z-index:1}.page-panel+.page-panel{margin-top:20px}.page-panel__stack{display:grid;grid-gap:20px;gap:20px}.page-panel__split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-gap:20px;gap:20px}.page-panel__card{padding:24px 22px 28px}.page-panel__card--compact{padding:22px 22px 24px}.page-panel__description{color:var(--text-secondary);line-height:1.55}.page-panel__summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.page-panel__summary-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.inline-action{color:var(--accent-strong);text-decoration:none;font-weight:600}.toolbar-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(98,148,216,.35);color:#4778bc;text-decoration:none;white-space:nowrap}.editor-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.editor-form-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}.editor-form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-field{display:grid;grid-gap:8px;gap:8px;color:var(--text-secondary);font-size:.92rem}.editor-input,.editor-select{min-height:44px;border-radius:12px;border:1px solid rgba(98,148,216,.25);background:rgba(255,255,255,.84);padding:0 12px;color:var(--text-primary);font:inherit}.editor-input--file{padding:10px 12px}.editor-textarea{min-height:180px;padding:12px;resize:vertical}.editor-message{margin:0;padding:14px 16px;border-radius:14px}.editor-message--error{background:rgba(255,236,236,.95);color:#8e3b47;border:1px solid rgba(190,98,112,.28)}.editor-message--success{background:rgba(236,247,240,.95);color:#34704b;border:1px solid rgba(113,170,127,.28)}.editor-actions,.editor-toggle{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.editor-list{display:grid;grid-gap:14px;gap:14px}.editor-item{padding:18px;border-radius:var(--radius-small);background:rgba(245,249,255,.92);border:1px solid rgba(126,165,216,.14)}.editor-item__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:14px}.editor-item__meta{color:var(--text-soft);font-size:.82rem;text-transform:uppercase;letter-spacing:.08rem}.editor-table{display:grid;grid-gap:10px;gap:10px}.editor-table__head,.editor-table__row{display:grid;grid-gap:14px;gap:14px;align-items:center}.editor-table__head{color:var(--text-soft);font-size:.8rem;text-transform:uppercase;letter-spacing:.1rem;padding:0 4px 8px}.editor-table__row{padding:14px 16px;border-radius:16px;background:rgba(245,249,255,.92);border:1px solid rgba(126,165,216,.14);color:var(--text-primary)}.editor-table__row strong{color:var(--accent-strong);text-align:right}.editor-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.inline-delete{border:0;background:transparent;color:#b15b67;cursor:pointer;font:inherit;padding:0}.editor-table__head--transactions,.editor-table__row--transactions{grid-template-columns:1.1fr 1.5fr 1.1fr .8fr}.editor-table__head--recurring,.editor-table__row--recurring{grid-template-columns:1.4fr 1.2fr .9fr 1fr .8fr}.summary-card__note--strong{font-size:1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:14px;gap:14px}.calendar-day{min-height:180px;padding:16px;border-radius:18px;background:rgba(245,249,255,.92);border:1px solid rgba(126,165,216,.14)}.calendar-day--muted{opacity:.45}.calendar-day__number{font-family:Baskerville,Times New Roman,serif;font-size:1.6rem;margin-bottom:10px}.calendar-entry-list{display:grid;grid-gap:8px;gap:8px}.calendar-entry{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.86);border:1px solid rgba(126,165,216,.12)}.calendar-entry__title{font-weight:600}.calendar-entry__meta{color:var(--text-secondary);font-size:.88rem}.floating-add-button{position:fixed;right:28px;bottom:28px;width:68px;height:68px;border:0;border-radius:999px;background:linear-gradient(145deg,#4d7eb9,#6d98cb);color:white;font-size:2.5rem;line-height:1;box-shadow:0 18px 36px rgba(55,92,142,.28);cursor:pointer;z-index:40}.floating-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:50}.floating-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(34,49,71,.42);cursor:pointer}.floating-modal__panel{position:relative;z-index:1;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;padding:24px;border-radius:28px;background:linear-gradient(180deg,rgba(255,251,247,.98),rgba(244,249,255,.98));border:1px solid rgba(126,165,216,.18);box-shadow:0 28px 80px rgba(40,63,95,.22)}.floating-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.floating-modal__close{width:42px;height:42px;border:0;border-radius:999px;background:rgba(223,233,245,.9);color:var(--accent-strong);cursor:pointer;font:inherit}.floating-modal__modes{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.floating-modal__content{display:grid;grid-gap:16px;gap:16px;margin-top:18px}@media (max-width:980px){.calendar-grid,.editor-form-grid,.editor-form-grid--five,.editor-form-grid--two,.editor-table__head--recurring,.editor-table__head--transactions,.editor-table__row--recurring,.editor-table__row--transactions,.page-panel__split,.page-panel__summary-grid,.page-panel__summary-grid--four{grid-template-columns:1fr}.editor-table__row strong{text-align:left}.editor-row-actions{align-items:flex-start}.floating-add-button{right:18px;bottom:18px;width:60px;height:60px;font-size:2.15rem}.floating-modal__panel{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:20px;border-radius:22px}}