#tab-btn-finance { display:none; }
html[data-design="taclen"] #view-finance { max-width:1600px; margin:0 auto; padding:0 32px 40px; }
#view-finance { color:var(--text-primary); }
#view-finance [hidden] { display:none !important; }
#view-finance button, .fin-dialog button, .fin-project-link { font:inherit; cursor:pointer; border:1px solid var(--separator); border-radius:9px; background:var(--bg-card); color:var(--text-primary); min-height:40px; padding:8px 13px; }
#view-finance button:focus-visible, .fin-dialog :focus-visible { outline:2px solid var(--ios-blue); outline-offset:3px; }
#view-finance button:disabled, .fin-dialog button:disabled { opacity:.55; cursor:wait; }
#view-finance .fin-primary, .fin-dialog .fin-primary { background:var(--ios-blue); color:var(--tc-on-accent,#fff); border-color:var(--ios-blue); }
.fin-toolbar, .fin-actions, .fin-period, .fin-section-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.fin-toolbar { margin:4px 0 20px; gap:16px; }
.fin-eyebrow { font-size:15px; font-weight:600; margin:0 0 5px; }
.fin-muted { color:var(--text-secondary); font-size:13px; line-height:1.6; margin:7px 0; }
.fin-period { justify-content:flex-start; margin:12px 0; }
.fin-period label { color:var(--text-secondary); font-size:12px; display:flex; align-items:center; gap:7px; }
.fin-period input, .fin-period select, .fin-field input, .fin-field select { min-height:40px; padding:8px 10px; border:1px solid var(--separator); border-radius:8px; color:var(--text-primary); background:var(--bg-card); font:inherit; min-width:0; max-width:100%; color-scheme:light; }
html.theme-dark :is(.fin-period input,.fin-period select,.fin-field input,.fin-field select) { color-scheme:dark; }
.fin-tabs { display:flex; align-items:center; gap:14px; overflow:auto; border-bottom:1px solid var(--separator); margin:12px 0 18px; }
#view-finance .fin-tabs button { border:0; border-radius:0; background:transparent; flex-shrink:0; padding:12px 8px; border-bottom:2px solid transparent; font-size:14px; }
#view-finance .fin-tabs button[aria-pressed="true"] { border-bottom-color:var(--ios-blue); color:var(--ios-blue); font-weight:600; }
.fin-tabs > span { white-space:nowrap; color:var(--text-secondary); font-size:12px; }
.fin-quick { display:flex; align-items:center; padding:8px; gap:12px; border:1px solid var(--separator); border-radius:12px; background:var(--bg-card); }
.fin-mark { width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:9px; background:#282927; color:#fff; font-size:28px; font-weight:800; flex-shrink:0; }
.fin-mark span { color:var(--tc-accent); font-size:24px; align-self:flex-end; }
.fin-quick input { min-width:0; flex:1; font:inherit; background:transparent; border:0; color:var(--text-primary); min-height:40px; }
.fin-quick .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.fin-ai-hint { margin-bottom:18px; }
.fin-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:18px; align-items:start; }
.fin-main, .fin-side { min-width:0; display:grid; gap:18px; }
.fin-pair { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:16px; }
.fin-card { padding:18px; border:1px solid var(--separator); border-radius:13px; background:var(--bg-card); min-width:0; }
.fin-card header { display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:12px; }
.fin-card h2 { margin:0; font-size:17px; font-weight:650; letter-spacing:-.4px; overflow-wrap:anywhere; }
#view-finance .fin-card header button { color:var(--ios-blue); border:0; background:transparent; padding:4px 0; font-size:12px; }
.fin-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:18px 0; gap:0; padding-bottom:12px; }
.fin-stat { display:flex; gap:9px; min-width:0; padding:2px 14px 12px; border-right:1px solid var(--separator); }
.fin-stat:nth-child(4) { border-right:0; }
.fin-stat > span { color:var(--ios-blue); font-size:22px; }
.fin-stat small { display:block; color:var(--text-secondary); font-size:12px; margin:0 0 7px; }
.fin-stat strong { display:block; font-size:clamp(18px,1.9vw,27px); letter-spacing:-.6px; overflow-wrap:anywhere; }
.fin-positive { color:var(--ios-green); }
.fin-summary details { grid-column:1/-1; border-top:1px solid var(--separator); padding:10px 0 0; color:var(--text-secondary); font-size:12px; line-height:1.6; }
.fin-summary summary { cursor:pointer; }
.fin-summary details p { margin-bottom:0; }
.fin-row { display:flex; gap:12px; align-items:center; border-bottom:1px solid var(--separator); padding:12px 0; min-width:0; }
#view-finance button.fin-row, .fin-dialog button.fin-row { width:100%; border:0; border-bottom:1px solid var(--separator); border-radius:0; padding:12px 0; text-align:left; background:transparent; }
.fin-row:last-child { border-bottom:0; }
.fin-row-icon { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:10px; background:var(--bg-card-elevated); font-size:21px; }
.fin-row-body { display:block; flex:1; min-width:0; overflow-wrap:anywhere; }
.fin-row-body b { display:block; font-size:14px; font-weight:500; }
.fin-row-body small { display:block; font-size:12px; color:var(--text-secondary); margin-top:4px; }
.fin-row > strong { font-weight:500; white-space:nowrap; font-size:14px; }
#view-finance .fin-row-body button { border:0; padding:2px 4px; min-height:28px; color:var(--ios-blue); font-size:12px; background:transparent; }
.fin-total { font-size:26px; font-weight:650; margin:4px 0 10px; }
.fin-empty { padding:18px 0; color:var(--text-secondary); font-size:14px; line-height:1.7; }
.fin-category { display:grid; grid-template-columns:90px minmax(30px,1fr) auto; align-items:center; gap:12px; margin:20px 0; font-size:12px; }
.fin-category > span { overflow-wrap:anywhere; }
.fin-category strong { font-weight:500; }
.fin-card progress { width:100%; height:10px; border:0; border-radius:20px; overflow:hidden; background:var(--bg-card-elevated); accent-color:var(--tc-accent,var(--ios-blue)); }
.fin-card progress::-webkit-progress-bar { background:var(--bg-card-elevated); border-radius:20px; }
.fin-card progress::-webkit-progress-value { background:var(--tc-accent,var(--ios-blue)); border-radius:20px; }
.fin-card progress::-moz-progress-bar { background:var(--tc-accent,var(--ios-blue)); border-radius:20px; }
.fin-budget-value { font-size:19px; font-weight:600; margin:18px 0 10px; }
.fin-budget-value span { font-size:13px; font-weight:400; }
.fin-budget-value small { display:block; color:var(--text-secondary); font-size:12px; margin-top:7px; }
.fin-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:18px; }
#fin-status:empty { display:none; }
#fin-status { color:var(--ios-blue); font-size:14px; line-height:1.6; margin:12px 0; }
#fin-demo { padding:12px 16px; background:var(--fill-secondary); border-radius:10px; font-size:13px; }
.fin-dialog { width:min(700px,calc(100% - 24px)); max-height:calc(100dvh - 36px); box-sizing:border-box; padding:24px; border:1px solid var(--separator); border-radius:18px; background:var(--bg-card); color:var(--text-primary); box-shadow:0 24px 80px #0003; overflow:auto; }
.fin-dialog::backdrop { background:#15151270; }
.fin-dialog header { display:flex; gap:16px; justify-content:space-between; align-items:center; margin-bottom:18px; }
.fin-dialog h2 { font-size:21px; margin:0; }
.fin-dialog footer { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.fin-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.fin-field { display:flex; flex-direction:column; gap:7px; min-width:0; font-size:13px; }
.fin-field input, .fin-field select { width:100%; box-sizing:border-box; }
.fin-form-grid > p, .fin-form-grid > fieldset { grid-column:1/-1; }
.fin-dialog fieldset { border:1px solid var(--separator); border-radius:10px; margin:16px 0; padding:14px; min-width:0; }
.fin-dialog fieldset:disabled { opacity:.5; }
.fin-dialog legend { color:var(--text-secondary); font-size:13px; padding:0 6px; }
.fin-check { display:flex; align-items:center; gap:10px; font-size:14px; margin:12px 0; line-height:1.6; }
.fin-check input { width:19px; height:19px; flex-shrink:0; accent-color:var(--ios-blue); }
.fin-dialog .fin-danger, #fin-form-error { color:var(--ios-red); margin-top:14px; }
.fin-question { padding:10px; border-radius:8px; background:var(--fill-secondary); font-size:14px; line-height:1.6; }
.fin-dialog pre { white-space:pre-wrap; font-size:12px; overflow-wrap:anywhere; }
html[data-design="taclen"] body:has(#view-finance.active) :is(.header-actions,.ai-fab,#header-date-subtitle) { display:none; }
html:not([data-design="taclen"]) #fin-more { display:none; }
@media(min-width:1024px) {
 html[data-design="taclen"] #tab-btn-finance { display:flex; order:7; }
 html[data-design="taclen"] .fin-nav-icon { font-size:25px; width:24px; }
}
@media(max-width:1279px) {
 .fin-layout { grid-template-columns:minmax(0,1fr); }
 .fin-side { grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); }
}
@media(max-width:767px) {
 html[data-design="taclen"] #view-finance { padding:0 16px 28px; }
 .fin-toolbar { margin-top:2px; }
 .fin-toolbar > div:first-child { display:none; }
 .fin-toolbar .fin-actions { width:100%; }
 .fin-toolbar .fin-actions button { flex:1; }
 .fin-period { gap:8px; }
 .fin-period label { flex:1; min-width:125px; }
 .fin-period input { width:100%; font-size:13px; box-sizing:border-box; }
 .fin-tabs { gap:8px; }
 .fin-tabs > span { display:none; }
 .fin-summary { grid-template-columns:1fr 1fr; padding:14px; }
 .fin-stat { padding:12px 6px; gap:8px; border-bottom:1px solid var(--separator); }
 .fin-stat:nth-child(2) { border-right:0; }
 .fin-stat:nth-child(n+3) { border-bottom:0; }
 .fin-stat strong { font-size:21px; }
 .fin-stat small { font-size:11px; }
 .fin-pair { grid-template-columns:1fr; }
 .fin-card { padding:16px; }
 .fin-row { gap:9px; }
 .fin-row > strong { font-size:13px; }
 .fin-quick { position:fixed; left:16px; right:16px; bottom:calc(65px + env(safe-area-inset-bottom,0px)); z-index:105; gap:7px; box-shadow:0 -4px 20px #00000008; }
 .fin-quick .fin-mark { display:none; }
 .fin-quick input { font-size:14px; }
 #view-finance .fin-quick button { font-size:12px; padding:8px; }
 .fin-layout { display:flex; flex-direction:column; }
 .fin-layout .fin-main, .fin-layout .fin-side { display:contents; }
 .fin-layout .fin-pair { display:none; }
 .fin-layout .fin-card { width:100%; box-sizing:border-box; }
 .fin-side > .fin-card:has(.fin-total) { order:0; }
 .fin-side > .fin-card:has([data-fin="review-subscription"]) { order:1; }
 .fin-side > .fin-card:has([data-fin="payment"]) { order:2; }
 .fin-main > .fin-card { order:3; }
 .fin-side > .fin-card:has(progress) { order:4; }
 .fin-dialog { padding:18px; }
 .fin-form-grid { grid-template-columns:1fr; }
 .fin-field input { font-size:16px; }
}
