/* Finance page v0.4.1 – single smartphone design, no 50/30/20 rule exposed. */
.finance-page{display:flex;flex-direction:column;gap:13px;padding:3px 0 20px;color:var(--acgs-text)}
.finance-page .finance-head{padding:7px 3px 7px}
.finance-kicker{font-size:.61rem;letter-spacing:.14em;font-weight:850;color:#648d79}
.finance-head h1{font-size:2.05rem!important;line-height:1.13;letter-spacing:-.055em;margin:12px 0 8px;font-weight:830;color:#1f453a}
.finance-head h1 em{font-style:normal;color:#779f8a}
.finance-head p,.finance-section-heading>p{font-size:.79rem;color:#71877c;line-height:1.55;margin:0}
.finance-card,.finance-goal-card,.finance-plan-card{border:1px solid #e4ece5;background:#fff;border-radius:20px;padding:17px 15px;box-shadow:0 8px 30px #14372c08;min-width:0}
.finance-section-title{display:flex;gap:10px;align-items:center;margin-bottom:15px}
.finance-section-icon{width:37px;height:37px;display:grid;place-items:center;background:#e8f2ea;color:#366b55;border-radius:12px;font-weight:800;font-size:1.16rem;flex:none}
.finance-section-title h2,.finance-section-heading h2{font-size:1.03rem;line-height:1.25;letter-spacing:-.024em;color:#24463c;margin:0}
.finance-section-title p{font-size:.71rem;margin:4px 0 0;color:#82978b}
.finance-field{min-width:0;display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:650;color:#436456;margin-bottom:10px}
.finance-input-wrap{position:relative}
.finance-input-wrap input,.finance-text-field input{width:100%;min-width:0;min-height:46px;border:1px solid #dce8df;border-radius:12px;padding:11px 36px 11px 12px;background:#f9fbf9;color:#244a3d;font-size:16px;font-weight:720;font-variant-numeric:tabular-nums}
.finance-input-wrap input:focus,.finance-text-field input:focus{background:#fff;outline:2px solid #a6cead;outline-offset:1px}
.finance-input-wrap>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#819889;font-size:.81rem}
.finance-text-field input{padding-right:12px}
.finance-field small{font-weight:400;color:#778e80;font-size:.68rem}
.finance-income .finance-field{margin-bottom:0}
.finance-expense-group{border:1px solid #e7eee8;border-radius:13px;overflow:hidden;margin-top:9px;background:#fcfdfc}
.finance-expense-group summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;min-height:58px;padding:11px 10px}
.finance-expense-group summary::-webkit-details-marker{display:none}
.finance-group-icon{background:#eef5ef;border-radius:10px;width:34px;height:34px;display:grid;place-items:center;color:#477765;flex:none;font-size:1.1rem}
.finance-group-summary{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.finance-group-summary strong{font-size:.83rem;color:#23453a}
.finance-group-summary small{font-size:.64rem;color:#899a90;line-height:1.3}
.finance-chevron{font-size:1.2rem;color:#6d927b;transition:transform .22s ease}
.finance-expense-group[open] .finance-chevron{transform:rotate(180deg)}
.finance-expense-fields{padding:10px 12px 9px;border-top:1px solid #edf2ed;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}
.finance-expense-fields .finance-field{font-size:.72rem}
.finance-expense-fields .finance-input-wrap input{padding-left:9px;padding-right:28px}
.finance-expense-fields .finance-input-wrap>span{right:9px}
.finance-footnote{margin:12px 1px 0;font-size:.67rem;line-height:1.55;color:#8a9b90}
.finance-visual-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:11px}
.finance-visual-heading h3{margin:0;font-size:.82rem;font-weight:780;color:#24463a}
.finance-visual-heading>span{font-size:.65rem;color:#92a398}
.finance-distribution-track{display:flex;gap:3px;height:8px;border-radius:9px;overflow:hidden;background:#edf2ed;margin-bottom:13px}
.finance-distribution-track span{min-width:0}
.finance-dot{display:block;width:9px;height:9px;border-radius:50%;flex:none}
.segment-need{background:#789e91}.segment-want{background:#d9b07e}.segment-future{background:#96c3a5}
.finance-distribution-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto 38px;gap:7px;align-items:center;margin:9px 0;color:#607a6b;font-size:.72rem}
.finance-distribution-row strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.73rem;color:#2a4a3e}
.finance-distribution-row small{text-align:right;color:#80968a;font-size:.65rem}
.finance-balance{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #eaf1ea;padding-top:14px;margin-top:13px;align-items:center}
.finance-balance span{font-size:.7rem;line-height:1.3;color:#6d8778}
.finance-balance strong{font-size:.91rem;white-space:nowrap}
.finance-positive{color:#34775c!important}.finance-negative{color:#b14d43!important}
.finance-goals,.finance-plans{display:flex;flex-direction:column;gap:11px;margin-top:8px}
.finance-section-heading{padding:2px 3px 4px}
.finance-section-heading h2{font-size:1.33rem;margin:5px 0 6px}
.finance-goal-heading{display:flex;gap:10px;align-items:center;margin-bottom:13px}
.finance-goal-icon{height:36px;width:36px;display:grid;place-items:center;border-radius:11px;background:#ebf4ec;color:#3c7859;font-size:1.3rem}
.finance-goal-heading h3{font-size:.91rem;margin:0 0 3px;color:#244a3d}
.finance-goal-heading small{display:block;color:#89998e;font-size:.68rem;line-height:1.4}
.finance-goal-progress{display:flex;align-items:baseline;gap:5px;margin-bottom:9px;flex-wrap:wrap}
.finance-goal-progress strong{font-size:1.35rem;letter-spacing:-.04em;color:#26513f}
.finance-goal-progress span{font-size:.69rem;color:#839b8a}
.finance-goal-progress b{font-size:.68rem;margin-left:auto;color:#367858;background:#e9f4ed;border-radius:20px;padding:3px 8px}
.finance-goal-bar{height:5px;overflow:hidden;background:#eaf1eb;border-radius:10px;margin-bottom:15px}
.finance-goal-bar span{display:block;height:100%;background:#83b89b;transition:width .2s ease}
.finance-goal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px}
.finance-goal-fields .finance-text-field{grid-column:span 2}
.finance-inline-button{grid-column:span 2;min-height:36px;border:0;background:#edf5ee;color:#38765a;font-size:.7rem;font-weight:800;border-radius:9px;padding:7px 10px;text-align:left}
.finance-ai-notice{display:flex;gap:10px;background:#eff5ed;border:1px solid #dbe9dd;border-radius:14px;padding:12px 13px;line-height:1.5}
.finance-ai-notice>span{font-size:1.15rem;color:#6a9b73}
.finance-ai-notice strong{font-size:.76rem;color:#2c6652}
.finance-ai-notice p{font-size:.72rem;margin:4px 0 0;color:#678176}
.finance-plan-card{padding:17px 14px}
.finance-plan-card.is-recommended{background:#f9fcf9;border-color:#cfe3d6}
.finance-plan-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}
.finance-plan-heading h3{font-size:1.03rem;margin:5px 0 0;color:#254b3e}
.finance-plan-tag{font-size:.55rem;letter-spacing:.12em;font-weight:850;color:#66967a}
.finance-plan-mark{font-size:1.3rem;color:#83a98e}
.finance-plan-foot{display:flex;justify-content:space-between;gap:9px;align-items:center;border-top:1px solid #e7eee8;margin-top:14px;padding-top:13px}
.finance-plan-foot span{font-size:.7rem;line-height:1.2;color:#728b7c}
.finance-plan-foot strong{font-size:.87rem;white-space:nowrap}
.finance-warning{font-size:.69rem;background:#fff2e7;color:#975b3f;border-radius:9px;padding:10px;margin-top:11px}
.finance-projection-title{font-size:.75rem;font-weight:800;color:#284e3d;margin:17px 0 10px}
.finance-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.finance-time-grid>div{background:#f0f6f0;border-radius:12px;padding:11px;display:flex;flex-direction:column;gap:5px;min-width:0}
.finance-time-grid small{font-size:.65rem;color:#66826e}
.finance-time-grid strong{font-size:.83rem;line-height:1.25;color:#255b42;overflow-wrap:anywhere}
.finance-time-grid span{font-size:.64rem;color:#8a9b8d}
.finance-adjust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 9px}
.finance-adjust-grid .finance-field{font-size:.7rem}
.finance-secondary-button{width:100%;background:#245d48;border:0;color:white;border-radius:12px;min-height:46px;padding:10px 13px;font-size:.76rem;font-weight:800;margin-top:6px}
.finance-ai-tag{display:inline-block;background:#edf2e8;border-radius:20px;padding:5px 10px;font-size:.66rem;font-weight:780;color:#6a8059;margin-bottom:10px}
.finance-tip-list{display:flex;flex-direction:column}
.finance-tip{display:flex;gap:11px;align-items:flex-start;border-top:1px solid #edf2ed;padding:13px 0}
.finance-tip-mark{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#edf5ef;color:#608d75;flex:none}
.finance-tip strong{font-size:.8rem;color:#315b44}
.finance-tip p{font-size:.72rem;line-height:1.52;margin:5px 0 0;color:#799186}
@media(max-width:350px){.finance-page .finance-head h1{font-size:1.8rem!important}.finance-card,.finance-plan-card,.finance-goal-card{padding:14px 12px}.finance-expense-fields{gap:3px 7px;padding:9px 8px}.finance-distribution-row{font-size:.67rem;gap:5px}.finance-plan-foot strong{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.finance-chevron,.finance-goal-bar span{transition:none}}

.finance-potential{display:flex;flex-direction:column;gap:5px;border:1px solid #dce9df;border-radius:12px;background:#f6faf5;padding:12px;margin-top:5px}
.finance-potential>span{font-size:.72rem;font-weight:760;color:#64846e}
.finance-potential>strong{font-size:1.3rem;letter-spacing:-.04em;color:#2d694b}
.finance-potential>small{font-size:.65rem;line-height:1.5;color:#81988a}
.shell-finance .topline{display:none}
.shell-finance .main{padding-top:19px}

/* v0.4.1 – compact, independently expandable finance sections */
.finance-goal-fold{display:block}
.finance-goal-fold>summary,.finance-plan-fold>summary,.finance-adjust-fold>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:54px}
.finance-goal-fold>summary::-webkit-details-marker,.finance-plan-fold>summary::-webkit-details-marker,.finance-adjust-fold>summary::-webkit-details-marker{display:none}
.finance-goal-title{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.finance-goal-title strong{font-size:.88rem;font-weight:790;color:#21483a;white-space:normal}
.finance-goal-title small{font-size:.69rem;color:#819787;line-height:1.4}
.finance-goal-fold>summary .finance-chevron,.finance-adjust-fold>summary .finance-chevron,.finance-plan-fold>summary .finance-chevron{margin-left:auto}
.finance-goal-fold[open]>summary .finance-chevron,.finance-adjust-fold[open]>summary .finance-chevron,.finance-plan-fold[open]>summary .finance-chevron{transform:rotate(180deg)}
.finance-goal-fold .finance-goal-progress{margin-top:17px}
.finance-goal-fold .finance-goal-fields{padding-top:12px}
.finance-fold-done{background:#e8f4ec;color:#285b44;border:1px solid #cee3d5;border-radius:11px;min-height:43px;padding:10px 16px;font:inherit;font-size:.78rem;font-weight:760;cursor:pointer;width:100%;margin-top:9px}
.finance-fold-done:focus-visible,.finance-adopt-button:focus-visible,details>summary:focus-visible{outline:3px solid #8abfaa;outline-offset:2px}
.finance-expense-fields .finance-fold-done{grid-column:1/-1}
.finance-plan-fold{border:1px solid #deeadf;border-radius:17px;background:#fff;padding:10px 14px;box-shadow:0 6px 22px #173b2a08;margin:0 0 9px}
.finance-plan-fold.is-recommended{background:#fbfefb;border-color:#cde4d3}
.finance-plan-detail-content{padding:12px 0 4px;border-top:1px solid #eaf2ea}
.finance-plan-fold .finance-group-summary strong,.finance-adjust-fold .finance-group-summary strong{font-size:.87rem}
.finance-friendly-hint{font-size:.74rem;line-height:1.55;color:#627c6e;background:#f2f7f2;border-radius:10px;padding:10px;margin:10px 0 13px}
.finance-projection-hint{font-size:.66rem;line-height:1.5;color:#718b79;margin:10px 0 4px}
.finance-adjust-fold{display:block;margin-bottom:12px}
.finance-adjust-content{border-top:1px solid #eaf2ea;padding-top:9px}
.finance-editor-group{padding:11px 0 5px;border-top:1px solid #ecf2ec}
.finance-editor-group:first-of-type{border-top:0}
.finance-editor-group h3{font-size:.78rem;margin:0 0 11px;color:#3f7356}
.finance-adjust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}
.finance-adjust-grid .finance-field{min-width:0;font-size:.69rem;margin:0 0 7px}
.finance-adjust-grid .finance-field span:first-child{line-height:1.35;min-height:2.5em;display:flex;align-items:end}
.finance-adjust-grid .finance-input-wrap input{font-size:16px;min-height:45px;padding-left:9px}
.finance-compare{margin-top:5px;background:#fbfcfb}
.finance-compare-head,.finance-compare-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:7px;align-items:center}
.finance-compare-head{border-radius:9px;background:#eaf3ed;padding:10px 7px;color:#4b7960}
.finance-compare-head span,.finance-compare-head strong{font-size:.68rem;font-weight:800}
.finance-compare-head strong,.finance-compare-row strong{text-align:right}
.finance-compare-row{border-bottom:1px solid #e7eee8;padding:13px 3px;color:#6e8577}
.finance-compare-row span{font-size:.69rem;line-height:1.3}
.finance-compare-row strong{font-size:.72rem;color:#2b5745;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.finance-adopt-button{min-height:48px;border:0;width:100%;border-radius:12px;background:#285d48;color:#fff;font:inherit;font-weight:780;font-size:.8rem;cursor:pointer;margin-top:17px;padding:10px}
.finance-adopt-button span{padding-left:6px}
.finance-tip-mini{padding:12px;background:#f7faf7;border-radius:12px;margin:14px 0 2px}
.finance-tip-mini>strong{font-size:.77rem;color:#385f49}
.finance-tip-mini p{font-size:.71rem;line-height:1.35;padding:6px 0;margin:0;color:#61806d}
.finance-tip-mini small{font-size:.66rem;line-height:1.5;color:#879a8d}
.finance-page .finance-goals,.finance-page .finance-plans{display:flex;flex-direction:column;gap:9px}
@media(max-width:355px){.finance-compare-head,.finance-compare-row{gap:4px}.finance-compare-row span,.finance-compare-row strong{font-size:.63rem}.finance-adjust-grid{gap:6px}.finance-goal-fold,.finance-plan-fold,.finance-adjust-fold{padding:11px}}
@media(prefers-reduced-motion:reduce){.finance-plan-fold .finance-chevron,.finance-goal-fold .finance-chevron{transition:none}}

/* Phase 1 v0.6.3 compact finance: one entry accordion and confirmed plan priority. */
.finance-accounts{padding:0;overflow:hidden}
.finance-root-summary,.finance-rhythm-root{display:flex;align-items:center;gap:11px;padding:15px;min-height:68px;list-style:none;cursor:pointer}
.finance-root-summary::-webkit-details-marker,.finance-rhythm-root::-webkit-details-marker,.finance-extra-income>summary::-webkit-details-marker{display:none}
.finance-root-summary .finance-group-summary,.finance-rhythm-root .finance-group-summary{flex:1;min-width:0}
.finance-root-summary .finance-group-summary strong,.finance-rhythm-root .finance-group-summary strong{font-size:1rem}
.finance-root-summary .finance-chevron,.finance-rhythm-root .finance-chevron{margin-left:auto}
.finance-accounts[open] .finance-root-summary .finance-chevron,.finance-savings-rhythm[open] .finance-rhythm-root .finance-chevron{transform:rotate(180deg)}
.finance-accounts-content{padding:0 15px 15px;border-top:1px solid var(--line,#dae5df)}
.finance-subtitle{margin:18px 0 12px}
.finance-subtitle h3{font-size:.91rem}
.finance-subtitle p{font-size:.74rem;margin-top:4px;opacity:.75}
.finance-extra-income{border:1px solid var(--line,#dce7dd);border-radius:12px;margin:10px 0 13px;overflow:hidden}
.finance-extra-income>summary{display:flex;justify-content:space-between;align-items:center;padding:13px;cursor:pointer;list-style:none;font-size:.82rem;font-weight:700}
.finance-extra-income[open]>summary .finance-chevron{transform:rotate(180deg)}
.finance-extra-body{padding:12px;border-top:1px solid var(--line,#dce7dd)}
.finance-income-total{border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--card-muted,#edf3ef);font-size:.76rem}
.finance-income-total strong{font-size:.89rem;font-variant-numeric:tabular-nums}
.finance-adopted-top{border:2px solid #819dac}
.finance-adopted-top>h2{margin:7px 0;font-size:1.1rem}
.finance-adopted-top>p{font-size:.77rem;line-height:1.5;margin-bottom:14px}
.finance-savings-rhythm{padding:0;overflow:hidden}
.finance-rhythm-body{padding:0 15px 15px;border-top:1px solid var(--line,#dce7dd)}
.finance-rhythm-intro{font-size:.74rem;margin:12px 0 8px;opacity:.85}
.finance-month-status{margin:11px 0;padding:12px;border-radius:12px;border:1px solid var(--line,#dce7dd);display:flex;flex-direction:column;gap:6px;font-size:.74rem}
.finance-month-status strong{font-size:.82rem}
.finance-month-status span{opacity:.8}
html[data-acgs-theme="ruhig"] :is(.finance-accounts-content,.finance-rhythm-body,.finance-extra-body){border-color:#414b54}
html[data-acgs-theme="ruhig"] .finance-income-total{background:#38434b;color:#f1f5f8}
html[data-acgs-theme="ruhig"] .finance-extra-income,html[data-acgs-theme="ruhig"] .finance-month-status{border-color:#556370;color:#f1f5f8}
html[data-acgs-theme="ruhig"] :is(.finance-extra-income>summary,.finance-root-summary,.finance-rhythm-root){color:#f1f5f8}
@media(prefers-reduced-motion:reduce){.finance-root-summary .finance-chevron,.finance-rhythm-root .finance-chevron{transition:none}}

.finance-sim-date{display:block;font-size:.7rem;font-weight:700;margin-top:8px;opacity:.85}
