html,body,#root{height:100%;margin:0}body{font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;color:#1c1c1a;background:#efece6;line-height:1.55}#root{min-height:100dvh}.shell-layout{min-height:100dvh;background:#efece6}.shell-sider{background:#fbfaf7!important;border-right:1px solid #e4dfd6}.shell-brand{display:flex;align-items:center;gap:12px;padding:22px 20px 16px}.shell-brand-name{font-size:18px;font-weight:700;letter-spacing:.01em}.shell-search{padding:8px 16px 20px}.shell-header{background:transparent!important;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 28px!important;height:64px!important;line-height:64px!important}.shell-content{padding:8px 28px 32px;overflow:auto}.page{width:100%;max-width:none;display:flex;flex-direction:column;gap:20px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.page-kicker{display:block;font-size:14px;color:#6f6a62;margin-bottom:4px}.page-title{margin:0!important;font-size:32px!important;line-height:1.2!important;font-weight:700!important;text-wrap:balance}.page-desc{margin:8px 0 0!important;font-size:16px!important;color:#5c574f!important;max-width:52rem;text-wrap:pretty}.toolbar-card,.panel-card{background:#fff;border:1px solid #e7e2d8;border-radius:16px;box-shadow:0 1px #1c1c1a08}.toolbar-card{padding:16px 18px}.panel-card{padding:20px 22px}.logo-mark{width:40px;height:40px;border-radius:12px;background:#355c4a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:0 0 auto}.stat-hot{color:#a14b3e}.stat-warm{color:#a07838}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-card{background:#fff;border:1px solid #e7e2d8;border-radius:16px;padding:16px 18px}.stat-card b{display:block;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}.stat-card span{color:#6f6a62;font-size:15px}.board{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:14px;align-items:start}.board-col{background:#f7f4ee;border:1px solid #e7e2d8;border-radius:16px;padding:14px;min-height:280px}.kanban-card{width:100%;text-align:left;margin-bottom:10px;cursor:pointer}.source-grid,.project-grid,.home-grid{display:grid;gap:16px}.source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.toolkit-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.project-grid{grid-template-columns:1fr;gap:12px}.home-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.source-card,.project-card{text-align:left;border:1px solid #e7e2d8;background:#fff;border-radius:18px;cursor:pointer;display:flex;width:100%;box-shadow:0 1px #1c1c1a08;transition:transform .16s ease-out,border-color .16s ease-out}.source-card{flex-direction:column;align-items:flex-start;gap:10px;padding:20px 22px}.project-card{flex-direction:row;align-items:center;gap:20px;padding:16px 20px}.source-card b{font-size:36px;line-height:1.1;color:#1c1c1a;font-variant-numeric:tabular-nums}.source-card-k{font-size:16px;color:#3f3b35;font-weight:650}.source-card-h{font-size:14px;color:#6f6a62}.source-card.is-on,.project-card:hover,.source-card:hover{border-color:#355c4a}.project-card:hover{transform:translateY(-1px)}.project-card-body{display:flex;flex-direction:column;gap:6px;flex:0 1 340px;min-width:200px}.project-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.project-card-flags{display:flex;align-items:center;gap:8px;flex:0 0 auto}.project-card-id{display:flex;align-items:center;gap:12px;min-width:0}.project-card-name{font-size:20px;font-weight:700;line-height:1.3}.project-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:#5c574f;font-size:15px}.project-card-foot{display:flex;align-items:center;gap:12px;flex:1;min-width:280px}.project-card-foot .stage-rail{flex:1;min-width:0}.project-month{margin-top:8px}.project-month+.project-month{margin-top:28px}.project-month-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 4px 12px}.project-month-head h3{margin:0;font-size:18px;font-weight:700;color:#1c1c1a}.project-month-head span{color:#6f6a62;font-size:14px;font-variant-numeric:tabular-nums}.project-amount{font-weight:700;font-variant-numeric:tabular-nums;color:#355c4a}.quiet-chip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#355c4a1a;color:#2f4f40;font-size:14px;font-weight:600}.quiet-chip.is-muted{background:#1c1c1a0f;color:#5c574f}.plan-nav{display:flex;align-items:center;gap:8px}.plan-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;flex:1}.plan-day{text-align:center;border:1px solid #e7e2d8;background:#fff;border-radius:14px;padding:12px 0 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.plan-day .wd{font-size:13px;color:#6f6a62}.plan-day .dn{font-size:20px;font-weight:700;line-height:1.2}.plan-day .mark-dot{width:6px;height:6px;border-radius:50%;background:transparent}.plan-day.on{border-color:#355c4a;box-shadow:inset 0 0 0 1px #355c4a}.plan-day.is-today .wd{color:#355c4a;font-weight:700}.plan-day.has .mark-dot{background:#355c4a}.plan-day.all-done .mark-dot{background:#8aa392}.plan-day:hover{border-color:#cfc8bb}.plan-carry{display:flex;justify-content:space-between;align-items:center;background:#f6f3ec;border:1px solid #e7e2d8;border-radius:14px;padding:12px 16px;font-size:16px}.plan-composer{display:flex;gap:10px;align-items:center}.plan-item.is-done .plan-title{text-decoration:line-through;color:#8a847a}.plan-item.is-done .plan-pri{opacity:.55}.plan-title-row{display:inline-flex;align-items:center;gap:8px;min-width:0}.plan-stamp{display:inline-flex;align-items:center;flex-shrink:0;height:20px;padding:0 7px;border:1px solid #c45a3d;color:#a14b3e;font-size:11px;font-weight:700;transform:rotate(-8deg);border-radius:3px;background:#fff8f5}.plan-proof-link{font-size:12px;color:#5d7354}.plan-proof-preview{display:block;max-width:100%;max-height:280px;margin:0 auto;border-radius:10px;object-fit:contain}.plan-proof-empty{padding:18px 8px;color:var(--muted)}.plan-proof-empty .anticon{font-size:28px;color:#7a896f}.plan-proof-empty b{display:block;margin:10px 0 4px;color:var(--ink);font-size:14px}.plan-proof-empty span{display:block;font-size:12px}.plan-edit-row{display:flex;align-items:center;gap:8px;width:100%}.plan-pri-pick{display:inline-flex;gap:6px;flex:0 0 auto}.plan-pri{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:700;line-height:1;cursor:default}.plan-pri-pick .plan-pri{height:32px;min-width:36px;cursor:pointer}.plan-pri.is-high{background:#f4e4e0;color:#a14b3e}.plan-pri.is-mid{background:#f4ead8;color:#a07838}.plan-pri.is-low{background:#e7efe9;color:#355c4a}.plan-pri-pick .plan-pri.is-on{box-shadow:inset 0 0 0 1px currentColor}.stage-filter{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.stage-filter-btn{border:1px solid #e7e2d8;background:#fff;border-radius:14px;padding:12px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;color:#3f3b35}.stage-filter-btn b{font-size:18px;font-variant-numeric:tabular-nums}.stage-filter-btn.is-on{border-color:#355c4a;background:#eef4f0;color:#2f4f40;font-weight:650}.stage-rail,.stage-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.stage-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;font-size:13px;color:#8a847a;background:#f4f1ea;border-radius:999px;padding:6px 8px}.stage-chip i{font-style:normal;width:18px;height:18px;border-radius:50%;background:#d8d2c6;color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.stage-chip.is-done{color:#355c4a;background:#eef4f0}.stage-chip.is-done i{background:#8aa392}.stage-chip.is-on{color:#fff;background:#355c4a;font-weight:700}.stage-chip.is-on i{background:#ffffff38;color:#fff}.stage-step{text-align:left;border:1px solid #e7e2d8;background:#fff;border-radius:16px;padding:16px 16px 14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:108px}.stage-step-n{width:28px;height:28px;border-radius:50%;background:#ece7dc;color:#5c574f;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.stage-step-name{font-weight:700;font-size:16px}.stage-step-s{font-size:14px;color:#6f6a62}.stage-step.is-done{border-color:#c9d9cf;background:#f4f8f5}.stage-step.is-done .stage-step-n{background:#8aa392;color:#fff}.stage-step.is-on{border-color:#355c4a;background:#eef4f0}.stage-step.is-on .stage-step-n{background:#355c4a;color:#fff}.stage-step:hover{border-color:#355c4a}.empty-block{padding:36px 16px;text-align:center;color:#6f6a62;font-size:16px}.form-wide{width:min(920px,100%)}.note-card{width:min(1120px,100%)}.note-title-item{margin-bottom:8px!important}.note-title-input{font-size:28px!important;font-weight:700!important;line-height:1.25!important;padding:4px 0!important;color:#1c1c1a!important}.note-title-input::placeholder{color:#b4aea4!important;font-weight:600}.note-meta{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px 24px;margin-bottom:16px}.note-actions{display:flex;gap:8px;margin-top:18px}.note-list-item .ant-list-item-meta-title{font-size:18px;font-weight:700}.note-list-meta{display:flex;flex-direction:column;gap:8px}.note-list-time{color:#8a847a;font-size:14px}.note-excerpt{margin:0;color:#5c574f;font-size:15px;line-height:1.55;max-width:52rem}.note-md{--md-bk-color: #fffefb;--md-border-color: #e7e2d8;border:1px solid #e7e2d8!important;border-radius:16px!important;overflow:hidden}.note-md .md-editor-toolbar-wrapper{background:#f7f4ee;border-bottom:1px solid #e7e2d8}.note-md .md-editor{height:560px!important}.note-md-preview{border:0!important;background:transparent}.note-md-preview .md-editor-preview{padding:4px 2px 12px;font-size:16px;line-height:1.7;color:#1c1c1a}.note-md-preview img,.note-md img{max-width:100%;border-radius:12px;border:1px solid #e7e2d8}.vendor-editor{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px}.vendor-editor-head,.vendor-row{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(180px,1fr) minmax(220px,1.4fr) 40px;gap:8px;align-items:start}.vendor-editor-head{padding:0 8px;color:#6f6a62;font-size:13px;font-weight:650}.vendor-row{padding:12px;border:1px solid #e7e2d8;border-radius:14px;background:#fffefb}.vendor-field{display:flex;flex-direction:column;gap:6px;min-width:0}.vendor-field>span{display:none;color:#6f6a62;font-size:13px;font-weight:650}.vendor-note{margin-top:18px}.vendor-note-label,.vendor-note-toggle{margin:0 0 8px;color:#5c574f;font-size:14px;font-weight:650}.vendor-note-toggle{padding-left:0}.vendor-view{display:flex;flex-direction:column;gap:12px}.vendor-card{padding:16px 18px;border:1px solid #e7e2d8;border-radius:16px;background:#fffefb}.vendor-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.vendor-card-head strong{font-size:17px}.vendor-dl{margin:0;display:grid;gap:12px}.vendor-dl dt{color:#6f6a62;font-size:13px;font-weight:650;margin-bottom:4px}.vendor-dl dd{margin:0;color:#1c1c1a;font-size:15px;line-height:1.55;word-break:break-word}.vendor-dl dd.is-empty{color:#8a847a}.vendor-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.project-card{transition:none}}@media(max-width:1280px){.stage-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.toolkit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.finance-month{display:flex;align-items:center;gap:4px;flex:0 0 auto}.finance-month strong{min-width:7em;text-align:center;font-size:18px}.finance-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}.finance-section-head h3{margin:0;font-size:18px;font-weight:700}.finance-section-head span{color:#6f6a62;font-size:14px;font-variant-numeric:tabular-nums}.finance-balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.finance-balance{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;background:#f7f4ee;border-radius:12px}.finance-balance span{color:#5c574f}.finance-balance em{display:block;margin-top:4px;color:#8a847a;font-size:12px;font-style:normal}.finance-balance b{font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.finance-balance.is-low b{color:#a14b3e}.finance-goals{display:flex;flex-direction:column;gap:12px}.finance-goal{padding:12px 0 4px;border-top:1px solid #efece6}.finance-goal:first-child{padding-top:0;border-top:0}.finance-goal.is-bought{opacity:.62}.finance-goal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.finance-goal-name{font-size:18px;font-weight:700;text-wrap:balance}.finance-goal-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:#6f6a62;font-size:14px;font-variant-numeric:tabular-nums;margin-top:4px}.finance-goal-actions{display:flex;align-items:center;flex:0 0 auto}.finance-bar{height:8px;margin:10px 0 6px;background:#efece6;border-radius:999px;overflow:hidden}.finance-bar i{display:block;height:100%;background:#355c4a;border-radius:999px}.finance-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-composer{display:flex;align-items:center;gap:10px}.finance-platform{min-width:148px!important}.finance-platform-more{display:block;width:100%;margin-top:4px;padding:8px 12px;border:0;border-top:1px solid #efece6;background:transparent;color:#355c4a;font-size:13px;font-weight:650;text-align:left;cursor:pointer}.finance-plat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:4px}.finance-plat-col h4{margin:0;font-size:16px}.finance-plat-col p{margin:4px 0 12px;color:#6f6a62;font-size:13px}.finance-plat-list{display:flex;flex-direction:column;gap:6px;min-height:120px}.finance-plat-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #e7e2d8;border-radius:12px;background:#fffefb}.finance-plat-item span{font-weight:650}.finance-plat-add{display:flex;gap:8px;margin-top:12px}.finance-composer .ant-input-number,.finance-composer .ant-select,.finance-composer .ant-picker{min-width:128px}.finance-composer .ant-input{flex:1;min-width:140px}.finance-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.finance-day+.finance-day{margin-top:16px}.finance-day-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;color:#6f6a62;font-size:14px;font-variant-numeric:tabular-nums}.finance-day-h b{color:#1c1c1a;font-size:15px}.finance-line{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #f3efe8}.finance-line-t{font-weight:650}.finance-line-s{color:#8a847a;font-size:13px}.finance-line>div{flex:1;min-width:0}.finance-out{color:#a14b3e;font-variant-numeric:tabular-nums;font-weight:700}.finance-in{color:#355c4a;font-variant-numeric:tabular-nums;font-weight:700}.finance-edit{display:flex;flex-direction:column;gap:12px;padding-top:8px}@media(max-width:900px){.shell-content{padding:12px 16px 24px}.board,.source-grid,.toolkit-grid,.home-grid,.stage-rail,.stage-track,.stage-filter,.note-meta,.finance-cols,.vendor-editor-head,.vendor-row,.finance-plat-grid{grid-template-columns:1fr}.vendor-editor-head{display:none}.vendor-field>span{display:block}.page-title{font-size:26px!important}.plan-composer,.finance-composer,.project-card{flex-wrap:wrap}.project-card-body{flex:1 1 100%}.project-card-foot{flex:1 1 100%;min-width:0}}:root{--desk: #f6f7f4;--paper: #fff;--ink: #28352e;--muted: #747e75;--line: #e5e9e3;--accent: #426455}body{background:var(--desk);color:var(--ink);font-size:14px}.shell-layout{background:var(--desk)}.shell-sider{background:#f0f3ed!important;border-color:var(--line)}.shell-brand{padding:34px 24px 36px;gap:10px}.logo-mark{background:var(--accent);border-radius:12px;font:700 26px Georgia,serif;width:38px;height:38px}.shell-brand-name{font-family:Avenir Next,PingFang SC,sans-serif;font-size:18px;letter-spacing:normal}.shell-brand-name small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:2px}.shell-sider .ant-menu{background:transparent;padding:0 12px}.shell-sider .ant-menu-item{margin-bottom:6px;border-radius:8px;color:#737c73}.shell-sider .ant-menu-item-selected{background:#e0e8dc!important;color:#354d3b;font-weight:600}.shell-search{margin:30px 20px 0;border-top:1px solid #dfe5da;padding:18px 0}.shell-header{justify-content:space-between;border-bottom:1px solid var(--line);background:var(--desk)!important;height:66px!important;padding:0 38px!important}.shell-breadcrumb{color:#6d786e;font-size:12px}.shell-breadcrumb span{color:#b7c0b5;padding:0 12px}.shell-content{padding:34px 38px 48px}.page{max-width:1320px;margin:0 auto}.page-title{font-size:28px!important;color:var(--ink)!important}.page-desc{font-size:14px!important;color:var(--muted)!important}.page-kicker{color:var(--muted);font-size:12px}.ant-card{border-color:var(--line);box-shadow:none}.stat-card,.toolbar-card,.panel-card,.project-card,.source-card{border-color:var(--line);border-radius:12px;box-shadow:none}.stat-card b{font-family:Avenir Next,sans-serif}.today-page{gap:28px}.today-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.today-date{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:14px}.live-dot{width:6px;height:6px;border-radius:50%;background:#6f8a63}.today-heading h1{font-size:clamp(24px,2.2vw,32px);line-height:1.4;font-weight:600;margin:0;text-wrap:balance}.today-heading p{color:var(--muted);margin:10px 0 0;font-size:13px}.today-heading>.ant-btn{font-size:12px;background:transparent;box-shadow:none}.today-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:30px;align-items:start}.today-main{min-width:0;display:flex;flex-direction:column;gap:30px}.daily-sheet{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:25px 26px 22px}.section-eyebrow{font-size:10px;color:#7b8779}.sheet-heading h2{font-size:18px;font-weight:600;margin:9px 0 0;display:flex;gap:10px;align-items:center;text-wrap:balance}.count-pill{min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:#edf1e9;border-radius:6px;font-size:11px;font-weight:500;color:#6a7e5f;font-variant-numeric:tabular-nums}.completion-meter{display:flex;align-items:center;gap:10px;flex-shrink:0}.completion-meter>span{font-size:13px;font-variant-numeric:tabular-nums}.completion-meter small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.quick-plan{margin:0 26px 10px;padding:7px 8px 7px 14px;display:flex;align-items:center;gap:4px;border:1px solid #e6eadf;border-radius:8px;background:#f8faf5;color:#899382}.quick-plan:focus-within{border-color:#79906c}.quick-plan .ant-input{font-size:13px}.quick-plan .ant-btn{height:30px;font-size:12px}.daily-list{padding:0 26px}.daily-row{display:flex;align-items:center;gap:13px;padding:18px 0;min-height:77px;border-bottom:1px solid #f0f2ed}.daily-row:last-child{border-bottom:0}.daily-row-body{min-width:0;flex:1}.text-link{border:0;background:transparent;color:var(--ink);padding:0;cursor:pointer;text-align:left;font:inherit;overflow-wrap:anywhere}.text-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.task-title{font-size:14px;font-weight:500}.row-meta{display:flex;gap:10px;margin-top:5px;font-size:11px;color:#828b80}.row-meta span{border-left:1px solid #dfe6db;padding-left:10px}.daily-row.is-complete .task-title{text-decoration:line-through;color:#99a094}.daily-row.is-complete .row-meta{color:#9aa295}.daily-row .ant-btn{color:var(--muted);font-size:11px}.priority-label{color:#9d7740;font-size:10px;white-space:nowrap}.done-label{color:#98a190;font-size:11px}.sheet-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:#fafbf8;border-top:1px solid #edf0e8;gap:10px}.sheet-footer>span{color:#8b9385;font-size:11px}.sheet-footer .ant-btn{font-size:11px;padding-right:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.section-heading h2{margin:0;font-size:15px;font-weight:600;display:flex;align-items:center;gap:9px}.section-heading>span{font-size:11px;color:#8a9287}.section-heading .ant-btn{font-size:11px}.suggestion-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.suggestion-row>div{flex:1;min-width:0}.suggestion-row small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.suggestion-row .text-link{font-size:13px}.suggestion-row .ant-btn{font-size:11px;background:transparent}.project-initial{width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#e9eee3;border:1px solid #dce5d7;color:#627457;border-radius:9px;font-size:13px}.today-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.today-project{padding:19px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;color:var(--ink);cursor:pointer;font-family:inherit;min-width:0}.today-project:hover{border-color:#a2b29a}.project-tile-top,.project-tile-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#85907f;font-size:10px}.today-project h3{font-size:14px;margin:16px 0 6px;font-weight:600;overflow-wrap:anywhere}.today-project p{margin:0;font-size:11px;color:#78856e}.stage-track{display:flex;gap:4px;margin:18px 0 13px}.stage-track span{flex:1;height:4px;border-radius:3px;background:#edf0e8}.stage-track .finished{background:#648258}.stage-track .current{background:#b9caa9}.today-aside{display:flex;flex-direction:column;gap:28px}.weekly-note{background:#eaf0df;border:1px solid #e0e8d3;border-radius:14px;padding:24px}.weekly-note h2{font-family:Songti SC,STSong,serif;font-size:24px;font-weight:600;margin:10px 0 24px;text-wrap:balance}.weekly-numbers{display:grid;grid-template-columns:1fr 1fr;gap:20px}.weekly-numbers b{display:block;font-family:Avenir Next,sans-serif;font-size:32px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.weekly-numbers b small{font-size:14px;color:#9aaa8c}.weekly-numbers span{display:block;font-size:11px;color:#7a896f;margin-top:10px}.weekly-note .ant-btn{font-size:11px;color:#627952;padding:0;margin-top:20px;height:24px}.aside-section{padding:0 2px}.follow-card{margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.follow-card-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#8a9483;margin-bottom:10px}.follow-card .text-link{font-size:13px;font-weight:500}.follow-card p{font-size:11px;color:#8a9285;margin:6px 0 12px;overflow-wrap:anywhere}.follow-card .ant-btn{height:26px;font-size:11px;color:#6c7f5e}.needs-attention{color:#9d7544!important}.delivery-row{display:flex;align-items:center;gap:13px;border:0;background:transparent;padding:10px 0;width:100%;text-align:left;cursor:pointer;font-family:inherit;color:var(--ink)}.delivery-date{display:flex;flex-direction:column;align-items:center;background:#edf0e8;border-radius:8px;width:43px;padding:7px;flex-shrink:0}.delivery-date b{font:500 19px Avenir Next,sans-serif;font-variant-numeric:tabular-nums}.delivery-date small{font-size:9px}.delivery-row strong{display:block;font-size:12px;font-weight:500}.delivery-row>span>small{display:block;color:#899580;font-size:10px;margin-top:3px}.closing-note{display:flex;align-items:center;gap:12px;background:transparent;border:1px dashed #ccd6c3;border-radius:10px;padding:17px 13px;text-align:left;cursor:pointer;color:#6f8062;font-family:inherit}.closing-note span:nth-child(2){flex:1}.closing-note b{display:block;font-size:12px;font-weight:500}.closing-note small{display:block;font-size:10px;margin-top:5px;color:#94a088}.quiet-empty{text-align:center;color:#8a9582;padding:34px 15px;font-size:12px}.quiet-empty h3{color:#617254;font-size:15px;font-weight:500}.aside-empty{color:#899580;font-size:12px;padding:14px 0}.mobile-nav{display:none}button:focus-visible{outline:2px solid #648258;outline-offset:4px}.follow-subject{color:var(--muted);overflow-wrap:anywhere}@media(min-width:992px){.shell-sider{position:sticky!important;top:0;height:100dvh}}@media(max-width:1200px){.shell-content{padding:28px 24px 40px}.today-layout{grid-template-columns:minmax(0,1fr) 250px;gap:22px}.sheet-heading{padding:22px 20px}.sheet-heading h2{font-size:16px}}@media(max-width:767px){.shell-content{padding:24px 16px 100px}.shell-header{padding:0 18px!important}.today-layout{grid-template-columns:1fr}.today-heading{align-items:flex-start}.today-heading h1{font-size:24px}.today-heading>.ant-btn{padding:0 10px}.today-heading p{font-size:12px}.today-aside{display:grid;grid-template-columns:1fr}.sheet-heading{padding:20px 18px}.quick-plan{margin-left:18px;margin-right:18px}.daily-list{padding:0 18px}.completion-meter>span{display:none}.sheet-footer{padding:8px 16px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:10}.daily-row{gap:10px}.priority-label{display:none}}@media(max-width:380px){.today-project-grid{grid-template-columns:1fr}.today-heading{flex-wrap:wrap}.sheet-heading h2{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.shell-layout>.ant-layout,.shell-content{min-width:0}@media(max-width:991px){.shell-sider,.shell-sider .ant-layout-sider-zero-width-trigger{display:none!important}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:10}.shell-content{padding-bottom:100px}}.evening-wrap{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:22px;align-items:center;padding:22px 24px;background:#f3f6ee;border:1px solid #d8e0d1;border-radius:14px}.evening-wrap h2{margin:8px 0 6px;font-size:20px;font-weight:600;text-wrap:balance}.evening-wrap p{margin:0;color:var(--muted);font-size:13px}.evening-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.evening-steps button{text-align:left;padding:14px 14px 12px;border:1px solid #dce4d6;border-radius:12px;background:#fff;color:inherit;cursor:pointer;font-family:inherit}.evening-steps button:hover{border-color:#a2b29a}.evening-steps b{display:block;font-size:14px;font-weight:600}.evening-steps small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.evening-steps .is-done{background:#eef3e8;border-color:#cfd9c6}.evening-steps .is-done b{color:#4d6148}@media(max-width:900px){.evening-wrap,.evening-steps{grid-template-columns:1fr}}.review-sheet{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.review-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 8px}.review-sheet-head h2{margin:8px 0 0;font-family:Songti SC,STSong,serif;font-size:26px;font-weight:600;text-wrap:balance}.review-sync{flex:0 0 auto;max-width:16rem;color:var(--muted);font-size:12px;text-align:right;text-wrap:pretty}.review-sync.is-saving,.review-sync.is-pending{color:#8a7a4a}.review-sync.is-error{color:#9d5a45}.review-sync.is-saved{color:#5d7354}.review-sheet .review-page-input,.review-sheet textarea.ant-input{display:block;width:100%;min-height:420px;border:0!important;box-shadow:none!important;background:transparent;padding:12px 26px 8px!important;font-size:16px;line-height:1.8;resize:vertical}.review-sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px 18px;border-top:1px solid #edf0e8;background:#fafbf8;color:#8b9385;font-size:12px}@media(max-width:767px){.review-sheet-head{flex-direction:column;padding:20px 18px 4px}.review-sheet-head h2{font-size:22px}.review-sync{text-align:left;max-width:none}.review-sheet .review-page-input,.review-sheet textarea.ant-input{padding:10px 18px!important;min-height:360px}.review-sheet-foot{padding:10px 16px 16px}}.attention-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.attention-strip .ant-btn{color:#7f806d;font-size:12px;padding:0;height:24px}.attention-strip b{color:#9d7544;margin-right:5px;font-variant-numeric:tabular-nums}
