:root{color-scheme:light;--bg: #fbfaf7;--bg-wash-a: rgba(221, 232, 226, .75);--bg-wash-b: rgba(235, 229, 213, .9);--text: #25231f;--muted: #777064;--panel: rgba(255, 254, 250, .92);--panel-solid: #fffefa;--surface: #fffdf8;--soft: #f7f3eb;--soft-active: #e8f0ea;--border: #e7e1d6;--border-strong: #e2dbce;--line: #eee8dd;--brand: #243b35;--brand-contrast: #fbfaf7;--accent: #2f7d68;--accent-soft: #eaf4ef;--accent-border: #b8d8ca;--nav-text: #514c43;--nav-active: #19372f;--ring-track: #e9e4db;--shadow: rgba(59, 53, 43, .07);--modal-shadow: rgba(29, 25, 20, .26);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color-scheme:dark;--bg: #151816;--bg-wash-a: rgba(66, 101, 87, .32);--bg-wash-b: rgba(96, 83, 58, .26);--text: #f2eee6;--muted: #b8afa1;--panel: rgba(31, 35, 32, .92);--panel-solid: #242923;--surface: #20251f;--soft: #2a3029;--soft-active: #31433b;--border: #3d433b;--border-strong: #4b5249;--line: #3a4038;--brand: #dceee7;--brand-contrast: #16201c;--accent: #8fc8b0;--accent-soft: #263a32;--accent-border: #4e7c69;--nav-text: #ddd5c8;--nav-active: #f4efe7;--ring-track: #394139;--shadow: rgba(0, 0, 0, .25);--modal-shadow: rgba(0, 0, 0, .45)}*{box-sizing:border-box}h1,h2,h3,p,span,strong,small,button{overflow-wrap:break-word}html,body,#root{max-width:100%;overflow-x:clip}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:linear-gradient(120deg,var(--bg-wash-a),transparent 34%),linear-gradient(240deg,var(--bg-wash-b),transparent 28%),var(--bg)}button,input,select{font:inherit}select{appearance:none;-webkit-appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23514c43' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:18px 18px}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:22px;width:264px;height:100vh;padding:24px 18px;border-right:1px solid var(--border);background:color-mix(in srgb,var(--panel-solid) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20}.brand,.panel-header div,.metric,.nav-item,.topbar,.topbar-actions,.metric-row,.movement,.task,.quick-modal header{display:flex;align-items:center}.brand{gap:12px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:var(--brand-contrast);background:var(--brand);font-weight:800}.brand strong,.panel h2,.quick-modal h2{display:block;margin:0;font-size:1rem}.brand span,.eyebrow,.task span,.progress-item span,.movement small,.habit-grid span,.day span,.metric span,.routine span,.sidebar-card span,.ring span{color:var(--muted);font-size:.82rem}.nav-list{display:grid;gap:6px}.nav-item{gap:11px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:12px;color:var(--nav-text);background:transparent;text-align:left}.nav-item:hover,.nav-item.active,.bottom-nav button.active{color:var(--nav-active);background:var(--soft-active)}.sidebar-card{display:grid;gap:6px;margin-top:auto;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.content{flex:1;min-width:0;padding:24px}.topbar{justify-content:space-between;gap:18px;margin:0 auto 22px;max-width:1180px}.topbar h1{margin:0;font-size:clamp(1.7rem,2.4vw,2.45rem);line-height:1.05}.eyebrow{margin:0 0 5px;font-weight:700;text-transform:uppercase}.topbar-actions{gap:8px}.search{display:flex;align-items:center;gap:8px;width:230px;height:42px;padding:0 12px;border:1px solid var(--border-strong);border-radius:13px;color:var(--text);background:var(--panel-solid)}.search input{width:100%;border:0;outline:0;color:var(--text);background:transparent}.icon-button,.ghost-button,.language-button{border:1px solid var(--border-strong);color:var(--text);background:var(--panel-solid)}.icon-button{display:grid;width:42px;height:42px;place-items:center;border-radius:13px}.icon-button.small{width:32px;height:32px;border-radius:10px}.icon-button.danger{color:#8f352d}.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:48px;min-height:32px;padding:0 10px;border-radius:10px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:0;border-radius:12px;color:var(--brand-contrast);background:var(--brand);font-weight:800}.primary-button.danger{background:#8f352d}.primary-button.compact{min-height:36px;padding:0 12px;border-radius:10px}.language-button{display:inline-flex;align-items:center;gap:7px;min-width:72px;height:42px;justify-content:center;border-radius:13px;font-weight:800}.page-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;max-width:1180px;margin:0 auto;padding-bottom:92px}.app-footer{display:flex;align-items:center;justify-content:center;gap:8px;max-width:1180px;margin:-54px auto 28px;padding:0 16px;color:var(--muted);font-size:.86rem}.app-footer strong{color:var(--brand);font-weight:800}.footer-dot{width:5px;height:5px;border-radius:50%;background:var(--border-strong)}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.panel,.hero-panel{border:1px solid var(--border);border-radius:18px;background:var(--panel);box-shadow:0 18px 45px var(--shadow)}.panel{padding:16px}.panel-featured{border-color:color-mix(in srgb,var(--accent-border) 70%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 50%,transparent),transparent 42%),var(--panel)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-header div{gap:9px;min-width:0}.panel-header h2{min-width:0}.hero-panel{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:end;min-height:252px;padding:28px;color:#f8f4eb;background:linear-gradient(130deg,#1f3730f2,#31594ed6),url(https://images.unsplash.com/photo-1499750310107-5fef28a66643?auto=format&fit=crop&w=1500&q=80);background-position:center;background-size:cover;overflow:hidden}.hero-panel .eyebrow,.hero-panel p{color:#f8f4ebd1}.hero-panel h2{max-width:570px;margin:0;font-size:clamp(2rem,4vw,4.3rem);line-height:.98}.hero-panel p{max-width:570px;margin:15px 0 0}.hero-action{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:22px;padding:0 15px;border:1px solid rgba(255,255,255,.22);border-radius:13px;color:#f8f4eb;background:#ffffff24;font-weight:800;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.today-hero{display:grid;min-width:0;gap:18px;padding:24px;border:1px solid color-mix(in srgb,var(--accent-border) 70%,var(--border));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 68%,transparent),transparent 44%),var(--panel);box-shadow:0 18px 45px var(--shadow)}.today-hero h2{min-width:0;max-width:680px;margin:0;font-size:clamp(2rem,4vw,3.7rem);line-height:1;overflow-wrap:anywhere}.today-hero p:not(.eyebrow){min-width:0;max-width:760px;margin:12px 0 0;color:var(--muted);overflow-wrap:anywhere}.today-primary-action{flex:0 0 auto;min-width:150px}.guided-state{display:grid;justify-items:start;gap:10px;min-height:184px;align-content:center;padding:18px;border:1px dashed var(--border-strong);border-radius:16px;background:var(--surface)}.guided-state strong{font-size:1.1rem}.guided-state span{max-width:560px;color:var(--muted)}.today-count{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:999px;color:var(--nav-active);background:var(--accent-soft);font-size:.84rem;font-weight:900}.onboarding-panel{display:grid;gap:18px;align-content:center;min-height:252px;padding:18px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--panel) 88%,var(--accent-soft));box-shadow:0 18px 45px var(--shadow)}.onboarding-panel h2{margin:4px 0 0;font-size:1.35rem;line-height:1.12}.onboarding-actions{display:grid;gap:10px}.onboarding-actions button{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:48px;padding:0 12px;border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--panel-solid);font-weight:800;text-align:left;box-shadow:0 10px 24px var(--shadow)}.onboarding-actions button:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));transform:translateY(-1px)}.home-first-steps{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:18px;padding:18px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--panel) 92%,var(--accent-soft));box-shadow:0 18px 45px var(--shadow)}.home-first-steps h2{margin:4px 0 0;font-size:1.2rem;line-height:1.12}.home-first-steps .onboarding-actions{grid-template-columns:repeat(3,minmax(180px,1fr));width:min(620px,100%);min-width:min(620px,60%)}.metric{align-items:flex-start;flex-direction:column;min-height:104px;padding:14px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:#ffffff1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.metric strong{margin-top:auto;font-size:1.15rem}.metric-row{justify-content:space-between;min-height:42px;border-bottom:1px solid var(--line)}.metric-row:last-child{border-bottom:0}.positive{color:var(--accent)}.task-list,.movement-list,.budget-list{display:grid;gap:10px}.file-input{display:none}.data-tools{display:flex;align-items:center;justify-content:space-between;gap:14px}.data-tools>span{color:var(--muted)}.data-tools>div{display:flex;flex-wrap:wrap;gap:10px}.auth-panel,.auth-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.auth-card{align-items:stretch;flex-direction:column;padding:14px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 58%,transparent),transparent 45%),var(--surface)}.auth-card.connected{align-items:center;flex-direction:row}.auth-card-header{display:flex;align-items:center;gap:12px}.auth-card-icon{display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;border-radius:13px;color:var(--nav-active);background:var(--accent-soft)}.auth-card-copy,.auth-panel>div{display:grid;gap:4px;min-width:0}.auth-card-copy span,.auth-panel span,.auth-message,.auth-note{color:var(--muted);font-size:.88rem}.sync-pill{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;border-radius:999px;color:var(--nav-active);background:var(--soft-active);font-weight:800}.sync-pill.success{color:var(--nav-active);background:var(--accent-soft)}.sync-pill.loading{color:#67510f;background:#fff2c5}.sync-pill.error{color:#8f352d;background:#ffe3df}:root[data-theme=dark] .sync-pill.loading{color:#f7df8d;background:#473b19}:root[data-theme=dark] .sync-pill.error{color:#ffb4ab;background:#4a2521}.auth-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-form label{display:grid;gap:6px}.auth-form label span{color:var(--muted);font-size:.82rem;font-weight:800}.auth-form input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border-strong);border-radius:12px;color:var(--text);background:var(--surface)}.auth-form .form-actions,.auth-message,.auth-note{grid-column:1 / -1}.auth-message,.auth-note{display:inline-flex;align-items:center;gap:7px}.auth-message{min-height:36px;padding:0 10px;border-radius:12px;font-weight:700}.auth-message.success{color:var(--nav-active);background:var(--accent-soft)}.auth-message.error{color:#8f352d;background:#ffe3df}:root[data-theme=dark] .auth-message.error{color:#ffb4ab;background:#4a2521}.task{align-items:flex-start;gap:11px;min-height:58px;padding:10px;border-radius:14px;background:var(--soft)}.task .priority{margin-top:1px}.task>svg{flex:0 0 auto;margin-top:2px;color:var(--muted)}.task button{width:19px;height:19px;flex:0 0 auto;border:2px solid var(--muted);border-radius:50%;background:transparent}.task div,.movement div{min-width:0;flex:1}.task strong,.movement strong{display:block;overflow:visible;text-overflow:clip;white-space:normal}.priority{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:800}.priority.high{color:#7f3028;background:#ffe2dd}.priority.medium{color:#6d5420;background:#f6e7bd}.priority.low{color:#2f6756;background:#dceee7}.progress-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}.progress-item:last-child{border-bottom:0}.progress-track{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:999px;background:var(--line)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#91b7a7)}.movement{gap:12px;min-height:54px}.movement b{flex:0 0 auto}.item-actions{display:flex;flex:0 0 auto;gap:6px;margin-left:auto}.budget-item{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.budget-topline{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.budget-topline div{display:grid;gap:4px;min-width:0}.budget-topline span{color:var(--muted);font-size:.82rem}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-card{display:grid;gap:14px;min-height:184px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.chart-card>span{color:var(--muted)}.chart-row{display:grid;gap:7px}.chart-row div:first-child{display:flex;justify-content:space-between;gap:10px}.chart-row span{color:var(--muted);font-size:.84rem}.chart-track{height:12px;overflow:hidden;border-radius:999px;background:var(--line)}.chart-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#91b7a7)}.calendar-toolbar,.finance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.month-picker{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:12px;color:var(--text);background:var(--surface);overflow:hidden}.month-picker.compact{min-height:40px;border-radius:11px;background:var(--panel-solid)}.month-picker button{display:grid;width:42px;height:100%;min-height:40px;place-items:center;border:0;color:var(--nav-text);background:transparent}.month-picker button:active{background:var(--accent-soft)}.month-picker span{min-width:0;color:var(--text);font-size:1rem;font-weight:500;text-align:center;text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-filters{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;margin-bottom:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.movement-filters label{display:grid;gap:6px}.movement-filters span{color:var(--muted);font-size:.78rem;font-weight:800}.movement-filters .month-picker span{color:var(--text);font-size:1rem;font-weight:500}.movement-filters input,.movement-filters select{width:100%;min-height:40px;padding:0 10px;border:1px solid var(--border-strong);border-radius:11px;color:var(--text);background-color:var(--panel-solid)}.movement-filters select{padding-right:46px}.project-summary-grid{display:grid;gap:4px;margin-bottom:12px}.project-filters{display:grid;gap:8px;margin-top:12px}.project-filters select{width:100%;min-height:38px;padding:0 46px 0 10px;border:1px solid var(--border-strong);border-radius:11px;color:var(--text);background-color:var(--panel-solid)}.project-list,.project-board-panel,.project-empty,.project-list-empty{display:grid;min-width:0}.project-list{gap:8px}.project-list-empty,.project-empty{gap:10px;min-height:180px;place-items:center;padding:18px;border:1px dashed var(--border-strong);border-radius:14px;color:var(--muted);background:color-mix(in srgb,var(--surface) 72%,transparent);text-align:center}.project-empty strong{color:var(--text);font-size:1.1rem}.project-empty span{max-width:360px}.project-list-item{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.project-list-item.active{border-color:var(--accent-border);background:var(--accent-soft)}.project-list-item>button{display:grid;flex:1;gap:3px;min-width:0;border:0;color:var(--text);background:transparent;text-align:left}.project-list-item span,.project-header span,.project-task-meta span,.kanban-empty,.project-board-hint{color:var(--muted);font-size:.82rem}.project-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin-bottom:12px}.project-header>div{display:grid;gap:5px;min-height:78px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.project-timeline{display:grid;gap:9px;margin-bottom:12px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.project-timeline>div{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.project-timeline button{display:grid;gap:3px;min-width:190px;padding:10px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--panel-solid);text-align:left}.project-timeline button.late,.project-timeline button.blocked{border-color:color-mix(in srgb,#8f352d 42%,var(--border))}.project-timeline small{color:var(--muted)}.project-task-form{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(170px,1fr) minmax(132px,.7fr) minmax(124px,.65fr) auto;gap:8px;margin-bottom:12px;padding:10px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 84%,var(--accent-soft))}.project-task-form input,.project-task-form select,.project-task-form textarea,.project-task-actions select,.quick-form textarea{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--border-strong);border-radius:11px;color:var(--text);background-color:var(--panel-solid)}.project-task-form select,.project-task-actions select{padding-right:46px}.project-task-form textarea{grid-column:1 / -1;min-height:42px;padding:10px;resize:vertical}.quick-form textarea{min-height:88px;padding:10px 12px;resize:vertical}.quick-form label:has(textarea){grid-column:1 / -1}.kanban-board{position:relative;display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;min-width:0;max-width:100%;overflow-x:auto;padding:0 2px 4px}.kanban-column{display:grid;align-content:start;gap:10px;min-height:320px;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--soft)}.kanban-column header{display:flex;align-items:center;justify-content:space-between;gap:8px}.kanban-column header span{display:grid;min-width:28px;height:28px;place-items:center;border-radius:999px;color:var(--nav-active);background:var(--panel-solid);font-size:.8rem;font-weight:800}.project-task-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-solid);box-shadow:0 10px 22px var(--shadow)}.project-task-card[draggable=true]{cursor:grab}.project-task-card[draggable=true]:active{cursor:grabbing}.project-task-card p{margin:5px 0 0;color:var(--muted);font-size:.86rem}.project-checklist{display:grid;gap:4px;margin:0;padding:8px 0 0 18px;color:var(--muted);font-size:.84rem}.project-task-meta,.project-task-actions{display:flex;align-items:center;gap:8px;justify-content:space-between}.project-task-actions select{min-width:0;min-height:36px;padding-right:30px}.kanban-empty,.project-board-hint,.project-board-start{display:block;padding:12px;border:1px dashed var(--border-strong);border-radius:12px;text-align:center}.project-board-hint,.project-board-start{grid-column:1 / -1;background:var(--surface)}.project-board-start{display:grid;gap:8px;min-height:140px;place-items:center;color:var(--muted)}.project-board-start strong{color:var(--text);font-size:1.05rem}.project-board-start span{max-width:360px}.monthly-expenses{display:grid;gap:12px}.monthly-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.monthly-summary-grid .metric-row{display:grid;align-content:center;gap:5px;min-height:92px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.shared-balance-list{display:flex;flex-wrap:wrap;gap:8px}.shared-balance-list span,.shared-balance-list button{display:inline-grid;gap:2px;min-height:32px;padding:7px 10px;border:0;border-radius:999px;color:var(--nav-active);background:var(--accent-soft);font-size:.84rem;font-weight:800;text-align:left}.shared-balance-list button span{min-height:auto;padding:0;border-radius:0;background:transparent;font-size:.78rem;color:var(--muted)}.calendar-toolbar input{min-height:40px;padding:0 10px;border:1px solid var(--border-strong);border-radius:12px;color:var(--text);background:var(--surface)}.segmented-control{display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.segmented-control button,.calendar-week button,.calendar-month button{border:0;color:var(--nav-text);background:transparent}.segmented-control button{min-height:34px;padding:0 12px;border-radius:10px;font-weight:800}.segmented-control button.active,.calendar-week button.active,.calendar-month button.active{color:var(--nav-active);background:var(--soft-active)}.calendar-detail{display:grid}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:8px;overflow-x:auto;padding-bottom:2px}.calendar-week button{display:grid;gap:6px;min-height:94px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:left}.calendar-week b,.calendar-month b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:var(--brand-contrast);background:var(--brand);font-size:.78rem}.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-month button,.calendar-empty-day{display:grid;min-height:68px;align-content:space-between;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left}.calendar-empty-day{opacity:.45;background:transparent}.dot{width:12px;height:12px;border-radius:50%}.sage{background:#79a38f}.blue{background:#7898c3}.amber{background:#d7a84a}.violet{background:#9787c7}.ring-wrap{display:grid;place-items:center;min-height:214px}.ring{display:grid;width:min(208px,62vw);aspect-ratio:1;place-items:center;border-radius:50%}.ring div{display:grid;width:72%;aspect-ratio:1;place-items:center;padding:20px;border-radius:50%;background:var(--panel-solid);text-align:center}.ring strong{font-size:2rem}.goal-target{margin:-8px 0 0;color:var(--muted);text-align:center}.habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.habit-card,.quick-grid button,.routine,.day{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.habit-card{display:grid;gap:6px;min-height:92px;padding:12px;color:var(--nav-text);text-align:left}.habit-card.done{border-color:var(--accent-border);background:var(--accent-soft)}.habit-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:4px}.habit-actions .ghost-button{flex:1 1 auto}.empty-state{display:grid;gap:10px;min-height:154px;place-items:center;padding:18px;border:1px dashed var(--border-strong);border-radius:14px;background:color-mix(in srgb,var(--surface) 72%,transparent);text-align:center}.empty-state span{max-width:340px;color:var(--muted);font-size:.9rem}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));gap:10px;overflow-x:auto;padding-bottom:2px}.week-strip.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.day{display:grid;gap:7px;min-height:98px;padding:13px}.day b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--brand-contrast);background:var(--brand)}.routine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.routine{display:grid;gap:8px;min-height:112px;padding:14px}.fab{position:fixed;right:28px;bottom:28px;z-index:25;display:grid;width:58px;height:58px;place-items:center;border:0;border-radius:20px;color:var(--brand-contrast);background:var(--brand);box-shadow:0 16px 34px #243b3552}.bottom-nav,.mobile-only,.scrim{display:none}.modal-layer{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#23201b5c;overflow:auto}.quick-modal,.confirm-modal,.settings-modal{width:min(520px,100%);max-height:min(760px,calc(100dvh - 40px));overflow:auto;overscroll-behavior:contain;padding:18px;border-radius:22px;background:var(--panel-solid);box-shadow:0 22px 60px var(--modal-shadow)}.quick-modal.context-modal{width:min(620px,100%)}.settings-modal{display:grid;gap:14px;width:min(640px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto}.confirm-modal{align-self:center}.confirm-modal h2{margin:0;font-size:1.15rem}.confirm-modal p{margin:10px 0 18px;color:var(--muted)}.quick-modal header{justify-content:space-between;gap:14px;margin-bottom:16px}.modal-title-block{display:flex;align-items:center;gap:12px;min-width:0}.modal-title-block p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.modal-icon{display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;border-radius:13px;color:var(--nav-active);background:var(--accent-soft)}.settings-modal header{display:flex;align-items:center;justify-content:space-between;gap:14px}.settings-modal h2,.settings-section h3{margin:0}.settings-section{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.settings-section p,.settings-row span{margin:0;color:var(--muted);font-size:.9rem}.settings-row,.settings-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:space-between}.settings-segment{width:fit-content}.danger-section{border-color:color-mix(in srgb,#8f352d 40%,var(--border))}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-grid.type-picker{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.quick-grid button{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 14px;color:var(--text);text-align:left}.quick-grid.type-picker button{justify-content:center;min-height:40px;padding:0 10px;font-weight:800;text-align:center}.quick-grid.type-picker button.selected{border-color:var(--accent-border);background:var(--accent-soft);color:var(--nav-active)}.quick-form{display:grid;gap:12px}.context-form{grid-template-columns:repeat(2,minmax(0,1fr))}.context-form>label:first-child,.context-form .expense-kind-picker,.context-form .split-section,.context-form .form-error,.context-form .form-actions{grid-column:1 / -1}.quick-form label{display:grid;gap:6px}.quick-form label span{color:var(--muted);font-size:.82rem;font-weight:800}.quick-form input,.quick-form select{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border-strong);border-radius:12px;color:var(--text);background-color:var(--surface)}.quick-form select{padding-right:46px}.quick-form label:has(input[readonly]){opacity:.72}.expense-kind-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.expense-kind-picker button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border:1px solid var(--border);border-radius:14px;color:var(--nav-text);background:var(--surface);font-weight:800}.expense-kind-picker button.selected{border-color:var(--accent-border);color:var(--nav-active);background:var(--accent-soft)}.paid-by-picker{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.paid-by-picker button{min-height:40px;border:1px solid var(--border);border-radius:12px;color:var(--nav-text);background:var(--surface);font-weight:800}.paid-by-picker button.selected{border-color:var(--accent-border);color:var(--nav-active);background:var(--accent-soft)}.toast{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:8px;max-width:min(360px,calc(100vw - 28px));min-height:44px;padding:0 14px;border:1px solid var(--accent-border);border-radius:14px;color:var(--nav-active);background:var(--panel-solid);box-shadow:0 18px 45px var(--shadow)}.toast.info{border-color:var(--border-strong)}.split-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 76%,var(--accent-soft))}.split-section-header,.split-preview{grid-column:1 / -1}.split-section-header{display:grid;gap:3px}.split-section-header span{color:var(--muted);font-size:.86rem}.form-error{margin:0;padding:10px 12px;border-radius:12px;color:#8f352d;background:#ffe3df;font-weight:700}.split-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.split-preview span{min-height:38px;padding:9px 10px;border-radius:12px;color:var(--nav-active);background:var(--accent-soft);font-size:.84rem;font-weight:800}:root[data-theme=dark] .form-error{color:#ffb4ab;background:#4a2521}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}@media(max-width:1020px){.sidebar{position:fixed;transform:translate(-105%);transition:transform .18s ease}.sidebar.is-open{transform:translate(0)}.mobile-only,.scrim{display:grid}.scrim{position:fixed;inset:0;z-index:15;border:0;background:#23201b47}.span-4,.span-5,.span-7,.span-8{grid-column:span 6}.project-header,.project-task-form{grid-template-columns:repeat(2,minmax(0,1fr))}.project-task-form .primary-button{grid-column:1 / -1}}@media(max-width:760px){body{overflow-x:hidden}.app-shell{display:block;min-height:100dvh}.content{padding:16px 14px calc(56px + env(safe-area-inset-bottom));max-width:100%;overflow-x:clip}.topbar{align-items:flex-start}.topbar-actions{margin-left:auto}.search,.topbar-actions .icon-button:not(:first-of-type){display:none}.page-grid{grid-template-columns:1fr;gap:12px;width:100%;max-width:100%;overflow-x:clip;padding-bottom:28px}.span-4,.span-5,.span-7,.span-8,.span-12{grid-column:1}.panel,.hero-panel,.onboarding-panel,.today-hero,.home-first-steps{width:100%;min-width:0;max-width:100%;overflow:hidden;border-radius:16px}.panel{padding:14px}.panel-header{align-items:flex-start;flex-wrap:wrap;gap:10px}.panel-header>div{flex:1 1 170px}.panel-header>.ghost-button,.panel-header>.primary-button{width:100%;min-height:44px}.panel-header h2{font-size:1.08rem;line-height:1.18}.hero-panel{grid-template-columns:1fr;min-height:auto;padding:22px}.today-hero{padding:16px;border-radius:16px}.today-hero h2{max-width:100%;font-size:clamp(2rem,10vw,2.75rem);line-height:1.02}.today-hero p:not(.eyebrow){max-width:100%;font-size:1rem;line-height:1.35}.today-primary-action{width:100%;justify-content:center}.guided-state{min-height:164px;justify-items:start;text-align:left}.guided-state .ghost-button{justify-content:center;width:100%}.hero-panel h2{font-size:clamp(2.35rem,13vw,3.8rem);line-height:.98}.hero-panel p{font-size:1rem}.onboarding-panel,.onboarding-actions,.home-first-steps{grid-template-columns:1fr}.home-first-steps{align-items:stretch;flex-direction:column;padding:16px}.home-first-steps .onboarding-actions{grid-template-columns:1fr;width:100%;min-width:0}.hero-stats,.routine-grid,.chart-grid,.habit-grid,.quick-grid{grid-template-columns:1fr}.quick-grid.type-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.context-form,.expense-kind-picker,.split-section,.paid-by-picker,.movement-filters{grid-template-columns:1fr}.modal-layer{align-items:start;padding:10px;padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:calc(10px + env(safe-area-inset-bottom))}.quick-modal,.settings-modal{max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:18px;-webkit-overflow-scrolling:touch}.task,.movement,.budget-topline{flex-wrap:wrap}.data-tools,.auth-panel,.auth-card.connected,.auth-card-header,.calendar-toolbar,.finance-toolbar{align-items:stretch;flex-direction:column}.data-tools>div,.auth-form,.calendar-toolbar input,.finance-toolbar input,.movement-filters input,.movement-filters select,.project-filters select,.quick-form input,.quick-form select,.quick-form textarea,.segmented-control{min-width:0;width:100%;max-width:100%}.monthly-summary-grid,.project-header,.project-task-form{grid-template-columns:1fr}.kanban-board{grid-template-columns:repeat(4,minmax(250px,82vw));margin-inline:-2px;padding-inline:2px}.toast{right:14px;bottom:86px;left:14px;justify-content:center}.split-preview,.auth-form{grid-template-columns:1fr}.calendar-month{gap:5px}.calendar-month button,.calendar-empty-day{min-height:54px;padding:6px}.item-actions{width:100%;justify-content:flex-end}.bottom-nav{position:static;z-index:24;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;border:1px solid var(--border);border-radius:20px;background:color-mix(in srgb,var(--panel-solid) 94%,transparent);box-shadow:0 14px 40px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:calc(100% - 20px);margin:18px 10px calc(82px + env(safe-area-inset-bottom))}.bottom-nav button{display:grid;min-width:0;min-height:52px;place-items:center;border:0;border-radius:15px;color:var(--nav-text);background:transparent;font-size:.7rem;line-height:1.1}.bottom-nav span{max-width:100%;overflow-wrap:anywhere}.fab{display:none}.app-footer{flex-wrap:wrap;margin:8px auto 18px}}
