/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:root,:host{--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.inline-block{display:inline-block}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:root{--hestia-primary-navy:#1a365d;--hestia-secondary-teal:#4a90a2;--hestia-accent-orange:#f08a4b;--hestia-bg-slate:#f4f7f9;--hestia-muted-frost:#a0aec0;--white:#fff;--font-header:"Montserrat", sans-serif;--font-body:"Open Sans", sans-serif;--card-radius:12px;--card-shadow:0 4px 12px #1a365d14}.hestia-card{background-color:var(--white);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border:1px solid #a0aec033;padding:1.5rem}:root{--color-primary:#1a365d;--color-primary-light:#1a365d14;--color-danger:#c62828;--color-success:#2e7d32;--color-warning:#f08a4b;--color-bg:#f4f7f9;--color-card:#fff;--color-text:#333;--color-text-secondary:#a0aec0;--color-border:#e0e0e0;--max-width:480px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-container{max-width:var(--max-width);flex-direction:column;min-height:100vh;margin:0 auto;display:flex}.page{flex:1;padding:16px 16px 80px}.page-title{color:var(--color-primary);margin-bottom:4px;font-size:28px;font-weight:700}.page-subtitle{color:var(--color-text-secondary);margin-bottom:16px;font-size:14px}.card{background:var(--color-card);border-radius:12px;margin-bottom:12px;padding:16px;box-shadow:0 1px 3px #0000000d}.card-row{justify-content:space-between;align-items:center;display:flex}.bottom-nav{width:100%;max-width:var(--max-width);background:var(--color-card);border-top:1px solid var(--color-border);z-index:100;justify-content:space-around;padding:8px 0 12px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--color-text-secondary);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;font-size:11px;text-decoration:none;transition:color .2s;display:flex}.nav-item.active,.nav-item:hover{color:var(--color-primary)}.nav-icon{font-size:22px;line-height:1}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:600;transition:opacity .2s;display:inline-flex}.btn:hover{opacity:.85}.btn-primary{background:var(--color-primary);color:#fff}.btn-secondary{background:var(--color-primary-light);color:var(--color-primary)}.btn-danger{color:var(--color-danger);background:#ffebee}.btn-full{width:100%}.input{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-card);border-radius:8px;outline:none;padding:12px;font-size:15px;transition:border-color .2s}.input:focus{border-color:var(--color-primary)}.input::placeholder{color:#aaa}.summary-card{background:var(--color-primary);color:#fff;text-align:center;border-radius:12px;margin-bottom:24px;padding:20px}.summary-amount{font-size:36px;font-weight:700}.summary-label{opacity:.8;font-size:14px}.summary-sub{opacity:.7;margin-top:4px;font-size:14px}.tag{background:var(--color-primary-light);color:var(--color-primary);border-radius:4px;margin-top:4px;margin-right:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge{color:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.loading{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;margin-bottom:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--color-text-secondary);padding:40px 20px}.empty-icon{margin-bottom:12px;font-size:48px}.pagination{justify-content:center;align-items:center;gap:16px;padding:16px 0;display:flex}.amount-positive{color:var(--color-success)}.amount-negative{color:var(--color-danger)}.section-title{color:var(--color-text);margin-bottom:12px;font-size:18px;font-weight:600}.severity-low{background:#f08a4b}.severity-medium{background:#d97534}.severity-high{background:#c45f1c}.severity-critical{background:#b71c1c}.select{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text);border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.flex{display:flex}.flex-col{flex-direction:column}.flex-between{justify-content:space-between}.flex-center{align-items:center}.gap-8{gap:8px}.gap-12{gap:12px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.text-sm{font-size:12px}.text-secondary{color:var(--color-text-secondary)}.tag-rules-page .page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.tag-rules-page .page-header h1{margin:0;font-size:24px}.tag-rules-page .apply-section{margin-bottom:16px}.tag-rules-page .test-section{background:var(--color-card);border-radius:12px;margin-bottom:16px;padding:16px}.tag-rules-page .test-section h2{margin:0 0 12px;font-size:16px}.tag-rules-page .test-form{gap:8px;display:flex}.tag-rules-page .test-form input{border:1px solid var(--color-border);border-radius:8px;outline:none;flex:1;padding:10px 12px;font-size:14px}.tag-rules-page .test-results{border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px}.tag-rules-page .test-results ul{margin:0;padding-left:20px}.tag-rules-page .create-form{margin-bottom:16px}.tag-rules-page .create-form h2{margin:0 0 16px;font-size:18px}.tag-rules-page .form-group{margin-bottom:12px}.tag-rules-page .form-group label{margin-bottom:4px;font-size:14px;font-weight:500;display:block}.tag-rules-page .form-group.checkbox label{align-items:center;gap:8px;display:flex}.tag-rules-page .form-group input,.tag-rules-page .form-group select{border:1px solid var(--color-border);background:var(--color-background);width:100%;color:var(--color-text);border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.tag-rules-page .form-group input[type=checkbox]{width:auto}.tag-rules-page .form-group input[type=number]{width:100px}.tag-rules-page .rules-list{flex-direction:column;gap:12px;display:flex}.tag-rules-page .rule-card{padding:16px}.tag-rules-page .rule-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tag-rules-page .tag-badge{color:#fff;border-radius:12px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-block}.tag-rules-page .rule-priority{color:var(--color-text-secondary);font-size:12px}.tag-rules-page .rule-details{margin-bottom:12px}.tag-rules-page .rule-pattern,.tag-rules-page .rule-field{margin-bottom:4px;font-size:14px}.tag-rules-page .rule-pattern code{background:var(--color-background);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:13px}.tag-rules-page .regex-badge{color:#7b1fa2;background:#f3e5f5;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px;font-weight:500;display:inline-block}.tag-rules-page .label{color:var(--color-text-secondary);margin-right:4px}.btn-sm{padding:6px 12px;font-size:13px}.global-search{margin-bottom:12px;position:relative}.global-search .search-input-wrapper{position:relative}.global-search .search-icon{color:var(--color-text-secondary);pointer-events:none;font-size:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.global-search .search-input{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;outline:none;width:100%;padding:12px 12px 12px 40px;font-size:15px}.global-search .search-input:focus{border-color:var(--color-primary)}.global-search .search-results{background:var(--color-card);border:1px solid var(--color-border);z-index:1000;border-radius:12px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.global-search .search-result-item{border-bottom:1px solid var(--color-border);color:var(--color-text);align-items:center;padding:12px;text-decoration:none;display:flex}.global-search .search-result-item:last-child{border-bottom:none}.global-search .search-result-item:hover{background:var(--color-bg)}.global-search .result-icon{margin-right:12px;font-size:20px}.global-search .result-content{flex:1}.global-search .result-title{font-size:14px;font-weight:500}.global-search .result-subtitle{color:var(--color-text-secondary);font-size:12px}.global-search .result-amount{font-size:14px;font-weight:600}.global-search .search-empty{text-align:center;color:var(--color-text-secondary);padding:16px}.home-page .page-title{margin-bottom:16px}.metrics-row{gap:8px;margin-bottom:16px;display:flex}.metric-card{text-align:center;border-radius:10px;flex:1;padding:12px}.metric-card.income{color:var(--color-success);background:#e8f5e9}.metric-card.expense{color:var(--color-danger);background:#ffebee}.metric-card.net{background:var(--color-primary-light);color:var(--color-primary)}.metric-label{text-transform:uppercase;opacity:.8;font-size:11px;font-weight:500}.metric-value{margin-top:2px;font-size:18px;font-weight:700}.trend-chart{margin-bottom:16px}.chart-bar-group{justify-content:space-between;margin-bottom:4px;display:flex}.chart-bar-set{flex-direction:column;align-items:center;width:14%;display:flex}.chart-bars{align-items:flex-end;gap:2px;height:80px;display:flex}.chart-bar{border-radius:3px 3px 0 0;width:12px}.chart-bar.income{background:var(--color-success)}.chart-bar.expense{background:var(--color-danger)}.chart-label{color:var(--color-text-secondary);margin-top:4px;font-size:10px}.chart-legend{justify-content:center;gap:16px;margin-top:8px;display:flex}.legend-item{color:var(--color-text-secondary);align-items:center;gap:4px;font-size:11px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.category-item{margin-bottom:12px}.category-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.category-name{align-items:center;gap:6px;font-size:14px;display:flex}.category-icon{font-size:16px}.category-values{color:var(--color-text-secondary);font-size:13px}.category-bar{background:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.category-bar-fill{background:var(--color-primary);border-radius:3px;height:100%;transition:width .3s}.anomaly-alert{background:#fff3e0;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px;display:flex}.anomaly-icon{font-size:20px}.anomaly-content{flex:1}.anomaly-title{font-size:14px;font-weight:500}.anomaly-desc{color:var(--color-text-secondary);font-size:12px}.anomaly-amount{color:var(--color-danger);font-weight:600}.goals-preview-item{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:8px 0;display:flex}.goals-preview-item:last-child{border-bottom:none}.goal-preview-icon{font-size:24px}.goal-preview-info{flex:1}.goal-preview-name{font-size:14px;font-weight:500}.goal-preview-progress{background:var(--color-border);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.goal-preview-bar{background:var(--color-primary);border-radius:2px;height:100%;transition:width .3s}.goal-preview-bar.over{background:var(--color-danger)}.goal-preview-percent{color:var(--color-text-secondary);font-size:12px}.recent-transaction{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 0;display:flex}.recent-transaction:last-child{border-bottom:none}.transaction-icon{background:var(--color-primary-light);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.transaction-info{flex:1}.transaction-desc{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:14px;font-weight:500;overflow:hidden}.transaction-meta{color:var(--color-text-secondary);font-size:11px}.transaction-amount{font-size:15px;font-weight:600}.goals-page .page-title{margin-bottom:16px}.goal-form .form-row{gap:8px;margin-bottom:12px;display:flex}.goal-form .form-group{flex:1}.goal-form .form-group label{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.goal-form input,.goal-form select{border:1px solid var(--color-border);background:var(--color-card);border-radius:8px;width:100%;padding:10px;font-size:14px}.goal-form .btn-row{gap:8px;margin-top:12px;display:flex}.goal-card{background:var(--color-card);border-radius:12px;margin-bottom:12px;padding:16px}.goal-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.goal-icon{margin-right:8px;font-size:24px}.goal-title{font-size:16px;font-weight:600}.goal-subtitle{color:var(--color-text-secondary);font-size:12px}.goal-actions{gap:4px;display:flex}.goal-actions button{padding:4px 8px;font-size:12px}.goal-progress-section{margin-bottom:8px}.goal-progress-bar{background:var(--color-border);border-radius:6px;height:12px;margin-bottom:4px;overflow:hidden}.goal-progress-fill{border-radius:6px;height:100%;transition:width .3s}.goal-progress-fill.under{background:var(--color-success)}.goal-progress-fill.warning{background:var(--color-warning)}.goal-progress-fill.over{background:var(--color-danger)}.goal-progress-text{color:var(--color-text-secondary);justify-content:space-between;font-size:12px;display:flex}.goal-status{border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-block}.goal-status.success{color:var(--color-success);background:#e8f5e9}.goal-status.over{color:var(--color-danger);background:#ffebee}.settings-page .page-title,.settings-section{margin-bottom:16px}.settings-section .form-row{align-items:flex-end;gap:12px;display:flex}.settings-section .form-group{flex:1}.settings-section .form-group label{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.settings-section input[type=number]{border:1px solid var(--color-border);border-radius:8px;width:100px;padding:10px;font-size:15px}.items-list{margin-top:12px}.item-row{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 0;display:flex}.item-row:last-child{border-bottom:none}.item-info{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.item-title{font-size:14px;font-weight:500}.item-subtitle{color:var(--color-text-secondary);font-size:12px}.item-value{font-size:14px;font-weight:600}.tag-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.color-input{cursor:pointer;border:none;border-radius:8px;width:40px;height:40px}.link-card{background:var(--color-bg);color:var(--color-text);border-radius:8px;align-items:center;gap:12px;margin-bottom:12px;padding:12px;text-decoration:none;display:flex}.link-card:hover{background:var(--color-border)}.link-icon{font-size:24px}.link-content{flex:1}.link-arrow{color:var(--color-text-secondary)}.view-all-link{text-align:center;color:var(--color-primary);margin-top:8px;padding:8px 0;font-size:14px;font-weight:500;text-decoration:none;display:block}.view-all-link:hover{text-decoration:underline}.transactions-page .page-title{margin-bottom:16px}.filters-row{gap:8px;margin-bottom:12px;display:flex}.filter-search{flex:1}.filter-category{width:160px}.sort-row{align-items:center;gap:8px;margin-bottom:16px;display:flex}.transaction-card{background:var(--color-card);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.transaction-icon-wrapper{flex-shrink:0}.transaction-category-icon{background:var(--color-primary-light);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.transaction-details{flex:1;min-width:0}.transaction-desc{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.transaction-meta{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.pending-badge{color:#e65100;background:#fff3e0;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.transaction-tags{margin-top:6px}.transaction-amount{flex-shrink:0;font-size:15px;font-weight:600}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
