@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:#202b28;background:#f7f8f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green: #1c6d57;--green-dark: #165640;--text: #202b28;--muted: #89928e;--line: #e9ede9;--surface: #fff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a6d7c8;outline-offset:2px}a{color:inherit}.app-shell{min-height:100vh}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:28px 18px 18px;display:flex;flex-direction:column;z-index:5}.brand{min-height:126px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid #f0f1ee;border-radius:12px}.brand img{display:block;width:100%;height:124px;object-fit:contain}.brand-mark{width:36px;height:36px;border-radius:12px;background:#1d745b;color:#fff;display:grid;place-items:center;font:800 25px Manrope,sans-serif;line-height:1;transform:rotate(-5deg)}.brand-word{font:800 21px Manrope,sans-serif;letter-spacing:-1.1px;color:#1e302a;line-height:1}.brand-word>span{color:#43a581}.brand-word small{display:block;color:#9aa39e;font:700 8px DM Sans,sans-serif;letter-spacing:1.05px;margin-top:5px}.workspace-label{margin:28px 0 12px 11px;color:#a1aaa5;font-size:9px;letter-spacing:1.1px;font-weight:700}.desktop-nav{display:grid;gap:5px}.nav-button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border:0;background:transparent;color:#77827c;font-size:13px;font-weight:600;text-align:left;border-radius:10px;position:relative;transition:background .18s,color .18s}.nav-button:hover{background:#f6f8f6;color:#34463e}.nav-button.active{color:#1b6a53;background:#eaf5f0}.nav-icon{width:20px;color:inherit;font-size:20px;line-height:1;text-align:center;font-weight:400}.nav-badge{margin-left:auto;background:#db6a4f;color:#fff;font-size:10px;border-radius:20px;min-width:18px;height:18px;display:grid;place-items:center}.sidebar-bottom{margin-top:auto;padding:14px 8px 4px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;font-size:11px}.coach-avatar,.client-avatar,.reminder-avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#d8eee4;color:#23684f;font-weight:700;flex:0 0 auto}.sidebar-bottom strong,.sidebar-bottom span{display:block}.sidebar-bottom strong{font-size:11px}.sidebar-bottom div:nth-child(2) span{margin-top:3px;color:#929b96;font-size:10px}.online-dot{width:7px;height:7px;background:#49b98a;border-radius:50%;margin-left:auto}.main-area{min-height:100vh;margin-left:244px}.topbar{height:70px;display:flex;align-items:center;justify-content:flex-end;padding:0 5.2%;border-bottom:1px solid #ecefeb;background:#ffffffa8}.topbar-date{color:#87918b;font-size:11px;font-weight:500;display:flex;align-items:center;gap:8px;text-transform:capitalize}.date-dot{width:7px;height:7px;background:#7ab99f;border-radius:50%}.notification-button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;color:#53645c;background:#fff;margin-left:20px;position:relative;font-size:17px}.notification-button i{position:absolute;top:-5px;right:-5px;background:#d86f54;border:2px solid #fff;color:#fff;width:15px;height:15px;font:700 8px DM Sans;display:grid;place-items:center;border-radius:50%;font-style:normal}.sign-out-button{min-height:32px;padding:0 10px;margin-left:10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:#758079;font-size:10px;font-weight:600}.sign-out-button:hover{background:#f1f6f2}.mobile-brand{display:none}.content-wrap{max-width:1440px;padding:34px 5.2% 52px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.page-heading h1,.finance-top h2{margin:5px 0;font:700 25px Manrope,sans-serif;letter-spacing:-.7px;color:#202c27}.page-heading p:not(.eyebrow),.finance-top>div>p:not(.eyebrow){margin:0;color:#8c9690;font-size:12px}.eyebrow{color:#8d9b94;font-size:9px;letter-spacing:1.15px;font-weight:700;margin:0 0 5px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 15px;border-radius:9px;font-size:11px;font-weight:700;transition:transform .12s,background .15s}.button:active{transform:translateY(1px)}.button-primary{color:#fff;background:#1b6c54;box-shadow:0 4px 10px #1b6c5418}.button-primary:hover{background:#155a45}.button-primary:disabled{opacity:.6;cursor:wait}.button-light{background:#fff;color:#1a664f}.button-light:hover{background:#eff8f3}.button-outline{border:1px solid #dce8e0;background:#fff;color:#27694f}.button-quiet{color:#758079;background:transparent}.plus{font-size:18px;font-weight:400;line-height:1}.alert-error{padding:11px 13px;border:1px solid #f0cbc2;background:#fff4f1;color:#914934;border-radius:9px;margin-bottom:18px;display:flex;align-items:flex-start;gap:10px;font-size:12px}.alert-error>span{width:17px;height:17px;flex:0 0 auto;background:#e8a08e;color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:700}.alert-error button{margin-left:auto;border:0;background:none;color:inherit;font-size:18px;line-height:1}.loading-state{min-height:260px;display:flex;align-items:center;justify-content:center;gap:11px;font-size:12px;color:#7e8b84}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:11px;color:#7e8b84;font-size:12px}.auth-screen{position:relative;isolation:isolate;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:24px;background:#f7f8f5}.auth-screen:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:url(/ronaldo-almeida-logo.jpg) center / min(58vw,560px) auto no-repeat;content:"";opacity:.1;mix-blend-mode:multiply;pointer-events:none}.auth-card{position:relative;width:min(100%,390px);padding:32px;border:1px solid #e9ede9;border-radius:16px;background:#fff;box-shadow:0 18px 50px #23382c0d}.auth-logo{display:block;width:170px;height:92px;object-fit:contain;margin:0 auto 24px}.auth-card h1{margin:4px 0 7px;color:#202c27;font:700 23px Manrope,sans-serif;letter-spacing:-.5px}.auth-description{margin:0 0 22px;color:#8c9690;font-size:12px;line-height:1.6}.auth-password-label{display:block;margin-bottom:7px;color:#53645c;font-size:11px;font-weight:600}.auth-card input{width:100%;height:42px;padding:0 12px;border:1px solid #dfe6e1;border-radius:9px;color:#202b28;background:#fff}.auth-submit{width:100%;margin-top:15px;min-height:42px}.auth-link{display:block;margin:14px auto 0;padding:4px;border:0;background:transparent;color:#397a60;font-size:11px;font-weight:600}.auth-link:hover{color:#1b6c54;text-decoration:underline}.auth-notice{margin:12px 0 0;padding:10px;border:1px solid #dbece2;border-radius:8px;background:#f1f8f3;color:#326d4d;font-size:11px;line-height:1.5}.auth-confirmation-label{margin-top:14px}.auth-footnote{margin:20px 0 0;color:#99a29c;text-align:center;font-size:10px}.auth-error{margin:12px 0 0;font-size:11px}.spinner{height:19px;width:19px;border:2px solid #dcebe3;border-top-color:#37856a;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-transition{animation:page-in .24s ease-out}@keyframes page-in{0%{opacity:.55;transform:translate(9px)}to{opacity:1;transform:translate(0)}}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.stat-card{min-width:0;padding:17px 17px 15px;border-radius:13px;background:#e9f4ee;border:1px solid #e4efe8}.stat-card.blue{background:#eaf1f8;border-color:#e5ecf3}.stat-card.lavender{background:#f0eef8;border-color:#ebe9f3}.stat-card.peach{background:#faf0e9;border-color:#f4e9e1}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#77867e;font-size:10px;font-weight:600}.stat-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#34775f;background:#fff9;font-size:15px}.blue .stat-icon{color:#537fa6}.lavender .stat-icon{color:#7c72a6}.peach .stat-icon{color:#bc805d}.stat-card>strong{display:block;margin:13px 0 3px;font:700 21px Manrope,sans-serif;color:#26332d;letter-spacing:-.5px}.stat-card>small{color:#8b9690;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:15px;margin-bottom:15px}.panel{background:var(--surface);border:1px solid #ebefeb;border-radius:13px;box-shadow:0 2px 12px #23382c05}.chart-panel,.reminders-panel,.schedule-panel{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.panel-heading h2{margin:3px 0 4px;font:700 15px Manrope,sans-serif;letter-spacing:-.25px}.panel-heading>div>p:not(.eyebrow){margin:0;color:#939c97;font-size:10px}.year-picker{min-height:31px;border:1px solid #e9ede9;display:inline-flex;align-items:center;border-radius:8px;color:#596a61;gap:5px;padding:0 4px;font-size:11px}.year-picker button{border:0;background:transparent;color:#738078;width:22px;height:25px;font-size:18px}.year-picker span{min-width:33px;text-align:center;font-weight:600}.mini-chart{height:139px;display:flex;justify-content:space-between;gap:7px;padding:13px 2px 0}.mini-bar-group{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;color:#939b96;font-size:9px}.mini-bar-track{height:104px;width:100%;display:flex;align-items:flex-end;justify-content:center}.mini-chart.values-hidden .mini-bar{visibility:hidden}.mini-bar{width:min(22px,74%);border-radius:5px 5px 2px 2px;min-height:0;background:linear-gradient(180deg,#76b99b,#378467);transition:height .25s}.mini-bar-group:nth-child(3n) .mini-bar{background:linear-gradient(180deg,#98cbb2,#5b9d7c)}.chart-caption{border-top:1px solid #f0f2ef;padding-top:13px;margin-top:9px;display:flex;justify-content:space-between;color:#8b9690;font-size:10px;align-items:center}.chart-caption>span,.chart-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#4e9c78}.text-button{border:0;background:transparent;color:#397a60;font-size:10px;font-weight:700;padding:4px 0}.text-button b{padding-left:4px;font-size:14px;font-weight:400}.count-pill{background:#edf5ef;border-radius:15px;min-width:24px;height:24px;color:#39775c;display:grid;place-items:center;font-size:10px;font-weight:700}.reminder-list{margin-top:15px;display:grid;gap:7px}.reminder-item{min-width:0;display:flex;align-items:center;gap:10px;border:1px solid #f0f2ef;border-radius:9px;padding:9px}.reminder-avatar{width:30px;height:30px;font-size:11px;border-radius:9px}.reminder-main{flex:1;min-width:0;display:grid;gap:3px}.reminder-main strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-main span{font-size:9px;color:#ac795b}.send-message{width:27px;height:27px;border-radius:8px;background:#eaf5ef;color:#36795b;display:grid;place-items:center;text-decoration:none;font-size:15px}.send-message:hover{background:#dcefe4}.status-dot{width:7px;height:7px;border-radius:50%;background:#e2a076}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:15px}.schedule-panel{min-height:210px}.compact-schedule{display:grid;margin-top:10px}.appointment-row{display:flex;align-items:center;gap:14px;min-height:68px;border-bottom:1px solid #f0f2ef}.appointment-row:last-child{border-bottom:0}.appointment-datebox{width:76px;padding:8px 9px;background:#f5f8f5;border-radius:8px;display:grid;gap:4px}.appointment-datebox strong{color:#2d674f;font-size:12px}.appointment-datebox span{color:#929c95;font-size:9px;text-transform:capitalize}.appointment-info{min-width:0;flex:1;display:grid;gap:4px}.appointment-info strong{font-size:11px}.appointment-info span{color:#909a94;font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:5px 8px;width:fit-content;color:#41805f;background:#eaf5ee;font-size:9px;font-weight:600;white-space:nowrap}.status-badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-badge.due_soon{color:#ae7549;background:#fbf1e7}.status-badge.expired,.status-badge.unpaid{color:#b45c54;background:#fbefed}.appointment-state{color:#828d86;font-size:9px;min-width:52px;text-align:right}.appointment-state.completed{color:#4d8c6b}.quick-action-card{position:relative;min-height:210px;overflow:hidden;background:linear-gradient(130deg,#246f57,#174e41);border-radius:13px;padding:20px;color:#fff}.quick-content{position:relative;z-index:1;max-width:290px}.quick-icon{display:grid;place-items:center;width:29px;height:29px;color:#d9f2e4;background:#ffffff19;border:1px solid #ffffff25;border-radius:9px;font-size:15px}.quick-content>p{margin:13px 0 5px;font-size:9px;color:#d4e9dc}.quick-content h2{max-width:270px;margin:0 0 15px;font:600 15px/1.4 Manrope,sans-serif}.quick-content .button{min-height:34px;font-size:10px}.quick-orb{position:absolute;border-radius:50%;border:1px solid #ffffff18}.orb-one{width:180px;height:180px;right:-42px;top:-67px}.orb-two{width:130px;height:130px;right:-19px;top:-40px}.list-panel{padding:22px}.list-heading{align-items:center}.list-heading .button{flex:0 0 auto}.list-toolbar{display:flex;justify-content:space-between;align-items:center;margin:20px 0 8px;gap:12px}.segmented{display:flex;background:#f3f5f3;border-radius:8px;padding:3px}.segmented button{border:0;background:transparent;color:#87918a;padding:6px 12px;border-radius:6px;font-size:10px}.segmented button.selected{background:#fff;color:#327356;box-shadow:0 1px 3px #14241a12;font-weight:700}.result-count{color:#929b96;font-size:10px}.appointments-list{border-top:1px solid #f0f2f0}.appointment-wrap{display:flex;align-items:center;gap:15px;border-bottom:1px solid #f0f2f0}.appointment-wrap .appointment-row{flex:1;border:0}.row-actions{display:flex;gap:10px}.row-actions button{border:0;background:transparent;color:#468167;font-size:10px}.row-actions .danger-action{color:#bb7064}.search-box{width:min(280px,70%);height:35px;border:1px solid #e9ede9;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#86928b}.search-box>span{font-size:20px;line-height:1}.search-box input{border:0;outline:0;min-width:0;width:100%;font-size:10px;color:#344139;background:transparent}.client-list{border-top:1px solid #f0f2f0}.client-card{display:flex;align-items:center;min-height:70px;gap:11px;border-bottom:1px solid #f0f2f0}.client-avatar{width:34px;height:34px;border-radius:11px;background:#edf3ee;color:#497b5f;font-size:12px}.client-main{flex:1;min-width:120px;display:grid;gap:5px}.client-main strong{font-size:11px}.client-main>span,.client-plan small{font-size:9px;color:#919b95}.client-plan{display:grid;gap:5px;width:170px}.client-plan>span{font-size:10px;color:#4f5c55}.client-actions{display:flex;align-items:center;gap:4px;margin-left:8px}.small-link{border:0;background:#edf6f0;color:#347453;border-radius:7px;min-height:28px;padding:0 8px;font-size:9px;font-weight:600;white-space:nowrap}.more-button{border:0;background:transparent;color:#829087;width:25px;height:27px;border-radius:6px;font-size:13px}.more-button:hover{background:#f1f5f1;color:#386e54}.delete-button:hover{background:#fff0ed;color:#bb5549}.finance-top{display:flex;align-items:flex-end;justify-content:space-between;margin:3px 0 20px}.finance-top h2{margin-top:3px}.finance-controls{display:flex;align-items:center;gap:9px}.privacy-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:31px;padding:0 10px;border:1px solid #e9ede9;border-radius:8px;background:#fff;color:#596a61;font-size:10px;font-weight:600;white-space:nowrap}.privacy-toggle:hover{background:#f1f6f2}.privacy-toggle>span{font-size:14px;line-height:1}.finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.annual-panel{padding:22px;margin-bottom:16px}.chart-legend{display:flex;gap:15px;padding-top:3px;color:#849088;font-size:9px;white-space:nowrap}.expense-legend{background:#e7b393}.annual-chart{height:250px;display:flex;gap:10px;align-items:stretch;padding:18px 2px 0}.annual-month{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}.annual-values{height:20px;max-width:100%;color:#75847c;font-size:8px;text-align:center;white-space:nowrap;overflow:hidden}.annual-values .negative-value{color:#c27464}.annual-values .muted-value{color:#bec5c0}.annual-bar-box{height:190px;width:100%;border-bottom:1px solid #e9ede9;position:relative;display:flex;align-items:flex-end;justify-content:center;background:repeating-linear-gradient(to bottom,transparent 0,transparent 46px,#f3f5f3 47px,transparent 48px)}.annual-bars{height:100%;display:flex;gap:3px;align-items:flex-end;justify-content:center;width:100%}.annual-chart.values-hidden .annual-bars{visibility:hidden}.annual-bar{width:min(17px,37%);border-radius:4px 4px 0 0;min-height:0;transition:height .2s ease}.annual-bar.received{background:linear-gradient(180deg,#78b99a,#45866a)}.annual-bar.expenses{background:linear-gradient(180deg,#f0c7aa,#d89b77)}.annual-month-label{padding-top:8px;color:#929c96;font-size:9px;text-transform:capitalize}.best-month{display:flex;align-items:center;gap:9px;background:#f1f7f2;padding:11px 13px;border-radius:9px;margin-top:17px;color:#728079;font-size:10px}.best-month strong{color:#347252}.best-month-icon{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#dcefe2;color:#47865f}.finance-records{padding-bottom:8px}.record-actions{display:flex;gap:7px}.record-actions .button{min-height:33px;padding:0 10px;font-size:10px}.record-tabs{display:flex;border-bottom:1px solid #edf0ed;margin-top:16px;gap:20px}.record-tabs button{border:0;padding:10px 0;border-bottom:2px solid transparent;color:#909a94;background:transparent;font-size:10px}.record-tabs button.selected{color:#327253;border-color:#398361;font-weight:700}.transaction-list{display:grid}.transaction-row{display:flex;align-items:center;gap:11px;min-height:57px;border-bottom:1px solid #f0f2f0}.transaction-row:last-child{border-bottom:0}.transaction-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;font-size:14px}.transaction-icon.income{color:#468460;background:#eaf5ed}.transaction-icon.outflow{color:#bc8062;background:#faf0e9}.transaction-icon.pending-icon{color:#a77a38;background:#fbf4e5}.transaction-description{flex:1;min-width:0;display:grid;gap:4px}.transaction-description strong{font-size:10px}.transaction-description span{color:#939c96;font-size:9px}.transaction-amount{color:#397858;font-size:10px;white-space:nowrap}.expense-amount{color:#b47557}.pending-amount{color:#a77a38}.receive-button{min-height:28px}.empty-state{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 10px}.empty-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#eff6f0;color:#53836a;font-size:18px;margin-bottom:10px}.empty-state>strong{font:700 12px Manrope,sans-serif}.empty-state>p{max-width:260px;color:#929c96;font-size:10px;line-height:1.55;margin:5px 0 12px}.empty-state .button{min-height:32px}.modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;background:#13251e66;display:grid;place-items:center;padding:18px;overflow:auto}.modal{width:min(510px,100%);max-height:min(90vh,800px);overflow:auto;background:#fff;border-radius:15px;box-shadow:0 24px 70px #101d1733;padding:23px;animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:21px}.modal-heading h2{margin:3px 0 0;font:700 19px Manrope,sans-serif}.modal-close{width:29px;height:29px;border:0;background:#f3f5f3;color:#748078;border-radius:8px;font-size:20px;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.form-field{display:grid;gap:6px;min-width:0;color:#58665e;font-size:10px;font-weight:600}.form-field>span i{color:#bf765c;font-style:normal}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #e5eae5;border-radius:8px;background:#fff;color:#334039;min-height:38px;padding:8px 10px;font-size:11px;outline:0}.form-field textarea{resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#b0b8b2}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#7fb398;box-shadow:0 0 0 3px #4a9b6e14}.full-width{grid-column:1 / -1}.form-hint{grid-column:1 / -1;margin:0;padding:10px;border-radius:8px;background:#f1f7f2;color:#718078;line-height:1.5;font-size:10px}.form-error{margin-top:14px;color:#b04e43;background:#fff1ef;border-radius:7px;padding:9px 10px;font-size:10px}.modal-footer{display:flex;justify-content:flex-end;gap:7px;border-top:1px solid #eef0ee;padding-top:16px;margin-top:21px}.mobile-nav{display:none}@media(min-width:1440px){.content-wrap{padding-left:68px;padding-right:68px}}@media(max-width:1050px){.sidebar{width:210px}.main-area{margin-left:210px}.content-wrap{padding-left:3.5%;padding-right:3.5%}.stats-grid{gap:9px}.stat-card{padding:14px 12px}.stat-card>strong{font-size:18px}.client-plan{width:140px}.status-badge{font-size:8px;padding:5px 6px}}@media(max-width:760px){body{background:#f7f8f5}.sidebar{display:none}.main-area{margin-left:0;padding-bottom:72px}.topbar{height:58px;padding:0 17px;justify-content:space-between;background:#fff}.mobile-brand{display:block;width:78px;height:48px}.mobile-brand .brand{min-height:48px;width:78px;border-radius:8px}.mobile-brand .brand img{height:46px}.topbar-date{font-size:10px;margin-left:auto}.notification-button{margin-left:12px;width:32px;height:32px}.sign-out-button{min-height:31px;margin-left:6px;padding:0 8px}.content-wrap{padding:23px 16px 28px}.page-heading{align-items:flex-end;margin-bottom:18px}.page-heading h1{font-size:22px}.page-heading p:not(.eyebrow){font-size:10px;max-width:240px;line-height:1.45}.heading-action{min-height:34px;padding:0 10px;font-size:9px;white-space:nowrap}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:11px}.stat-card{padding:13px;border-radius:11px}.stat-card>strong{font-size:clamp(16px,5vw,20px);margin-top:10px}.stat-top{font-size:9px}.stat-icon{width:24px;height:24px}.dashboard-grid,.bottom-grid{grid-template-columns:1fr;gap:11px;margin-bottom:11px}.chart-panel,.reminders-panel,.schedule-panel{padding:16px}.mini-chart{height:130px;gap:4px}.mini-bar-track{height:95px}.mini-bar{width:min(17px,80%)}.reminders-panel .empty-state{min-height:140px}.quick-action-card{min-height:185px}.quick-content h2{max-width:245px}.panel-heading h2{font-size:14px}.panel-heading>div>p:not(.eyebrow){font-size:9px}.list-panel{padding:16px}.desktop-only{display:none}.list-heading{align-items:center}.list-toolbar{margin-top:17px}.client-card{position:relative;min-height:91px;padding:11px 0;flex-wrap:wrap;gap:8px}.client-avatar{width:32px;height:32px}.client-main{min-width:calc(100% - 52px);flex:1}.client-main strong{font-size:11px}.client-main>span{font-size:9px}.client-plan{margin-left:40px;width:auto;flex:1;gap:3px}.client-plan>span{font-size:9px}.client-plan small{font-size:8px}.client-card>.status-badge{position:absolute;top:17px;right:0}.client-actions{margin-left:auto;gap:3px}.small-link{min-height:26px;font-size:8px}.appointment-wrap{gap:5px}.appointment-wrap .appointment-row{gap:8px}.appointment-datebox{width:58px;padding:7px 5px;text-align:center}.appointment-datebox strong{font-size:11px}.appointment-datebox span{font-size:8px}.appointment-info strong{font-size:10px}.appointment-info span{font-size:9px;max-width:130px}.appointment-wrap .status-badge{font-size:7px;padding:4px 5px}.appointment-state{min-width:auto;font-size:8px}.row-actions{gap:3px}.row-actions button{padding:5px 3px;font-size:9px}.finance-top{margin-bottom:16px}.finance-top h2{font-size:20px}.finance-controls{gap:5px}.privacy-toggle{gap:4px;padding:0 7px;font-size:9px}.finance-stats{grid-template-columns:1fr}.finance-stats .stat-card{display:grid;grid-template-columns:1fr auto;align-items:center;padding:12px 14px}.finance-stats .stat-top{grid-column:1;grid-row:1}.finance-stats .stat-icon{grid-column:2;grid-row:1 / span 2}.finance-stats .stat-card>strong{grid-column:1;grid-row:2;font-size:18px;margin:5px 0 0}.finance-stats .stat-card>small{grid-column:1;grid-row:3}.annual-panel{padding:15px 11px}.annual-panel .panel-heading{flex-direction:column;gap:11px}.annual-chart{gap:3px;height:224px;padding-top:14px}.annual-bar-box{height:164px}.annual-values{font-size:7px}.annual-month-label,.chart-legend{font-size:8px}.best-month{font-size:9px;align-items:flex-start;line-height:1.5}.best-month-icon{flex:0 0 auto}.finance-records .panel-heading{align-items:flex-start}.record-actions{gap:4px}.record-actions .button{min-height:30px;padding:0 7px;font-size:9px}.transaction-row{gap:7px}.transaction-description strong,.transaction-amount{font-size:9px}.transaction-description span{font-size:8px}.record-tabs{gap:14px}.record-tabs button{font-size:9px}.transaction-row .receive-button{padding:0 6px;font-size:8px}.mobile-nav{position:fixed;display:flex;z-index:10;inset:auto 0 0;height:64px;background:#fff;border-top:1px solid #e8ede9;padding:5px max(10px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));justify-content:space-around;box-shadow:0 -5px 20px #23382c08}.mobile-nav .nav-button{width:25%;min-height:48px;flex-direction:column;justify-content:center;gap:3px;padding:4px 2px;border-radius:8px;font-size:8px}.mobile-nav .nav-icon{font-size:18px;height:19px}.mobile-nav .nav-badge{position:absolute;top:1px;left:calc(50% + 9px);min-width:14px;height:14px;font-size:7px}body:has(#nl-badge-frame) .main-area{padding-bottom:152px}body:has(#nl-badge-frame) .mobile-nav{bottom:80px}.modal-backdrop{align-items:end;padding:0}.modal{max-height:91vh;width:100%;border-radius:17px 17px 0 0;padding:20px 17px calc(17px + env(safe-area-inset-bottom))}.modal-heading h2{font-size:17px}}@media(max-width:390px){.content-wrap{padding-left:12px;padding-right:12px}.page-heading{gap:8px}.page-heading h1{font-size:20px}.heading-action{padding:0 8px;font-size:8px}.stat-card{padding:11px}.stat-card>strong{font-size:16px}.chart-panel,.reminders-panel,.schedule-panel{padding:13px}.annual-chart{gap:1px}.annual-bar{width:min(12px,40%)}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.appointment-wrap .appointment-state{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}html[data-theme=dark]{color-scheme:dark;--text: #e6eee9;--muted: #aab8b0;--line: #363943;--surface: #20232b;color:var(--text);background:#15171d}html[data-theme=dark] body{background:#15171d;color:var(--text)}html[data-theme=dark] .auth-screen{background:#15171d}html[data-theme=dark] .auth-screen:before{opacity:.16;mix-blend-mode:soft-light}html[data-theme=dark] .auth-card{background:#20232b;border-color:#30333d;box-shadow:0 18px 50px #00000024}html[data-theme=dark] .auth-card h1{color:#e7efe9}html[data-theme=dark] .auth-description,html[data-theme=dark] .auth-footnote,html[data-theme=dark] .auth-loading{color:#aab8b0}html[data-theme=dark] .auth-password-label{color:#c4d0c8}html[data-theme=dark] .auth-card input{color:#e2ebe5;background:#252832;border-color:#3b3e49}html[data-theme=dark] .auth-link{color:#a9ddbd}html[data-theme=dark] .auth-link:hover{color:#c4ebd2}html[data-theme=dark] .auth-notice{color:#c0e5ca;background:#29362e;border-color:#405444}html[data-theme=dark] .sidebar,html[data-theme=dark] .topbar,html[data-theme=dark] .mobile-nav,html[data-theme=dark] .modal{background:#1b1e26;border-color:#30333d}html[data-theme=dark] .brand{background:#fff;border-color:#fff}html[data-theme=dark] .topbar{background:#1b1e26eb}html[data-theme=dark] .brand-word,html[data-theme=dark] .page-heading h1,html[data-theme=dark] .finance-top h2,html[data-theme=dark] .stat-card>strong,html[data-theme=dark] .panel-heading h2,html[data-theme=dark] .modal-heading h2,html[data-theme=dark] .transaction-description strong,html[data-theme=dark] .client-main strong,html[data-theme=dark] .appointment-info strong,html[data-theme=dark] .reminder-main strong,html[data-theme=dark] .sidebar-bottom strong,html[data-theme=dark] .empty-state>strong{color:#e7efe9}html[data-theme=dark] .brand-word small,html[data-theme=dark] .workspace-label,html[data-theme=dark] .sidebar-bottom div:nth-child(2) span{color:#aab8b0}html[data-theme=dark] .nav-button{color:#b0beb6}html[data-theme=dark] .nav-button:hover{background:#282b34;color:#e3eee7}html[data-theme=dark] .nav-button.active{color:#9bdbb8;background:#2a3038}html[data-theme=dark] .sidebar-bottom,html[data-theme=dark] .client-list,html[data-theme=dark] .appointments-list,html[data-theme=dark] .appointment-wrap,html[data-theme=dark] .appointment-row,html[data-theme=dark] .transaction-row,html[data-theme=dark] .record-tabs,html[data-theme=dark] .chart-caption{border-color:#30333d}html[data-theme=dark] .topbar-date,html[data-theme=dark] .page-heading p:not(.eyebrow),html[data-theme=dark] .finance-top>div>p:not(.eyebrow),html[data-theme=dark] .panel-heading>div>p:not(.eyebrow),html[data-theme=dark] .client-main>span,html[data-theme=dark] .client-plan small,html[data-theme=dark] .appointment-info span,html[data-theme=dark] .appointment-datebox span,html[data-theme=dark] .transaction-description span,html[data-theme=dark] .result-count,html[data-theme=dark] .empty-state>p,html[data-theme=dark] .chart-caption,html[data-theme=dark] .chart-legend,html[data-theme=dark] .annual-month-label,html[data-theme=dark] .mini-bar-group,html[data-theme=dark] .loading-state{color:#aab8b0}html[data-theme=dark] .eyebrow{color:#a8b9af}html[data-theme=dark] .theme-toggle,html[data-theme=dark] .privacy-toggle,html[data-theme=dark] .notification-button,html[data-theme=dark] .sign-out-button,html[data-theme=dark] .year-picker,html[data-theme=dark] .search-box,html[data-theme=dark] .modal-close{background:#252832;border-color:#383b46;color:#d4e2d9}html[data-theme=dark] .theme-toggle:hover,html[data-theme=dark] .privacy-toggle:hover,html[data-theme=dark] .notification-button:hover,html[data-theme=dark] .sign-out-button:hover,html[data-theme=dark] .modal-close:hover{background:#30333d}html[data-theme=dark] .year-picker button{color:#c2d0c8}html[data-theme=dark] .button-outline{background:#252832;border-color:#3c404b;color:#a9ddbd}html[data-theme=dark] .button-quiet{color:#c0ccc4}html[data-theme=dark] .button-light{background:#e4f1e8;color:#225b42}html[data-theme=dark] .stat-card{background:#252930;border-color:#363a43}html[data-theme=dark] .stat-card.blue{background:#243442;border-color:#304656}html[data-theme=dark] .stat-card.lavender{background:#302d40;border-color:#403a53}html[data-theme=dark] .stat-card.peach{background:#3a3029;border-color:#504033}html[data-theme=dark] .stat-top{color:#bac9c0}html[data-theme=dark] .stat-icon{background:#ffffff14}html[data-theme=dark] .panel{background:#20232b;border-color:#30333d;box-shadow:0 2px 12px #00000012}html[data-theme=dark] .mini-bar-track,html[data-theme=dark] .annual-bar-box{background-color:transparent}html[data-theme=dark] .appointment-datebox,html[data-theme=dark] .segmented,html[data-theme=dark] .modal-close{background:#262a33}html[data-theme=dark] .segmented button{color:#b0beb6}html[data-theme=dark] .segmented button.selected{background:#363a45;color:#b5e2c5;box-shadow:none}html[data-theme=dark] .status-badge.paid{color:#a4dfb8;background:#244333}html[data-theme=dark] .status-badge.due_soon{color:#edc18e;background:#443726}html[data-theme=dark] .status-badge.expired,html[data-theme=dark] .status-badge.unpaid{color:#efaaa0;background:#472f2c}html[data-theme=dark] .reminder-item{background:#252831;border-color:#383b45}html[data-theme=dark] .reminder-main span{color:#e5b78c}html[data-theme=dark] .send-message{color:#a9dfbb;background:#30343c}html[data-theme=dark] .send-message:hover{background:#3a3e48}html[data-theme=dark] .status-dot{background:#e2a076}html[data-theme=dark] .client-avatar,html[data-theme=dark] .reminder-avatar,html[data-theme=dark] .coach-avatar{color:#b9e4c7;background:#343941}html[data-theme=dark] .client-plan>span{color:#d1ddd5}html[data-theme=dark] .small-link{color:#b4e2c2;background:#30343c}html[data-theme=dark] .small-link:hover{background:#3b3f49}html[data-theme=dark] .more-button{color:#b3c0b8}html[data-theme=dark] .more-button:hover{color:#c2e8ce;background:#30343d}html[data-theme=dark] .more-button.delete-button:hover{color:#ffb4a9;background:#49312d}html[data-theme=dark] .text-button{color:#a5d9b7}html[data-theme=dark] .quick-action-card{background:linear-gradient(130deg,#205d48,#143d34)}html[data-theme=dark] .best-month{background:#292d35;color:#bfcec4}html[data-theme=dark] .best-month strong{color:#b5e2c4}html[data-theme=dark] .best-month-icon{color:#b4dfc1;background:#3a3e47}html[data-theme=dark] .transaction-icon.income{color:#a5ddb6;background:#30363a}html[data-theme=dark] .transaction-icon.outflow{color:#edb795;background:#443329}html[data-theme=dark] .transaction-icon.pending-icon{color:#edcc8c;background:#443b29}html[data-theme=dark] .transaction-amount{color:#a8dfb9}html[data-theme=dark] .transaction-amount.expense-amount{color:#edb795}html[data-theme=dark] .transaction-amount.pending-amount{color:#edcc8c}html[data-theme=dark] .record-tabs button{color:#afbbb4}html[data-theme=dark] .record-tabs button.selected{color:#b5e2c5;border-color:#73b58c}html[data-theme=dark] .annual-values{color:#bdcbc2}html[data-theme=dark] .annual-values .muted-value{color:#86968c}html[data-theme=dark] .annual-bar-box{border-color:#383b45;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 46px,#30333d 47px,transparent 48px)}html[data-theme=dark] .form-field{color:#c4d0c8}html[data-theme=dark] .form-field input,html[data-theme=dark] .form-field select,html[data-theme=dark] .form-field textarea{color:#e2ebe5;background:#252832;border-color:#3b3e49}html[data-theme=dark] .form-field input::placeholder,html[data-theme=dark] .form-field textarea::placeholder{color:#89988f}html[data-theme=dark] .form-hint{color:#c0cec5;background:#292d34}html[data-theme=dark] .search-box input{color:#e2ebe5}html[data-theme=dark] .search-box input::placeholder{color:#98a69d}html[data-theme=dark] .alert-error{color:#ffc1b4;background:#422d29;border-color:#66423a}html[data-theme=dark] .mobile-nav{box-shadow:0 -5px 20px #00000020}html[data-theme=dark] .online-dot{background:#57c993}html[data-theme=dark] .quick-action-card{background:linear-gradient(130deg,#7a2434,#421923)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 10px;margin-left:14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#53645c;font-size:11px;font-weight:600}.theme-toggle>span:first-child{font-size:16px;line-height:1}.theme-toggle:hover{background:#f1f6f2}@media(max-width:760px){.theme-toggle{width:33px;min-width:33px;height:33px;min-height:33px;padding:0;margin-left:8px;border-radius:9px}.theme-toggle-label{display:none}}
