:root{--ink:#17324a;--muted:#60788d;--line:#1a73a226;--paper:#f3faff;--card:#ffffffe0;--forest:#1a73a2;--accent:#1793b1;--secondary:#45a1cb;--soft-blue:#7fbadb;--mint:#90d7bc;--mint-soft:#bfe4db;--warm-white:#fcf9de;--amber:#e9b66b;--danger:#a65f68}.inbox-dashboard{max-width:1120px;margin-inline:auto}.inbox-quick-toolbar{justify-content:flex-end;margin-bottom:18px;display:flex}.workspace-actions{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:18px;display:flex}.workspace-actions .inbox-quick-toolbar{margin-bottom:0}.review-trigger{align-items:center;gap:7px;min-height:44px;display:inline-flex;position:relative}.review-unread-dot{background:#1875ad;border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.review-drawer{box-sizing:border-box;overscroll-behavior:contain;border:0;border-left:1px solid var(--line);width:min(600px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);background:#f0f7fc;margin:0;padding:26px;position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-12px 0 50px #17324a20}.review-drawer::backdrop{background:#17324a55}.review-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-header h2{margin:0 0 20px;font-size:28px}.review-eyebrow{color:#387ca3;letter-spacing:.15em;margin:0 0 6px;font-size:10px}.review-tabs{gap:8px;display:flex}.review-tabs button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;flex:1}.review-tabs button[aria-pressed=true]{background:#deedf8;border-color:#78a9cd}.review-tab-unread{color:#316e99;margin-left:6px;font-size:10px}.review-muted{color:#5f7587;font-size:12px;line-height:1.7}.review-period{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.review-period button{min-width:44px;min-height:44px}.review-refresh{min-height:36px;margin:8px 0 16px;font-size:12px}.review-body{gap:14px;display:grid}.review-card{overflow-wrap:anywhere;background:#fff;border:1px solid #dde8f0;border-radius:16px;padding:20px}.review-card h3{margin:0 0 14px;font-size:16px}.review-card h4{margin:16px 0 10px;font-size:13px}.review-card p,.review-card li{font-size:13px;line-height:1.8}.review-card ul{margin:0;padding-left:18px}.review-card h3 span{color:#477eaa;margin-left:8px}.review-stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.review-stat-grid strong{overflow-wrap:anywhere;font-size:22px;font-weight:600;display:block}.review-stat-grid span{color:#5f7587;margin-top:5px;font-size:12px;display:block}.review-card progress{accent-color:#6b9fc6;width:100%;height:7px;margin-top:16px}.review-card .review-task-list,.review-card .review-values,.review-card .review-budget-list{padding:0;list-style:none}.review-task-list li,.review-values li{border-bottom:1px solid #edf2f7;justify-content:space-between;gap:14px;padding:7px 0;display:flex}.review-task-list time{color:#5f7587;flex-shrink:0;font-size:12px}.review-budget-list li{border-bottom:1px solid #edf2f7;gap:3px;padding:8px 0;display:grid}.review-budget-list span{font-size:12px}.review-scope{color:#5f7587;padding:8px 4px;font-size:12px;line-height:1.8}.review-scope summary{cursor:pointer;min-height:36px}.review-growth{border-top:3px solid #88b2d1}.review-card .review-insights{padding:0;list-style:none}.review-insights li+li{border-top:1px solid #e7eff5;margin-top:16px;padding-top:16px}.review-insights h4{margin:8px 0 5px;font-size:14px}.review-insights p{color:#425f75;margin:0}.review-insight-label{color:#456c88;background:#edf4fa;border-radius:6px;padding:1px 6px;font-size:10px;display:inline-block}.review-insight-label[data-status=attention]{color:#85682f;background:#fbf5e9}.review-insight-label[data-status=insufficient]{color:#667985;background:#f1f4f6}.review-comparison-heading,.review-comparison-row{grid-template-columns:1.1fr 1fr 1fr;gap:12px;display:grid}.review-comparison-heading{color:#5f7587;padding-bottom:8px;font-size:11px}.review-comparison-row{border-top:1px solid #edf2f7;padding:12px 0;font-size:13px}.review-comparison-row strong{font-size:12px;line-height:1.7}.review-comparison-row small{color:#5f7587;margin-top:5px;font-size:10px;line-height:1.6;display:block}.review-mobile-caption{display:none}.review-coverage-item{border-top:1px solid #dce8f1;margin-top:10px;padding-top:8px}.review-coverage-item h4{margin:0}.review-coverage-item p{margin:5px 0}@media (max-width:600px){.review-comparison-heading{display:none}.review-comparison-row{grid-template-columns:1fr 1fr;gap:9px}.review-comparison-row>strong{grid-column:1/-1}.review-mobile-caption{color:#5f7587;margin-bottom:4px;font-size:10px;display:block}.review-drawer{padding:22px 16px calc(24px + env(safe-area-inset-bottom))}.review-card{padding:16px}.review-period{gap:4px;font-size:12px}.review-header h2{font-size:25px}}.inbox-card{background:var(--card);border:1px solid var(--line);border-radius:20px;margin-top:20px;padding:clamp(18px,3vw,28px);box-shadow:0 12px 32px #1a5c7e0f}.inbox-capture,.inbox-edit-form{gap:14px;display:grid}.inbox-capture label,.inbox-edit-form label,.inbox-filters label{gap:8px;min-width:0;font-size:14px;display:grid}.inbox-capture textarea,.inbox-edit-form textarea{resize:vertical;min-height:110px}.inbox-row-heading,.inbox-form-footer,.inbox-pagination{justify-content:space-between;align-items:center;gap:12px;display:flex}.inbox-form-footer .primary-button{flex-shrink:0;width:auto;margin:0}.inbox-form-footer small{white-space:nowrap}.inbox-muted,.inbox-form-footer small,.inbox-row-heading time{color:var(--muted);font-size:13px}.inbox-notice{color:#246d61;background:#effaf6;border-radius:12px;padding:12px}.inbox-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inbox-filters label:first-child{flex:220px}.inbox-list{margin:0;padding:0;list-style:none}.inbox-list>li{border-top:1px solid var(--line);padding:20px 0}.inbox-summary{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.65;display:-webkit-box;overflow:hidden}.inbox-full-content{white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;line-height:1.65;overflow-y:auto}.inbox-row-actions{flex-wrap:wrap;align-items:center;gap:14px;font-size:14px;display:flex}.inbox-row-actions details{flex:1 0 100%}.inbox-menu-actions{flex-wrap:wrap;align-items:center;gap:10px;padding-block:6px 12px;display:flex}.inbox-row-actions summary,.inbox-edit-form summary{cursor:pointer;color:var(--forest);padding-block:10px}.inbox-empty{color:var(--muted);padding:28px 0}.inbox-pagination{margin-top:16px;font-size:13px}.inbox-dialog{box-sizing:border-box;border:1px solid var(--line);width:min(600px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ink);background:#fcfeff;border-radius:20px;padding:24px;overflow-y:auto;box-shadow:0 24px 80px #17324a30}.inbox-dialog::backdrop{background:#17324a70}.inbox-dialog h2{margin:0 0 12px;font-size:24px}.inbox-dialog .text-input{box-sizing:border-box;width:100%}.inbox-dialog button,.inbox-card button,.inbox-quick-toolbar button{min-height:44px}@media (max-width:620px){.inbox-filters label{flex:100%}.inbox-form-footer{align-items:flex-end}.inbox-dialog{padding:18px}.inbox-row-heading{flex-wrap:wrap}}.habit-workspace{max-width:1120px;margin:0 auto}.habit-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.habit-header-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.habit-header .habit-header-actions .habit-create-button{align-self:auto;width:auto;margin:0}@media (max-width:620px){.habit-header-actions{margin-top:18px}}.habit-header h1{color:#155f89;letter-spacing:-.045em;margin:7px 0 11px;font-size:clamp(34px,5vw,54px);line-height:1.08}.habit-header p{color:var(--muted);margin:0}.habit-create-button{white-space:nowrap;width:auto;margin:0;padding:12px 17px}.habit-message,.habit-notice{margin-top:18px}.habit-notice{color:#287b75;background:#effaf6;border:1px solid #bfe4db;border-radius:12px;padding:11px 14px;font-size:14px}.habit-card{background:#ffffffe6;border:1px solid #1a73a224;border-radius:18px;margin-top:18px;padding:clamp(18px,3vw,28px);box-shadow:0 12px 32px #1a5c7e12}.habit-card-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.habit-card-heading h2{color:#1a5573;margin:0 0 6px;font-size:22px}.habit-card-heading p{color:var(--muted);margin:0;font-size:13px}.habit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px;display:grid}.habit-form label{gap:8px;min-width:0;display:grid}.habit-form label>span,.habit-weekday-fieldset legend{color:#42657d;font-size:12px;font-weight:750}.habit-form .text-input{min-height:43px;padding:10px 12px}.habit-weekday-fieldset{border:0;grid-column:1/-1;margin:0;padding:0}.habit-weekdays{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.habit-weekdays button{color:#28617e;background:#fff;border:1px solid #b8d8e6;border-radius:50%;width:36px;height:36px;font-weight:750}.habit-weekdays button.active{border-color:var(--forest);color:#fff;background:var(--forest)}.habit-form-actions{grid-column:1/-1;justify-content:end;align-items:center;gap:9px;display:flex}.habit-form-actions .primary-button{width:auto;box-shadow:none;margin:0}.habit-list{gap:8px;margin-top:20px;display:grid}.habit-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.habit-row:first-child{border-top:0;padding-top:4px}.habit-row-main{min-width:0}.habit-row-title{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.habit-row-title h3{overflow-wrap:anywhere;margin:0;font-size:16px}.habit-row-main p{color:var(--muted);overflow-wrap:anywhere;margin:7px 0 0;font-size:13px}.habit-row-archived{opacity:.7}.habit-status{border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:750;display:inline-flex}.habit-status-active{color:#287b75;background:#e7f6f1}.habit-status-paused{color:#9a6c25;background:#fff5df}.habit-status-archived{color:#738592;background:#edf1f4}.habit-row-actions{flex-wrap:wrap;flex:none;justify-content:end;align-items:center;gap:7px;display:flex}.habit-empty{color:#899eaa;text-align:center;place-items:center;min-height:90px;font-size:14px;display:grid}.habit-pending-list{gap:9px;margin-top:18px;display:grid}.habit-pending-row{background:#fffaf0;border:1px solid #e9b66b61;border-radius:13px;justify-content:space-between;align-items:center;gap:15px;padding:13px 14px;display:flex}.habit-pending-row>div:first-child{gap:5px;min-width:0;display:grid}.habit-pending-row strong{overflow-wrap:anywhere;font-size:14px}.habit-pending-row span{color:#9a6c25;font-size:12px}.habit-plan-list{gap:0;margin-top:18px;display:grid}.habit-plan-day{border-top:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);gap:15px;padding:12px 0;display:grid}.habit-plan-day time{color:#4c87a0;padding-top:4px;font-size:12px;font-weight:750}.habit-plan-day>div{gap:7px;display:grid}.habit-plan-item{color:var(--ink);background:#f7fcfe;border-radius:10px;justify-content:space-between;gap:12px;padding:9px 11px;font-size:13px;display:flex}.habit-plan-item em{color:var(--muted);font-size:11px;font-style:normal}.habit-plan-completed{background:#effaf6}.habit-plan-completed em{color:#287b75}.habit-plan-skipped{opacity:.65}.habit-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.habit-stats-grid>div{background:#f7fcfe;border:1px solid #1a73a21f;border-radius:13px;padding:15px}.habit-stats-grid>div>span{color:#4c87a0;font-size:12px;font-weight:800}.habit-stats-grid p{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin:13px 0 0;padding-top:11px;font-size:13px;display:flex}.habit-stats-grid small{color:var(--muted);font-size:12px}@media (max-width:820px){.habit-header{align-items:start}.habit-form{grid-template-columns:1fr}.habit-weekday-fieldset,.habit-form-actions{grid-column:auto}}@media (max-width:620px){.habit-header{display:block}.habit-create-button{width:100%;margin-top:18px}.habit-row,.habit-pending-row{flex-direction:column;align-items:stretch}.habit-row-actions{justify-content:stretch}.habit-row-actions>button{flex:1}.habit-pending-row .habit-row-actions{width:100%}.habit-plan-day{grid-template-columns:1fr;gap:7px}.habit-stats-grid{grid-template-columns:1fr}.habit-stats-grid p{gap:5px;display:grid}}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{color:var(--ink);background:radial-gradient(circle at 8% 4%, #7fbadb38, transparent 30rem), radial-gradient(circle at 92% 24%, #90d7bc24, transparent 28rem), var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.public-shell{min-height:100svh;padding:24px clamp(20px,5vw,72px) 56px;position:relative;overflow:hidden}.public-shell:before,.public-shell:after{content:"";filter:blur(1px);opacity:.75;pointer-events:none;border-radius:999px;animation:12s ease-in-out infinite alternate drift;position:absolute}.public-shell:before{border:1px solid #1a73a22e;width:280px;height:280px;top:15%;right:-90px}.public-shell:after{background:#90d7bc2b;width:140px;height:140px;animation-delay:-4s;bottom:-55px;left:7%}@keyframes drift{to{transform:translate(18px,-24px)rotate(7deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}.public-nav,.public-hero,.portfolio-grid{max-width:1180px;margin-inline:auto}.public-nav{justify-content:space-between;align-items:center;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:12px;font-weight:750;display:flex}.brand-mark{background:var(--forest);color:#fff;border-radius:11px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 7px 18px #1a73a238}.quiet-link{color:var(--muted);border-bottom:1px solid var(--line);padding:8px 0;font-size:14px}.public-hero{max-width:900px;margin-left:max(0px,50vw - 590px);padding:clamp(90px,16vh,160px) 0 70px}.eyebrow{color:var(--forest);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:800}.public-hero h1{letter-spacing:-.045em;max-width:850px;margin:18px 0 24px;font-family:Georgia,Songti SC,serif;font-size:clamp(45px,8vw,92px);line-height:1.02}.public-hero p{max-width:620px;color:var(--muted);font-size:clamp(17px,2vw,21px);line-height:1.8}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.portfolio-card{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;min-height:190px;padding:24px;transition:transform .25s,border-color .25s}.portfolio-card:hover{border-color:#1a73a252;transform:translateY(-4px)}.portfolio-card span{color:var(--forest);letter-spacing:.1em;font-size:12px;font-weight:800}.portfolio-card h2{margin:44px 0 8px;font-size:22px}.portfolio-card p{color:var(--muted);margin:0;line-height:1.65}.login-page{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:100svh;display:grid}.login-story{color:#eef8fc;background:#123f5d;flex-direction:column;justify-content:space-between;padding:clamp(32px,6vw,90px);display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:80px solid #7fbadb29;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-180px}.login-story h1{max-width:700px;margin:50px 0 24px;font-family:Georgia,Songti SC,serif;font-size:clamp(43px,6vw,78px);line-height:1.05}.login-story p{color:#b8d3e2;max-width:560px;line-height:1.8}.login-panel{place-items:center;padding:32px clamp(24px,7vw,90px);display:grid}.login-card{width:min(100%,430px)}.login-card h2{margin:0 0 10px;font-size:31px}.login-card>p{color:var(--muted);margin:0 0 34px;line-height:1.6}.field-label{margin-bottom:9px;font-size:13px;font-weight:750;display:block}.text-input{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffd1;border-radius:14px;outline:none;padding:15px 16px;transition:box-shadow .2s,border .2s}.text-input:focus{border-color:var(--forest);box-shadow:0 0 0 4px #1a73a21f}.primary-button{background:var(--forest);color:#fff;border:0;border-radius:14px;width:100%;margin-top:18px;padding:15px 18px;font-weight:750;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 10px 28px #1a73a233}.primary-button:hover:not(:disabled){background:#155f89;transform:translateY(-1px);box-shadow:0 12px 30px #1a73a23d}.primary-button:disabled{opacity:.65;cursor:wait}.form-error{color:var(--danger);background:#a23e3614;border-radius:12px;margin-top:14px;padding:12px 14px;font-size:14px}.back-link{color:var(--muted);margin-top:24px;font-size:14px;display:inline-block}.workspace-shell{background:#edf7fc;grid-template-columns:248px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{color:#1b4967;overscroll-behavior-y:contain;isolation:isolate;background-color:#eaf5fa;background-image:linear-gradient(#ffffff24,#ffffff24),url(/images/workspace-oil-painting.png);background-position:50% 46%;background-repeat:no-repeat;background-size:cover;flex-direction:column;height:100svh;padding:24px 18px;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar:before,.sidebar:after{content:none;display:none}.sidebar>*{z-index:1;position:relative}.sidebar .brand{padding:2px 8px 26px}.nav-section{letter-spacing:.14em;color:#5b88a2;text-transform:uppercase;margin:17px 10px 7px;font-size:10px;font-weight:800}.nav-item{color:#42657d;border-radius:11px;align-items:center;gap:11px;margin:2px 0;padding:11px 12px;font-size:14px;transition:background .2s,color .2s,transform .2s;display:flex}.nav-item:hover{color:#1a73a2;background:#ffffff8f;transform:translate(2px)}.nav-item.active{color:#135c85;box-shadow:inset 3px 0 0 var(--forest), 0 7px 16px #1a73a214;background:#7fbadb57;border:1px solid #1a73a233}.nav-dot{border:1px solid;border-radius:50%;width:7px;height:7px}.sidebar-footer{margin-top:auto}.logout-button{color:#42657d;text-align:left;background:#ffffff7a;border:1px solid #1a73a22e;border-radius:11px;width:100%;padding:11px}.workspace-main{min-width:0;padding:clamp(22px,4vw,52px) clamp(22px,4vw,52px) 90px}.dashboard{max-width:1120px;margin:0 auto}.dashboard-header{justify-content:space-between;align-items:end;gap:20px;display:flex}.dashboard-header h1{letter-spacing:-.035em;margin:7px 0;font-size:clamp(30px,4vw,48px)}.dashboard-header p{color:var(--muted);margin:0}.status-pill{color:#1a668f;white-space:nowrap;background:#e5f4f8;border:1px solid #b8dce8;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800}.assistant-panel{color:#f4fbfe;background:linear-gradient(135deg,#1a73a2,#15587f);border-radius:26px;margin-top:38px;padding:clamp(24px,4vw,38px);position:relative;overflow:hidden;box-shadow:0 16px 34px #1a73a229}.assistant-panel:after{content:"AI";color:#ffffff09;font:120px/1 Georgia,serif;position:absolute;bottom:-32px;right:-5px}.assistant-panel h2{margin:0 0 8px;font-size:24px}.assistant-panel p{color:#c4e0eb;max-width:680px;margin:0;line-height:1.7}.assistant-placeholder{color:#acd3e1;background:#ffffff1a;border:1px solid #fff3;border-radius:15px;margin-top:24px;padding:16px 18px}.dashboard-grid{grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px;display:grid}.dashboard-card{border:1px solid var(--line);background:#fff;border-radius:22px;min-height:220px;padding:24px}.dashboard-card h3{margin:0 0 6px;font-size:18px}.dashboard-card>p{color:var(--muted);margin:0;font-size:14px}.empty-state{text-align:center;color:#89938f;place-items:center;height:130px;font-size:14px;display:grid}.dashboard-card-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.text-link{color:#2454b8;white-space:nowrap;font-size:13px;font-weight:750}.module-list{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px;display:grid}.module-chip{border:1px solid var(--line);border-radius:14px;padding:13px}.module-chip strong{font-size:14px;display:block}.module-chip span{color:var(--muted);font-size:12px}.mobile-nav,.mobile-workspace-menu{display:none}@media (max-width:820px){.mobile-workspace-menu{border:1px solid var(--line);background:#ffffffe6;border-radius:14px;margin-bottom:22px;padding:12px 14px;display:block}.mobile-workspace-menu summary{cursor:pointer;color:#155f89;padding:4px 0;font-weight:700}.mobile-workspace-menu nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.mobile-workspace-menu nav a{color:#42657d;background:#f2f8fb;border-radius:8px;align-items:center;min-height:44px;padding:10px;display:flex}.mobile-workspace-menu nav a[aria-current=page]{color:#135c85;background:#d8edf7;font-weight:700}}.assistant-dashboard{max-width:1120px;margin:0 auto}.assistant-dashboard-header h1{color:#155f89;margin:7px 0 11px;font-size:clamp(34px,5vw,54px);line-height:1.08}.assistant-dashboard-header p{max-width:640px}.assistant-conversation{background:#ffffffe6;border:1px solid #1a73a224;border-radius:22px;margin-top:26px;padding:clamp(20px,3vw,30px);box-shadow:0 12px 32px #1a5c7e12}.assistant-conversation-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.assistant-conversation-heading h2{color:#1a5573;margin:0 0 6px;font-size:22px}.assistant-conversation-heading p{color:var(--muted);margin:0;font-size:13px}.assistant-loading{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:750}.assistant-message-list{gap:18px;margin:25px 0 0;padding:0;list-style:none;display:grid}.assistant-message{flex-direction:column;gap:6px;max-width:min(82%,720px);display:flex}.assistant-message-user{align-items:end;margin-left:auto}.assistant-message-label{color:var(--muted);letter-spacing:.08em;font-size:11px;font-weight:800}.assistant-message-bubble{border:1px solid var(--line);color:var(--ink);background:#f4faff;border-radius:17px;padding:15px 17px}.assistant-message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.assistant-message-user .assistant-message-bubble{background:var(--forest);color:#f5fbfe;border-color:#0000;border-bottom-right-radius:5px}.assistant-message-assistant .assistant-message-bubble{border-bottom-left-radius:5px}.assistant-receipts{border-top:1px solid #1a73a221;margin-top:14px;padding-top:12px}.assistant-receipts-heading{color:#4c87a0;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.assistant-receipts ul{gap:7px;margin:8px 0 0;padding:0;list-style:none;display:grid}.assistant-receipts li{color:var(--muted);background:#ffffff94;border-radius:10px;gap:4px;padding:9px 11px;font-size:12px;display:grid}.assistant-receipt-topline{color:var(--ink);justify-content:space-between;gap:10px;display:flex}.assistant-receipt-topline strong{font-size:12px}.assistant-receipts code{color:#4f7b92;overflow-wrap:anywhere;font-size:10px}.receipt-success{color:#287b75;font-weight:750}.receipt-failure{color:var(--danger);font-weight:750}.assistant-empty-state{color:var(--muted);gap:17px;margin-top:25px;padding:24px 0 6px;display:grid}.assistant-empty-state p{margin:0;font-size:14px}.assistant-suggestions{flex-wrap:wrap;gap:9px;display:flex}.assistant-suggestions button{color:#28617e;text-align:left;background:#f7fcfe;border:1px solid #b8d8e6;border-radius:999px;padding:9px 12px;font-size:12px;transition:border-color .2s,background .2s,transform .2s}.assistant-suggestions button:hover{border-color:var(--secondary);background:#edf8fc;transform:translateY(-1px)}.assistant-error{margin:18px 0 0}.assistant-composer{background:#f5fbfd;border:1px solid #1a73a233;border-radius:17px;margin-top:22px;padding:12px}.assistant-input{resize:vertical;width:100%;min-height:74px;color:var(--ink);background:0 0;border:0;outline:0;padding:8px 9px;line-height:1.6}.assistant-input::placeholder{color:#87a2b1}.assistant-composer-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 2px;font-size:11px;display:flex}.assistant-send-button{width:auto;min-width:78px;box-shadow:none;margin:0;padding:11px 16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:820px){.portfolio-grid{grid-template-columns:1fr}.public-hero{padding-top:90px}.login-page{grid-template-columns:1fr}.login-story{min-height:36svh;padding:28px 24px}.login-story h1{margin:44px 0 8px;font-size:43px}.login-story p{display:none}.login-panel{align-items:start;padding:48px 24px}.workspace-shell{display:block}.sidebar{display:none}.workspace-main{padding:24px 18px 100px}.dashboard-header{align-items:start}.status-pill{margin-top:7px}.dashboard-grid{grid-template-columns:1fr}.mobile-nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1a73a2f5;border-radius:18px;grid-template-columns:repeat(4,1fr);padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 12px 36px #144f703d}.mobile-nav a{color:#c4e0eb;text-align:center;padding:7px 2px;font-size:11px}.mobile-nav a.active{color:#fff}.mobile-nav span{margin-bottom:3px;font-size:17px;line-height:1.2;display:block}}.health-workspace{max-width:1120px;margin:0 auto}.health-header{justify-content:space-between;align-items:end;gap:20px;display:flex}.health-header-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.health-header-actions .health-header-badge{margin-top:0}@media (max-width:620px){.health-header-actions{margin-top:13px}}.health-header h1{color:#155f89;letter-spacing:-.045em;margin:7px 0 11px;font-size:clamp(34px,5vw,54px);line-height:1.08}.health-header p{color:var(--muted);margin:0}.health-header-badge,.health-unit-pill{color:#1a668f;white-space:nowrap;background:#e5f4f8;border:1px solid #b8dce8;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800}.health-tabs{border-bottom:1px solid var(--line);gap:24px;margin-top:32px;display:flex}.health-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 2px 12px;font-size:14px;font-weight:750}.health-tabs button:hover,.health-tabs button.active{color:var(--forest)}.health-tabs button.active{border-bottom-color:var(--forest)}.health-record-card,.health-card{background:#ffffffeb;border:1px solid #1a73a224;border-radius:20px;margin-top:18px;padding:clamp(18px,3vw,28px);box-shadow:0 12px 32px #1a5c7e0f}.health-card-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.health-card-heading h2{color:#1a5573;margin:0 0 6px;font-size:21px}.health-card-heading p{color:var(--muted);margin:0;font-size:13px}.health-record-form{grid-template-columns:minmax(150px,.75fr) minmax(150px,.75fr) minmax(220px,1.2fr) auto;align-items:end;gap:12px;margin-top:22px;display:grid}.health-record-form label{gap:8px;min-width:0;display:grid}.health-record-form label>span{color:#42657d;font-size:12px;font-weight:750}.health-save-button{width:auto;min-width:108px;margin:0;padding-block:14px}.health-notice{color:#287b75;background:#effaf6;border:1px solid #bfe4db;border-radius:12px;margin-top:14px;padding:11px 14px;font-size:14px}.health-summary-grid{grid-template-columns:.82fr 1.18fr;gap:18px;display:grid}.health-summary-grid>.health-card{min-width:0}.health-latest-value{color:#155f89;letter-spacing:-.05em;align-items:baseline;gap:7px;margin-top:28px;font-size:clamp(42px,6vw,62px);font-weight:800;display:flex}.health-latest-value small{color:var(--muted);letter-spacing:0;font-size:18px}.health-empty-state{text-align:center;color:#89938f;place-items:center;min-height:132px;font-size:14px;display:grid}.health-chart-wrap{margin-top:20px}.health-chart{width:100%;height:auto;display:block;overflow:visible}.health-chart-axis{stroke:#d9e9ef;stroke-width:1px}.health-chart-line{fill:none;stroke:#1a73a2;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.health-chart-point{fill:#fff;stroke:#1a73a2;stroke-width:3px}.health-chart-label{fill:#7894a3;font-size:11px}.health-chart-caption{color:#7894a3;justify-content:space-between;font-size:11px;display:flex}.health-history-note{color:var(--muted);margin:12px 0;font-size:14px}.health-waist-note{min-height:115px;color:var(--muted);text-align:center;place-items:center;margin-top:28px;font-size:14px;display:grid}.health-trend-card{margin-top:18px}.health-record-list{gap:0;margin-top:18px;display:grid}.health-record-row{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:15px 0;display:flex}.health-record-row>div:first-child,.health-record-value{gap:5px;min-width:0;display:grid}.health-record-row strong{font-size:14px}.health-record-row span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.health-record-value{justify-items:end}.health-record-value span{color:#287b75}@media (max-width:900px){.health-record-form{grid-template-columns:repeat(2,minmax(0,1fr))}.health-note-field{grid-column:1/-1}.health-save-button{grid-column:1/-1;width:100%}}@media (max-width:820px){.health-header{align-items:start}.health-header-badge{margin-top:7px}.health-summary-grid{grid-template-columns:1fr}}@media (max-width:520px){.health-header{display:block}.health-header-badge{margin-top:13px;display:inline-block}.health-record-form{grid-template-columns:1fr}.health-note-field,.health-save-button{grid-column:auto}.health-record-row{align-items:start}.health-record-value{text-align:right}}.task-workspace{max-width:1120px;margin:0 auto}.task-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.task-header>div{min-width:0;padding-top:5px}.task-header-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.task-header-actions .task-create-button{width:auto;margin:0}.task-header h1{color:#155f89;letter-spacing:-.045em;margin:7px 0 11px;padding-top:4px;font-size:clamp(32px,5vw,54px);line-height:1.1}.task-header p{color:var(--muted);margin:0}.task-create-button{white-space:nowrap;background:var(--forest);width:auto;margin:7px 0 0;box-shadow:0 10px 24px #1a73a233}.task-filter-bar{flex-wrap:wrap;align-items:end;gap:12px;margin-top:20px;display:flex}.task-filter-bar>div:first-child{flex:240px;min-width:0}.task-filter-bar>div:nth-child(2){flex:0 160px}.task-filter-summary{color:var(--muted);font-size:13px;line-height:1.6}.task-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:24px;margin-top:34px;display:flex}.task-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 2px 12px;font-size:14px;font-weight:750}.task-tabs button:hover{color:var(--forest)}.task-tabs button.active{color:var(--forest);border-bottom-color:var(--forest)}.task-tabs button span{color:#1a668f;background:#e5f4f8;border-radius:999px;place-items:center;min-width:22px;margin-left:4px;padding:2px 6px;font-size:11px;display:inline-grid}.task-tabs button.active span{color:#145b7e;background:#d3edf3}.task-notice{color:#287b75;background:#effaf6;border:1px solid #bfe4db;border-radius:12px;margin-top:16px;padding:11px 14px;font-size:14px}.task-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.task-error button{color:var(--danger);background:0 0;border:0;font-weight:750;text-decoration:underline}.task-card{background:#ffffffe6;border:1px solid #1a73a224;border-radius:18px;margin-top:18px;padding:clamp(18px,3vw,28px);box-shadow:0 12px 32px #1a5c7e12}.task-today-sections{gap:16px;display:grid}.task-card-muted{opacity:.72;background:#f3f8fbe0}.task-card-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.task-card-heading h2{color:#1a5573;margin:0 0 6px;font-size:21px}.task-card-heading p{color:var(--muted);margin:0;font-size:13px}.loading-label{color:var(--muted);font-size:13px}.task-list{margin:20px 0 0;padding:0;list-style:none}.task-row{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:18px 0;display:flex}.task-row:first-child{border-top:0;padding-top:4px}.task-row-main{min-width:0}.task-row-heading{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.task-row h3{overflow-wrap:anywhere;margin:0;font-size:16px}.task-row p{color:var(--muted);overflow-wrap:anywhere;margin:7px 0 0;font-size:13px;line-height:1.6}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px;font-size:12px;display:flex}.priority-badge,.status-badge{border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:750;display:inline-flex}.priority-low{color:#276f96;background:#eaf5fa}.priority-normal{color:#9a6c25;background:#fff5df}.priority-high{color:#a45e62;background:#fbe9e8}.priority-urgent{color:#95515a;background:#f7e2e4}.status-pending{color:#60788d;background:#f0f5f8}.status-in_progress{color:#236b92;background:#e5f1f8}.status-completed{color:#287b75;background:#e7f6f1}.status-cancelled{color:#738592;background:#edf1f4}.task-row-actions{flex-wrap:wrap;justify-content:end;align-items:start;gap:7px;display:flex}.subtle-button,.danger-button,.icon-button{color:#28617e;white-space:nowrap;background:#fff;border:1px solid #b8d8e6;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s}.subtle-button:hover{border-color:var(--secondary);color:#155f89;background:#f2faff;transform:translateY(-1px)}.danger-button{color:var(--danger);background:#fffafb;border-color:#e3c4c8}.danger-button:hover{background:#fdf1f2;border-color:#cf9ba1}.subtle-button:disabled,.danger-button:disabled,.icon-button:disabled{opacity:.55;cursor:wait}.task-empty{color:#899eaa;text-align:center;place-items:center;min-height:72px;padding:14px;font-size:14px;display:grid}.task-support-grid{opacity:.72;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px;display:grid}.task-support-card{background:#ffffff7a;border:1px solid #1a73a217;border-radius:14px;padding:14px 16px}.task-support-card span{color:#4c87a0;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.task-support-card strong{color:#557689;margin-top:6px;font-size:13px;font-weight:700;display:block}.task-support-card p{color:#77909f;margin:4px 0 0;font-size:12px;line-height:1.5}.workspace-planned-card{min-height:0;margin-top:18px}.task-modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f364e52;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.task-modal{background:#fff;border:1px solid #fffc;border-radius:22px;width:min(100%,560px);max-height:min(760px,100svh - 40px);padding:clamp(22px,4vw,32px);overflow:auto;box-shadow:0 24px 70px #0f364e3d}.task-modal-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:22px;display:flex}.task-modal-heading h2{margin:7px 0 0;font-size:26px}.icon-button{width:36px;height:36px;color:var(--muted);padding:0;font-size:24px;line-height:1}.task-modal .field-label{margin-top:17px}.task-modal .field-label span{color:var(--danger)}.task-description-input{resize:vertical;min-height:96px}.task-form-grid{grid-template-columns:1fr 1.35fr;gap:14px;display:grid}.task-modal small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.task-modal-actions{justify-content:end;gap:9px;margin-top:25px;display:flex}.task-modal-actions .primary-button{background:var(--forest);width:auto;box-shadow:none;margin:0}.finance-workspace{max-width:1120px;margin:0 auto}.finance-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.finance-header-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:12px;display:flex}.finance-create-button{white-space:nowrap;width:auto;margin:0;padding:12px 17px;box-shadow:0 10px 24px #1a73a233}.finance-header h1{color:#155f89;letter-spacing:-.045em;margin:7px 0 11px;font-size:clamp(34px,5vw,54px);line-height:1.08}.finance-header p{color:var(--muted);margin:0}.finance-header-error{margin-top:16px}.finance-notice{color:#287b75;background:#e7f6f1d1;border:1px solid #287b752e;border-radius:10px;margin-top:16px;padding:10px 12px;font-size:13px}.finance-analytics{margin-top:24px}.finance-analytics-toolbar{background:#ffffffb3;border:1px solid #1a73a21f;border-radius:18px;justify-content:space-between;align-items:end;gap:18px;padding:18px 20px;display:flex}.finance-analytics-toolbar h2{color:#1a5573;margin:0 0 5px;font-size:21px}.finance-analytics-toolbar p{color:var(--muted);margin:0;font-size:13px}.finance-period-controls{flex-wrap:wrap;justify-content:end;align-items:center;gap:10px;display:flex}.finance-period-mode{background:#f3faff;border:1px solid #1a73a226;border-radius:10px;padding:3px;display:inline-flex}.finance-period-mode button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:750}.finance-period-mode button.active{color:#fff;background:var(--forest);box-shadow:0 5px 12px #1a73a22e}.finance-period-nav{align-items:center;gap:8px;display:inline-flex}.finance-period-nav button{color:#28617e;background:#fff;border:1px solid #1a73a229;border-radius:9px;place-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:grid}.finance-period-nav button:hover:not(:disabled){border-color:var(--secondary);background:#f3faff}.finance-period-nav button:disabled{cursor:not-allowed;opacity:.4}.finance-period-nav span{color:#1a5573;text-align:center;min-width:90px;font-size:14px;font-weight:800}.finance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:30px;display:grid}.finance-summary-card{background:#ffffffeb;border:1px solid #1a73a221;border-radius:18px;min-height:142px;padding:22px;box-shadow:0 10px 26px #1a5c7e0f}.finance-summary-card span{color:#4c87a0;font-size:13px;font-weight:750}.finance-summary-card strong{color:#155f89;letter-spacing:-.03em;margin-top:22px;font-size:clamp(23px,3vw,32px);display:block}.finance-summary-card small{color:#8ba1ae;margin-top:7px;font-size:11px;display:block}.finance-summary-income strong{color:#1a73a2}.finance-summary-expense strong{color:#2b6888}.finance-summary-balance{background:linear-gradient(135deg,#fffffff5,#effaf6cc);border-color:#90d7bc47}.finance-summary-balance strong{color:#287b75}.finance-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:18px;display:grid}.finance-breakdown-card{background:#ffffffe6;border:1px solid #1a73a224;border-radius:18px;min-width:0;padding:clamp(18px,3vw,24px);box-shadow:0 12px 32px #1a5c7e0f}.finance-breakdown-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.finance-breakdown-heading h3{color:#1a5573;margin:0 0 5px;font-size:18px}.finance-breakdown-heading p{color:var(--muted);margin:0;font-size:12px}.finance-breakdown-state{color:#899eaa;text-align:center;place-items:center;min-height:78px;margin:16px 0 0;font-size:13px;display:grid}.finance-category-list{gap:15px;margin:19px 0 0;padding:0;list-style:none;display:grid}.finance-category-row{min-width:0}.finance-category-topline{color:#315d75;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.finance-category-topline strong{overflow-wrap:anywhere;color:var(--ink)}.finance-category-topline span{color:var(--muted);flex:none;font-size:12px}.finance-category-track{background:#e8f3f8;border-radius:999px;height:7px;margin-top:8px;overflow:hidden}.finance-category-track span{border-radius:inherit;background:linear-gradient(90deg, var(--secondary), var(--forest));min-width:2px;height:100%;transition:width .25s;display:block}.finance-category-row small{color:#8ba1ae;margin-top:5px;font-size:11px;display:block}.finance-card{background:#ffffffe6;border:1px solid #1a73a224;border-radius:18px;margin-top:18px;padding:clamp(18px,3vw,28px);box-shadow:0 12px 32px #1a5c7e12}.finance-card-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.finance-card-heading h2{color:#1a5573;margin:0 0 6px;font-size:22px}.finance-card-heading p{color:var(--muted);margin:0;font-size:13px}.finance-date-filter{background:#f7fcfed1;border:1px solid #1a73a21c;border-radius:14px;flex-wrap:wrap;align-items:end;gap:10px;margin-top:22px;padding:13px;display:flex}.finance-date-filter label{color:var(--muted);gap:6px;font-size:11px;font-weight:750;display:grid}.finance-date-filter input{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:7px 9px}.finance-date-filter .subtle-button{min-height:38px}.text-button{color:#28617e;background:0 0;border:0;padding:9px 6px;font-size:12px;font-weight:750}.text-button:hover{color:var(--forest);text-decoration:underline}.finance-inline-error,.finance-mapping-note{border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:13px}.finance-inline-error{color:var(--danger);background:#a23e3614}.finance-mapping-note{color:#836d40;background:#fff8e8}.finance-state{color:#899eaa;text-align:center;place-items:center;min-height:120px;margin:18px 0 0;font-size:14px;display:grid}.finance-transaction-list{margin:20px 0 0;padding:0;list-style:none}.finance-transaction-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:17px 0;display:flex}.finance-transaction-row:first-child{border-top:0;padding-top:5px}.finance-transaction-main{flex:1;min-width:0}.finance-transaction-title{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.finance-transaction-title strong{overflow-wrap:anywhere;font-size:15px}.finance-type-badge{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.finance-type-expense{color:#28617e;background:#eaf5fa}.finance-type-income{color:#287b75;background:#e7f6f1}.finance-transaction-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:8px;font-size:12px;display:flex}.finance-transaction-amount{text-align:right;justify-items:end;gap:5px;min-width:145px;display:grid}.finance-transaction-amount strong{font-size:16px}.finance-transaction-amount span{overflow-wrap:anywhere;max-width:240px;color:var(--muted);font-size:12px}.finance-amount-expense strong{color:#2b6888}.finance-amount-income strong{color:#287b75}.finance-transaction-actions{flex:none;gap:8px;display:flex}.finance-modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f364e52;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.finance-modal{background:#fff;border:1px solid #fffc;border-radius:22px;width:min(100%,560px);max-height:min(760px,100svh - 40px);padding:clamp(22px,4vw,32px);overflow:auto;box-shadow:0 24px 70px #0f364e3d}.finance-modal-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:22px;display:flex}.finance-modal-heading h2{color:#1a5573;margin:7px 0 0;font-size:26px}.finance-modal .field-label{margin:17px 0 9px;font-size:13px;font-weight:750;display:block}.finance-modal .text-input{min-height:44px;padding:11px 13px;font-size:14px}.finance-type-fieldset{border:0;margin:0;padding:0}.finance-type-fieldset .field-label{margin-top:0}.finance-type-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.finance-type-switch button{color:#4c87a0;background:#f7fcfe;border:1px solid #1a73a229;border-radius:11px;min-height:42px;font-size:13px;font-weight:750}.finance-type-switch button:hover{border-color:var(--secondary);background:#f2faff}.finance-type-switch button.active{border-color:var(--forest);color:#fff;background:var(--forest);box-shadow:0 5px 12px #1a73a229}.finance-note-input{resize:vertical;min-height:90px!important}.finance-form-hint{color:var(--muted);margin-top:6px;font-size:11px;display:block}.finance-form-error{color:var(--danger);background:#a23e3614;border-radius:10px;margin:16px 0 0;padding:10px 12px;font-size:13px}.finance-modal-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:25px;display:flex}.finance-modal-actions-main{justify-content:end;gap:9px;display:flex}.finance-modal-actions .primary-button{width:auto;box-shadow:none;margin:0}.finance-category-manager-button{width:auto;margin:0;padding:12px 15px}.finance-category-manager-modal{width:min(100%,720px)}.finance-category-manager-toolbar{background:#f7fcfedb;border:1px solid #1a73a21f;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;padding:14px 15px;display:flex}.finance-category-manager-toolbar>div{gap:4px;min-width:0;display:grid}.finance-category-manager-toolbar strong{color:#1a5573;font-size:14px}.finance-category-manager-toolbar span{color:var(--muted);font-size:12px}.finance-category-create-button{width:auto;box-shadow:none;white-space:nowrap;margin:0;padding:10px 13px}.finance-category-create-form{background:#f7fcfe;border:1px solid #1a73a229;border-radius:15px;gap:10px;margin-bottom:16px;padding:17px;display:grid}.finance-category-create-form>div:first-child{gap:4px;display:grid}.finance-category-create-form>div:first-child strong{color:#1a5573;font-size:14px}.finance-category-form-kicker{color:var(--forest);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.finance-category-create-form .field-label{margin:4px 0 0}.finance-category-create-form .finance-modal-actions{margin-top:5px}.finance-category-manager-filters{background:#f3faff;border:1px solid #1a73a21f;border-radius:11px;gap:5px;margin-bottom:18px;padding:4px;display:flex}.finance-category-manager-filters button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:8px 11px;font-size:12px;font-weight:750}.finance-category-manager-filters button:hover{color:#155f89;background:#edf8fc}.finance-category-manager-filters button.active{color:#fff;background:var(--forest);box-shadow:0 5px 12px #1a73a229}.finance-category-manager-filters button span{opacity:.78;margin-left:3px;font-size:11px}.finance-category-manager-groups{gap:20px;display:grid}.finance-category-manager-group{min-width:0}.finance-category-manager-group-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.finance-category-manager-group-heading h3{color:#1a5573;margin:0;font-size:16px}.finance-category-manager-group-heading span{color:var(--muted);font-size:11px}.finance-category-manager-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.finance-category-manager-row{background:#fff;border:1px solid #1a73a21f;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:12px 13px;display:flex}.finance-category-manager-row.is-inactive{background:#fbfdfe}.finance-category-manager-row-main{flex:1;min-width:0}.finance-category-manager-name-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finance-category-manager-name-line strong{overflow-wrap:anywhere;color:var(--ink);font-size:14px}.finance-category-manager-row-main small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.finance-category-status,.finance-category-built-in{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 7px;font-size:10px;font-weight:750;display:inline-flex}.finance-category-status.active{color:#287b75;background:#e7f6f1}.finance-category-status.inactive{color:#738592;background:#edf1f4}.finance-category-built-in{color:#60788d;background:#f0f5f8}.finance-category-manager-row-actions{flex-wrap:wrap;flex:none;justify-content:end;align-items:center;gap:6px;display:flex}.finance-category-manager-row-actions .primary-button{width:auto;box-shadow:none;margin:0;padding:8px 11px;font-size:12px}.finance-category-edit-input{min-height:39px;padding:8px 10px;font-size:13px}.finance-category-manager-empty{color:#899eaa;text-align:center;place-items:center;min-height:120px;font-size:13px;display:grid}@media (max-width:620px){.assistant-dashboard-header{flex-direction:column;align-items:start}.assistant-dashboard-header .status-pill{margin-top:0}.assistant-conversation{border-radius:18px;padding:18px}.assistant-conversation-heading{display:block}.assistant-loading{margin-top:10px;display:block}.assistant-message{max-width:94%}.assistant-suggestions{display:grid}.assistant-suggestions button{width:100%}.assistant-composer-footer{align-items:end}.assistant-composer-footer>span{max-width:55%;line-height:1.4}.task-header{flex-direction:column;align-items:start}.task-create-button{width:100%}.task-tabs{gap:14px;margin-top:24px}.task-row{display:block}.task-row-actions{justify-content:start;margin-top:14px}.task-support-grid,.task-form-grid{grid-template-columns:1fr}.task-modal-backdrop{align-items:end;padding:10px}.task-modal{border-radius:20px;max-height:calc(100svh - 20px)}.finance-header{flex-direction:column;align-items:start}.finance-header-actions{justify-content:space-between;align-items:center;width:100%}.finance-create-button{flex:1}.finance-analytics-toolbar{flex-direction:column;align-items:stretch}.finance-period-controls{justify-content:space-between}.finance-summary-grid{grid-template-columns:1fr;margin-top:22px}.finance-summary-card{min-height:118px}.finance-summary-card strong{margin-top:15px}.finance-breakdown-grid{grid-template-columns:1fr}.finance-category-topline{flex-direction:column;align-items:start;gap:4px}.finance-category-topline span{flex-basis:auto}.finance-date-filter{flex-direction:column;align-items:stretch}.finance-date-filter label,.finance-date-filter input,.finance-date-filter .subtle-button{width:100%}.finance-transaction-row{flex-direction:column;align-items:stretch;gap:12px}.finance-transaction-amount{text-align:left;justify-items:start;min-width:0}.finance-transaction-actions{justify-content:end;display:flex}.finance-transaction-actions>button{flex:1}.finance-modal-actions{flex-wrap:wrap;align-items:stretch}.finance-modal-actions>.danger-button{flex:1 0 100%}.finance-modal-actions-main{width:100%}.finance-modal-actions-main>button{flex:1}.finance-modal-backdrop{align-items:end;padding:10px}.finance-modal{border-radius:20px;max-height:calc(100svh - 20px)}.finance-category-manager-toolbar{flex-direction:column;align-items:stretch}.finance-category-create-button{width:100%}.finance-category-manager-row{flex-direction:column;align-items:stretch;gap:11px}.finance-category-manager-row-actions{justify-content:stretch}.finance-category-manager-row-actions>button{flex:1}.finance-category-manager-row-actions>.finance-category-built-in{align-self:center;margin-right:auto}}.habit-header h1{font-size:clamp(40px,5vw,58px)}.habit-header .habit-create-button{flex:none;align-self:flex-end;width:auto;margin:0}.habit-focus-layout{grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);align-items:start;gap:18px;display:grid}.habit-focus-main,.habit-focus-aside{min-width:0}.habit-focus-aside>.habit-stats-card{margin-top:18px}.habit-current-card{margin-top:22px}.habit-section-kicker{color:#1a668f;white-space:nowrap;background:#e5f4f8;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.habit-day-card,.habit-pending-card{margin-top:18px}.habit-day-card-today{border-color:#1a73a233;box-shadow:0 14px 34px #1a5c7e1a}.habit-day-card h2,.habit-pending-card h2{align-items:center;gap:8px;display:flex}.habit-day-count{color:#1a668f;vertical-align:middle;background:#e5f4f8;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:800;display:inline-grid}.habit-day-icon,.habit-pending-icon,.habit-stats-icon{color:#1a73a2;background:#edf8fc;border-radius:14px;flex:none;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.habit-day-card-future .habit-day-icon{color:#7b7ebc;background:#f0effc}.habit-pending-icon{color:#a06d29;background:#fff7e8;font-size:20px}.habit-stats-icon{color:#287b75;background:#effaf6;font-size:28px}.habit-day-list{border:1px solid #1a73a21f;border-radius:15px;margin-top:18px;display:grid;overflow:hidden}.habit-day-row{border-top:1px solid var(--line);background:#ffffffa8;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;padding:13px 14px;display:grid}.habit-day-row:first-child{border-top:0}.habit-day-row-completed{background:#f1fbf8}.habit-day-row-skipped{opacity:.62}.habit-check-box{color:#fff;background:#fff;border:1.5px solid #9eb5c1;border-radius:6px;place-items:center;width:25px;height:25px;padding:0;font-size:17px;font-weight:900;line-height:1;transition:border-color .18s,background .18s,transform .18s;display:grid}.habit-check-box:hover:not(:disabled){border-color:var(--forest);background:#f0f9fc;transform:scale(1.06)}.habit-check-box:focus-visible{outline-offset:2px;outline:3px solid #1a73a238}.habit-check-box.is-complete{background:#287b75;border-color:#287b75}.habit-check-box:disabled{cursor:default}.habit-day-main,.habit-pending-main{gap:4px;min-width:0;display:grid}.habit-day-main strong,.habit-pending-main strong{overflow-wrap:anywhere;color:var(--ink);font-size:14px}.habit-day-main span,.habit-pending-main span{overflow-wrap:anywhere;color:var(--muted);font-size:12px}.habit-day-row-actions{flex-direction:column;align-items:flex-end;gap:4px;min-width:72px;display:flex}.habit-plan-label{color:var(--muted);white-space:nowrap;font-size:11px}.habit-plan-label-completed{color:#287b75}.habit-plan-label-skipped{color:#899eaa}.habit-day-empty,.habit-pending-empty{min-height:100px}.habit-pending-row{background:#fffaf0;border:1px solid #e9b66b61;border-radius:15px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:18px;padding:13px 14px;display:grid}.habit-pending-row .habit-check-box{background:#fff;border-color:#c2a16d}.habit-pending-card-compact{box-shadow:none;background:#fffcf4e0;border-color:#e9b66b47;margin-top:14px;padding:18px}.habit-pending-card-compact .habit-card-heading{align-items:center}.habit-pending-card-compact .habit-card-heading h2{color:#7d6339;font-size:18px}.habit-pending-card-compact .habit-card-heading p{font-size:12px}.habit-pending-card-compact .habit-pending-icon{border-radius:11px;width:34px;height:34px;font-size:17px}.habit-pending-card-compact .habit-pending-row{border-radius:12px;gap:9px;margin-top:12px;padding:10px}.habit-pending-card-compact .habit-pending-main strong{font-size:13px}.habit-pending-card-compact .habit-pending-main span{font-size:11px}.habit-pending-card-compact .habit-skip-button{padding:6px 9px;font-size:11px}.habit-pending-card-compact .habit-pending-empty{min-height:56px;font-size:12px}.habit-remove-today-button{color:#6e8b9b;padding:2px 0;font-size:11px}.habit-remove-today-button:hover{color:var(--danger)}.habit-skip-button{color:#a65f68;background:0 0;border-color:#a65f6847;padding:7px 12px;font-weight:650}.habit-skip-button:hover{background:#fff5f5}.habit-archived-section{border-top:1px solid var(--line);color:var(--muted);gap:7px;margin-top:18px;padding-top:14px;font-size:12px;display:grid}.habit-archived-row{background:#f7fafb;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.habit-archived-row strong{overflow-wrap:anywhere;color:#60788d;font-size:13px;font-weight:650}.habit-archived-row .text-button{padding:4px 5px}.habit-stat-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.habit-stat-box{background:#f7fcfe;border:1px solid #1a73a21f;border-radius:14px;min-width:0;padding:14px}.habit-stat-box>span{color:#4c87a0;font-size:12px;font-weight:750}.habit-stat-box strong{color:#155f89;letter-spacing:-.04em;margin-top:11px;font-size:28px;display:block}.habit-stat-box strong small{color:var(--muted);letter-spacing:0;font-size:12px}.habit-stat-box em{color:var(--muted);margin-top:4px;font-size:11px;font-style:normal;display:block}.habit-stat-progress{background:#dcecf2;border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.habit-stat-progress span{border-radius:inherit;background:linear-gradient(90deg,#45a1cb,#1a73a2);height:100%;display:block}.habit-contribution{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.habit-contribution-heading{color:#315d75;justify-content:space-between;gap:10px;font-size:12px;font-weight:750;display:flex}.habit-contribution-heading small{color:var(--muted);font-size:10px;font-weight:500}.habit-contribution-grid{grid-template-columns:repeat(10,1fr);gap:6px;margin-top:12px;display:grid}.habit-contribution-grid span,.habit-contribution-legend span{aspect-ratio:1;background:#edf2f5;border-radius:4px;width:100%}.habit-contribution-grid span.is-filled,.habit-contribution-legend span.is-filled{background:#63b5d3}.habit-contribution-legend{color:var(--muted);justify-content:end;align-items:center;gap:5px;margin-top:10px;font-size:10px;display:flex}.habit-contribution-legend span{width:10px;height:10px}@media (max-width:900px){.habit-focus-layout{grid-template-columns:1fr}.habit-focus-aside>.habit-stats-card{margin-top:18px}}@media (max-width:620px){.habit-header .habit-create-button{align-self:auto;width:100%;margin-top:18px}.habit-day-row,.habit-pending-row{grid-template-columns:30px minmax(0,1fr);gap:11px}.habit-day-row-actions{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center;min-width:0}.habit-pending-row .habit-skip-button{grid-column:2;justify-self:start}.habit-stat-summary{grid-template-columns:1fr 1fr}.habit-card-heading{gap:10px}.habit-card-heading h2{font-size:19px}.habit-day-icon,.habit-pending-icon,.habit-stats-icon{border-radius:12px;width:35px;height:35px;font-size:18px}}.calendar-date-jump{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:17px;display:flex}.calendar-date-jump label{color:var(--muted);font-size:13px}.calendar-date-jump input{width:auto;min-width:0;padding:9px 12px}.calendar-heading-actions{flex-wrap:wrap;gap:8px;display:flex}.calendar-workspace{margin-top:32px;padding-top:4px}.calendar-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:17px;display:flex}.calendar-heading h2{color:#155f89;letter-spacing:-.04em;margin:7px 0 6px;font-size:clamp(28px,4vw,38px)}.calendar-heading p{color:var(--muted);margin:0;font-size:13px}.calendar-layout{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:start;gap:17px;display:grid}.calendar-card{background:#ffffffeb;border:1px solid #1a73a224;border-radius:18px;min-width:0;padding:clamp(17px,2.5vw,24px);box-shadow:0 12px 32px #1a5c7e0f}.calendar-month-card{background:linear-gradient(145deg,#fffffff5,#f7fcfeeb)}.calendar-day-card{background:#fffffff5}.calendar-card-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.calendar-card-heading h3{color:#1a5573;margin:0 0 5px;font-size:20px}.calendar-card-heading p{color:var(--muted);margin:0;font-size:12px}.calendar-month-actions{gap:7px;display:inline-flex}.calendar-nav-button{color:#28617e;background:#fff;border:1px solid #1a73a229;border-radius:9px;place-items:center;width:32px;height:32px;font-size:21px;line-height:1;display:grid}.calendar-nav-button:hover{border-color:var(--secondary);background:#f3faff}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekdays{color:#7693a3;text-align:center;margin-top:21px;font-size:11px;font-weight:800}.calendar-grid{margin-top:7px}.calendar-cell{min-width:0;min-height:82px;color:var(--ink);text-align:left;background:#f8fcfec7;border:1px solid #1a73a217;border-radius:11px;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 7px 7px;display:flex;position:relative;overflow:hidden}.calendar-cell:hover{background:#f1faff;border-color:#1a73a24d}.calendar-cell strong{color:#315d75;font-size:15px}.calendar-cell.is-today strong{color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:25px;height:25px;display:inline-grid}.calendar-cell.is-selected{border-color:var(--secondary);background:#f2faff;box-shadow:0 0 0 2px #3ea7cd21}.calendar-cell-empty{background:0 0;border-color:#0000}.calendar-lunar{color:#8aa1ad;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:10px;overflow:hidden}.calendar-term,.calendar-holiday{color:#287b75;text-overflow:ellipsis;white-space:nowrap;background:#e8f7f1;border-radius:4px;max-width:100%;padding:2px 4px;font-size:9px;font-weight:700;overflow:hidden}.calendar-holiday{color:#a06d29;background:#fff6e5}.calendar-dots{gap:3px;margin-top:auto;display:flex}.calendar-dot{background:#c5d5dd;border-radius:50%;width:6px;height:6px;display:inline-block}.calendar-dot-note{background:#d99d51}.calendar-loading,.calendar-empty-state{color:#899eaa;margin:16px 0 0;font-size:12px}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:13px;margin-top:16px;font-size:11px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:inline-flex}.calendar-day-kicker{color:var(--forest);letter-spacing:.08em;margin-bottom:4px;font-size:11px;font-weight:800}.calendar-term-badge{color:#287b75;white-space:nowrap;background:#e8f7f1;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750}.calendar-day-content{gap:16px;margin-top:20px;display:grid}.calendar-source-section{border-top:1px solid var(--line);min-width:0;padding-top:14px}.calendar-source-section:first-child{border-top:0;padding-top:0}.calendar-source-heading{color:#315d75;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.calendar-source-heading a{color:#3b86af;font-size:11px;font-weight:700}.calendar-source-heading a:hover{color:var(--forest)}.calendar-count{color:var(--muted);font-size:11px;font-weight:500}.calendar-source-list,.calendar-note-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.calendar-source-list li{min-width:0;color:var(--ink);background:#f7fcfe;border:1px solid #1a73a217;border-radius:11px;align-items:center;gap:10px;padding:10px 11px;font-size:13px;display:flex}.calendar-source-list li>span:last-child{overflow-wrap:anywhere;min-width:0}.calendar-source-list small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.calendar-check-button{color:#287b75;background:#fff;border:1.5px solid #9dbbc9;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;font-size:13px;font-weight:800;line-height:1;transition:border-color .2s,background .2s,box-shadow .2s;display:grid}.calendar-check-button:hover:not(:disabled){border-color:var(--forest);background:#effaf6;box-shadow:0 0 0 3px #50a58f1f}.calendar-check-button:focus-visible{outline-offset:2px;outline:3px solid #3ea7cd40}.calendar-check-button:disabled{cursor:wait;opacity:.65}.calendar-note-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:10px;padding:10px 0;display:flex}.calendar-note-list li:last-child{border-bottom:0}.calendar-note-list strong{color:var(--ink);font-size:13px}.calendar-note-list p{color:var(--muted);white-space:pre-wrap;margin:4px 0 0;font-size:12px}.calendar-note-actions{flex:none;gap:5px;display:flex}.calendar-note-actions .text-button{padding:2px 3px;font-size:11px}.danger-text-button{color:#a65f68}.calendar-note-form{border-top:1px dashed #1a73a22b;gap:8px;margin-top:14px;padding-top:14px;display:grid}.calendar-note-form .text-input{min-height:38px;padding:9px 10px;font-size:12px}.calendar-note-content{resize:vertical;min-height:64px!important}.calendar-note-form-actions{justify-content:end;gap:8px;display:flex}.calendar-note-form-actions .primary-button,.calendar-note-form-actions .subtle-button{width:auto;box-shadow:none;margin:0;padding:9px 12px;font-size:12px}.calendar-error{margin:0 0 14px}@media (max-width:900px){.calendar-layout{grid-template-columns:1fr}}@media (max-width:620px){.calendar-workspace{margin-top:26px}.calendar-heading{flex-direction:column;align-items:start}.calendar-heading-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.calendar-heading .subtle-button{width:100%}.calendar-card{border-radius:16px;padding:16px}.calendar-cell{min-height:72px;padding:7px 5px 6px}.calendar-cell strong{font-size:13px}.calendar-lunar{font-size:9px}.calendar-term,.calendar-holiday{display:none}.calendar-day-card{margin-top:0}}.novel-workspace{max-width:1120px;margin:0 auto}.novel-page-header,.novel-workspace-header{justify-content:space-between;align-items:flex-end;gap:22px;display:flex}.novel-page-header h1,.novel-workspace-header h1{color:#155f89;letter-spacing:-.045em;margin:7px 0 10px;font-size:clamp(34px,5vw,54px);line-height:1.08}.novel-page-header p,.novel-workspace-header p{color:var(--muted);margin:0;line-height:1.65}.novel-create-button{white-space:nowrap;width:auto;margin:0;padding:12px 17px}.novel-message{margin-top:18px}.novel-card{background:#ffffffe8;border:1px solid #1a73a224;border-radius:20px;margin-top:26px;padding:clamp(18px,3vw,28px);box-shadow:0 12px 32px #1a5c7e12}.novel-card-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.novel-card-heading h2{color:#1a5573;margin:6px 0;font-size:23px}.novel-card-heading p{color:var(--muted);margin:0;font-size:13px}.novel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.novel-project-card{background:linear-gradient(145deg,#fff,#f5fbfe);border:1px solid #1a73a221;border-radius:17px;flex-direction:column;min-height:218px;padding:20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.novel-project-card:hover{border-color:#1a73a24d;transform:translateY(-2px);box-shadow:0 12px 26px #1a5c7e17}.novel-project-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.novel-status{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.novel-status-planning{color:#28617e;background:#e9f6fb}.novel-status-writing{color:#287b75;background:#e7f6f1}.novel-status-paused{color:#9a6c25;background:#fff5df}.novel-status-completed{color:#5c659b;background:#efeffc}.novel-card-date{color:#89a0ad;font-size:11px}.novel-project-card h3{color:#1a5573;overflow-wrap:anywhere;margin:24px 0 8px;font-size:21px}.novel-project-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.7;display:-webkit-box;overflow:hidden}.novel-open-link{color:#155f89;align-items:center;gap:7px;margin-top:auto;padding-top:20px;font-size:13px;font-weight:800;display:inline-flex}.novel-open-link:hover{color:var(--forest)}.novel-loading{color:var(--accent);margin:22px 0 0;font-size:13px;font-weight:750}.novel-empty-state{min-height:160px;color:var(--muted);text-align:center;border:1px dashed #1a73a238;border-radius:15px;place-items:center;gap:7px;margin-top:20px;padding:22px;display:grid}.novel-empty-state strong{color:#1a5573;font-size:16px}.novel-empty-state span{font-size:13px}.novel-empty-state .subtle-button{margin-top:5px}.novel-modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f364e52;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.novel-modal{background:#fff;border:1px solid #fffc;border-radius:22px;width:min(100%,560px);max-height:min(760px,100svh - 40px);padding:clamp(22px,4vw,32px);overflow:auto;box-shadow:0 24px 70px #0f364e3d}.novel-trash-modal{width:min(100%,650px)}.novel-modal-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:22px;display:flex}.novel-modal-heading h2{color:#1a5573;margin:7px 0 0;font-size:26px}.novel-description-input{resize:vertical;min-height:120px}.novel-form-hint{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.5}.novel-modal-actions{justify-content:end;gap:9px;margin-top:25px;display:flex}.novel-modal-actions .primary-button{width:auto;box-shadow:none;margin:0}.novel-trash-list{gap:9px;margin-top:18px;display:grid}.novel-trash-row{border:1px solid var(--line);background:#f7fcfe;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.novel-trash-row>div{gap:5px;min-width:0;display:grid}.novel-trash-row strong{overflow-wrap:anywhere;color:#1a5573;font-size:14px}.novel-trash-row span{color:var(--muted);font-size:12px}.novel-back-link{color:#4c87a0;margin-bottom:22px;font-size:13px;font-weight:750;display:inline-block}.novel-back-link:hover{color:var(--forest)}.novel-title-line{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.novel-title-line h1{margin-right:2px}.novel-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:24px;margin-top:28px;display:flex}.novel-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 2px 12px;font-size:14px;font-weight:750}.novel-tabs button:hover,.novel-tabs button.active{color:var(--forest)}.novel-tabs button.active{border-bottom-color:var(--forest)}.novel-tab-panel{min-height:300px;margin-top:18px}.novel-overview-grid{grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.novel-info-panel{padding:4px 0}.novel-info-panel h2,.novel-document-panel h2,.novel-placeholder-panel h2{color:#1a5573;margin:7px 0 10px;font-size:22px}.novel-info-panel>p{max-width:640px;color:var(--muted);white-space:pre-wrap;margin:0;line-height:1.8}.novel-meta-line{border-top:1px solid var(--line);max-width:460px;color:var(--muted);justify-content:space-between;gap:18px;margin-top:20px;padding-top:12px;font-size:12px;display:flex}.novel-meta-line strong{color:#42657d;font-weight:750}.novel-count-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;display:grid}.novel-count-card{background:#f7fcfe;border:1px solid #1a73a21f;border-radius:15px;min-height:136px;padding:17px}.novel-count-card span{color:#4c87a0;font-size:12px;font-weight:800}.novel-count-card strong{color:#155f89;letter-spacing:-.04em;margin-top:22px;font-size:34px;display:block}.novel-count-card small{color:var(--muted);font-size:11px}.novel-panel-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.novel-readonly-pill{color:#4c87a0;background:#edf7fb;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750}.novel-editable-pill{color:#287b75;background:#e7f6f1;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.novel-section-description{color:var(--muted);margin:4px 0 18px;font-size:13px;line-height:1.65}.novel-document-content{border:1px solid var(--line);color:var(--ink);white-space:pre-wrap;background:#f8fcfe;border-radius:14px;margin-top:20px;padding:18px;line-height:1.85}.novel-document-editor{resize:vertical;min-height:420px;padding:17px;font-size:14px;line-height:1.85}.novel-inline-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.novel-inline-actions>span{color:var(--muted);font-size:12px}.novel-inline-actions>div{align-items:center;gap:8px;display:flex}.novel-inline-actions .primary-button,.novel-inline-actions .subtle-button,.novel-panel-heading .subtle-button{width:auto;box-shadow:none;margin:0}.novel-character-form,.novel-chapter-create-form{background:#f7fcfe;border:1px solid #1a73a224;border-radius:15px;gap:15px;margin-top:18px;padding:18px;display:grid}.novel-character-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.novel-character-form label,.novel-chapter-create-form label{color:#42657d;gap:7px;font-size:12px;font-weight:800;display:grid}.novel-character-profile{resize:vertical;min-height:150px}.novel-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.novel-character-card{background:linear-gradient(145deg,#fff,#f7fcfe);border:1px solid #1a73a221;border-radius:15px;flex-direction:column;min-height:210px;padding:17px;display:flex}.novel-character-card-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.novel-character-card-heading h3{color:#1a5573;margin:0 0 5px;font-size:17px}.novel-character-card-heading span{color:#4c87a0;font-size:11px;font-weight:750}.novel-character-card>p{color:var(--muted);white-space:pre-wrap;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:17px 0;font-size:13px;line-height:1.7;display:-webkit-box;overflow:hidden}.novel-character-card-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:end;align-items:center;gap:7px;margin-top:auto;padding-top:11px;display:flex}.novel-character-card-actions>span{color:#a65f68;margin-right:auto;font-size:11px}.novel-character-card-actions .text-button,.novel-character-card-heading .text-button{font-size:11px}.novel-chapter-create-form textarea{resize:vertical;min-height:130px}.novel-document-empty{min-height:180px;color:var(--muted);text-align:center;border:1px dashed #1a73a238;border-radius:14px;place-items:center;gap:8px;margin-top:20px;display:grid}.novel-document-empty strong{color:#1a5573}.novel-document-empty span{font-size:13px}.novel-placeholder-panel{min-height:250px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.novel-placeholder-panel h2{margin:8px 0 0}.novel-placeholder-panel p{max-width:420px;margin:0;font-size:13px;line-height:1.7}.novel-placeholder-icon{width:50px;height:50px;color:var(--forest);background:#e9f6fb;border-radius:16px;place-items:center;font-size:23px;display:grid}.novel-page-error{margin-top:18px}@media (max-width:820px){.novel-overview-grid{grid-template-columns:1fr}}@media (max-width:620px){.novel-page-header,.novel-workspace-header{display:block}.novel-create-button{width:100%;margin-top:18px}.novel-grid,.novel-count-grid{grid-template-columns:1fr}.novel-card-heading{flex-direction:column;align-items:stretch}.novel-card-heading .subtle-button{width:100%}.novel-tabs{gap:15px;margin-top:24px}.novel-modal-backdrop{align-items:end;padding:10px}.novel-modal{border-radius:20px;max-height:calc(100svh - 20px)}.novel-trash-row{flex-direction:column;align-items:stretch}.novel-trash-row .subtle-button{width:100%}.novel-character-form-grid,.novel-character-grid{grid-template-columns:1fr}.novel-inline-actions{flex-direction:column;align-items:stretch}.novel-inline-actions>div{width:100%}.novel-inline-actions>div .primary-button,.novel-inline-actions>div .subtle-button{flex:1}.novel-document-editor{min-height:340px}}.novel-workspace-chapter-panel{min-width:0}.novel-workspace-chapter-list{gap:8px;margin-top:20px;display:grid}.novel-workspace-chapter-row{border:1px solid var(--line);color:var(--ink);background:#f8fcfe;border-radius:13px;grid-template-columns:32px minmax(0,1fr);align-items:stretch;gap:8px;padding:6px 8px 6px 6px;transition:border-color .2s,background .2s,opacity .2s,transform .2s;display:grid}.novel-workspace-chapter-row:hover{background:#fff;border-color:#1a73a24d;transform:translate(2px)}.novel-workspace-chapter-row.dragging{opacity:.5}.novel-workspace-chapter-row.drag-over{background:#edf8fd;border-color:#1a73a27a;box-shadow:inset 3px 0 #4c9ac0}.novel-chapter-drag-handle{color:#7c99a6;width:32px;min-height:54px;font:inherit;letter-spacing:-4px;cursor:grab;background:0 0;border:0;border-radius:9px;align-self:stretch;place-items:center;padding:0;font-size:15px;font-weight:900;display:grid}.novel-chapter-drag-handle:hover:not(:disabled){color:#155f89;background:#e9f6fb}.novel-chapter-drag-handle:active:not(:disabled){cursor:grabbing}.novel-chapter-drag-handle:disabled{cursor:wait;opacity:.5}.novel-workspace-chapter-link{min-width:0;color:var(--ink);grid-template-columns:72px minmax(0,1fr) auto 20px;align-items:center;gap:12px;padding:8px 6px 8px 0;display:grid}.novel-workspace-chapter-row strong{overflow-wrap:anywhere;color:#1a5573;font-size:14px}.novel-chapter-reorder-status{color:#4c87a0;margin:10px 2px 0;font-size:12px;font-weight:750}.novel-chapter-summary{gap:5px;min-width:0;display:grid}.novel-chapter-summary small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.novel-chapter-number{color:#4c87a0;white-space:nowrap;font-size:12px;font-weight:800}.novel-chapter-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:11px;font-weight:750;display:inline-flex}.novel-chapter-status-planned{color:#28617e;background:#e9f6fb}.novel-chapter-status-drafting{color:#287b75;background:#e7f6f1}.novel-chapter-status-reviewing{color:#89682a;background:#fff5df}.novel-chapter-status-completed{color:#5c659b;background:#efeffc}.novel-editor-workspace{max-width:1280px;margin:0 auto}.novel-editor-layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.novel-chapter-directory{background:#ffffffe6;border:1px solid #1a73a224;border-radius:18px;min-width:0;padding:19px 14px 14px;position:sticky;top:24px;box-shadow:0 12px 30px #1a5c7e0f}.novel-chapter-directory-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:12px;padding:0 6px 14px;display:flex}.novel-chapter-directory-heading h2{color:#1a5573;margin:6px 0 0;font-size:19px}.novel-chapter-count{color:#28617e;background:#e9f6fb;border-radius:999px;place-items:center;min-width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.novel-chapter-list{gap:4px;margin-top:12px;display:grid}.novel-chapter-item{border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid;position:relative}.novel-chapter-item:hover{background:#f2faff}.novel-chapter-link{min-width:0;color:var(--muted);border-left:3px solid #0000;border-radius:9px 0 0 9px;grid-template-columns:57px minmax(0,1fr);gap:3px 8px;padding:10px 4px 10px 8px;transition:background .2s,color .2s,border-color .2s;display:grid}.novel-chapter-link:hover{color:#155f89;background:#f2faff}.novel-chapter-link.active{border-left-color:var(--forest);color:#155f89;background:#e9f6fb}.novel-chapter-link-title{overflow-wrap:anywhere;color:#42657d;grid-column:2;font-size:13px;font-weight:700}.novel-chapter-link.active .novel-chapter-link-title{color:#155f89}.novel-chapter-link .novel-chapter-status{grid-column:2;justify-self:start;padding:2px 6px;font-size:10px}.novel-chapter-delete-button{color:#a55252;font:inherit;white-space:nowrap;cursor:pointer;background:#fff8f8;border:1px solid #a5525233;border-radius:7px;align-self:start;margin:9px 1px 0 0;padding:4px 6px;font-size:10px;font-weight:800}.novel-chapter-delete-button:hover:not(:disabled){color:#8e3e3e;background:#fff0f0;border-color:#a5525259}.novel-chapter-delete-button:disabled{cursor:not-allowed;opacity:.55}.novel-chapter-directory-empty{color:var(--muted);margin:16px 6px 4px;font-size:12px;line-height:1.6}.novel-chapter-directory-error{color:#a55252;margin:12px 6px 0;font-size:12px;line-height:1.5}.novel-chapter-trash{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.novel-chapter-trash-toggle{color:#42657d;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;margin:0;padding:8px 6px;font-size:12px;font-weight:800;display:flex}.novel-chapter-trash-toggle:hover{color:#155f89;background:#f2faff}.novel-chapter-trash-toggle span:last-child{color:#7c99a6;font-size:11px;font-weight:700}.novel-chapter-trash-panel{background:#f8fcfe;border:1px solid #1a73a21f;border-radius:10px;margin-top:8px;padding:9px}.novel-chapter-trash-empty{color:var(--muted);margin:2px;font-size:11px;line-height:1.5}.novel-chapter-trash-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.novel-chapter-trash-item{border-bottom:1px solid #1a73a21a;gap:8px;padding-bottom:9px;display:grid}.novel-chapter-trash-item:last-child{border-bottom:0;padding-bottom:0}.novel-chapter-trash-item strong,.novel-chapter-trash-item span{overflow-wrap:anywhere;display:block}.novel-chapter-trash-item strong{color:#42657d;font-size:11px;line-height:1.4}.novel-chapter-trash-item span{color:#8299a6;margin-top:3px;font-size:10px;line-height:1.45}.novel-chapter-trash-item .subtle-button{width:auto;margin:0;padding:6px 9px;font-size:11px}.novel-chapter-empty-state{background:linear-gradient(145deg,#f6fcff,#fff);border:1px dashed #1a73a240;border-radius:18px;place-items:start;gap:10px;min-height:280px;margin-top:20px;padding:clamp(24px,5vw,48px);display:grid}.novel-chapter-empty-state h1{color:#155f89;margin:0;font-size:clamp(24px,4vw,34px)}.novel-chapter-empty-state p{max-width:520px;color:var(--muted);margin:0;font-size:13px;line-height:1.75}.novel-empty-back-button{width:auto;margin:5px 0 0;text-decoration:none}.novel-editor-main{min-width:0}.novel-editor-header{justify-content:space-between;align-items:end;gap:18px;padding:4px 2px 2px;display:flex}.novel-editor-header h1{color:#155f89;letter-spacing:-.04em;margin:7px 0 10px;font-size:clamp(29px,4vw,44px);line-height:1.1}.novel-editor-header p{color:var(--muted);margin:0;font-size:12px}.novel-editor-meta-card,.novel-current-draft-card{background:#fffffff0;border:1px solid #1a73a224;border-radius:18px;margin-top:20px;padding:clamp(18px,3vw,25px);box-shadow:0 12px 30px #1a5c7e0f}.novel-current-draft-card{border-color:#1a73a245;box-shadow:0 14px 34px #1a5c7e1a}.novel-editor-section-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px;display:flex}.novel-editor-section-heading h2{color:#1a5573;margin:6px 0 0;font-size:21px}.novel-draft-editable-pill{color:#287b75;background:#e7f6f1;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.novel-chapter-title-input{min-height:43px;padding:10px 12px}.novel-chapter-outline-input{resize:vertical;min-height:112px}.novel-editor-meta-card .field-label:not(:first-of-type){margin-top:17px}.novel-generation-card{background:linear-gradient(145deg,#f7fcfefa,#fffffff2);border:1px solid #1a73a22b;border-left:3px solid #4c9ac0;border-radius:18px;margin-top:20px;padding:clamp(18px,3vw,25px);box-shadow:0 10px 26px #1a5c7e0f}.novel-generation-grid{grid-template-columns:minmax(150px,.3fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.novel-generation-grid label{color:#42657d;gap:7px;font-size:12px;font-weight:800;display:grid}.novel-generation-grid label>span small{color:#8299a6;font-size:10px;font-weight:600}.novel-generation-target input{min-height:43px}.novel-generation-target>small{color:#8299a6;font-size:10px;font-weight:600}.novel-generation-temporary textarea{resize:vertical;min-height:92px}.novel-generation-actions{border-top:1px solid #1a73a21a;align-items:center;gap:14px;margin-top:14px;padding-top:14px;display:flex}.novel-generation-actions>span{color:#8299a6;font-size:11px}.novel-editor-actions{background:linear-gradient(110deg,#f3fbfe,#fff);border:1px solid #1a73a229;border-radius:15px;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:14px 16px;display:flex;box-shadow:0 10px 24px #1a5c7e0d}.novel-editor-actions p{color:var(--muted);margin:5px 0 0;font-size:12px}.novel-editor-action-buttons{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;display:flex}.novel-editor-action-buttons .primary-button,.novel-editor-action-buttons .subtle-button{width:auto;margin:0}.novel-save-draft-button{box-shadow:none;padding:10px 14px}.novel-current-draft-input{resize:vertical;background:#fcfeff;border-color:#1a73a240;min-height:560px;padding:18px;font-size:15px;line-height:1.9}.novel-current-draft-input:focus{border-color:var(--forest)}.novel-editor-content-grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:stretch;gap:20px;margin-top:20px;display:grid}.novel-editor-content-grid>.novel-current-draft-card,.novel-editor-content-grid>.novel-ai-version-card{min-width:0;height:100%;margin-top:0}.novel-editor-content-grid>.novel-current-draft-card{border-color:#1a73a257;box-shadow:0 16px 36px #1a5c7e1c}.novel-editor-content-grid>.novel-ai-version-card{background:linear-gradient(145deg,#f8fcfe,#fff)}.novel-editor-content-grid .novel-current-draft-input{min-height:650px}.novel-editor-content-grid .novel-ai-version-content{min-height:650px;max-height:650px}.novel-editor-hint{color:#8299a6;margin:9px 0 0;font-size:11px;line-height:1.5}.novel-chapter-meta-actions{border-top:1px solid #1a73a21a;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding-top:13px;display:flex}.novel-chapter-meta-actions>span{color:#8299a6;font-size:11px}.novel-chapter-meta-actions .subtle-button{width:auto;margin:0;padding:9px 13px}.novel-save-notice{color:#287b75;background:#effaf6;border:1px solid #bfe4db;border-radius:11px;margin-top:14px;padding:10px 13px;font-size:13px}.novel-ai-version-card{background:#f8fcfe;border:1px solid #1a73a224;border-radius:18px;margin-top:20px;padding:clamp(18px,3vw,25px);box-shadow:0 10px 24px #1a5c7e0d}.novel-ai-version-meta{color:#8299a6;margin:-7px 0 14px;font-size:12px}.novel-ai-version-content{color:#31566d;min-height:180px;max-height:440px;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #1a73a226;border-radius:12px;margin:0;padding:17px;font-size:14px;line-height:1.9;overflow:auto}.novel-ai-version-empty{min-height:180px;color:var(--muted);text-align:center;background:#ffffff9e;border:1px dashed #1a73a238;border-radius:12px;place-content:center;gap:7px;padding:22px;display:grid}.novel-ai-version-empty strong{color:#42657d;font-size:14px}.novel-ai-version-empty span{font-size:12px}.novel-ai-version-actions{justify-content:end;align-items:center;gap:12px;margin-top:14px;display:flex}.novel-ai-version-actions .subtle-button{width:auto;margin:0}.novel-ai-version-actions span{color:#89682a;font-size:12px}.novel-ai-generate-button{color:#155f89;width:auto;font:inherit;cursor:pointer;background:#eef8fc;border:1px solid #1a73a259;border-radius:9px;margin:0;padding:10px 14px;font-size:13px;font-weight:800}.novel-ai-generate-button:hover:not(:disabled){background:#e1f3fa}.novel-ai-generate-button:disabled{cursor:not-allowed;opacity:.56}.novel-review-submit-button{color:#287b75;width:auto;font:inherit;cursor:pointer;background:#effaf6;border:1px solid #287b754d;border-radius:9px;margin:0;padding:10px 14px;font-size:13px;font-weight:800}.novel-review-submit-button:hover:not(:disabled){background:#e2f6ef}.novel-review-submit-button:disabled{cursor:not-allowed;opacity:.56}.novel-review-card{background:#ffffffeb;border:1px solid #287b752e;border-radius:18px;margin-top:20px;padding:clamp(18px,3vw,25px);box-shadow:0 10px 24px #1a5c7e0d}.novel-review-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.novel-review-status-pending{color:#6f8994;background:#f1f6f8}.novel-review-status-passed{color:#287b75;background:#e7f6f1}.novel-review-status-needs_revision{color:#89682a;background:#fff5df}.novel-review-meta{color:#8299a6;margin:-7px 0 15px;font-size:12px}.novel-review-scores{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.novel-review-score-card{border:1px solid var(--line);background:#f8fcfe;border-radius:12px;padding:14px}.novel-review-score-card span,.novel-review-comment>span{color:#4c87a0;font-size:12px;font-weight:800}.novel-review-score-card strong{color:#287b75;letter-spacing:-.03em;margin-top:9px;font-size:28px;display:block}.novel-review-score-card small{color:#8299a6;margin-left:3px;font-size:12px;font-weight:700}.novel-review-comment{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.novel-review-comment p{color:#42657d;white-space:pre-wrap;margin:8px 0 0;font-size:13px;line-height:1.75}.novel-review-comments{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.novel-review-comments .novel-review-comment{margin-top:0}.novel-force-complete-area{background:linear-gradient(110deg,#f1f8ff,#f8fcff);border:1px solid #1a73a22e;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:14px 16px;display:flex}.novel-force-complete-area strong{color:#155f89;font-size:13px}.novel-force-complete-area p{color:#6f8994;margin:5px 0 0;font-size:11px;line-height:1.55}.novel-force-complete-button{color:#155f89;width:auto;font:inherit;cursor:pointer;background:#eaf5ff;border:1px solid #1a73a259;border-radius:9px;flex:none;margin:0;padding:10px 14px;font-size:13px;font-weight:800}.novel-force-complete-button:hover:not(:disabled){background:#dceeff;border-color:#1a73a280}.novel-force-complete-button:disabled{cursor:not-allowed;opacity:.6}.session-recovery{z-index:45;color:#674d16;background:#fff8e8;border:1px solid #eccb7b;border-radius:16px;margin:0 0 20px;padding:16px;position:sticky;top:12px;box-shadow:0 8px 24px #16364a18}.session-recovery p{margin:8px 0}.session-recovery-actions{flex-wrap:wrap;gap:10px;display:flex}.finance-period-selectors{flex-wrap:wrap;gap:12px;margin:0 0 18px;display:flex}.finance-period-selectors label{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.finance-period-selectors select{width:auto;padding:9px 12px}.habit-library-search{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.habit-library-search label{color:var(--muted);font-size:13px}.habit-library-search input{flex:1;min-width:160px;padding:10px 12px}.habit-library-search-note{color:var(--muted);font-size:12px;line-height:1.6}.finance-category-search{gap:8px;margin-block:16px;display:grid}.finance-category-search .text-button{justify-self:start}.finance-category-search p{margin:0}.task-category-label{overflow-wrap:anywhere;max-width:100%}.habit-monthly-review{margin-top:18px}.habit-monthly-review summary{cursor:pointer;color:var(--ink);font-weight:700}.habit-monthly-review p{color:var(--muted);font-size:12px;line-height:1.6}.habit-monthly-review ul{margin:0;padding:0;list-style:none}.habit-monthly-review li{border-top:1px solid var(--line);overflow-wrap:anywhere;gap:6px;padding:12px 0;display:grid}.habit-monthly-review li span{font-size:12px;line-height:1.6}.health-daily-values{margin-top:16px}.health-daily-values summary{cursor:pointer;color:var(--ink);font-weight:700}.health-daily-values table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.health-daily-values caption{text-align:left;color:var(--muted);padding-bottom:8px;font-size:12px}.health-daily-values th,.health-daily-values td{text-align:left;border-bottom:1px solid var(--line);padding:8px 4px}.finance-main-tabs{gap:12px;margin-bottom:24px;display:flex}.finance-main-tabs button[aria-pressed=true]{background:var(--accent,#1a73a2);color:#fff}.finance-budget-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;display:grid}.finance-budget-card{overflow-wrap:anywhere;padding:20px}.finance-budget-card h2{font-size:18px}.finance-budget-card progress{accent-color:#1a73a2;width:100%}.finance-budget-card button{margin:8px 8px 0 0}.finance-budget-editor{margin-block:20px;padding:20px}.finance-budget-editor label{gap:8px;margin-bottom:12px;display:grid}.finance-budget .finance-period-selectors input{width:110px}.finance-refund-toggle{align-items:center;gap:8px;margin-block:12px;display:flex}.finance-refund-toggle input{width:auto}.finance-budget-card,.finance-budget-editor{border:1px solid var(--line);background:#ffffffcf;border-radius:18px;box-shadow:0 10px 26px #1a5c7e0d}.finance-budget-card strong{color:#155f89;font-size:22px;display:block}.finance-budget-card p,.finance-budget>p{color:var(--muted);font-size:14px;line-height:1.7}.finance-budget .finance-period-selectors{border:0;padding:0}.finance-budget .finance-period-selectors legend{margin-bottom:12px;font-weight:700}.finance-budget input,.finance-budget select{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:10px;max-width:100%;padding:10px 12px}.finance-budget button,.finance-main-tabs button{color:#1a73a2;cursor:pointer;font:inherit;background:#fff;border:1px solid #b9ddeb;border-radius:10px;padding:10px 14px;font-weight:600}.finance-budget button:disabled,.finance-main-tabs button:disabled{opacity:.55;cursor:default}.finance-main-tabs button[aria-pressed=true]{color:#fff;background:#1a73a2}.finance-budget-editor button{margin-right:10px}.finance-date-filter .finance-inactive-toggle{align-items:center;gap:8px;min-height:44px;display:flex}.finance-date-filter .finance-inactive-toggle input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex:0 0 18px;padding:0}.finance-budget-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.finance-budget-heading h1{margin:0 0 6px;font-size:30px}.finance-budget-heading p{color:var(--muted);margin:0}.finance-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.finance-budget-month{grid-template-columns:minmax(0,1fr);max-width:720px}.finance-budget-card{border-radius:14px;padding:20px}.finance-budget-card h2{margin:0 0 10px}.finance-budget-amount,.finance-budget-status{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.finance-budget-amount{margin-bottom:12px}.finance-budget-amount strong{font-variant-numeric:tabular-nums;font-size:28px}.finance-budget-amount span,.finance-budget-status{color:var(--muted);font-size:14px}.finance-budget-card progress{border:0;border-radius:8px;height:8px;margin:0 0 12px;display:block;overflow:hidden}.finance-budget-card progress::-webkit-progress-bar{background:#e4f1f7}.finance-budget-card progress::-webkit-progress-value{background:#197aa6;border-radius:8px}.finance-budget-over{color:#ab433b;font-weight:700}.finance-budget-management{border:1px solid var(--line);background:#fff;border-radius:14px;margin:18px 0;padding:18px}.finance-budget-management h2,.finance-budget-empty h2{font-size:18px}.finance-budget-management ul{margin:0;padding:0;list-style:none}.finance-budget-management li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.finance-budget-management small{color:var(--muted);margin-top:5px;display:block}.finance-budget-management li>div{flex-wrap:wrap;gap:8px;display:flex}.finance-budget-empty{border:1px solid var(--line);background:#fff;border-radius:14px;padding:30px 20px}.finance-budget .finance-budget-footnote{margin-top:18px;font-size:12px}@media (max-width:650px){.finance-budget-grid{grid-template-columns:minmax(0,1fr)}.finance-budget-heading{align-items:start}.finance-budget-heading h1{font-size:24px}.finance-budget-heading button{flex-shrink:0}.finance-budget-card{padding:16px}.finance-budget-management li{flex-direction:column;align-items:start}}.finance-date-filter>label{flex:145px;min-width:0}.finance-date-filter>label:has(input[type=search]){flex-basis:200px}.finance-advanced-filter{flex-basis:100%}.finance-advanced-filter summary,.finance-transaction-actions summary{cursor:pointer;color:var(--accent);align-content:center;min-height:44px;font-weight:700}.finance-advanced-filter[open]{display:block}.finance-advanced-filter label{align-items:center;gap:10px;margin-right:18px;display:inline-flex}.finance-transaction-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:16px;display:grid}.finance-transaction-main{min-width:0}.finance-transaction-title strong{overflow-wrap:anywhere;white-space:pre-wrap}.finance-transaction-amount{text-align:right;font-variant-numeric:tabular-nums;min-width:110px}.finance-transaction-actions{min-width:54px;display:block}.finance-transaction-actions summary{text-align:right}.finance-row-action-buttons{gap:8px;padding-top:4px;display:flex}@media (max-width:650px){.finance-date-filter>label{flex-basis:auto}.finance-date-filter>label:has(input[type=search]){flex-basis:auto}.finance-transaction-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.finance-transaction-amount{min-width:0}.finance-transaction-actions{grid-column:1/-1;justify-self:end}.finance-transaction-title{flex-wrap:wrap}}@media (max-width:820px){.workspace-main{padding-top:calc(24px + env(safe-area-inset-top));padding-right:max(18px, env(safe-area-inset-right));padding-bottom:calc(100px + env(safe-area-inset-bottom));padding-left:max(18px, env(safe-area-inset-left))}.mobile-nav{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}.login-page{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.task-modal-backdrop,.finance-modal-backdrop,.novel-modal-backdrop{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.task-modal,.finance-modal,.novel-modal,.inbox-dialog{max-height:calc(100dvh - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom)))}.session-recovery{top:calc(12px + env(safe-area-inset-top))}.review-drawer{padding-top:calc(22px + env(safe-area-inset-top));padding-right:max(16px, env(safe-area-inset-right));padding-left:max(16px, env(safe-area-inset-left))}.workspace-shell input,.workspace-shell textarea,.workspace-shell select,.login-page input{font-size:16px}}
