:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f4f7f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(180deg,#dff3e87a 0,#f4f7f900 330px),#f4f7f9}#root{min-height:100vh}.app-shell{min-height:100vh;padding:28px;color:#17202a}.topbar,.panel-title,.toolbar,.quick-add,.due-card,.metric,.scopebar,.wide-action,.vault-item{display:flex;align-items:center}.topbar{justify-content:space-between;gap:18px;margin:0 auto 16px;max-width:1480px}.topbar h1,.panel-title h2{margin:0;letter-spacing:0}.topbar h1{font-size:2rem;line-height:1}.eyebrow{margin:0 0 6px;color:#617084;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.top-actions{display:flex;gap:8px}.hidden-input{display:none}.scopebar{max-width:1480px;margin:0 auto 16px;gap:8px}.scopebar button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid #d2dce7;border-radius:999px;background:#fff;color:#536275;font-weight:850}.scopebar button.active{border-color:#2c6e7f;background:#e3f4f2;color:#174e59}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 auto 16px;max-width:1480px}.metric{min-height:84px;gap:14px;padding:16px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;box-shadow:0 8px 22px #17202a0f}.metric span{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:8px}.metric svg{width:21px;height:21px}.metric p{margin:0 0 3px;color:#667487;font-size:.82rem;font-weight:700}.metric strong{display:block;font-size:1.35rem;line-height:1.2;overflow-wrap:anywhere}.metric.green span{background:#dff3e8;color:#17683a}.metric.red span{background:#ffe3df;color:#a92f21}.metric.blue span{background:#dbeafe;color:#1e5aa8}.tabbar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:1480px;margin:0 auto 16px;padding:5px;border:1px solid #dbe2ea;border-radius:8px;background:#eef3f7}.tabbar button{min-height:38px;border:0;border-radius:6px;background:transparent;color:#536275;font-weight:800}.tabbar button.active{background:#fff;color:#17202a;box-shadow:0 2px 10px #17202a14}.dashboard-grid,.two-column,.panel{max-width:1480px;margin:0 auto}.dashboard-grid,.two-column{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px}.panel{padding:18px;border:1px solid #dbe2ea;border-radius:8px;background:#fffffff5;box-shadow:0 10px 26px #17202a12}.hero-panel{min-height:330px}.panel-title{justify-content:space-between;gap:16px;margin-bottom:16px}.panel-title svg{color:#2c6e7f;flex:0 0 auto}.hero-math{display:grid;gap:8px;padding:16px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc}.mini-grid,.person-grid,.vault-grid,.account-summary{display:grid;gap:10px}.mini-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px}.mini-stat{min-height:74px;padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}.mini-stat span{display:block;margin-bottom:5px;color:#667487;font-size:.78rem;font-weight:800}.mini-stat strong{font-size:1.3rem}.person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-card{display:grid;gap:5px;min-height:128px;padding:14px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:#17202a;text-align:left}.person-card:hover{border-color:#2c6e7f}.person-card strong{font-size:1rem}.person-card span{color:#536275;font-size:.85rem;font-weight:750}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.income-panel,.creator-context,.cycle-actions,.account-summary{margin-top:14px}.inline-title,.cycle-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.inline-title h3{margin:0;font-size:1.05rem}.inline-title>strong{margin-left:auto;font-size:1.1rem}.income-panel{padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc}.creator-context{display:grid;gap:10px;padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc}.creator-context>span{color:#617084;font-weight:700}.income-list{display:grid;gap:8px;margin-top:10px}.income-row{display:grid;grid-template-columns:minmax(170px,1.2fr) 110px 112px 112px minmax(130px,1fr) 38px;gap:8px;align-items:center}.cycle-actions{padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}.cycle-actions div{display:grid;gap:4px}.cycle-actions span,.empty-state span,.history-row span{color:#617084;font-size:.86rem;font-weight:700}.account-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:6px}.field span{color:#667487;font-size:.78rem;font-weight:800}input,select{min-width:0;width:100%;min-height:38px;box-sizing:border-box;border:1px solid #ccd6e0;border-radius:6px;background:#fff;color:#17202a;font:inherit;font-size:.92rem;padding:8px 10px}input:focus,select:focus,button:focus-visible{outline:3px solid rgba(44,110,127,.22);border-color:#2c6e7f}button{font:inherit;cursor:pointer}.calculator{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #e1e7ee}.summary-line{display:flex;justify-content:space-between;gap:14px;color:#536275;font-weight:700}.summary-line strong{color:#17202a;text-align:right}.summary-line.strong{margin-top:4px;padding-top:10px;border-top:1px solid #e1e7ee;color:#17202a;font-size:1.05rem}.negative{color:#a92f21!important}.stack-list,.template-list,.checklist,.action-list{display:grid;gap:10px}.wide-list{margin-top:14px}.toolbar{justify-content:space-between;gap:10px;margin-bottom:12px}.searchbox,.selectbox{display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid #ccd6e0;border-radius:6px;background:#fff;padding:0 10px}.searchbox{flex:1}.searchbox svg,.selectbox svg{color:#667487;flex:0 0 auto}.searchbox input,.selectbox select{min-height:38px;border:0;border-radius:0;padding:0;box-shadow:none}.selectbox select{min-width:168px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.quick-add{display:grid;grid-template-columns:minmax(190px,1.25fr) 120px 140px 110px 145px minmax(140px,1fr) 92px;gap:8px;padding:10px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc}.primary-button,.icon-button,.check-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ccd6e0;border-radius:6px;background:#fff;color:#17202a}.primary-button{gap:7px;min-height:38px;background:#2c6e7f;border-color:#2c6e7f;color:#fff;font-weight:800}.icon-button{width:38px;height:38px;padding:0}.icon-button:hover,.check-button:hover{border-color:#2c6e7f}.icon-button.danger:hover{border-color:#c24132;color:#a92f21}.check-button{width:32px;height:32px;flex:0 0 auto;color:#92a0af}.check-button.checked{border-color:#2d8a55;background:#dff3e8;color:#17683a}.due-card{gap:12px;padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}.due-card.compact{display:grid;grid-template-columns:32px minmax(150px,1fr) 266px 52px}.due-card.paid{background:#f7fbf8}.due-main{flex:1;min-width:0}.due-row{display:flex;align-items:center;gap:8px}.name-input{border-color:transparent;padding-left:0;font-weight:800}.compact-name{min-width:0;overflow:hidden;color:#17202a;font-size:.93rem;text-overflow:ellipsis;white-space:nowrap}.due-fields{display:grid;grid-template-columns:130px 210px minmax(160px,1fr);gap:8px;margin-top:8px}.due-fields input,.due-fields select{min-height:34px;background:#fbfdff;font-size:.84rem}.due-money{display:grid;grid-template-columns:112px 146px;gap:8px}.pill,.status,.owner-chip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;font-size:.73rem;font-weight:900}.pill,.owner-chip{padding:5px 8px}.owner-chip{background:#e7e9ee;color:#536275}.pill.credit{background:#dbeafe;color:#1e5aa8}.pill.bill{background:#f7e3bd;color:#7a4b10}.pill.investment{background:#dff3e8;color:#17683a}.pill.cash{background:#e7e9ee;color:#536275}.status{min-width:52px;height:28px;background:#eef3f7;color:#536275}.urgent-status{background:#ffe3df;color:#a92f21}.paid-status{background:#dff3e8;color:#17683a}.task-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:#17202a;font-weight:780}.task-row.done span{color:#667487;text-decoration:line-through}.template-row{display:grid;grid-template-columns:32px minmax(180px,1.2fr) 112px 132px 100px 74px;gap:8px;align-items:center;padding:10px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}.template-row.muted{opacity:.62}.empty-state{display:grid;gap:6px;padding:16px;border:1px dashed #c5d1dd;border-radius:8px;background:#f8fafc}.history-list{display:grid;gap:10px}.history-row{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(110px,.7fr));gap:10px;align-items:stretch;padding:10px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}.history-row>div:first-child{display:grid;align-content:center;gap:5px}.history-more{padding:10px 12px;border:1px dashed #c5d1dd;border-radius:8px;color:#617084;font-size:.86rem;font-weight:800;background:#f8fafc}.guide-list{display:grid;gap:10px}.guide-list div{display:grid;gap:4px;padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc}.guide-list span{color:#617084;font-weight:700}.table-wrap{margin-top:14px;overflow-x:auto}table{width:100%;min-width:900px;border-collapse:collapse}th,td{border-bottom:1px solid #e1e7ee;padding:9px 8px;text-align:left;vertical-align:middle}th{color:#667487;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}td input,td select{min-height:34px}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.goal-card{padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}.goal-heading{display:grid;grid-template-columns:22px minmax(0,1fr) 116px;align-items:center;gap:8px;margin-bottom:10px}.goal-heading svg{color:#2c6e7f}.goal-heading input{border-color:transparent;font-weight:800}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e7e9ee}.progress-track span{display:block;height:100%;border-radius:inherit;background:#2d8a55}.goal-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.vault-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vault-item{gap:10px;padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc}.vault-item svg{color:#2c6e7f}.vault-item span{color:#667487;font-size:.78rem;font-weight:800}.vault-item strong{margin-left:auto;text-align:right}.vault-copy{display:grid;gap:10px;margin-top:14px;color:#536275;font-weight:650}.vault-copy p{margin:0}.sync-status{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc;color:#536275}.sync-status svg{flex:0 0 auto;margin-top:1px}.sync-status div{display:grid;gap:3px}.sync-status strong{color:#17202a}.sync-status span{font-weight:700}.sync-status.success{border-color:#b8dfc7;background:#effaf3;color:#276846}.sync-status.success svg{color:#2d8a55}.sync-status.warning{border-color:#f4d6a2;background:#fff8eb;color:#7c5720}.sync-status.warning svg{color:#a66d16}.sync-status.danger{border-color:#f0beb7;background:#fff3f1;color:#8f2d24}.sync-status.danger svg{color:#b83a2c}.wide-action{justify-content:flex-start;gap:10px;min-height:46px;padding:0 14px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:#17202a;font-weight:820}.wide-action:hover{border-color:#2c6e7f}.wide-action:disabled{cursor:not-allowed;opacity:.55}.sync-auth{display:grid;gap:12px}.sync-auth .primary-button{justify-self:start;padding:0 14px}.primary-button:disabled{cursor:not-allowed;opacity:.62}.danger-action{color:#a92f21}@media (max-width: 1160px){.metric-grid,.person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.two-column{grid-template-columns:1fr}.quick-add,.template-row,.income-row,.history-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.app-shell{padding:16px}.topbar,.toolbar,.due-card,.scopebar{align-items:stretch;flex-direction:column}.metric-grid,.form-grid,.goal-grid,.goal-fields,.mini-grid,.person-grid,.vault-grid,.account-summary{grid-template-columns:1fr}.tabbar{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-add,.due-fields,.due-money,.due-card.compact,.template-row,.income-row,.history-row,.goal-heading{grid-template-columns:1fr}.inline-title,.cycle-actions{align-items:stretch;flex-direction:column}.status{width:100%}}
