@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#202a28;background:#f8f8f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;display:flex}.sidebar{width:264px;min-width:264px;background:#fff;border-right:1px solid #e9ece8;display:flex;flex-direction:column;padding:30px 17px 18px;position:sticky;top:0;height:100vh;z-index:20}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 12px}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1.5px;color:#18372e}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:#246a50;color:#fff;border-radius:11px;font-size:24px;font-weight:800;font-family:Manrope,sans-serif;letter-spacing:-3px;padding-right:3px;box-shadow:0 6px 14px #246a5025}.brand-dot{color:#50a67d}.sidebar-label{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#a2aaa4;padding:51px 17px 15px}.sidebar-nav{display:grid;gap:5px}.nav-item{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:13px;padding:12px 15px;border-radius:11px;color:#68716d;text-align:left;font-size:13px;font-weight:600;position:relative}.nav-item:hover{background:#f5f8f5}.nav-item.active{background:#eaf3ec;color:#1e6848}.nav-indicator{position:absolute;right:13px;width:5px;height:5px;border-radius:50%;background:#338763}.sidebar-spacer{flex:1}.sidebar-tip{margin:0 7px 22px;border:1px solid #dce9dd;border-radius:13px;padding:19px 17px;background:linear-gradient(145deg,#f3f9ef,#f7faf4);color:#315344}.tip-icon{display:block;font-size:23px;color:#6ba87c;margin-bottom:7px}.sidebar-tip strong{font-size:12px}.sidebar-tip p{font-size:11px;line-height:1.6;color:#7b8b7c;margin:7px 0 0}.sidebar-footer{display:flex;align-items:center;gap:10px;border-top:1px solid #edf0ec;padding:17px 3px 0}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#f0e8da;color:#886e49;border-radius:50%;font-size:13px;font-weight:800}.account{min-width:0;flex:1}.account strong,.account small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account strong{font-size:11px}.account small{font-size:10px;color:#96a09a;margin-top:3px}.icon-button{border:0;background:transparent;color:#89938c;width:30px;height:30px;display:inline-grid;place-items:center;border-radius:7px}.icon-button:hover{background:#f1f4f0;color:#2f5742}.danger-hover:hover{color:#d46956;background:#fff0ec}.main-content{flex:1;min-width:0}.topbar{height:73px;border-bottom:1px solid #e9ece8;display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:#fff}.topbar-breadcrumb{display:flex;gap:9px;align-items:center;color:#7c8680;font-size:12px;font-weight:600}.topbar-breadcrumb svg{color:#a7aea9}.topbar-right{font-size:11px;color:#8a958e;display:flex;align-items:center;gap:7px}.status-dot,.small-status-dot{background:#52b77a;width:6px;height:6px;border-radius:50%;display:inline-block}.content-wrap{max-width:1500px;margin:auto;padding:39px 48px 72px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:33px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:800;color:#5c9b73;margin-bottom:10px}.page-header h1{font-size:34px;letter-spacing:-1.8px;line-height:1.2;margin:0 0 7px;font-weight:800}.page-header p{font-size:13px;color:#939d96;margin:0}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:700;padding:12px 17px;white-space:nowrap;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.button-primary{background:#246a50;color:#fff;box-shadow:0 5px 12px #246a501c}.button-primary:hover:not(:disabled){background:#185a42}.button-secondary{background:#fff;color:#3c5044;border-color:#e0e7df}.button-secondary:hover:not(:disabled){background:#f5f9f5}.filters-bar{display:flex;align-items:center;gap:12px;margin-bottom:25px;flex-wrap:wrap}.filter-label{font-size:10px;letter-spacing:1.3px;color:#9aa59c;font-weight:800;margin-right:3px}.filters-bar select,.date-group{height:38px;border:1px solid #e3e9e2;border-radius:8px;background:#fff;color:#58655b;font-size:11px;font-weight:600}.filters-bar select{padding:0 31px 0 12px;min-width:150px;max-width:220px}.date-group{display:flex;gap:10px;align-items:center;padding:0 9px}.date-group label{display:flex;align-items:center;gap:4px;color:#a1aba3;font-size:10px}.date-group input{border:0;background:transparent;color:#59675d;font-size:10px;outline:none;max-width:112px}.clear-filters{border:0;background:transparent;color:#388b62;text-decoration:underline;font-weight:700;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.stat-card{min-height:153px;padding:23px 25px;border-radius:13px;position:relative;overflow:hidden}.stat-green{background:#eaf4e9}.stat-coral{background:#fcf0e9}.stat-dark{background:#234c3d;color:#fff}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:#6e8c72;margin-bottom:20px}.stat-coral .stat-top{color:#aa856e}.stat-dark .stat-top{color:#bfd7c6}.stat-icon{width:28px;height:28px;border:1px solid currentColor;opacity:.7;border-radius:50%;display:grid;place-items:center;font-size:19px;line-height:1}.stat-card strong{font:800 clamp(21px,2.2vw,31px)/1.25 Manrope,sans-serif;letter-spacing:-1.5px;white-space:nowrap}.stat-bottom{font-size:10px;color:#90a491;margin-top:12px}.stat-coral .stat-bottom{color:#b49b8c}.stat-dark .stat-bottom{color:#aecbb8}.stat-sparkle{margin-right:4px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:20px;margin-bottom:20px}.panel{background:#fff;border:1px solid #e9eee8;border-radius:13px;box-shadow:0 3px 15px #2e463607}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:24px 25px 0}.panel-head h2{font-size:15px;letter-spacing:-.3px;margin:0 0 4px;font-weight:800}.panel-head p{font-size:11px;color:#9ca69f;margin:0}.chart-panel{min-height:348px}.segmented{display:flex;background:#f4f6f3;border-radius:7px;padding:3px}.segmented button{border:0;background:transparent;color:#9aa49c;font-size:10px;font-weight:700;padding:7px 9px;border-radius:5px}.segmented button.selected{color:#286a4c;background:#fff;box-shadow:0 1px 4px #233f3216}.chart{padding:24px 25px 20px;position:relative}.chart-legend{display:flex;justify-content:flex-end;gap:17px;font-size:10px;color:#808e83;margin-bottom:17px}.chart-legend span{display:flex;gap:5px;align-items:center}.chart-legend i{height:7px;width:7px;border-radius:50%;display:inline-block}.legend-green{background:#5aa87b}.legend-coral{background:#e8a98e}.chart-body{display:flex;gap:13px;height:205px}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#aab5aa;font-size:9px;min-width:44px;padding:0 0 19px}.chart-plot{position:relative;flex:1;min-width:0}.grid-lines{position:absolute;inset:0 0 19px;display:flex;flex-direction:column;justify-content:space-between}.grid-lines i{width:100%;border-top:1px dashed #e8ede8}.bars{position:relative;z-index:1;height:100%;display:flex;align-items:end;justify-content:space-between;gap:4px}.bar-group{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.bar-pair{height:calc(100% - 25px);width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.bar{width:min(13px,42%);min-height:0;border-radius:3px 3px 0 0}.income-bar{background:#5aa87b}.expense-bar{background:#e9ad93}.bar-label{white-space:nowrap;font-size:8px;color:#a5afa7;margin-top:8px;height:16px}.chart-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-30%);font-size:11px;color:#9eaaa0;background:#fff;padding:10px;text-align:center;white-space:nowrap}.breakdown-panel{min-height:348px}.breakdown-list{padding:26px 25px 18px;display:grid;gap:22px}.breakdown-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:0;text-align:left}.breakdown-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e3f0e5;color:#398054;font-weight:800;font-size:13px;flex:none}.color-1{background:#f7eee3;color:#ac8052}.color-2{background:#e8e8f4;color:#7574aa}.color-3{background:#f5e9e7;color:#af7672}.color-4{background:#e3eff1;color:#618a97}.breakdown-info{flex:1;min-width:0}.breakdown-name{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:700;color:#47564c;margin-bottom:8px}.breakdown-name strong{font-weight:800;white-space:nowrap}.progress-track{display:block;background:#eff2ed;height:5px;border-radius:5px;overflow:hidden}.progress-track span{display:block;height:100%;background:#6eaf85;border-radius:5px}.breakdown-empty{padding:70px 30px;text-align:center;font-size:12px;color:#a4aea5}.overhead-note{font-size:10px;line-height:1.5;color:#9aa89d}.recent-panel{overflow:hidden}.text-link{border:0;background:transparent;color:#39875e;font-size:11px;font-weight:700;display:flex;gap:6px;align-items:center}.table-scroll{overflow-x:auto}.transaction-table{width:100%;border-collapse:collapse;text-align:left;min-width:760px}.transaction-table th{font-size:9px;color:#a4aea5;letter-spacing:.8px;font-weight:800;padding:24px 24px 14px;white-space:nowrap}.transaction-table td{padding:15px 24px;border-top:1px solid #f0f2ef;font-size:11px;color:#667168;vertical-align:middle}.transaction-table td:first-child{min-width:150px}.transaction-table td strong{font-size:11px;color:#36443b;font-weight:700}.transaction-table .right,.amount-cell{text-align:right}.table-business,.table-project{display:block;white-space:nowrap}.table-business{font-weight:700;color:#53645a}.table-project{color:#a1aba2;font-size:10px;margin-top:3px}.kind-pill{display:inline-block;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:700}.kind-pill.income{color:#3e9361;background:#eaf6ec}.kind-pill.expense{color:#d38768;background:#fbf0e9}.transaction-table .amount-cell{font-weight:800;color:#37895b;white-space:nowrap}.transaction-table .amount-cell.expense{color:#d48566}.row-actions{display:flex;gap:2px}.table-empty{padding:60px 20px;text-align:center;color:#98a59b}.empty-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:#eaf3e9;color:#42885b;font-size:25px;margin:0 auto 17px}.table-empty h3,.entity-empty h3{font-size:14px;color:#30443a;margin:0 0 7px}.table-empty p,.entity-empty p{font-size:11px;margin:0}.list-panel{min-height:400px}.entity-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.entity-panel{min-height:320px}.small-add{display:flex;align-items:center;gap:3px;background:#edf5ed;border:0;color:#39805b;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:800}.entity-list{padding:19px 25px}.entity-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #eff2ed}.entity-row:last-child{border-bottom:0}.entity-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;flex:none}.business-icon{background:#e5f0e5;color:#468662;font-weight:800}.project-icon{background:#f1eae1;color:#ab855a}.entity-info{min-width:0;flex:1}.entity-info strong,.entity-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-info strong{font-size:11px}.entity-info small{font-size:10px;color:#a0aaa1;margin-top:4px}.entity-balance{font-size:11px;font-weight:800;white-space:nowrap}.entity-empty{text-align:center;padding:55px 25px;color:#9ea99e}.entity-empty p{margin-bottom:19px;line-height:1.6}.modal-backdrop{position:fixed;inset:0;background:#15241d8a;display:grid;place-items:center;z-index:40;padding:20px}.modal{width:min(100%,460px);max-height:90vh;overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 25px 70px #10201730}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 30px 10px}.modal-head h2{font-size:22px;letter-spacing:-1px;margin:0}.modal-form{padding:14px 30px 30px;display:grid;gap:17px}.modal-form label,.auth-form label{font-size:11px;color:#4c5c51;font-weight:700;display:grid;gap:7px}.modal-form input,.modal-form select,.auth-form input{width:100%;height:42px;border:1px solid #dfe7df;background:#fff;border-radius:8px;padding:0 12px;color:#34483b;font-size:12px;outline:none}.modal-form input:focus,.modal-form select:focus,.auth-form input:focus{border-color:#5ca77c;box-shadow:0 0 0 3px #5ca77c20}.field-row{display:flex;gap:12px}.field-row label{flex:1;min-width:0}.optional{display:inline;font-size:10px;font-weight:400;color:#a1ada3}.modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #edf1ed;padding-top:18px;margin-top:3px}.form-error,.error-banner{background:#fff0ec;color:#a44a3c;border:1px solid #f5d4cb;border-radius:8px;padding:11px 13px;font-size:11px}.error-banner{display:flex;justify-content:space-between;align-items:center;margin:0 0 20px}.error-banner button{border:0;background:transparent;color:inherit}.loading-line{height:2px;background:linear-gradient(90deg,transparent,#68b185,transparent);animation:loading 1s linear infinite;margin:-10px 0 8px}@keyframes loading{0%{transform:translate(-50%)}to{transform:translate(50%)}}.center-screen{min-height:100vh;display:grid;place-content:center;text-align:center;gap:12px;color:#96a49a}.center-screen .brand-mark{margin:auto}.auth-shell{min-height:100vh;display:flex;background:#f8faf7}.auth-card{width:50%;max-width:650px;min-width:450px;margin:auto;padding:64px clamp(40px,7vw,110px)}.auth-brand{margin-bottom:50px}.auth-art{height:103px;width:103px;background:#e5f2e5;border-radius:27px;margin-bottom:36px;position:relative;display:grid;place-items:center;overflow:hidden;color:#2b7951;font-size:45px;font-weight:800}.art-line{position:absolute;border:1px solid #c0dfc3;border-radius:50%}.art-line-one{width:85px;height:85px;left:-42px;bottom:-35px}.art-line-two{width:115px;height:115px;right:-73px;top:-43px}.art-line-three{width:40px;height:40px;right:-17px;bottom:-17px}.auth-card h1{font-size:32px;letter-spacing:-1.5px;margin:0 0 9px}.auth-card p{font-size:13px;color:#8a988d;line-height:1.7;max-width:350px;margin-bottom:29px}.auth-form{display:grid;gap:19px;max-width:360px}.auth-form input{height:46px}.auth-submit{height:46px;justify-content:space-between;margin-top:5px}.auth-foot{border-top:1px solid #e4ebe3;margin-top:48px;padding-top:19px;font-size:10px;color:#acb7ad}.auth-side{flex:1;background:#24543d;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}.auth-side:before,.auth-side:after{content:"";position:absolute;border:1px solid #ffffff20;border-radius:50%;width:850px;height:850px;right:-500px;top:-250px}.auth-side:after{width:600px;height:600px;right:-350px;top:-110px}.auth-side-inner{position:relative;z-index:1;padding:60px;max-width:600px}.decorative-mark{font-size:60px;color:#9ec6a6;margin-bottom:85px}.auth-side h2{font-size:clamp(34px,4vw,58px);line-height:1.17;letter-spacing:-2.5px;font-weight:700;margin:0 0 23px}.auth-side h2 em{font-family:Georgia,serif;font-weight:400;color:#add2ad}.auth-side p{font-size:14px;line-height:1.8;color:#c9ddcd;max-width:370px}.auth-side-bottom{font-size:10px;letter-spacing:2px;font-weight:700;margin-top:110px;display:flex;align-items:center;gap:9px;color:#b4d3bd}.menu-button,.mobile-close,.mobile-overlay{display:none}code{background:#edf2ed;padding:2px 4px;border-radius:3px}@media(max-width:1200px){.content-wrap{padding:35px 30px}.topbar{padding:0 30px}.overview-grid{grid-template-columns:1.35fr 1fr}.stat-card{padding:20px}.stat-card strong{font-size:24px}.transaction-table th,.transaction-table td{padding-left:15px;padding-right:15px}}@media(max-width:980px){.sidebar{width:218px;min-width:218px}.overview-grid,.entity-layout{grid-template-columns:1fr}.breakdown-panel{min-height:auto}.breakdown-list{grid-template-columns:1fr 1fr}.stat-card strong{font-size:21px}.header-actions{justify-content:flex-end}}@media(max-width:740px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s;width:260px}.sidebar-open{transform:translate(0)}.mobile-overlay{display:block;position:fixed;inset:0;background:#10271966;border:0;z-index:15}.menu-button,.mobile-close{display:inline-grid}.topbar{height:62px;padding:0 20px;justify-content:flex-start;gap:12px}.topbar-right{margin-left:auto}.content-wrap{padding:27px 20px 60px}.page-header{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:25px}.page-header h1{font-size:29px}.header-actions{width:100%;justify-content:flex-start}.filters-bar{gap:9px}.filter-label{width:100%}.stats-grid{grid-template-columns:1fr;gap:11px}.stat-card{min-height:125px}.stat-top{margin-bottom:11px}.stat-card strong{font-size:26px}.stat-bottom{margin-top:7px}.overview-grid{gap:13px}.auth-side{display:none}.auth-card{width:100%;min-width:0;max-width:520px}.auth-brand{margin-bottom:36px}}@media(max-width:460px){.content-wrap{padding-left:15px;padding-right:15px}.topbar-right{font-size:0}.topbar-right .status-dot{width:7px;height:7px}.header-actions .button{flex:1;padding-left:8px;padding-right:8px}.filters-bar select{flex:1;min-width:125px;max-width:none}.date-group{width:100%;justify-content:space-around}.panel-head{padding:20px 18px 0}.segmented button{padding:7px}.chart{padding:20px 14px}.chart-axis{min-width:36px}.bar-label{font-size:7px}.breakdown-list{grid-template-columns:1fr;padding:22px 18px}.modal-head{padding:23px 22px 7px}.modal-form{padding:14px 22px 22px}.auth-card{padding:45px 25px}.auth-card h1{font-size:28px}}.auth-switch,.receipt-item button{border:0;background:transparent;color:#286a4c;font:inherit;font-weight:800;cursor:pointer}.form-notice{background:#ecf7ef;color:#286a4c;border:1px solid #cce9d3;border-radius:8px;padding:11px 13px;font-size:11px}.receipt-count{display:block;margin-top:4px;color:#4f9470;font-size:10px}.receipt-list{display:grid;gap:8px;font-size:11px}.receipt-list>strong{color:#4c5c51}.receipt-item{display:flex;align-items:center;gap:10px;border:1px solid #e6eee7;border-radius:8px;padding:9px}.receipt-item span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-picks{display:grid;gap:4px;color:#748377;font-size:10px;word-break:break-word}.modal-form input[type=file]{height:auto;padding:10px;font-size:11px}.sharing-panel{margin-top:20px}.sharing-content{padding:20px 25px 26px;display:grid;gap:15px}.sharing-project{border-top:1px solid #edf1ed;padding-top:15px;display:grid;gap:10px;font-size:12px}.sharing-project form{display:flex;gap:8px;flex-wrap:wrap}.sharing-project input{min-width:180px;flex:1;border:1px solid #dfe7df;border-radius:8px;padding:10px;font:inherit}.sharing-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#5d7062}.sharing-row span{overflow-wrap:anywhere}.sharing-content>p,.receipt-off{font-size:11px;color:#89988d}.sidebar-tip .button{margin-top:12px;padding:8px 12px}.reset-link{display:block;margin-top:14px;font-size:11px;padding:0}.dashboard-layout{display:grid;gap:20px}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dashboard-metric{background:#fff;border:1px solid #e9eee8;border-radius:13px;padding:23px;display:grid;gap:9px;min-width:0}.dashboard-metric span{font-size:11px;color:#738679;font-weight:700}.dashboard-metric strong{font:800 clamp(18px,2vw,27px)/1.2 Manrope,sans-serif;color:#23553e;overflow-wrap:anywhere}.dashboard-metric small{color:#9aa89d;font-size:10px}.dashboard-panel{overflow:hidden;padding-bottom:12px}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-table{width:100%;border-collapse:collapse;min-width:540px;font-size:11px;text-align:right}.dashboard-table th,.dashboard-table td{padding:13px 20px;border-bottom:1px solid #eef2ed;white-space:nowrap}.dashboard-table th{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#9caa9e}.dashboard-table th:first-child,.dashboard-table td:first-child{text-align:left;font-weight:700;color:#41584a}.dashboard-table .negative{color:#c66d54}.dashboard-expenses{padding:15px 25px}.dashboard-expenses>p{font-size:11px;color:#92a095}.dashboard-expense{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #eef2ed;font-size:11px}.dashboard-expense:last-child{border-bottom:0}.dashboard-expense strong,.dashboard-expense small{display:block}.dashboard-expense small{color:#9aa89d;margin-top:4px}.dashboard-expense b{white-space:nowrap;color:#bf6e52}.sharing-help,.sharing-local-warning{font-size:11px;line-height:1.6;margin:0;color:#6b7d70}.sharing-local-warning{background:#fff6e8;border:1px solid #f2dfb9;border-radius:8px;padding:10px;color:#8d6335}.sharing-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sharing-actions a{text-decoration:none;font-size:11px}@media(max-width:1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}}@media(max-width:600px){.dashboard-metrics{grid-template-columns:1fr}.dashboard-expense{align-items:flex-start}.sharing-row{align-items:flex-start;flex-direction:column}}.dashboard-chart-panel .panel-head{align-items:center;flex-wrap:wrap}.financial-chart-wrap{padding:18px 23px 20px}.financial-chart-wrap svg{display:block;width:100%;height:auto;overflow:visible}.chart-tick{font:9px DM Sans,sans-serif;fill:#91a096}.financial-chart-legend{display:flex;justify-content:flex-end;gap:18px;color:#748579;font-size:10px}.financial-chart-legend span{display:flex;align-items:center;gap:6px}.financial-chart-legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.financial-chart-legend .legend-line{width:13px;height:2px;background:#1e6a4b;border-radius:0}.expense-chart{padding:20px 25px 25px;display:grid;gap:16px}.expense-chart>p{font-size:11px;color:#95a296}.expense-chart-item{border:0;background:transparent;padding:0;text-align:left;display:grid;gap:8px;width:100%;color:#3e5145}.expense-chart-item:is(button):hover strong{color:#21865b;text-decoration:underline}.expense-chart-label{display:flex;justify-content:space-between;gap:16px;font-size:11px}.expense-chart-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-chart-label span{white-space:nowrap;color:#7e8b80}.expense-chart-track{height:8px;border-radius:6px;background:#eaf1e9;display:block;overflow:hidden}.expense-chart-track>span{height:100%;border-radius:6px;background:linear-gradient(90deg,#2f8461,#69b586);display:block}.shared-view-shell{min-height:100vh;background:#f8f8f5}.shared-view-header{background:#23543d;color:#fff;padding:28px clamp(20px,5vw,70px);display:flex;justify-content:space-between;gap:18px;align-items:center}.shared-view-header h1{margin:0;font-size:24px}.shared-view-header p{margin:5px 0 0;color:#c9ddcd;font-size:12px}.shared-view-content{max-width:1320px;margin:auto;padding:32px clamp(16px,4vw,50px) 70px}.shared-view-notice{font-size:11px;color:#738477;margin-bottom:22px}.share-link-panel{margin-top:20px}.share-link-controls{padding:18px 25px 25px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.share-link-controls select{padding:10px 12px;border:1px solid #dfe7df;border-radius:8px;background:#fff;font-size:11px}.share-link-result{padding:0 25px 20px;display:grid;gap:8px}.share-link-result input{width:100%;border:1px solid #dfe7df;border-radius:8px;padding:10px;font-size:11px}.share-link-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf1ed;padding:12px 25px;font-size:11px}.share-link-row span{color:#6f8274}.share-link-row button{border:0;background:transparent;color:#aa604d;font-weight:700}.share-link-error{margin:0 25px 15px}.google-button{width:min(360px,100%);height:46px;margin-top:16px}.profile-completion{background:#eef6ee;border:1px solid #d9e9d9;border-radius:11px;padding:16px 20px;margin-bottom:22px}.profile-completion strong{font-size:13px;color:#274f39}.profile-completion p{font-size:11px;color:#627568;margin:5px 0 12px}.profile-completion form{display:flex;gap:8px;flex-wrap:wrap}.profile-completion input{min-width:160px;flex:1;border:1px solid #d5e2d5;border-radius:8px;padding:0 11px}.profile-completion .form-error{margin-top:10px}
