@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap";:root{--paper: #f6f4ef;--surface: #fffefa;--surface-2: #f1efe8;--ink: #24332d;--muted: #758079;--line: #e5e2da;--sage: #49685c;--sage-light: #dfe8e2;--sage-dark: #304c42;--sand: #e8a65d;--sand-light: #f8ead7;--rose: #d77268;--rose-light: #f6e4e1;--lilac: #8f82ad;--lilac-light: #ebe7f2;--blue: #6f909d;--blue-light: #e1eaed;--shadow: 0 1px 2px rgba(31, 47, 41, .03), 0 8px 30px rgba(31, 47, 41, .04);font-family:DM Sans,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand strong{font-family:Manrope,sans-serif;letter-spacing:-.035em}.auth-loading{min-height:100vh;display:grid;place-items:center;background:var(--paper)}.auth-loading .login-brand-mark{animation:auth-pulse 1.1s ease-in-out infinite alternate}@keyframes auth-pulse{to{transform:scale(1.08);box-shadow:0 12px 30px #49685c38}}.login-page{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:20px;padding:28px;overflow:hidden;position:relative;background:radial-gradient(circle at 18% 18%,rgba(223,232,226,.85),transparent 31%),radial-gradient(circle at 82% 82%,rgba(248,234,215,.78),transparent 30%),var(--paper)}.login-page:before,.login-page:after{content:"";position:fixed;width:280px;height:280px;border:1px solid rgba(73,104,92,.08);border-radius:50%;pointer-events:none}.login-page:before{top:-145px;right:-80px}.login-page:after{bottom:-170px;left:-70px;width:330px;height:330px}.login-card{width:min(430px,calc(100vw - 32px));padding:34px;border:1px solid rgba(229,226,218,.95);border-radius:22px;background:#fffefaf0;box-shadow:0 22px 70px #1f2f291c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-brand{display:flex;align-items:center;gap:11px}.login-brand-mark{width:48px;height:48px;display:grid;place-items:center;color:#fff;border-radius:15px 15px 15px 5px;background:var(--sage)}.login-brand>div{display:flex;align-items:baseline;gap:6px}.login-brand strong{font-family:Manrope;font-size:26px;letter-spacing:-.05em}.login-brand small{color:var(--sage);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-heading{margin:34px 0 25px}.login-heading h1{margin-bottom:8px;font-size:26px}.login-heading>p:last-child{margin:0;color:var(--muted);font-size:13px}.login-form{display:grid;gap:17px}.login-form label{display:grid;gap:7px;color:#53625b;font-size:11px;font-weight:700}.login-input{height:45px;display:flex;align-items:center;gap:9px;padding:0 12px;color:#909993;border:1px solid var(--line);border-radius:11px;background:#fff;transition:border-color .15s,box-shadow .15s}.login-input:focus-within{color:var(--sage);border-color:#aebfb5;box-shadow:0 0 0 3px #49685c17}.login-input input{min-width:0;width:100%;height:100%;color:var(--ink);border:0;outline:0;background:transparent;font-size:13px}.login-input button{width:28px;height:28px;display:grid;place-items:center;flex:none;padding:0;color:var(--muted);border:0;border-radius:7px;background:transparent;cursor:pointer}.login-input button:hover{color:var(--ink);background:var(--surface-2)}.login-error{margin:-3px 0 0;padding:9px 11px;color:#9d4f48;border:1px solid #efcdc8;border-radius:8px;background:var(--rose-light);font-size:10px;line-height:1.4}.login-submit{width:100%;margin-top:3px}.login-security{display:flex;align-items:center;justify-content:center;gap:5px;margin:22px 0 0;color:#969e99;font-size:9px}.login-footnote{margin:0;color:#8d9690;font-size:10px}.hub-portal-shell{min-height:100vh;background:var(--paper)}.hub-portal-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);border-bottom:1px solid var(--line);background:#f6f4efe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hub-portal-brand{display:flex;align-items:center;gap:10px}.hub-portal-brand strong{font-family:Manrope;font-size:23px;letter-spacing:-.05em}.hub-portal-profile{display:flex;align-items:center;gap:9px}.hub-portal-profile>span:nth-child(2){display:flex;flex-direction:column}.hub-portal-profile strong{font-size:11px}.hub-portal-profile small{color:var(--muted);font-size:9px}.hub-portal-profile button{width:35px;height:35px;display:grid;place-items:center;margin-left:5px;padding:0;color:var(--muted);border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}.hub-portal-profile button:hover{color:var(--rose);background:var(--rose-light)}.hub-home{width:min(1020px,calc(100% - 40px));margin:0 auto;padding:clamp(60px,9vh,105px) 0 80px}.hub-hero{max-width:680px;margin:0 auto 43px;text-align:center}.hub-hero-mark{width:51px;height:51px;display:grid;place-items:center;margin:0 auto 18px;color:#fff;border-radius:16px 16px 16px 5px;background:var(--sage);box-shadow:0 12px 28px #49685c33}.hub-hero h1{margin-bottom:12px;font-size:clamp(30px,5vw,45px);line-height:1.12}.hub-hero>p:last-child{max-width:570px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.65}.hub-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.hub-module-card{position:relative;min-height:320px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.hub-module-card:after{content:"";position:absolute;right:-75px;bottom:-95px;width:220px;height:220px;border-radius:50%;opacity:.65;pointer-events:none}.hub-module-card:hover{transform:translateY(-4px);border-color:#cad5cf;box-shadow:0 18px 45px #1f2f2917}.hub-module-finance:after{background:var(--sage-light)}.hub-module-watch:after{background:var(--lilac-light)}.hub-module-icon{width:57px;height:57px;display:grid;place-items:center;margin-bottom:25px;color:var(--sage);border-radius:15px;background:var(--sage-light)}.hub-module-watch .hub-module-icon{color:#746494;background:var(--lilac-light)}.hub-module-state{position:absolute;top:29px;right:28px;padding:5px 8px;color:var(--sage);border-radius:20px;background:var(--sage-light);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hub-module-watch .hub-module-state{color:#746494;background:var(--lilac-light)}.hub-module-card h2{margin-bottom:8px;font-size:22px}.hub-module-card>p{max-width:390px;margin-bottom:20px;color:var(--muted);font-size:12px;line-height:1.55}.hub-feature-list{display:flex;flex-wrap:wrap;gap:7px}.hub-feature-list>span{display:flex;align-items:center;gap:5px;padding:6px 8px;color:#65716b;border:1px solid var(--line);border-radius:8px;background:#ffffffb8;font-size:9px}.hub-open-module{position:relative;z-index:1;display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:25px;color:var(--sage);font-size:11px;font-weight:700}.hub-module-watch .hub-open-module{color:#746494}.logout-action{color:#a25750}.logout-action:hover{color:#93463f;background:var(--rose-light)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:248px;display:flex;flex-direction:column;padding:26px 18px 18px;background:#f0eee7;border-right:1px solid var(--line);transition:transform .25s ease}.sidebar-hidden .sidebar{transform:translate(-102%)}.brand{display:flex;align-items:center;gap:10px;padding:0 9px 24px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--sage);border-radius:12px 12px 12px 4px}.brand>span:nth-child(2){min-width:0;display:flex;flex:1;align-items:baseline;gap:5px}.brand strong{font-size:23px;line-height:1}.brand small{color:var(--sage);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.workspace-wrap{position:relative}.workspace-switcher{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px;color:var(--ink);border:1px solid var(--line);border-radius:13px;background:#ffffff7a;text-align:left;cursor:pointer}.workspace-switcher:hover,.workspace-switcher[aria-expanded=true]{border-color:#cfd8d2;background:#ffffffc7}.workspace-switcher svg{transition:transform .18s ease}.workspace-switcher svg.rotated{transform:rotate(180deg)}.workspace-switcher span:nth-child(2){display:flex;flex-direction:column;min-width:0}.workspace-switcher small,.user-card small{color:var(--muted);font-size:10px}.workspace-switcher strong,.user-card strong{overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.avatar{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--sand-light);color:#7d542c;font-size:11px;font-weight:700}.avatar-sage{background:var(--sage-light);color:var(--sage-dark)}.nav-label{margin:28px 11px 8px;color:#9a9f9b;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.main-nav{display:flex;flex-direction:column;gap:4px}.main-nav a,.sidebar-bottom>a{display:flex;align-items:center;gap:12px;padding:11px 12px;color:#68736d;border-radius:10px;font-size:14px;font-weight:500}.main-nav a:hover,.sidebar-bottom>a:hover{background:#ffffff8c;color:var(--ink)}.main-nav a.router-link-active{color:var(--sage-dark);background:#dfe6e0;font-weight:700}.sidebar-bottom{margin-top:auto}.profile-menu-wrap{position:relative}.user-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:12px;padding:13px 8px 4px;color:var(--ink);border:0;border-top:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.user-card:hover{background:#ffffff73;border-radius:10px}.user-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.more-button{border:0;background:transparent;color:var(--muted)}.dropdown-menu{position:absolute;z-index:50;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 14px 40px #1f2f2924}.workspace-menu{top:calc(100% + 7px);left:0;width:100%;min-width:230px}.profile-menu{bottom:calc(100% + 7px);left:0;width:100%;min-width:230px}.dropdown-title{display:flex;justify-content:space-between;align-items:center;padding:6px 7px 9px}.dropdown-title span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dropdown-title small{color:#a0a6a2;font-size:9px}.workspace-option{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px;color:var(--ink);border:0;border-radius:9px;background:transparent;text-align:left;cursor:pointer}.workspace-option:hover{background:var(--surface-2)}.workspace-option>span:nth-child(2),.profile-summary>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.workspace-option strong,.profile-summary strong{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.workspace-option small,.profile-summary small{margin-top:2px;color:var(--muted);font-size:9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.workspace-option>svg{color:var(--sage)}.workspace-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-radius:9px}.workspace-option-row:hover{background:var(--surface-2)}.workspace-option-row .workspace-option:hover{background:transparent}.workspace-delete-button{width:29px;height:29px;display:grid;place-items:center;margin-right:5px;padding:0;color:#a78f8b;border:0;border-radius:7px;background:transparent;cursor:pointer}.workspace-delete-button:hover{color:var(--rose);background:var(--rose-light)}.dropdown-divider{height:1px;margin:5px 2px;background:var(--line)}.dropdown-action{width:100%;height:35px;display:flex;align-items:center;gap:9px;padding:0 9px;color:#59665f;border:0;border-radius:8px;background:transparent;font-size:11px;font-weight:600;cursor:pointer}.dropdown-action:hover{color:var(--ink);background:var(--surface-2)}.profile-summary{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:7px}.dropdown-footer{display:flex;align-items:center;gap:6px;margin:6px -7px -7px;padding:9px 14px;color:#949b97;border-radius:0 0 13px 13px;background:var(--surface-2);font-size:9px}.dropdown-enter-active,.dropdown-leave-active,.dropdown-up-enter-active,.dropdown-up-leave-active{transition:opacity .14s ease,transform .14s ease}.dropdown-enter-from,.dropdown-leave-to{opacity:0;transform:translateY(-5px) scale(.98)}.dropdown-up-enter-from,.dropdown-up-leave-to{opacity:0;transform:translateY(5px) scale(.98)}.main-content{min-height:100vh;margin-left:248px;transition:margin-left .25s ease}.sidebar-hidden .main-content{margin-left:0}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#f6f4efeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.search-box{height:39px;width:min(390px,45vw);display:flex;align-items:center;gap:9px;padding:0 12px;color:#8c948f;background:#ffffffa3;border:1px solid var(--line);border-radius:10px}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.search-box kbd{padding:2px 6px;border:1px solid var(--line);border-radius:5px;color:#9ca19e;background:var(--surface);font-size:10px;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:12px}.icon-button{width:37px;height:37px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff9;cursor:pointer}.icon-button:hover{background:#fff}.icon-button[aria-expanded=true]{color:var(--sage-dark);border-color:#c9d5ce;background:#fff}.has-notification{position:relative}.has-notification:after{content:"";position:absolute;top:8px;right:8px;width:6px;height:6px;border:2px solid var(--paper);border-radius:50%;background:var(--rose)}.notification-wrap{position:relative}.notification-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:50;width:min(390px,calc(100vw - 28px));overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 18px 50px #1f2f2929}.notification-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px 14px;border-bottom:1px solid var(--line)}.notification-heading h2{margin:0 0 2px;font-size:15px}.notification-heading p{margin:0;color:var(--muted);font-size:10px}.mark-read-button{display:flex;align-items:center;gap:5px;flex:none;padding:6px 8px;color:var(--sage);border:0;border-radius:7px;background:transparent;font-size:9px;font-weight:700;cursor:pointer}.mark-read-button:hover{background:var(--sage-light)}.notification-list{max-height:min(440px,calc(100vh - 110px));overflow-y:auto}.notification-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px 18px;border-bottom:1px solid #eeece6;transition:background .15s ease}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:var(--surface-2)}.notification-item.unread{background:#f8faf8}.notification-item.unread:hover{background:#f1f5f2}.notification-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px}.notification-icon.tone-sage{color:var(--sage);background:var(--sage-light)}.notification-icon.tone-sand{color:#a66b2d;background:var(--sand-light)}.notification-icon.tone-rose{color:#a95750;background:var(--rose-light)}.notification-icon.tone-lilac{color:#746494;background:var(--lilac-light)}.notification-copy{min-width:0;display:flex;flex-direction:column}.notification-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-title-row strong{color:var(--ink);font-size:11px;font-weight:700}.notification-title-row i{width:6px;height:6px;flex:none;border-radius:50%;background:var(--rose)}.notification-copy>span:nth-child(2){margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.notification-copy small{margin-top:7px;color:#9ca39f;font-size:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.top-avatar,.menu-button,.mobile-close{display:none}.menu-button.desktop-visible,.sidebar-toggle{display:grid}.sidebar-toggle{width:31px;height:31px;place-items:center;flex:none;padding:0;color:var(--muted);border:0;border-radius:8px;background:transparent;cursor:pointer}.sidebar-toggle:hover{color:var(--ink);background:#ffffffa6}.page-wrap{max-width:1490px;margin:0 auto;padding:34px 36px 50px;animation:page-in .25s ease}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.page-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:26px}.page-heading h1{margin-bottom:6px;font-size:clamp(25px,3vw,32px);font-weight:700}.page-heading h1 span{font-family:sans-serif;font-size:.85em}.page-heading p{margin-bottom:0;color:var(--muted);font-size:14px}.page-heading.compact{align-items:center}.eyebrow{margin-bottom:7px!important;color:var(--sage)!important;font-size:10px!important;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.heading-actions{display:flex;gap:10px;flex:none}.period-picker-group{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.period-picker-group>small{color:var(--muted);font-size:8px}.month-select{position:relative;flex:none}.month-picker,.date-filter{position:relative;height:41px;display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13px;font-weight:600;cursor:pointer}.month-picker:hover,.month-picker[aria-expanded=true]{border-color:#bdcac3;background:#fff}.month-picker svg:last-child{transition:transform .18s ease}.month-picker svg.rotated{transform:rotate(180deg)}.month-popover{position:absolute;top:calc(100% + 7px);right:0;z-index:70;width:274px;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 18px 45px #1f2f2929}.month-year-nav{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:8px}.month-year-nav strong{text-align:center;font-family:Manrope;font-size:13px}.month-year-nav button{width:32px;height:32px;display:grid;place-items:center;padding:0;color:var(--muted);border:0;border-radius:8px;background:transparent;cursor:pointer}.month-year-nav button:hover{color:var(--ink);background:var(--surface-2)}.month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.month-grid button{height:35px;padding:0;color:#5f6a64;border:0;border-radius:8px;background:transparent;font-size:11px;font-weight:600;cursor:pointer}.month-grid button:hover{color:var(--sage-dark);background:var(--sage-light)}.month-grid button.selected{color:#fff;background:var(--sage)}.current-month-button{width:100%;height:33px;margin-top:8px;color:var(--sage);border:0;border-top:1px solid var(--line);background:transparent;font-size:10px;font-weight:700;cursor:pointer}.current-month-button:hover{color:var(--sage-dark)}.month-select.compact .month-picker{height:37px;color:var(--muted);font-size:11px}.primary-button,.secondary-button{height:41px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:0;border-radius:10px;cursor:pointer;font-size:13px;font-weight:700}.primary-button{color:#fff;background:var(--sage);box-shadow:0 5px 13px #49685c29}.primary-button:hover{background:var(--sage-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{color:var(--sage);background:var(--sage-light)}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.demo-notice{display:flex;align-items:center;gap:8px;margin:-10px 0 18px;padding:9px 12px;color:#756031;background:#fcf2d7;border:1px solid #f1dfae;border-radius:9px;font-size:12px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.metric-card{min-width:0;padding:19px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.metric-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.metric-comparison{position:relative}.metric-comparison .trend{border:0;cursor:pointer}.metric-comparison .trend[aria-expanded=true]{outline:2px solid rgba(73,104,92,.13);outline-offset:2px}.comparison-popover{position:absolute;top:calc(100% + 9px);right:0;z-index:60;width:min(300px,calc(100vw - 34px));padding:15px;color:var(--ink);border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 16px 42px #1f2f2929;cursor:default}.comparison-heading{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding-bottom:11px;border-bottom:1px solid var(--line)}.comparison-heading>span{width:28px;height:28px;display:grid;place-items:center;color:var(--sage);border-radius:8px;background:var(--sage-light)}.comparison-heading div{min-width:0;display:flex;flex-direction:column;gap:2px}.comparison-heading strong{font-family:Manrope;font-size:11px}.comparison-heading small{color:var(--muted);font-size:8px;line-height:1.4}.comparison-values{display:grid;gap:8px;padding:12px 0}.comparison-values div,.comparison-result{display:flex;align-items:center;justify-content:space-between;gap:12px}.comparison-values span,.comparison-result span{color:var(--muted);font-size:8px}.comparison-values strong,.comparison-result strong{font-size:10px;white-space:nowrap}.comparison-result{padding-top:10px;border-top:1px dashed var(--line)}.comparison-result strong{color:var(--sage)}.comparison-result strong.negative{color:var(--rose)}.comparison-popover>p{margin:11px 0 0;padding:9px;color:#77837d;border-radius:8px;background:var(--surface-2);font-size:8px;line-height:1.5}.metric-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:10px}.metric-card.tone-sage .metric-icon{color:var(--sage);background:var(--sage-light)}.metric-card.tone-sand .metric-icon{color:#a66625;background:var(--sand-light)}.metric-card.tone-moss .metric-icon{color:#5e7651;background:#e5ebdf}.metric-card.tone-lilac .metric-icon{color:#725f95;background:var(--lilac-light)}.trend{display:inline-flex;align-items:center;gap:2px;padding:3px 6px;color:#477260;border-radius:6px;background:#e7f0ea;font-size:10px;font-weight:700}.trend.negative{color:#a3554c;background:var(--rose-light)}.metric-card p{margin-bottom:6px;color:var(--muted);font-size:12px}.metric-card h3{margin-bottom:4px;overflow:hidden;font-size:clamp(20px,2vw,25px);white-space:nowrap;text-overflow:ellipsis}.metric-card small{color:#959c98;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:16px}.panel{border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.cashflow-panel,.expense-panel,.emergency-card,.checkup-card{padding:20px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-heading h2{margin-bottom:3px;font-size:16px}.panel-heading p{margin-bottom:0;color:var(--muted);font-size:11px}.panel-heading a,.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--sage);font-size:11px;font-weight:700}.cashflow-chart{position:relative;margin-top:10px}.cashflow-chart svg{width:100%;height:238px;overflow:visible}.cashflow-chart text{fill:#929993;font-size:10px}.grid-line{stroke:#eceae4;stroke-width:1;stroke-dasharray:4 5}.line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.line-income{stroke:var(--sage)}.line-expense{stroke:var(--sand);stroke-dasharray:5 5}.point{stroke:#fff;stroke-width:2}.point-income{fill:var(--sage)}.point-expense{fill:var(--sand)}.chart-legend{display:flex;justify-content:flex-end;gap:14px;color:var(--muted);font-size:10px}.chart-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:50%}.income-dot{background:var(--sage)}.expense-dot{background:var(--sand)}.expense-content{display:flex;align-items:center;gap:28px;min-height:245px;padding:15px 0 0}.donut{width:145px;height:145px;display:grid;place-items:center;flex:none;border-radius:50%;transform:rotate(-30deg)}.donut>div{width:91px;height:91px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);transform:rotate(30deg)}.donut small{color:var(--muted);font-size:10px}.donut strong{font-family:Manrope;font-size:17px}.expense-legend{display:flex;flex:1;flex-direction:column;gap:9px}.expense-legend>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}.expense-legend span{display:flex;align-items:center;gap:6px;color:var(--muted)}.expense-legend i{width:7px;height:7px;border-radius:2px}.expense-legend strong{font-size:10px;white-space:nowrap}.emergency-total{display:flex;justify-content:space-between;margin-top:24px}.emergency-total div{display:flex;flex-direction:column}.emergency-total small{color:var(--muted);font-size:10px}.emergency-total strong{margin-top:3px;font-family:Manrope;font-size:18px}.align-right{text-align:right}.pill,.score-badge,.goal-status,.module-state{padding:4px 8px;border-radius:99px;color:var(--sage);background:var(--sage-light);font-size:9px;font-weight:700}.progress-track{height:8px;margin-top:17px;overflow:hidden;border-radius:99px;background:#eceae4}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--sage)}.progress-caption{display:flex;justify-content:space-between;margin-top:7px;color:var(--muted);font-size:9px}.gentle-note{display:flex;align-items:center;gap:7px;margin:17px 0 0;padding:9px;color:#6b6044;background:#faf2df;border-radius:8px;font-size:10px}.checkup-list{margin-top:14px}.checkup-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eeece6}.checkup-row>div{display:flex;flex-direction:column}.checkup-row strong{font-size:11px}.checkup-row small{margin-top:2px;color:var(--muted);font-size:9px}.status-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px}.status-icon.healthy{color:var(--sage);background:var(--sage-light)}.status-icon.attention{color:#a46729;background:var(--sand-light)}.check-value{font-family:Manrope}.text-link{margin-top:14px}.shimmer{opacity:.55}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.summary-strip>div{display:flex;align-items:center;gap:12px;padding:18px 20px;border-right:1px solid var(--line)}.summary-strip>div:last-child{border-right:0}.summary-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:10px;font-weight:700}.summary-icon.income{color:var(--sage);background:var(--sage-light)}.summary-icon.expense{color:#aa625a;background:var(--rose-light)}.summary-icon.balance{color:#766697;background:var(--lilac-light)}.summary-strip p{display:flex;flex-direction:column;gap:3px;margin:0;color:var(--muted);font-size:10px}.summary-strip strong{color:var(--ink);font-family:Manrope;font-size:16px}.account-balance-panel{margin-bottom:16px;padding:17px}.account-balance-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.account-balance-heading h2{margin:2px 0 0;font-size:15px}.account-manage-button{margin:0;padding:0;border:0;background:transparent;cursor:pointer}.account-balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px}.account-balance-card{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid #eeece6;border-radius:11px;background:var(--surface-2)}.account-balance-card>span{width:35px;height:35px;display:grid;place-items:center;color:var(--sage);border-radius:9px;background:var(--sage-light)}.account-balance-card>div{min-width:0;display:flex;flex-direction:column}.account-balance-card small{overflow:hidden;color:var(--muted);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.account-balance-card strong{overflow:hidden;margin-top:2px;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.account-balance-card b{margin-left:8px;font-family:Manrope;font-size:11px;white-space:nowrap}.account-balance-card b.negative{color:var(--rose)}.table-panel{overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;gap:12px;padding:15px;border-bottom:1px solid var(--line)}.table-search{width:280px;height:37px}.date-filter{height:37px;color:var(--muted)}.date-filter input{border:0;outline:0;color:var(--ink);background:transparent;font-size:11px}.transaction-row{display:grid;grid-template-columns:auto minmax(150px,1fr) 130px 170px auto;align-items:center;gap:13px;min-height:68px;padding:10px 16px;border-bottom:1px solid #eeece6}.transaction-row:last-child{border-bottom:0}.transaction-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px}.transaction-icon.income{color:var(--sage);background:var(--sage-light)}.transaction-icon.expense{color:#a95f56;background:var(--rose-light)}.transaction-icon.transfer{color:#766697;background:var(--lilac-light)}.transaction-name{display:flex;flex-direction:column}.transaction-name strong{font-size:12px}.transaction-name small,.transaction-date{margin-top:3px;color:var(--muted);font-size:10px}.transaction-amount{justify-self:end;font-family:Manrope;font-size:12px}.transaction-amount.income{color:var(--sage)}.transaction-amount.expense{color:var(--ink)}.transaction-amount.transfer{color:#766697}.delete-button{width:32px;height:32px;color:#a3a8a5;border:0;background:transparent;opacity:0}.transaction-row:hover .delete-button{opacity:1}.delete-button:hover{color:var(--rose);background:var(--rose-light)}.empty-state{display:flex;flex-direction:column;align-items:center;padding:60px 20px;text-align:center}.empty-state>span{width:48px;height:48px;display:grid;place-items:center;margin-bottom:12px;color:var(--sage);border-radius:14px;background:var(--sage-light)}.empty-state strong{font-family:Manrope}.empty-state p{max-width:300px;margin:5px 0 0;color:var(--muted);font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#202d2861;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(485px,100%);padding:24px;border-radius:18px;background:var(--surface);box-shadow:0 25px 70px #1f2f2933;animation:modal-in .2s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start}.modal-heading h2{margin-bottom:18px;font-size:21px}.modal-description{margin:-7px 0 18px;color:var(--muted);font-size:11px;line-height:1.5}.shell-modal>label{margin-bottom:14px}.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:17px;padding:4px;border-radius:10px;background:var(--surface-2)}.type-switch button{height:34px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:11px;font-weight:700;cursor:pointer}.type-switch button.active{color:var(--ink);background:var(--surface);box-shadow:0 1px 5px #1f2f2914}.modal>label,.form-grid label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;color:#59645e;font-size:11px;font-weight:600}.modal input:not([type=checkbox]),.modal select{width:100%;height:42px;padding:0 11px;color:var(--ink);border:1px solid var(--line);border-radius:9px;outline:0;background:#fff}.modal input:focus,.modal select:focus{border-color:#8ca399;box-shadow:0 0 0 3px #49685c14}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.money-input span{padding-left:12px;color:var(--muted);font-size:13px}.money-input input{border:0!important;font-size:18px;font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-field>select{width:100%;height:42px;padding:0 11px;color:var(--ink);border:1px solid var(--line);border-radius:9px;outline:0;background:#fff}.field-label-row{display:flex;align-items:center;justify-content:space-between;color:#59645e;font-size:11px;font-weight:600}.field-label-row button{padding:0;color:var(--sage);border:0;background:transparent;font-size:9px;font-weight:700;cursor:pointer}.field-label-row button:hover{text-decoration:underline}.checkbox{flex-direction:row!important;align-items:center}.checkbox input{accent-color:var(--sage)}.full-button{width:100%;margin-top:3px}.transfer-account-grid{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:8px;align-items:center}.transfer-account-grid .form-field{min-width:0}.transfer-account-grid .field-label-row small{overflow:hidden;max-width:105px;color:var(--muted);font-size:8px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.transfer-swap-button{width:34px;height:34px;display:grid;place-items:center;margin-top:4px;color:var(--sage);border:1px solid var(--line);border-radius:9px;background:var(--surface-2);cursor:pointer}.transfer-swap-button:hover{border-color:#bdcac3;background:var(--sage-light)}.app-toast{position:fixed;right:24px;bottom:24px;z-index:120;display:flex;align-items:center;gap:8px;padding:11px 14px;color:#fff;border-radius:10px;background:var(--sage-dark);box-shadow:0 12px 35px #1f2f2938;font-size:11px;font-weight:600}.toast-enter-active,.toast-leave-active{transition:opacity .2s ease,transform .2s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(7px)}.resource-manager-backdrop{z-index:115}.resource-manager-modal{width:min(780px,100%)}.resource-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);gap:16px}.resource-list{max-height:390px;overflow-y:auto;padding-right:4px}.resource-empty{display:grid;place-items:center;min-height:110px;color:var(--muted);border:1px dashed var(--line);border-radius:10px;font-size:11px}.resource-row{display:grid;grid-template-columns:auto minmax(0,1fr) 30px 30px;align-items:center;gap:8px;min-height:55px;padding:7px;border-bottom:1px solid #eeece6;border-radius:9px}.resource-row:hover,.resource-row.active{background:var(--surface-2)}.resource-row-icon{width:33px;height:33px;display:grid;place-items:center;color:var(--sage);border-radius:9px;background:var(--sage-light)}.resource-row>div{min-width:0;display:flex;flex-direction:column}.resource-row strong{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.resource-row small{margin-top:2px;color:var(--muted);font-size:9px}.resource-row>button{width:29px;height:29px;display:grid;place-items:center;padding:0;color:var(--muted);border:0;border-radius:8px;background:transparent;cursor:pointer}.resource-row>button:hover{color:var(--ink);background:#fff}.resource-row>button.danger:hover{color:var(--rose);background:var(--rose-light)}.resource-form{align-self:start;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.resource-form-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.resource-form-title strong{font-family:Manrope;font-size:12px}.resource-form-title button{padding:0;color:var(--sage);border:0;background:transparent;font-size:9px;font-weight:700;cursor:pointer}.resource-form>label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;color:#59645e;font-size:10px;font-weight:600}.field-help{color:var(--muted);font-size:8px;font-weight:400;line-height:1.4}.resource-form input:not([type=checkbox]),.resource-form select{width:100%;height:39px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:8px;outline:0;background:#fff}.form-error{margin:0 0 10px;padding:8px;color:#9c4f47;border-radius:7px;background:var(--rose-light);font-size:9px;line-height:1.4}.danger-eyebrow{color:var(--rose)!important}.workspace-delete-warning{margin:-5px 0 17px;padding:11px;color:#7e514c;border:1px solid #efd0cb;border-radius:9px;background:var(--rose-light);font-size:10px;line-height:1.55}.danger-button{height:41px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;color:#fff;border:0;border-radius:10px;background:var(--rose);font-size:12px;font-weight:700;cursor:pointer}.danger-button:hover{background:#b95e55}.danger-button:disabled{opacity:.45;cursor:not-allowed}.nav-label-product{margin-top:18px}.watch-heading{align-items:center}.watch-error{margin:-8px 0 16px;padding:10px 12px;color:#914c45;border:1px solid #efcdc8;border-radius:9px;background:var(--rose-light);font-size:11px}.watch-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}.watch-metrics article{min-width:0;display:flex;align-items:center;gap:12px;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.watch-metrics article>div{min-width:0;display:flex;flex-direction:column;gap:3px}.watch-metrics small{color:var(--muted);font-size:9px}.watch-metrics strong{overflow:hidden;font-family:Manrope;font-size:15px;white-space:nowrap;text-overflow:ellipsis}.watch-metric-icon{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:11px}.watch-metric-icon.tone-lilac{color:#746494;background:var(--lilac-light)}.watch-metric-icon.tone-sand{color:#9b6229;background:var(--sand-light)}.watch-metric-icon.tone-blue{color:#527987;background:var(--blue-light)}.watch-metric-icon.tone-sage{color:var(--sage);background:var(--sage-light)}.watch-activity-chart{margin-bottom:25px;padding-bottom:15px}.chart-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.chart-total small{color:var(--muted);font-size:8px}.chart-total strong{font-family:Manrope;font-size:13px}.watch-bars{height:210px;display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(8px,2vw,22px);align-items:end;padding:17px 12px 0;border-top:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 48px,rgba(229,226,218,.7) 49px,transparent 50px)}.watch-bars article{height:100%;display:grid;grid-template-rows:20px 1fr 22px;justify-items:center;align-items:end}.bar-value{color:var(--muted);font-size:8px;white-space:nowrap}.bar-track{width:min(42px,72%);height:100%;display:flex;align-items:flex-end;overflow:hidden;border-radius:8px 8px 3px 3px;background:var(--surface-2)}.bar-track i{width:100%;min-height:0;display:block;border-radius:inherit;background:linear-gradient(180deg,#8f82ad,#5c776c);transition:height .4s ease}.watch-bars article strong{color:var(--muted);font-size:9px;font-weight:600}.watch-section{margin-bottom:25px}.watch-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.watch-section-heading .eyebrow{margin-bottom:3px!important}.watch-section-heading h2{margin:0;font-size:17px}.continue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.continue-card{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;color:var(--ink);border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);text-align:left;cursor:pointer}.continue-card:hover{border-color:#cbd7d0;transform:translateY(-1px)}.continue-art,.title-art{display:grid;place-items:center;flex:none;color:#746494;background:var(--lilac-light)}.continue-art{width:51px;height:62px;border-radius:10px}.continue-art,.title-art,.catalog-poster,.selected-poster{overflow:hidden}.continue-art img,.title-art img,.catalog-poster img,.selected-poster img{width:100%;height:100%;display:block;object-fit:cover}.continue-copy{min-width:0;display:flex;flex-direction:column}.continue-copy small{overflow:hidden;color:var(--muted);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.continue-copy strong{overflow:hidden;margin:4px 0 5px;font-family:Manrope;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.continue-copy span{overflow:hidden;color:var(--muted);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.continue-play{width:30px;height:30px;display:grid;place-items:center;color:#fff;border-radius:50%;background:var(--sage)}.watch-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:15px;align-items:start}.watch-panel{min-width:0;padding:19px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.library-heading{align-items:flex-end;padding-bottom:14px;border-bottom:1px solid var(--line)}.watch-tools{display:flex;gap:7px}.watch-search{height:35px;display:flex;align-items:center;gap:6px;padding:0 9px;color:var(--muted);border:1px solid var(--line);border-radius:9px;background:#fff}.watch-search input{width:145px;border:0;outline:0;color:var(--ink);background:transparent;font-size:10px}.watch-tools select,.status-select{color:#5e6963;border:1px solid var(--line);border-radius:8px;outline:0;background:#fff;font-size:9px}.watch-tools select{height:35px;padding:0 8px}.watch-library-list{display:grid}.watch-title-row{display:grid;grid-template-columns:auto minmax(130px,1fr) minmax(105px,.55fr) 102px 32px 32px;align-items:center;gap:10px;min-height:67px;border-bottom:1px solid #eeece6}.watch-title-row:last-child{border-bottom:0}.title-art{width:39px;height:45px;border-radius:9px}.title-main,.title-progress{min-width:0;display:flex;flex-direction:column;gap:3px}.title-main strong,.title-progress strong{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.title-main span,.title-progress span{overflow:hidden;color:var(--muted);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.status-select{width:100%;height:31px;padding:0 6px}.row-icon-button{width:31px;height:31px;display:grid;place-items:center;padding:0;color:var(--muted);border:0;border-radius:8px;background:transparent;cursor:pointer}.row-icon-button.play{color:var(--sage);background:var(--sage-light)}.row-icon-button.danger:hover{color:var(--rose);background:var(--rose-light)}.history-panel>.watch-section-heading{padding-bottom:12px;color:var(--muted);border-bottom:1px solid var(--line)}.history-list{display:grid}.history-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:start;padding:11px 0;border-bottom:1px solid #eeece6}.history-list article:last-child{border-bottom:0}.history-dot{width:8px;height:8px;margin-top:4px;border:2px solid var(--sage-light);border-radius:50%;background:var(--sage)}.history-list div{min-width:0;display:flex;flex-direction:column;gap:2px}.history-list strong{overflow:hidden;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.history-list span,.history-list small{color:var(--muted);font-size:8px}.history-list button{width:26px;height:26px;display:grid;place-items:center;padding:0;color:#a2a8a4;border:0;border-radius:7px;background:transparent;cursor:pointer}.history-list button:hover{color:var(--rose);background:var(--rose-light)}.watch-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;color:var(--muted);text-align:center}.watch-empty>svg{margin-bottom:10px;color:var(--sage)}.watch-empty strong{color:var(--ink);font-family:Manrope;font-size:12px}.watch-empty p{max-width:280px;margin:4px 0 13px;font-size:9px;line-height:1.5}.watch-empty.compact{min-height:180px;padding:20px 8px}.watch-modal{position:relative}.watch-modal>h2{margin-bottom:15px;font-size:21px}.watch-catalog-modal{width:min(610px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.catalog-search-input{height:44px;display:flex;align-items:center;gap:8px;padding-left:11px;color:var(--muted);border:1px solid var(--line);border-radius:10px;background:#fff}.catalog-search-input input{min-width:0;flex:1;height:100%!important;padding:0!important;border:0!important;box-shadow:none!important}.catalog-search-input button{align-self:stretch;min-width:74px;color:#fff;border:0;border-radius:0 9px 9px 0;background:var(--sage);font-size:10px;font-weight:700;cursor:pointer}.catalog-search-input button:disabled{opacity:.55;cursor:wait}.catalog-results{max-height:330px;display:grid;gap:5px;overflow-y:auto;margin:2px 0 14px;padding-right:4px}.catalog-results>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:63px;padding:7px;color:var(--ink);border:1px solid transparent;border-radius:10px;background:var(--surface-2);text-align:left;cursor:pointer}.catalog-results>button:hover{color:var(--sage);border-color:#cbd7d0;background:var(--sage-light)}.catalog-poster{width:36px;height:49px;display:grid;place-items:center;color:var(--muted);border-radius:7px;background:var(--surface)}.catalog-results>button>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.catalog-results strong{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.catalog-results small{color:var(--muted);font-size:9px}.selected-catalog{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;margin:2px 0 16px;padding:13px;border:1px solid #cdd9d2;border-radius:12px;background:var(--sage-light)}.selected-poster{width:72px;height:102px;display:grid;place-items:center;color:var(--sage);border-radius:8px;background:var(--surface)}.selected-catalog>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.selected-catalog small{color:var(--muted);font-size:8px}.selected-catalog strong{margin:5px 0;font-family:Manrope;font-size:15px}.selected-catalog p{margin:0;color:#607068;font-size:9px}.selected-catalog button{margin-top:auto;padding:0;color:var(--sage);border:0;background:transparent;font-size:9px;font-weight:700;cursor:pointer}.episode-loading,.episode-range-summary{margin:-4px 0 12px;color:var(--muted);font-size:9px}.episode-preview{display:flex;flex-wrap:wrap;gap:5px;margin:-3px 0 11px;padding:10px;border-radius:10px;background:var(--surface-2)}.episode-preview>span{width:28px;height:28px;display:flex;align-items:center;justify-content:center;gap:1px;color:var(--muted);border:1px solid var(--line);border-radius:7px;background:#fff;font-size:8px}.episode-preview>span.selected{color:#fff;border-color:var(--sage);background:var(--sage)}.episode-preview>span.watched{color:var(--sage);border-color:#b9cbc1;background:var(--sage-light)}.episode-preview>span.watched.selected{color:#fff;background:var(--sage-dark)}.episode-range-summary{margin-top:-3px;padding:8px 9px;border-radius:8px;background:var(--sand-light);color:#7b5b35}.catalog-attribution{display:flex;align-items:center;justify-content:center;gap:9px;margin:10px 0 -5px;color:#9aa19c;font-size:8px;text-align:left}.catalog-attribution a{display:inline-flex;flex:none}.catalog-attribution img{width:78px;height:auto;display:block}.catalog-attribution span{max-width:265px}.episode-bulk-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:-3px 0 14px}.episode-bulk-actions button{min-height:35px;display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 8px;color:var(--sage);border:1px solid #c8d6ce;border-radius:9px;background:var(--sage-light);font-size:9px;font-weight:700;cursor:pointer}.episode-bulk-actions button:nth-child(2){color:#8a612e;border-color:#ead6b8;background:var(--sand-light)}.episode-bulk-actions button:last-child{color:#746494;border-color:#d7d0e3;background:var(--lilac-light)}.episode-bulk-actions button:disabled{opacity:.5;cursor:wait}.watch-backfill{align-items:flex-start!important;gap:8px!important;padding:10px;border-radius:9px;background:var(--surface-2)}.watch-backfill input{margin-top:2px}.watch-backfill>span{display:flex;flex-direction:column;gap:2px}.watch-backfill strong{color:var(--ink);font-size:10px}.watch-backfill small{color:var(--muted);font-size:8px;font-weight:400}@media(max-width:600px){.episode-bulk-actions{grid-template-columns:1fr}}.watch-detail-page>.back-link{margin-bottom:18px}.watch-detail-loading{min-height:350px;display:grid;place-items:center;color:var(--muted);font-size:12px}.watch-detail-hero{display:grid;grid-template-columns:175px minmax(0,1fr);gap:27px;margin-bottom:16px;padding:25px}.detail-poster{width:175px;aspect-ratio:2 / 3;display:grid;place-items:center;overflow:hidden;color:#746494;border-radius:14px;background:var(--lilac-light)}.detail-poster img{width:100%;height:100%;object-fit:cover}.detail-copy{min-width:0;display:flex;flex-direction:column}.detail-badges{display:flex;gap:6px;margin-bottom:10px}.detail-badges span{padding:5px 8px;color:#746494;border-radius:20px;background:var(--lilac-light);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.detail-badges .status-watching{color:#8a612e;background:var(--sand-light)}.detail-badges .status-completed{color:var(--sage);background:var(--sage-light)}.detail-badges .status-dropped{color:#a25750;background:var(--rose-light)}.detail-copy h1{margin-bottom:7px;font-size:clamp(27px,4vw,40px)}.detail-meta{color:var(--muted);font-size:11px}.detail-plot{max-width:760px;color:#5d6963;font-size:12px;line-height:1.65}.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:auto}.detail-facts>span{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;padding:11px;border-radius:10px;background:var(--surface-2)}.detail-facts svg{grid-row:1 / 3;color:var(--sage)}.detail-facts strong{overflow:hidden;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.detail-facts small{color:var(--muted);font-size:8px}.watch-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:15px;align-items:start}.detail-progress-panel>.watch-section-heading>strong{color:var(--sage);font-family:Manrope;font-size:17px}.season-tabs{display:flex;gap:5px;overflow-x:auto;margin-bottom:13px;padding-bottom:4px}.season-tabs button{min-width:37px;height:32px;color:var(--muted);border:1px solid var(--line);border-radius:8px;background:#fff;font-size:9px;font-weight:700;cursor:pointer}.season-tabs button.active{color:#fff;border-color:var(--sage);background:var(--sage)}.detail-muted{color:var(--muted);font-size:10px}.detail-episode-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.detail-episode-list article{min-width:0;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:55px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.detail-episode-list article>span{width:31px;height:31px;display:grid;place-items:center;color:var(--muted);border-radius:8px;background:#fff;font-size:9px;font-weight:700}.detail-episode-list article>div{min-width:0;display:flex;flex-direction:column;gap:3px}.detail-episode-list strong{overflow:hidden;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.detail-episode-list small{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:7px}.detail-episode-list article>svg{color:var(--sage)}.detail-episode-list article.watched{border-color:#bed0c5;background:var(--sage-light)}.detail-episode-list article.watched>span{color:#fff;background:var(--sage)}.detail-history-panel>.watch-section-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.detail-history-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:10px 0;border-bottom:1px solid #eeece6}.detail-history-list article>div{min-width:0;display:flex;flex-direction:column;gap:2px}.detail-history-list strong{overflow:hidden;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.detail-history-list span,.detail-history-list small{color:var(--muted);font-size:8px}.detail-history-list button{width:27px;height:27px;display:grid;place-items:center;padding:0;color:var(--muted);border:0;border-radius:7px;background:transparent;cursor:pointer}.detail-history-list button:hover{color:var(--rose);background:var(--rose-light)}.title-main:hover strong{color:var(--sage)}@media(max-width:1050px){.watch-detail-grid{grid-template-columns:1fr}}@media(max-width:700px){.watch-bars{height:170px;gap:5px;padding-inline:2px}.bar-value{font-size:7px;transform:rotate(-35deg);transform-origin:center}.watch-detail-hero{grid-template-columns:1fr;gap:15px;padding:15px}.detail-poster{width:120px}.detail-facts{grid-template-columns:1fr;margin-top:12px}.detail-episode-list{grid-template-columns:1fr}}@media(max-width:1150px){.watch-metrics,.continue-grid{grid-template-columns:repeat(2,1fr)}.watch-content-grid{grid-template-columns:1fr}.history-panel{order:2}}@media(max-width:760px){.hub-portal-header{height:68px;padding:0 18px}.hub-portal-profile>span:nth-child(2){display:none}.hub-home{width:min(100% - 28px,540px);padding-top:48px}.hub-hero{margin-bottom:30px}.hub-module-grid{grid-template-columns:1fr}.hub-module-card{min-height:290px;padding:23px}.watch-heading{align-items:flex-start}.watch-heading .heading-actions{width:100%}.watch-heading .heading-actions button{flex:1;padding:0 9px;font-size:11px}.watch-metrics{grid-template-columns:1fr 1fr;gap:9px}.watch-metrics article{padding:12px}.continue-grid{grid-template-columns:1fr}.library-heading{align-items:flex-start}.watch-tools{width:100%}.watch-search{min-width:0;flex:1}.watch-search input{min-width:0;width:100%}.watch-title-row{grid-template-columns:auto minmax(0,1fr) 32px 32px;padding:9px 0}.title-progress,.status-select{grid-column:2}.row-icon-button.play{grid-column:3;grid-row:1}.row-icon-button.danger{grid-column:4;grid-row:1}}.goal-highlight,.insight-banner{display:flex;align-items:center;gap:15px;margin-bottom:18px;padding:20px;color:#f4f7f5;border-radius:16px;background:var(--sage)}.goal-highlight>span,.insight-banner>span{width:49px;height:49px;display:grid;place-items:center;flex:none;border-radius:13px;background:#ffffff21}.goal-highlight>div:nth-child(2){display:flex;flex-direction:column}.goal-highlight small,.goal-highlight p,.insight-banner p{margin:0;color:#ffffffa8;font-size:10px}.goal-highlight strong{font-family:Manrope;font-size:21px}.highlight-progress{display:flex;flex-direction:column;margin-left:auto;text-align:right}.highlight-progress strong{font-size:16px}.goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.goal-card{padding:19px}.goal-top{display:flex;justify-content:space-between;margin-bottom:18px}.goal-icon{width:41px;height:41px;display:grid;place-items:center;color:var(--sage);border-radius:11px;background:var(--sage-light)}.goal-card:nth-child(2) .goal-icon{color:#9b6229;background:var(--sand-light)}.goal-card:nth-child(3) .goal-icon{color:#766597;background:var(--lilac-light)}.goal-card h2{margin-bottom:5px;font-size:15px}.goal-card>p{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.goal-numbers{display:flex;align-items:baseline;gap:5px;margin-top:24px}.goal-numbers strong{font-family:Manrope;font-size:16px}.goal-numbers span{color:var(--muted);font-size:9px}.goal-card .secondary-button{width:100%;margin-top:18px}.goal-overall-progress{width:min(360px,35%);margin-left:auto;text-align:right}.goal-overall-progress>strong{font-family:Manrope;font-size:17px}.goal-overall-progress .progress-track{height:6px;margin:5px 0;background:#fff3}.goal-overall-progress .progress-track span{background:#fff}.goal-overall-progress small{color:#ffffffb3}.goal-status.status-completed{color:var(--sage);background:var(--sage-light)}.goal-status.status-on_track{color:#507465;background:#e3eee8}.goal-status.status-at_risk{color:#956127;background:var(--sand-light)}.goal-status.status-overdue{color:#a25850;background:var(--rose-light)}.goal-plan-details{display:grid;gap:7px;margin-top:15px;padding:11px;border-radius:10px;background:var(--surface-2)}.goal-plan-details>div{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:center;color:var(--sage)}.goal-plan-details>div.warning{color:#b06b38}.goal-plan-details span{display:flex;min-width:0;justify-content:space-between;gap:8px}.goal-plan-details small{color:var(--muted);font-size:8px}.goal-plan-details strong{overflow:hidden;color:var(--ink);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.goal-actions{display:grid;grid-template-columns:1fr 36px;gap:8px;margin-top:14px}.goal-actions .secondary-button{margin-top:0}.goal-delete{width:36px;height:36px;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.goal-delete:hover{color:var(--rose);border-color:#e7c7c3;background:var(--rose-light)}.goal-empty{display:flex;flex-direction:column;align-items:center;padding:55px 20px;text-align:center}.goal-empty>span{width:48px;height:48px;display:grid;place-items:center;color:var(--sage);border-radius:14px;background:var(--sage-light)}.goal-empty h2{margin:13px 0 5px;font-size:15px}.goal-empty p{margin:0 0 17px;color:var(--muted);font-size:10px}.goal-modal{position:relative;max-width:550px}.goal-page-error{margin-bottom:13px}.insight-banner div{flex:1}.insight-banner strong{font-family:Manrope;font-size:14px}.insight-banner p{margin-top:3px}.insight-banner .secondary-button{color:var(--sage-dark);background:#edf3ef}.modules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.module-card{position:relative;min-height:210px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--surface);transition:transform .18s,box-shadow .18s}.module-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.module-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px}.module-icon.tone-sage,.module-icon.tone-moss{color:var(--sage);background:var(--sage-light)}.module-icon.tone-rose{color:#a85d54;background:var(--rose-light)}.module-icon.tone-sand{color:#9f662b;background:var(--sand-light)}.module-icon.tone-blue{color:#577a88;background:var(--blue-light)}.module-icon.tone-lilac{color:#77659a;background:var(--lilac-light)}.module-state{position:absolute;top:18px;right:18px}.module-state.soon{color:#858c87;background:var(--surface-2)}.module-card h2{margin:19px 0 6px;font-size:14px}.module-card p{min-height:46px;margin-bottom:16px;color:var(--muted);font-size:10px;line-height:1.55}.module-card button,.module-card>a{display:flex;align-items:center;gap:5px;padding:0;color:var(--sage);border:0;background:transparent;font-size:10px;font-weight:700;cursor:pointer}.module-card button:disabled{color:#a7aaa8;cursor:default}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;color:var(--muted);font-size:11px;font-weight:600}.back-link:hover{color:var(--sage)}.planning-hero{display:flex;align-items:center;gap:14px;margin-bottom:17px;padding:19px;color:#fff;border-radius:16px;background:var(--sage)}.planning-hero>span{width:47px;height:47px;display:grid;place-items:center;flex:none;border-radius:13px;background:#ffffff21}.planning-hero>div:nth-child(2){display:flex;flex-direction:column}.planning-hero small{color:#ffffffa8;font-size:10px}.planning-hero strong{font-family:Manrope;font-size:14px}.hero-progress{width:min(330px,35%);margin-left:auto;text-align:right}.hero-progress>strong{font-size:20px}.hero-progress .progress-track{margin-top:6px;background:#ffffff2e}.hero-progress .progress-track span{background:#fff}.pyramid-levels{display:grid;gap:10px}.pyramid-level{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:17px}.level-number{width:48px;height:48px;display:grid;place-items:center;color:#fff;border-radius:13px;background:var(--sage);font-family:Manrope;font-size:18px;font-weight:700}.pyramid-level:nth-child(2) .level-number{background:#5c786d}.pyramid-level:nth-child(3) .level-number{background:#718a72}.pyramid-level:nth-child(4) .level-number{background:#8b9973}.pyramid-level:nth-child(5) .level-number{background:#b09b68}.pyramid-level:nth-child(6) .level-number{background:#c38659}.pyramid-level:nth-child(7) .level-number{background:#bd6f62}.level-heading{display:flex;justify-content:space-between;gap:15px}.level-heading h2{margin-bottom:3px;font-size:14px}.level-heading p{margin-bottom:0;color:var(--muted);font-size:10px}.level-heading>span{color:var(--sage);font-family:Manrope;font-size:12px;font-weight:700}.level-content>.progress-track{height:5px;margin-top:10px}.pyramid-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.pyramid-checklist button{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 9px;color:#657069;border:1px solid var(--line);border-radius:9px;background:#fdfcf9;text-align:left;font-size:10px;cursor:pointer}.pyramid-checklist button>span{width:19px;height:19px;display:grid;place-items:center;flex:none;border:1px solid #cbd1cd;border-radius:6px}.pyramid-checklist button.completed{color:var(--sage-dark);border-color:#cbd9d1;background:var(--sage-light)}.pyramid-checklist button.completed>span{color:#fff;border-color:var(--sage);background:var(--sage)}.planning-footnote{display:flex;align-items:center;gap:7px;margin:15px 0 0;padding:11px 13px;color:#6d6249;border-radius:9px;background:#faf2df;font-size:10px}.inline-alert{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:9px;font-size:10px}.inline-alert.error{color:#9c4f47;border:1px solid #ead0cc;background:var(--rose-light)}.inline-alert.success{color:#426b59;border:1px solid #cddfd5;background:var(--sage-light)}.budget-alert{margin-bottom:13px}.budget-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.budget-summary-grid>article{display:flex;align-items:center;gap:11px;padding:16px}.budget-summary-grid article.budget-over{border-color:#e7c7c3;background:snow}.budget-summary-grid article>div{min-width:0;display:flex;flex-direction:column;gap:3px}.budget-summary-grid small{color:var(--muted);font-size:9px}.budget-summary-grid strong{overflow:hidden;font-family:Manrope;font-size:15px;white-space:nowrap;text-overflow:ellipsis}.budget-summary-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:10px}.budget-summary-icon.planned{color:var(--sage);background:var(--sage-light)}.budget-summary-icon.actual{color:#a66625;background:var(--sand-light)}.budget-summary-icon.remaining{color:#617c63;background:#e6eee2}.budget-summary-icon.usage{color:#77659a;background:var(--lilac-light)}.budget-table-panel{overflow:hidden}.budget-table-heading{padding:18px 19px;margin:0;border-bottom:1px solid var(--line)}.budget-table-heading .primary-button{flex:none}.budget-table-scroll{overflow-x:auto}.budget-table-head,.budget-row,.budget-total-row{min-width:760px;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) minmax(160px,.9fr) minmax(190px,1fr);align-items:center;gap:16px}.budget-table-head{min-height:42px;padding:0 19px;color:var(--muted);background:var(--surface-2);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.budget-row{min-height:76px;padding:11px 19px;border-top:1px solid #eeece6}.budget-row:first-of-type{border-top:0}.budget-category{display:flex;align-items:center;gap:10px;min-width:0}.budget-category>span{width:9px;height:38px;flex:none;border-radius:99px}.budget-category>div,.budget-difference>div{min-width:0;display:flex;flex-direction:column;gap:2px}.budget-category strong,.budget-actual strong,.budget-difference strong{font-size:10px}.budget-category small,.budget-difference small{color:var(--muted);font-size:8px}.budget-row .money-input{height:39px}.budget-row .money-input input{min-width:0}.budget-actual{display:flex;flex-direction:column;gap:7px}.budget-progress{width:100%;height:4px;overflow:hidden;border-radius:99px;background:#eceeea}.budget-progress span{display:block;height:100%;border-radius:inherit;background:var(--sage)}.budget-progress span.over,.budget-progress span.unplanned{background:var(--rose)}.budget-progress span.exact{background:#b58b4f}.budget-difference{display:flex;align-items:center;gap:8px;color:var(--sage)}.budget-difference.over,.budget-difference.unplanned{color:var(--rose)}.budget-difference.exact{color:#a27335}.budget-total-row{min-height:58px;padding:10px 19px;color:#fff;background:var(--sage)}.budget-total-row strong{font-family:Manrope;font-size:11px}.budget-total-row strong.negative{color:#ffd3cd}.budget-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.budget-empty strong{margin:10px 0 4px;color:var(--ink);font-size:12px}.budget-empty p{margin:0;font-size:9px}.checkup-hero{background:linear-gradient(115deg,#49685c,#637b70)}.checkup-score{margin-left:auto;font-family:Manrope;font-size:28px;font-weight:700}.checkup-score small{font-size:11px}.checkup-table{overflow:hidden}.checkup-table-head{min-height:40px;display:grid;grid-template-columns:1.1fr 1.25fr .75fr .4fr;align-items:center;gap:12px;padding:0 17px 0 57px;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface-2);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.checkup-table-row{min-height:72px;display:grid;grid-template-columns:32px 1.1fr 1.25fr .75fr .4fr;align-items:center;gap:12px;padding:10px 17px;border-bottom:1px solid #eeece6}.checkup-table-row:last-child{border-bottom:0}.checkup-table-row>div{display:flex;flex-direction:column}.checkup-table-row strong{font-size:11px}.checkup-table-row p{margin:0;color:var(--muted);font-size:10px}.mobile-formula{display:none}.recommendation-pill{justify-self:start;padding:5px 8px;color:#6f684f;border-radius:99px;background:#f5efdf;font-size:9px;font-weight:700}.ratio-result{justify-self:end;font-family:Manrope;font-size:13px!important}.emergency-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.emergency-config,.emergency-progress-card{padding:21px}.emergency-config .panel-heading>svg{color:var(--sage)}.emergency-config form{margin-top:20px}.emergency-config form>label{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;color:#59645e;font-size:10px;font-weight:600}.emergency-config select{width:100%;height:42px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:#fff}.observed-caption{margin:-7px 0 15px;color:var(--muted);font-size:9px}.calculation-preview{display:flex;flex-direction:column;margin:18px 0;padding:14px;border-radius:10px;background:var(--sage-light)}.calculation-preview span,.calculation-preview small{color:var(--muted);font-size:9px}.calculation-preview strong{margin:3px 0;font-family:Manrope;font-size:20px}.emergency-progress-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:380px;text-align:center}.emergency-shield{width:62px;height:62px;display:grid;place-items:center;margin-bottom:13px;color:var(--sage);border-radius:18px;background:var(--sage-light)}.emergency-progress-card>small{color:var(--muted);font-size:10px}.emergency-progress-card h2{margin:4px 0;font-size:27px}.emergency-progress-card>p{margin-bottom:15px;color:var(--muted);font-size:10px}.progress-track.large{width:100%;height:11px}.emergency-progress-card .progress-caption{width:100%}.emergency-account-note{display:flex;align-items:center;gap:8px;margin-top:24px;padding:10px;color:#6e634d;border-radius:9px;background:#faf2df;text-align:left;font-size:9px;line-height:1.45}.emergency-recommendation{margin-top:15px;padding:21px}.recommendation-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}.recommendation-breakdown>div{display:flex;flex-direction:column;padding:12px;border:1px solid #d6dfd9;border-radius:10px;background:#f4f8f5}.recommendation-breakdown>div.excluded{border-color:var(--line);background:var(--surface-2)}.recommendation-breakdown span{color:var(--muted);font-size:9px;font-weight:600}.recommendation-breakdown strong{margin:5px 0;font-family:Manrope;font-size:14px}.recommendation-breakdown small{color:#8a918d;font-size:8px;line-height:1.45}.recommended-target{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:18px;margin-top:12px;padding:14px;color:#fff;border-radius:11px;background:var(--sage)}.recommended-target>div{display:flex;flex-direction:column}.recommended-target small{color:#ffffffa6;font-size:9px}.recommended-target strong{margin-top:3px;font-family:Manrope;font-size:17px}.recommended-target>span{color:#ffffffa6;font-size:11px}.recommended-target .secondary-button{color:var(--sage-dark);background:#fff}.period-settings-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(280px,.65fr);gap:18px;padding:22px}.setting-icon{width:46px;height:46px;display:grid;place-items:center;color:var(--sage);border-radius:13px;background:var(--sage-light)}.setting-content form{margin-top:20px}.setting-content form>label{display:flex;flex-direction:column;gap:7px;max-width:310px;margin-bottom:13px;color:#59645e;font-size:10px;font-weight:600}.setting-content select{height:42px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:#fff}.period-mode-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:580px;margin:0 0 16px;padding:0;border:0}.period-mode-picker legend{margin-bottom:7px;color:#59645e;font-size:10px;font-weight:600}.period-mode-picker label{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.period-mode-picker label.active{border-color:var(--sage);background:var(--sage-light)}.period-mode-picker input{margin-top:2px;accent-color:var(--sage)}.period-mode-picker span{display:grid;gap:3px}.period-mode-picker strong{color:var(--ink);font-size:12px}.period-mode-picker small{color:var(--muted);font-size:10px;line-height:1.45}.period-explanation{display:flex;align-items:flex-start;gap:9px;max-width:560px;margin-bottom:17px;padding:10px;color:#6d6249;border-radius:9px;background:#faf2df}.period-explanation svg{flex:none}.period-explanation p{margin:0;font-size:9px;line-height:1.55}.period-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;border-radius:12px;background:var(--sage);text-align:center}.period-preview small{color:#ffffffa8;font-size:9px}.period-preview strong{margin-top:8px;color:#fff;font-family:Manrope;font-size:15px}.period-preview>span{margin-top:7px;color:#ffffff8c;font-size:9px}.period-preview p{max-width:260px;margin:14px 0 0;color:#ffffffa6;font-size:8px;line-height:1.5}.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.recommendation-grid>div{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.recommendation-grid strong{color:var(--sage);font-family:Manrope;font-size:13px}.recommendation-grid span{color:var(--muted);font-size:9px}.recommendation-grid .recommended{border-color:#cbd8d0;background:var(--sage-light)}.mortgage-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:15px;align-items:start}.module-form-card,.module-table-card,.distribution-card{padding:21px}.calculator-form{display:grid;gap:13px;margin-top:18px}.calculator-form>label,.compact-form-grid>label{display:flex;flex-direction:column;gap:6px;color:#59645e;font-size:10px;font-weight:600}.calculator-form input,.calculator-form select{width:100%;height:41px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:9px;outline:0;background:#fff}.calculator-form input:focus,.rebalance-row input:focus{border-color:var(--sage);box-shadow:0 0 0 3px #49685c17}.compact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.mortgage-results{display:grid;gap:13px}.mortgage-health{margin:0}.mortgage-health p{max-width:520px;margin:3px 0 0;color:#ffffffb3;font-size:9px;line-height:1.5}.mortgage-ratio{margin-left:auto;text-align:right}.mortgage-ratio strong{display:block;font-size:25px!important}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.result-card{display:flex;flex-direction:column;min-height:112px;padding:17px}.result-card small,.result-card span{color:var(--muted);font-size:9px}.result-card strong{margin:7px 0 3px;font-family:Manrope;font-size:16px}.result-card.loss strong{color:var(--rose)}.mortgage-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:17px}.mortgage-summary>div{display:flex;flex-direction:column;gap:5px;padding:0 14px;border-right:1px solid var(--line)}.mortgage-summary>div:last-child{border-right:0}.mortgage-summary span{color:var(--muted);font-size:9px}.mortgage-summary strong{font-family:Manrope;font-size:13px}.module-table-card{margin-top:15px;overflow:hidden}.module-table{margin:16px -21px -21px;overflow-x:auto}.module-table-head,.module-table-row{display:grid;grid-template-columns:.45fr .65fr 1fr 1fr 1fr 1.15fr;gap:12px;align-items:center;min-width:760px;padding:10px 21px}.module-table-head{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);font-size:8px;font-weight:700;text-transform:uppercase}.module-table-row{min-height:49px;border-bottom:1px solid #efede7;font-size:9px}.module-table-row:last-child{border-bottom:0}.module-table-row strong{font-size:9px}.investment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px}.investment-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr);gap:15px}.investment-layout .module-table-card{margin-top:0}.investment-list{margin:15px -21px -21px}.investment-row{display:grid;grid-template-columns:38px minmax(130px,1.2fr) .8fr .8fr 1fr 30px 30px;gap:10px;align-items:center;min-height:68px;padding:9px 18px;border-top:1px solid #efede7}.investment-symbol{width:35px;height:35px;display:grid;place-items:center;color:#75659a;border-radius:10px;background:var(--lilac-light)}.investment-row>div{display:flex;min-width:0;flex-direction:column;gap:3px}.investment-row>div>strong,.investment-row>div>span{overflow:hidden;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.investment-row small{color:var(--muted);font-size:8px}.investment-row .positive{color:var(--sage)}.investment-row .negative{color:var(--rose)}.investment-row>button{width:29px;height:29px;display:grid;place-items:center;color:var(--muted);border:0;border-radius:8px;background:transparent;cursor:pointer}.investment-row>button:hover{color:var(--sage);background:var(--sage-light)}.investment-row>button.danger:hover{color:var(--rose);background:var(--rose-light)}.distribution-card .expense-content{margin-top:25px}.distribution-card .secondary-button{margin-top:24px}.empty-module{padding:45px 15px;color:var(--muted);text-align:center;font-size:10px}.investment-modal{max-width:530px}.investment-modal{position:relative}.obligation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px}.obligation-summary article{display:flex;align-items:center;gap:11px;padding:16px}.obligation-summary article>span{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:11px}.obligation-summary article>span.debt{color:#a25850;background:var(--rose-light)}.obligation-summary article>span.receivable{color:var(--sage);background:var(--sage-light)}.obligation-summary article>span.done{color:#a27335;background:var(--sand-light)}.obligation-summary article>div{min-width:0;display:flex;flex-direction:column;gap:2px}.obligation-summary small,.obligation-summary em{color:var(--muted);font-size:8px;font-style:normal}.obligation-summary strong{overflow:hidden;font-family:Manrope;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.obligation-tabs{display:inline-flex;gap:5px;margin-bottom:13px;padding:4px;border-radius:10px;background:#eae9e3}.obligation-tabs button{display:flex;align-items:center;gap:7px;padding:8px 13px;color:var(--muted);border:0;border-radius:8px;background:transparent;font-size:10px;font-weight:700;cursor:pointer}.obligation-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #28322d14}.obligation-tabs span{min-width:18px;padding:2px 5px;border-radius:99px;background:var(--surface-2);font-size:8px}.obligation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.obligation-card{padding:18px}.obligation-card.completed{border-color:#cbd9d1;background:#fbfdfb}.obligation-heading{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.obligation-heading>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px}.obligation-heading>span.debt{color:#a25850;background:var(--rose-light)}.obligation-heading>span.receivable{color:var(--sage);background:var(--sage-light)}.obligation-heading h2{margin:0 0 2px;font-size:12px}.obligation-heading p{margin:0;color:var(--muted);font-size:8px}.obligation-actions{display:flex;gap:3px}.obligation-actions button{width:28px;height:28px;display:grid;place-items:center;color:var(--muted);border:0;border-radius:7px;background:transparent;cursor:pointer}.obligation-actions button:hover{color:var(--sage);background:var(--sage-light)}.obligation-actions button.danger:hover{color:var(--rose);background:var(--rose-light)}.obligation-amounts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 11px}.obligation-amounts>div{display:flex;flex-direction:column;gap:3px}.obligation-amounts>div:last-child{text-align:right}.obligation-amounts small{color:var(--muted);font-size:8px}.obligation-amounts strong{font-family:Manrope;font-size:14px}.obligation-progress-label{display:flex;justify-content:space-between;margin-top:6px;color:var(--muted);font-size:8px}.obligation-meta{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:13px;padding:10px;color:var(--muted);border-radius:8px;background:var(--surface-2);font-size:8px}.obligation-meta span{display:flex;align-items:center;gap:5px}.obligation-card-footer{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:13px}.obligation-card-footer .primary-button{min-height:35px;padding:0 12px;font-size:9px}.undo-payment{display:flex;align-items:center;gap:5px;padding:6px;color:var(--muted);border:0;background:transparent;font-size:8px;cursor:pointer}.undo-payment:hover{color:var(--rose)}.obligation-paid{display:flex;align-items:center;gap:6px;color:var(--sage);font-size:10px;font-weight:700}.obligation-empty{grid-column:1 / -1;min-height:180px;display:grid;place-items:center}.obligation-modal,.payment-modal{position:relative;max-width:540px}.payment-modal{max-width:430px}.payment-caption{margin:5px 0 0;color:var(--muted);font-size:9px}.tenor-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:8px}.tenor-shortcuts button{padding:5px 8px;color:var(--sage);border:1px solid #d3ddd7;border-radius:7px;background:var(--sage-light);font-size:8px;font-weight:700;cursor:pointer}.modal-close{position:absolute;top:17px;right:17px;width:36px;height:36px;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.modal-close:hover{color:var(--ink);background:var(--surface-2)}.allocation-total{display:grid;margin-left:auto;text-align:right}.allocation-total strong{font-size:21px!important}.allocation-total span{color:#ffffffad;font-size:8px}.allocation-total.invalid strong{color:#ffd5c9}.rebalance-table{margin:16px -21px 0;overflow-x:auto}.rebalance-head,.rebalance-row{display:grid;grid-template-columns:1.2fr 1fr .75fr .65fr 1fr 1.2fr;gap:12px;align-items:center;min-width:850px;padding:10px 21px}.rebalance-head{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);font-size:8px;font-weight:700;text-transform:uppercase}.rebalance-row{min-height:65px;border-bottom:1px solid #efede7;font-size:9px}.rebalance-row>div:first-child{display:flex;flex-direction:column;gap:3px}.rebalance-row small{color:var(--muted);font-size:8px}.rebalance-row>label{display:flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff9e9}.rebalance-row input{width:100%;height:36px;min-width:0;padding:0 7px;border:0;outline:0;background:transparent}.rebalance-row>label span{padding-right:7px;color:var(--muted)}.rebalance-action{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;align-items:center}.rebalance-action strong{grid-column:2}.rebalance-action.buy{color:var(--sage)}.rebalance-action.sell{color:var(--rose)}.rebalance-action.hold{color:var(--muted)}.rebalance-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px}.rebalance-footer p{margin:0;color:var(--muted);font-size:9px}.retirement-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:15px;align-items:start}.retirement-results{display:grid;gap:13px}.retirement-status{margin:0}.retirement-status.shortfall{background:linear-gradient(115deg,#9f625a,#ba766d)}.retirement-status p{max-width:560px;margin:3px 0 0;color:#ffffffb3;font-size:9px;line-height:1.5}.retirement-progress-card{padding:20px}.retirement-progress-card .panel-heading>strong{color:var(--sage);font-family:Manrope;font-size:18px}.retirement-progress-card .progress-track{margin-top:15px}.retirement-recommendation{display:grid;grid-template-columns:1fr auto 1fr auto;gap:15px;align-items:center;margin-top:17px;padding:13px;border-radius:11px;background:var(--surface-2)}.retirement-recommendation>div{display:flex;flex-direction:column;gap:4px}.retirement-recommendation small,.retirement-recommendation>span{color:var(--muted);font-size:8px}.retirement-recommendation strong{font-family:Manrope;font-size:12px}.retirement-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin-top:17px}.retirement-point{position:relative;display:flex;flex-direction:column;min-height:105px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.retirement-point:before{content:"";position:absolute;top:0;left:14px;width:35px;height:3px;border-radius:0 0 4px 4px;background:var(--sage)}.retirement-point span,.retirement-point small{color:var(--muted);font-size:8px}.retirement-point strong{margin:13px 0 5px;font-family:Manrope;font-size:14px}.glossary-hero{display:flex;align-items:center;gap:14px;padding:19px;color:#fff;border-radius:16px;background:linear-gradient(115deg,#557887,#6e909d)}.glossary-hero>span{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:13px;background:#ffffff21}.glossary-hero>div{flex:1}.glossary-hero strong{font-family:Manrope;font-size:14px}.glossary-hero p{margin:3px 0 0;color:#ffffffb3;font-size:9px}.glossary-search{width:min(410px,42%);height:43px;display:flex;align-items:center;gap:8px;padding:0 11px;color:#6c7e84;border-radius:10px;background:#fff}.glossary-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:10px}.glossary-search button{width:25px;height:25px;display:grid;place-items:center;color:var(--muted);border:0;border-radius:7px;background:transparent;cursor:pointer}.glossary-filters{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.glossary-filters button{padding:7px 11px;color:var(--muted);border:1px solid var(--line);border-radius:99px;background:var(--surface);font-size:9px;font-weight:700;cursor:pointer}.glossary-filters button.active{color:#fff;border-color:var(--sage);background:var(--sage)}.glossary-groups{display:grid;gap:20px}.glossary-group-heading{display:flex;align-items:center;gap:8px;margin-bottom:9px}.glossary-group-heading span{color:var(--sage);font-family:Manrope;font-size:12px;font-weight:700}.glossary-group-heading small{color:var(--muted);font-size:8px}.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.glossary-card{display:grid;grid-template-columns:36px 1fr;gap:11px;min-height:112px;padding:16px}.glossary-card>span{width:35px;height:35px;display:grid;place-items:center;color:#557887;border-radius:10px;background:var(--blue-light);font-family:Manrope;font-size:13px;font-weight:700}.glossary-card h2{margin:2px 0 6px;font-size:12px}.glossary-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}@media(max-width:1120px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.expense-content{justify-content:center}.goals-grid{grid-template-columns:repeat(2,1fr)}.modules-grid{grid-template-columns:repeat(3,1fr)}.mortgage-grid,.investment-layout,.retirement-grid,.obligation-grid{grid-template-columns:1fr}}@media(max-width:800px){.sidebar{transform:translate(-102%);transition:transform .25s ease;box-shadow:20px 0 60px #1f2f2926}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:25;background:#1e2b2647}.mobile-close{display:grid;margin-left:auto}.sidebar-toggle{display:none}.main-content{margin-left:0}.topbar{padding:0 18px}.menu-button{display:grid}.topbar .search-box{width:min(360px,56vw)}.page-wrap{padding:26px 20px 40px}.modules-grid{grid-template-columns:repeat(2,1fr)}.period-settings-card{grid-template-columns:auto 1fr}.period-mode-picker{grid-template-columns:1fr}.period-preview{grid-column:1 / -1;min-height:210px}.retirement-recommendation{grid-template-columns:1fr 1fr}.retirement-recommendation>span{display:none}.glossary-hero{align-items:flex-start;flex-wrap:wrap}.glossary-search{width:100%}.investment-row{grid-template-columns:38px 1fr auto auto}.investment-row>div:nth-of-type(2),.investment-row>div:nth-of-type(3),.investment-row>div:nth-of-type(4){display:none}.pyramid-checklist{grid-template-columns:1fr}.checkup-table-head{display:none}.checkup-table-row{grid-template-columns:32px 1fr auto}.checkup-table-row>p,.checkup-table-row .recommendation-pill{display:none}.mobile-formula{display:block;margin-top:3px;color:var(--muted);font-size:9px}.transaction-row{grid-template-columns:auto 1fr auto}.transaction-date{display:none}.transaction-amount{grid-column:2;justify-self:start}.delete-button{grid-row:1 / 3;grid-column:3;opacity:1}}@media(max-width:580px){.login-page{padding:16px}.login-card{padding:26px 22px;border-radius:18px}.login-heading{margin:28px 0 22px}.topbar{height:61px}.topbar .search-box{display:none}.top-avatar{display:grid}.notification-panel{position:fixed;top:68px;right:14px}.notification-heading{padding:15px}.notification-item{padding:13px 15px}.page-wrap{padding:22px 14px 35px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px}.page-heading .primary-button{width:100%}.heading-actions{width:100%;display:grid;grid-template-columns:1fr}.month-select{width:100%}.period-picker-group{width:100%;align-items:stretch}.month-picker{width:100%;justify-content:space-between}.month-popover{right:auto;left:0;width:min(274px,calc(100vw - 28px))}.metrics-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:14px}.metric-top{margin-bottom:12px}.metric-card h3{font-size:18px}.dashboard-grid{gap:10px}.cashflow-panel,.expense-panel,.emergency-card,.checkup-card{padding:16px}.cashflow-chart svg{height:205px}.expense-content{flex-direction:column;gap:20px}.expense-legend{width:100%}.summary-strip{grid-template-columns:1fr}.summary-strip>div{border-right:0;border-bottom:1px solid var(--line)}.summary-strip>div:last-child{border-bottom:0}.account-balance-heading{align-items:flex-start}.account-balance-grid{grid-template-columns:1fr}.table-toolbar{flex-direction:column}.table-search{width:100%}.date-filter{justify-content:center}.goals-grid,.modules-grid{grid-template-columns:1fr}.goal-highlight{align-items:flex-start;flex-wrap:wrap}.highlight-progress,.goal-overall-progress{width:100%;margin-left:64px;text-align:left}.insight-banner{align-items:flex-start;flex-wrap:wrap}.insight-banner .secondary-button{width:100%}.form-grid{grid-template-columns:1fr;gap:0}.modal{padding:19px}.resource-layout{grid-template-columns:1fr}.resource-list{max-height:220px}.resource-manager-modal{max-height:calc(100vh - 30px);overflow-y:auto}.planning-hero{align-items:flex-start;flex-wrap:wrap}.budget-summary-grid{grid-template-columns:1fr 1fr}.budget-table-heading{align-items:stretch;flex-direction:column}.budget-table-heading .primary-button{width:100%}.hero-progress{width:100%;margin-left:61px;text-align:left}.pyramid-level{grid-template-columns:40px 1fr;padding:13px}.level-number{width:38px;height:38px;border-radius:10px;font-size:14px}.emergency-module-grid{grid-template-columns:1fr}.recommendation-breakdown{grid-template-columns:1fr 1fr}.recommended-target{grid-template-columns:1fr;gap:10px}.recommended-target>span{display:none}.recommendation-grid{grid-template-columns:1fr}.checkup-score{width:100%;margin-left:61px}.compact-form-grid,.result-grid,.investment-summary,.obligation-summary{grid-template-columns:1fr}.mortgage-summary{grid-template-columns:1fr;gap:12px}.mortgage-summary>div{padding:0;border-right:0}.mortgage-ratio,.allocation-total{width:100%;margin-left:61px;text-align:left}.rebalance-footer{align-items:stretch;flex-direction:column}.rebalance-footer .primary-button{width:100%}.glossary-grid,.retirement-recommendation{grid-template-columns:1fr}.retirement-recommendation .secondary-button{width:100%}}@media(max-width:390px){.metrics-grid,.budget-summary-grid{grid-template-columns:1fr}}
