:root{--ink: #17201d;--ink-soft: #34423e;--muted: #64726d;--muted-2: #8a9792;--bg: #f3f6f4;--surface: #ffffff;--surface-soft: #f8faf8;--line: #d9e2de;--line-strong: #c8d5d0;--teal: #176f66;--teal-soft: #e4f3ef;--blue: #4258a4;--blue-soft: #e9edf8;--berry: #a43d5e;--berry-soft: #f7e5eb;--gold: #b26b2f;--gold-soft: #f6eadc;--shadow: 0 18px 42px rgba(23, 32, 29, .08);color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#ffffffd6,#f3f6f4f5 34%,#eef3f0),linear-gradient(90deg,rgba(23,111,102,.08),transparent 32%,rgba(66,88,164,.08))}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}input,select{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--ink);padding:0 12px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #176f6624}input[type=color]{padding:4px}label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:760}h1,h2,p{margin:0}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px;padding:12px clamp(16px,3vw,34px);border-bottom:1px solid rgba(217,226,222,.88);background:#ffffffe6;box-shadow:0 1px #ffffffb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-line,.header-actions,.brand-block,.panel-heading,.panel-subheading,.showcase-header{display:flex;align-items:center}.brand-line{min-width:0;gap:12px}.brand-copy{min-width:0}.brand-copy strong{display:block;color:var(--ink);font-size:1rem;font-weight:900}.brand-copy span{display:block;max-width:min(44vw,520px);overflow:hidden;color:var(--muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.brand-icon,.brand-mark{display:grid;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--ink);color:var(--surface);box-shadow:inset 0 0 0 1px #ffffff2e}.brand-icon{width:44px;height:44px}.brand-mark{width:58px;height:58px}.header-actions{flex:0 0 auto;gap:10px}.sync-pill,.user-chip,.record-count,.type-pill{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:0 11px;font-size:.76rem;font-weight:860;white-space:nowrap}.sync-pill{background:var(--surface-soft);color:var(--muted);border:1px solid var(--line)}.sync-pill.synced{background:var(--teal-soft);color:var(--teal);border-color:#176f6638}.sync-pill.saving,.sync-pill.loading,.sync-pill.demo{background:var(--gold-soft);color:var(--gold);border-color:#b26b2f3d}.sync-pill.error{background:var(--berry-soft);color:var(--berry);border-color:#a43d5e3d}.user-chip{max-width:220px;gap:8px;overflow:hidden;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);text-overflow:ellipsis}.avatar-chip{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.68rem;font-weight:900}.workspace-shell{display:grid;gap:18px;padding:20px clamp(16px,3vw,34px) 38px}.overview-shell{display:grid;grid-template-columns:minmax(240px,.92fr) minmax(0,2.1fr);gap:18px;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:linear-gradient(120deg,rgba(23,111,102,.08),transparent 42%),linear-gradient(90deg,var(--surface),var(--surface-soft));box-shadow:var(--shadow);padding:18px}.overview-copy{display:grid;align-content:center;gap:7px;min-width:0}.overview-copy h1{color:var(--ink);font-size:clamp(1.55rem,1.35rem + .7vw,2.05rem);font-weight:930;letter-spacing:0}.overview-copy p{color:var(--muted);font-size:.92rem;font-weight:720}.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.workspace-grid{display:grid;grid-template-columns:minmax(260px,300px) minmax(460px,1.1fr) minmax(390px,.94fr);grid-template-areas:"sections records analysis" "sections share settings";gap:18px}.panel{border:1px solid var(--line);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow)}.section-panel{grid-area:sections;align-self:start;position:sticky;top:96px;display:grid;gap:18px;padding:16px}.records-panel{grid-area:records;min-width:0;padding:18px}.analysis-panel{grid-area:analysis;min-width:0;padding:18px}.share-panel{grid-area:share;padding:18px}.settings-panel{grid-area:settings;padding:18px}.panel-heading{justify-content:space-between;gap:14px;margin-bottom:16px}.panel-heading h2{color:var(--ink);font-size:1.12rem;font-weight:900;letter-spacing:0}.eyebrow{display:block;margin-bottom:3px;color:var(--muted-2);font-size:.68rem;font-weight:920;letter-spacing:0;text-transform:uppercase}.primary-button,.secondary-button,.small-button,.icon-button,.segmented-control button,.section-row,.section-row button,.group-chip{border:0;border-radius:7px;font-weight:860}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.primary-button{background:var(--ink);color:var(--surface);box-shadow:0 10px 24px #17201d29}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #17201d2e}.secondary-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.secondary-button:hover{border-color:var(--teal);background:var(--teal-soft)}.small-button{min-height:32px;padding:0 12px;background:var(--surface-soft);color:var(--ink-soft);border:1px solid var(--line)}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:border-color .14s ease,background .14s ease,color .14s ease}.icon-button:hover{border-color:var(--teal);color:var(--teal)}.icon-button.filled{border-color:var(--ink);background:var(--ink);color:var(--surface)}.icon-button.ghost{border-color:transparent;background:transparent;color:var(--berry)}.section-list{display:grid;gap:8px}.section-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;background:transparent;color:var(--ink-soft);text-align:left;transition:background .14s ease,color .14s ease}.section-row.compound{display:grid;grid-template-columns:1fr 30px;padding:0}.section-row.compound>button{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;padding:0 10px;background:transparent;color:var(--ink-soft)}.section-row.active,.section-row.compound>button.active,.group-chip:hover{background:var(--surface-soft);color:var(--ink)}.section-row.compound>button.active{box-shadow:inset 3px 0 0 var(--teal)}.section-row span:last-child,.section-row button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-color{display:inline-block;flex:0 0 auto;width:12px;height:12px;border-radius:999px;box-shadow:0 0 0 3px #17201d0a}.section-color.all{background:conic-gradient(from 0deg,var(--teal),var(--blue),var(--berry),var(--gold),var(--teal))}.check-control{display:grid;place-items:center;width:30px;min-height:44px}.check-control input{width:18px;min-height:18px;accent-color:var(--teal)}.compact-form,.share-form,.settings-form{display:grid;gap:12px}.compact-form,.record-form,.share-form,.settings-form,.inline-form{border-top:1px solid var(--line);padding-top:14px}.form-row{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:10px}.group-stack{display:grid;gap:9px;padding-top:4px}.panel-subheading{gap:8px;color:var(--muted);font-size:.8rem;font-weight:900}.group-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;background:transparent;color:var(--ink-soft);text-align:left}.group-chip span{flex:0 0 auto;width:10px;height:10px;border-radius:999px}.inline-form{display:grid;grid-template-columns:1fr 38px;gap:8px}.record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:18px}.wide-field{grid-column:span 2}.record-form .primary-button{grid-column:1 / -1}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;min-height:42px;overflow:hidden;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface)}.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:0;background:transparent;color:var(--muted)}.segmented-control button.active{background:var(--ink);color:var(--surface)}.record-count{background:var(--surface-soft);color:var(--ink-soft);border:1px solid var(--line)}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px}table{width:100%;min-width:680px;border-collapse:collapse;background:var(--surface)}th,td{border-bottom:1px solid var(--line);padding:13px 12px;text-align:left;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-soft)}th{color:var(--muted-2);font-size:.68rem;font-weight:920;text-transform:uppercase}td{color:var(--ink-soft);font-size:.88rem}td strong,td span{display:block}td span{color:var(--muted);font-size:.76rem}.amount-cell{text-align:right;white-space:nowrap}.amount-cell.income{color:var(--teal);font-weight:900}.amount-cell.expense{color:var(--berry);font-weight:900}.type-pill.income{background:var(--teal-soft);color:var(--teal)}.type-pill.expense{background:var(--berry-soft);color:var(--berry)}.empty-row{color:var(--muted);text-align:center}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.metric{display:flex;align-items:center;gap:10px;min-height:82px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px}.metric>span{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--surface-soft);color:var(--ink-soft)}.metric.income>span{background:var(--teal-soft);color:var(--teal)}.metric.expense>span{background:var(--berry-soft);color:var(--berry)}.metric small{display:block;color:var(--muted);font-size:.72rem;font-weight:850}.metric strong{display:block;margin-top:4px;overflow-wrap:anywhere;color:var(--ink);font-size:1rem;font-weight:930}.progress-metric{align-items:flex-start}.progress-metric>div{width:100%}.progress-track{position:relative;width:100%;height:6px;margin-top:9px;overflow:hidden;border-radius:999px;background:var(--line)}.progress-track i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}.chart-grid,.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-block{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px 12px 6px}.chart-title{margin-bottom:8px;color:var(--muted);font-size:.8rem;font-weight:900}.insight-grid{margin-top:16px}.breakdown-list,.member-list,.invite-list{display:grid;gap:8px}.breakdown-row,.member-row,.invite-row{display:grid;align-items:center;gap:8px;min-height:40px;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:8px 10px}.breakdown-row{grid-template-columns:12px 1fr auto}.member-row,.invite-row{grid-template-columns:1fr auto}.breakdown-row span:nth-child(2),.member-row span,.invite-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-row strong,.invite-row strong,.breakdown-row strong{color:var(--ink-soft);font-size:.8rem}.empty-chart{display:grid;min-height:210px;place-items:center;color:var(--muted)}.share-form{grid-template-columns:minmax(180px,1fr) 120px auto;align-items:end;margin-bottom:14px}.invite-list{margin-top:10px}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form .primary-button{grid-column:1 / -1}.status-banner{margin:14px clamp(16px,3vw,34px) 0;border-radius:7px;padding:10px 14px;font-weight:820}.status-banner.success{background:var(--teal-soft);color:var(--teal)}.status-banner.error,.inline-error{background:var(--berry-soft);color:var(--berry)}.inline-error{border-radius:7px;padding:9px 10px;font-size:.84rem;font-weight:820}.auth-shell{display:grid;grid-template-columns:minmax(320px,440px) minmax(360px,430px);gap:22px;align-items:center;justify-content:center;min-height:100vh;padding:28px}.auth-showcase,.auth-panel{border:1px solid var(--line);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow)}.auth-showcase{display:grid;gap:24px;align-self:stretch;min-height:520px;padding:24px;background:linear-gradient(150deg,#176f66f0,#17201df0),var(--ink);color:var(--surface)}.showcase-header{justify-content:space-between;color:#ffffffb8;font-size:.86rem;font-weight:760}.showcase-header strong{color:#9ce0cf;font-size:1.2rem}.showcase-chart{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end;min-height:260px;border-bottom:1px solid rgba(255,255,255,.24);padding-top:28px}.showcase-chart span{display:block;border-radius:6px 6px 0 0;background:#fff3}.showcase-chart span:nth-child(1){height:42%}.showcase-chart span:nth-child(2){height:58%}.showcase-chart span:nth-child(3){height:48%}.showcase-chart span:nth-child(4){height:72%;background:#9ce0cf}.showcase-chart span:nth-child(5){height:62%}.showcase-chart span:nth-child(6){height:88%;background:#d8c46f}.showcase-ledgers{display:grid;gap:10px;align-self:end}.showcase-ledgers span{display:flex;align-items:center;min-height:38px;border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:0 12px;color:#ffffffdb;font-size:.88rem;font-weight:760}.auth-panel{width:min(100%,430px);padding:22px}.brand-block{gap:14px;margin-bottom:20px}.brand-block h1{color:var(--ink);font-size:1.7rem;font-weight:930;letter-spacing:0}.brand-block p,.config-note{color:var(--muted);font-size:.92rem}.auth-actions{display:grid;gap:12px}.auth-actions{grid-template-columns:1fr;margin-top:12px}.auth-message{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px;margin-bottom:14px}.auth-message h2{color:var(--ink);font-size:1.22rem;font-weight:930}.auth-message p{color:var(--muted);font-size:.9rem;line-height:1.45}.google-button{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);box-shadow:0 10px 24px #17201d14}.google-button:hover{background:var(--surface-soft);border-color:var(--teal)}.google-mark{width:20px;height:20px;flex:0 0 auto}.config-note{margin-top:14px;font-size:.82rem}.loading-screen{display:grid;gap:12px;min-height:100vh;place-items:center;padding:24px;color:var(--muted);font-weight:850}.loading-screen.compact{min-height:320px}.loader{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--teal);border-radius:999px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1280px){.workspace-grid{grid-template-columns:minmax(250px,300px) minmax(0,1fr);grid-template-areas:"sections records" "sections analysis" "sections share" "sections settings"}.overview-shell{grid-template-columns:1fr}}@media(max-width:980px){.app-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:space-between}.workspace-grid{grid-template-columns:1fr;grid-template-areas:"sections" "records" "analysis" "share" "settings"}.section-panel{position:static}.overview-metrics,.record-form,.metric-grid,.chart-grid,.insight-grid,.share-form,.settings-form{grid-template-columns:1fr}.wide-field{grid-column:auto}.share-form .primary-button{width:100%}.auth-shell{grid-template-columns:minmax(0,430px)}.auth-showcase{display:none}}@media(max-width:560px){.app-header{padding:12px}.workspace-shell{padding:14px 12px 24px}.overview-shell,.panel{padding:14px}.header-actions{align-items:stretch;display:flex;flex-wrap:nowrap;gap:8px}.sync-pill,.user-chip{min-width:0;justify-content:center}.sync-pill{flex:0 0 auto}.user-chip{flex:1 1 auto;max-width:none}.auth-shell{padding:16px}.auth-actions{grid-template-columns:1fr}}
