:root{--forest:#154c43;--forest-2:#0e3730;--cream:#f7f5ef;--paper:#fffefa;--ink:#15241f;--muted:#63716a;--line:#dde5dd;--mint:#d7eee4;--coral:#a8443d;--radius:22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#f7f5ef 0%,#f1f6ef 100%);min-height:100dvh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:710px;margin:auto;padding:24px 18px 112px}.topbar,.section-heading,.summary,.input-row,.capture-actions,.dialog-header,.dialog-actions,.two-cols{display:flex}.topbar,.section-heading,.dialog-header{align-items:center;justify-content:space-between}.topbar{margin-bottom:22px}h1,h2,p{margin:0}h1{font-size:28px;letter-spacing:-.04em}h2{font-size:19px;letter-spacing:-.025em}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.11em;color:var(--muted);margin-bottom:5px}.avatar{border:0;background:var(--forest);color:white;width:44px;height:44px;border-radius:50%;font-weight:800}.hero-card{background:var(--forest);color:#fff;border-radius:var(--radius);padding:24px;box-shadow:0 16px 30px #154c4320}.hero-card>p{opacity:.8;font-size:14px}.hero-card>strong{font-size:39px;letter-spacing:-.055em;display:block;margin:7px 0 20px;font-variant-numeric:tabular-nums}.summary{gap:28px;border-top:1px solid #ffffff32;padding-top:14px;font-size:12px;color:#d8e8df}.summary b{display:block;color:white;font-size:14px;margin-bottom:2px;font-variant-numeric:tabular-nums}.quick-entry,.planned,.recent{margin-top:30px}.section-heading{margin-bottom:14px}.online{font-size:11px;color:var(--forest);background:var(--mint);padding:5px 8px;border-radius:99px}label{display:block;font-size:13px;font-weight:650;color:var(--ink)}input,select{margin-top:7px;width:100%;border:1px solid #cbd8ce;border-radius:12px;background:var(--paper);min-height:46px;padding:10px 12px;color:var(--ink)}input:focus,select:focus{outline:3px solid #9ed9c4;outline-offset:1px}.input-row{gap:8px}.input-row input{margin:0}.input-row button,.dialog-actions button:last-child,#planned-form>button{border:0;border-radius:12px;background:var(--forest);color:#fff;font-weight:750;padding:0 16px;min-height:46px;white-space:nowrap}.capture-actions{gap:12px;margin-top:13px}.capture{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px;flex:1;text-align:left;min-height:100px;transition:transform .18s ease,box-shadow .18s ease;color:var(--ink)}button.capture{font:inherit}.capture:active{transform:scale(.98)}.capture-icon{display:block;color:var(--forest);font-size:23px;line-height:20px;margin-bottom:10px}.capture b,.capture small{display:block}.capture b{font-size:14px}.capture small{font-size:11px;color:var(--muted);margin-top:4px}.recording{border-color:var(--coral);background:#fff5f3}.recording .capture-icon{color:var(--coral)}.text-button{border:0;background:transparent;color:var(--forest);font-size:13px;font-weight:750;padding:10px 0}.planned-list,.transactions{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.planned-item,.transaction{padding:15px;display:flex;align-items:center}.planned-item{justify-content:space-between;border-bottom:1px solid var(--line)}.planned-item:last-child,.transaction:last-child{border:0}.planned-item b,.transaction b{display:block;font-size:14px}.planned-item span,.transaction span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.planned-item strong,.transaction strong{font-size:14px;font-variant-numeric:tabular-nums}.transaction{gap:11px}.transaction-copy{flex:1}.category-dot{height:12px;width:12px;border-radius:50%;background:#dfaa67}.category-dot.income,.transaction strong.income{color:#147356}.category-dot.income{background:#7fc9a7}.transaction strong.expense{color:var(--coral)}.empty{padding:18px 15px;color:var(--muted);font-size:13px;line-height:1.5}dialog{width:min(100% - 24px,520px);border:0;border-radius:22px;padding:0;box-shadow:0 24px 70px #0b1d1766;background:var(--paper)}dialog::backdrop{background:#0e292080}dialog form{padding:22px}.close{border:0;background:transparent;font-size:30px;color:var(--muted);width:44px;height:44px;line-height:1}.two-cols{gap:12px}.two-cols label{flex:1}.transcript{background:#edf7f0;color:#355649;padding:10px 12px;border-radius:11px;margin:16px 0;font-size:13px;line-height:1.5}.dialog-actions{gap:10px;margin-top:22px}.dialog-actions button{flex:1}.dialog-actions .secondary{background:var(--paper);border:1px solid #cbd8ce;color:var(--ink);border-radius:12px;font-weight:700;min-height:46px}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;transition:opacity .2s,transform .2s;background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;font-size:13px;max-width:calc(100% - 30px);text-align:center;z-index:2}#toast.visible{opacity:1;transform:translate(-50%,0)}@media(min-width:720px){.app-shell{padding-top:42px}.quick-entry,.planned,.recent{margin-top:36px}.capture:hover{box-shadow:0 8px 18px #154c4318;transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.tabs{display:flex;gap:6px;padding:4px;background:#e8ede7;border-radius:14px;margin:-8px 0 24px}.tab{flex:1;min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:750}.tab.active{background:var(--paper);color:var(--forest);box-shadow:0 2px 6px #0e372012}.transaction-copy{border:0;background:none;padding:0;text-align:left;cursor:pointer;min-height:44px}.required-note{font-size:12px;color:var(--muted);margin:12px 0 0}.detail-intro{margin:4px 0 20px}.detail-intro>p:last-child{font-size:14px;line-height:1.55;color:var(--muted);margin-top:8px}.chart-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:16px}.chart-total{font-size:11px;color:var(--muted);font-weight:700}.bar-row{display:grid;grid-template-columns:104px 1fr auto;gap:8px;align-items:center;margin:12px 0;font-size:12px}.bar-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row b{font-size:11px;font-variant-numeric:tabular-nums}.bar-track{height:9px;background:#edf1ec;border-radius:20px;overflow:hidden}.bar-track i{display:block;height:100%;background:var(--forest);border-radius:inherit}.columns-chart{height:164px;display:flex;align-items:flex-end;gap:8px;padding-top:18px}.column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;min-width:0}.column i{display:block;width:100%;max-width:28px;background:#7fc9a7;border-radius:6px 6px 2px 2px}.column span{font-size:9px;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);height:55px;overflow:hidden}.column b{font-size:10px;color:var(--muted)}.spark-chart{height:112px;display:flex;gap:2px;align-items:flex-end;border-bottom:1px solid var(--line);padding:0 2px}.spark-chart i{display:block;flex:1;min-width:2px;background:#dfaa67;border-radius:2px 2px 0 0}.future-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.future-row:last-child{border:0}.future-row>span{font-weight:800;color:var(--forest);text-transform:uppercase;font-size:10px}.future-row b,.future-row small{display:block}.future-row small{color:var(--muted);margin-top:2px}.future-row strong{font-variant-numeric:tabular-nums}@media(max-width:380px){.bar-row{grid-template-columns:84px 1fr auto}.two-cols{flex-direction:column;gap:0}}
.manual-add{width:100%;min-height:48px;margin-top:12px;border:1px solid #bfd8cb;border-radius:14px;background:#eaf5ee;color:var(--forest);font-weight:750;font-size:14px;letter-spacing:-.01em;transition:background .18s ease,transform .18s ease}.manual-add:hover{background:#dcefe4}.manual-add:active{transform:scale(.985)}#installment-add{margin-left:8px;padding:10px 8px;border-radius:10px;background:#eaf5ee}
.manage-head{margin:6px 0 18px}.manage-head>p:last-child,.feature-title p{color:var(--muted);font-size:13px;line-height:1.5;margin-top:6px}.feature-nav{display:flex;gap:6px;overflow-x:auto;padding:3px 1px 10px;scrollbar-width:none}.feature-nav button{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:99px;padding:9px 13px;min-height:42px;white-space:nowrap;font-size:12px;font-weight:700}.feature-nav button.active{background:var(--forest);border-color:var(--forest);color:white}.feature-title{margin:14px 0}.feature-title h3{font-size:18px;margin:0}.inline-form,.form-grid,.filters{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:10px;margin-bottom:14px}.inline-form{grid-template-columns:1fr 1fr auto;align-items:end}.form-grid{grid-template-columns:1fr 1fr}.form-grid button{grid-column:1/-1}.inline-form button,.form-grid button,.export-actions button{min-height:46px;border:0;border-radius:12px;background:var(--forest);color:white;font-weight:750;padding:0 14px}.stack{display:grid;gap:10px}.feature-card,.list-row,.reconcile-row,.weekly,.alerts,.calendar-list{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px}.feature-card>div:first-child,.list-row{display:flex;justify-content:space-between;gap:10px}.feature-card span,.list-row span,.reconcile-row span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.feature-card em{display:block;font-style:normal;font-size:11px;color:var(--muted);margin-top:6px}.feature-card em.warn{color:#9b6500}.feature-card em.danger{color:var(--coral)}.progress{height:8px;background:#edf1ec;border-radius:10px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;background:#69ad91;border-radius:inherit}.feature-card small{font-size:10px;color:var(--muted)}.list-row button,.reconcile-row button{border:0;border-radius:10px;background:#eaf5ee;color:var(--forest);font-weight:700}.calendar-list{padding:4px 14px}.calendar-list article{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.calendar-list article:last-child{border:0}.calendar-list time{font-size:11px;font-weight:800;color:var(--forest)}.calendar-list span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.calendar-list strong{font-size:12px}.filters{grid-template-columns:2fr 1fr 1fr}.reconcile-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:center}.reconcile-row select{margin:0}.attach{background:#eaf5ee;color:var(--forest);border-radius:10px;padding:10px;cursor:pointer;text-align:center}.weekly p,.alerts p{font-size:13px;line-height:1.55;margin:8px 0 0}.alerts{margin-top:10px;background:#fff9e9;border-color:#ead9a4}.closed{font-size:13px;color:var(--muted);margin:12px 0}.closed span{display:inline-block;background:#eaf5ee;color:var(--forest);padding:6px 9px;border-radius:9px;margin-right:6px}.export-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.export-actions button:nth-child(2){background:#347356}.export-actions button:nth-child(3){background:#5d6d66}@media(max-width:620px){.inline-form,.form-grid,.filters{grid-template-columns:1fr}.inline-form button,.form-grid button{grid-column:auto}.reconcile-row{grid-template-columns:1fr 1fr}.reconcile-row>div{grid-column:1/-1}.export-actions{grid-template-columns:1fr}}
