@charset "UTF-8";
:root{--bg:#f1f4f8;--card:#fff;--ink:#24303f;--muted:#7a857c;--green:#1d3552;--lime:#b2d0f3;--soft:#e6edf5;--line:#e0e6ec;--amber:#b4823f;--red:#b75750;--radius:16px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button{color:inherit}svg{display:block;flex:none}button:focus-visible,a:focus-visible{outline:3px solid #6693c7;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #8daed4;outline-offset:1px}h1,h2,h3,p{margin:0}h1{font-size:31px;line-height:1.35;letter-spacing:-1px;font-weight:600}h2{font-size:17px;font-weight:600}h3{font-size:14px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.num{font-variant-numeric:tabular-nums;letter-spacing:-.035em}.boot{display:grid;place-content:center;gap:18px;min-height:100dvh;text-align:center}.brand-mark{display:grid;place-content:center;background:var(--green);color:var(--lime);width:36px;height:36px;border-radius:11px;font:bold 28px Georgia,serif;flex:none}.boot .brand-mark{margin:auto}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:30px 20px 22px;background:#f7fafd;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 34px}.brand strong{font-size:18px;letter-spacing:-.5px}.brand small{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.nav-caption{color:#929ca7;font-size:10px;letter-spacing:2px;padding:0 16px 13px}.nav-item{width:100%;display:flex;align-items:center;gap:13px;border:0;background:none;padding:13px 16px;border-radius:11px;margin-bottom:6px;text-decoration:none;color:#6e7a87;font-weight:500}.nav-item:hover{background:var(--soft)}.nav-item.active{color:var(--green);background:#dce6f2;font-weight:600}.nav-item .count{margin-left:auto;background:#fff9;border-radius:6px;padding:0 6px;font-size:11px}.side-bottom{margin-top:auto}.side-note{margin:20px 11px;padding:15px;border:1px solid var(--line);border-radius:12px;font-size:11px;color:var(--muted);line-height:1.8}.side-note strong{color:var(--ink);display:block;font-size:12px;margin-bottom:4px}.profile{border-top:1px solid var(--line);padding:20px 10px 0;display:flex;align-items:center;gap:11px}.avatar{background:#dce5f0;border-radius:50%;height:34px;width:34px;display:grid;place-items:center;font-family:Georgia,serif;font-size:17px}.profile .icon-button{margin-left:auto}.main{grid-column:2;min-width:0}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);gap:15px}.breadcrumb{color:#838d99;font-size:12px;display:flex;align-items:center;gap:12px}.breadcrumb b{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:14px}.status{font-size:11px;color:#607288;display:flex;align-items:center;gap:6px;white-space:nowrap}.status::before{content:"";width:6px;height:6px;border-radius:50%;background:#5e87b7}.status.demo::before{background:#c2985a}.icon-button{background:none;border:0;padding:8px;color:#818d9a;border-radius:9px;display:grid;place-items:center}.icon-button:hover{background:var(--soft);color:var(--ink)}.content{max-width:1480px;margin:0 auto;padding:34px 42px 30px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.eyebrow{color:#78899e;font-size:10px;letter-spacing:2px;margin-bottom:8px;text-transform:uppercase}.page-head .subline{color:var(--muted);margin-top:8px;font-size:12px}.btn{border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;line-height:1.5;font-size:12px;font-weight:500}.btn:hover{border-color:#b4c4d7;background:#f8fbfe}.btn.primary{color:#fff;background:var(--green);border-color:var(--green)}.btn.primary:hover{background:#2a4668}.btn.soft{background:var(--soft);color:var(--green);border-color:transparent}.btn.danger{color:var(--red)}.btn.xs{padding:6px 10px;font-size:11px}.text-btn{border:0;background:none;font-size:11px;color:#657d9a;padding:7px;display:inline-flex;align-items:center;gap:5px}.hero{border-radius:var(--radius);background:#dce6f2;min-height:175px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;overflow:hidden;margin-bottom:22px}.hero h2{font-size:25px;letter-spacing:-.5px;font-weight:500;line-height:1.5}.hero p{font-size:12px;color:#697c93;margin-top:9px}.hero .eyebrow{font-size:9px;letter-spacing:2.4px;color:#657d9a}.hero-art{width:205px;height:130px;flex:none;position:relative}.orbit{position:absolute;border:1px solid #b1c4db;border-radius:50%;width:140px;height:140px;right:20px;top:-6px}.orbit:nth-child(2){width:190px;height:190px;right:-5px;top:-31px;opacity:.5}.leaf{position:absolute;bottom:22px;left:80px;width:40px;height:68px;border-radius:100% 0 100% 0;background:#6280a3;transform:rotate(-10deg)}.leaf.two{bottom:46px;left:114px;transform:rotate(77deg);width:32px;height:58px;background:#84a1c2}.stem{position:absolute;left:109px;top:53px;width:2px;height:70px;background:#496585;transform:rotate(12deg)}.sun{position:absolute;top:12px;left:37px;width:24px;height:24px;background:#a4c0e1;border-radius:50%}.hero-date{position:absolute;right:20px;bottom:6px;font:10px Georgia,serif;letter-spacing:3px;color:#8195ac}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:19px 21px;min-height:112px}.stat-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.stat-value{font-size:29px;font-weight:500;margin-top:7px;line-height:1.3}.stat-value small{font-size:12px;font-weight:400;letter-spacing:0;margin-left:5px;color:var(--muted)}.stat-meta{font-size:10px;margin-top:7px;color:#808c9b}.green{color:#46688f}.amber{color:var(--amber)}.red{color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:20px;align-items:start}.stack{display:grid;gap:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:23px 25px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.card-title{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600}.card-title::before{content:"";width:5px;height:13px;border-radius:2px;background:#7d9bbe}.card-subtitle{color:var(--muted);font-size:10px}.task-row{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #eaeef2}.task-row:last-child{border:0}.check{flex:none;margin-top:3px;width:18px;height:18px;min-width:18px;padding:0;border:1px solid #cad6e3;background:white;border-radius:6px;display:grid;place-items:center;color:#fff}.check.checked{background:#6f91b8;border-color:#6f91b8}.task-copy{min-width:0;flex:1}.task-title{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.task-title.done{text-decoration:line-through;color:#9ba6b3}.task-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:10px;color:#8b99a9;margin-top:5px}.priority{display:inline-flex;align-items:center;gap:4px}.priority::before{content:"";width:5px;height:5px;border-radius:50%;background:#7693b5}.priority.high::before{background:#b78c61}.priority.medium::before{background:#819fc2}.row-actions{display:flex;flex:none;gap:1px;align-items:center}.row-actions .icon-button{padding:5px}.add-task{width:100%;display:flex;align-items:center;gap:8px;border:1px dashed #d4dee9;background:#f8fbfe;border-radius:9px;padding:10px 13px;text-align:left;color:#7f91a7;font-size:11px;margin-top:18px}.progress{height:5px;background:#e6ecf3;border-radius:5px;overflow:hidden;margin-top:12px}.progress i{display:block;background:#779cc7;height:100%;border-radius:5px}.budget-top{display:flex;align-items:baseline;gap:7px}.budget-top strong{font-size:27px;font-weight:500}.budget-top span{font-size:10px;color:var(--muted)}.split-line{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-top:9px}.category-row{display:grid;grid-template-columns:48px minmax(0,1fr) 70px;align-items:center;gap:12px;font-size:11px;margin-top:13px}.category-row .progress{margin:0;height:5px}.category-row strong{text-align:right;font-weight:400}.weight-top{display:flex;align-items:baseline;gap:6px}.weight-top strong{font-size:29px;font-weight:500}.weight-top span{color:var(--muted);font-size:11px}.trend{height:110px;width:100%;margin-top:12px}.trend text{font:10px var(--font);fill:#8999ab;letter-spacing:0}.chart-labels{display:flex;justify-content:space-between;font-size:9px;color:#8f9eaf}.recent-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eaeef2;padding:12px 0}.recent-row:last-child{border:0}.category-icon{display:grid;place-items:center;width:33px;height:33px;flex:none;background:#ecf0f5;color:#7188a3;border-radius:10px}.recent-copy{flex:1;min-width:0}.recent-copy strong{display:block;font-size:11px;font-weight:500;overflow-wrap:anywhere}.recent-copy span{color:#8999ac;font-size:10px}.amount{font-size:12px;white-space:nowrap}.footer{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line);color:#8e9dae;font-size:10px}.empty{padding:28px 12px;text-align:center;color:var(--muted);font-size:12px}.empty p{margin-bottom:12px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.segments{display:inline-flex;gap:3px;background:#dce6f1;padding:4px;border-radius:10px;max-width:100%;flex-wrap:wrap}.segments button{border:0;background:none;color:#7a8a9d;font-size:11px;border-radius:7px;padding:7px 13px}.segments button.active{background:#fff;color:var(--green);box-shadow:0 1px 4px #1b2c4010}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:white;padding:9px 12px;color:#8799ad}.search input{border:0;background:none;outline:0;color:var(--ink);width:180px;font-size:12px}.page-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px;align-items:start}.month-picker{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:10px;padding:4px 8px}.month-picker input{border:0;color:var(--ink);font-size:12px;padding:4px;background:white;max-width:140px}.list-table{width:100%;border-collapse:collapse;font-size:12px}.list-table th{text-align:left;color:#8998a9;font-size:10px;font-weight:400;padding:0 0 12px}.list-table td{padding:15px 0;border-top:1px solid #e5ebf2}.list-table td.r,.list-table th.r{text-align:right}.list-table td .row-actions{justify-content:flex-end}.record-note{font-size:10px;color:#8999ab;max-width:240px;overflow-wrap:anywhere}.pill{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:6px;padding:2px 6px;color:#788aa0;font-size:9px}.notice{padding:14px 17px;background:#e4ebf4;border:1px solid #d3deeb;border-radius:11px;font-size:11px;color:#627993;margin-bottom:20px;line-height:1.9}.notice strong{color:var(--green)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.settings-row:first-of-type{border:0}.settings-row p{color:var(--muted);font-size:11px;margin-top:4px}.settings-row strong{font-size:12px;font-weight:500}.mobile-quick,.bottom-nav{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block}.field.full{grid-column:1/-1}.field>span{display:block;color:#6e7f93;font-size:11px;margin-bottom:7px}.input{width:100%;border:1px solid #d6dee8;border-radius:9px;padding:11px 12px;background:#f8fbfe;color:var(--ink);min-height:44px;font-size:14px}textarea.input{resize:vertical;min-height:90px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.form-error{color:var(--red);font-size:12px;margin-top:12px;min-height:18px}.form-note{font-size:11px;color:var(--muted);line-height:1.9;margin-top:12px}.money-input{font-size:29px;letter-spacing:-1px}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-head h2{font-size:20px;font-weight:500}dialog{border:1px solid var(--line);border-radius:18px;padding:26px;width:min(460px,calc(100vw - 32px));max-height:85dvh;overflow:auto;color:var(--ink);background:#fff;box-shadow:0 24px 80px #17283d2b}dialog::backdrop{background:#1b2b3e55;backdrop-filter:blur(3px)}#toast{position:fixed;z-index:100;bottom:35px;left:50%;transform:translate(-50%,18px);padding:12px 20px;border-radius:10px;background:#1d3552f2;color:#fff;font-size:12px;max-width:90vw;opacity:0;transition:.2s;pointer-events:none;box-shadow:0 7px 24px #1b2b3e26}#toast.show{opacity:1;transform:translate(-50%,0)}.login-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-art{padding:60px;display:flex;flex-direction:column;background:#dce6f2;position:relative;overflow:hidden}.login-art .brand{padding:0}.login-copy{margin:auto 0;position:relative;z-index:1}.login-copy h1{font-size:46px;line-height:1.6;font-weight:400;letter-spacing:-2px}.login-copy p{margin-top:20px;font-size:13px;color:#647a93}.login-art .hero-art{align-self:flex-end;margin:0 50px 70px;transform:scale(1.4)}.login-bottom{font-size:10px;color:#7f92a9;letter-spacing:2px}.login-main{display:grid;place-content:center;padding:35px}.login-box{width:min(360px,calc(100vw - 48px))}.login-box .eyebrow{margin-bottom:15px}.login-box h2{font-size:27px;letter-spacing:-.6px;font-weight:500}.login-box>p{font-size:12px;color:var(--muted);margin-top:10px;margin-bottom:26px}.login-box .field{margin:15px 0}.login-box .btn{width:100%;margin-top:8px;min-height:44px}.login-foot{font-size:10px;line-height:1.9;color:#8997a8;margin-top:20px;text-align:center}.login-box .divider{display:flex;align-items:center;gap:12px;color:#96a2b1;font-size:10px;margin:22px 0 10px}.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}.login-box .brand{display:none}.health-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px}.health-layout .trend{height:210px}.weight-history .recent-row{padding:16px 0}.metric-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.metric-pair div{padding:13px;background:#f1f5fa;border-radius:10px}.metric-pair strong{font-size:19px;font-weight:500;display:block}.metric-pair span{font-size:10px;color:var(--muted)}.hint-line{font-size:10px;color:#7e91a8;margin:15px 0 0}.install-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-group{font-size:10px;color:#8897a9;margin-top:16px;padding-bottom:7px;border-bottom:1px solid var(--line)}
@media(min-width:1600px){.content{padding-top:44px}.hero{min-height:195px}.card{padding:25px 28px}.task-row{padding:17px 0}}
@media(max-width:1150px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding-left:12px;padding-right:12px}.content{padding:28px 26px}.topbar{padding:0 26px}.dashboard-grid,.page-columns,.health-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.stats{gap:10px}.stat{padding:16px}.stat-value{font-size:24px}.card{padding:20px}.hero{padding:24px}.hero-art{width:165px}.page-head h1{font-size:27px}}
@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}.dashboard-grid,.page-columns,.health-layout{grid-template-columns:1fr}.hero h2{font-size:23px}.hero-art{width:135px}.login-art{padding:40px}.login-copy h1{font-size:36px}.footer{flex-wrap:wrap}.health-layout .trend{height:170px}}
@media(max-width:680px){body{font-size:14px}.shell{display:block}.sidebar{display:none}.main{width:100%}.topbar{height:66px;padding:0 20px}.breadcrumb{font-size:12px}.breadcrumb span:first-child,.breadcrumb .slash{display:none}.breadcrumb::before{content:"i.";font:bold 23px Georgia;color:var(--green)}.top-actions{gap:5px}.top-actions .small{display:none}.status{font-size:10px}.content{padding:23px 18px calc(100px + env(safe-area-inset-bottom))}.page-head{margin-bottom:20px;align-items:flex-start}.page-head h1{font-size:26px}.page-head .eyebrow{font-size:9px}.page-head .subline{font-size:11px;max-width:250px}.page-head .btn{padding:9px 12px;font-size:11px;margin-top:17px}.hero{min-height:153px;padding:22px;margin-bottom:17px}.hero h2{font-size:21px}.hero p{font-size:10px;max-width:205px}.hero-art{width:90px;transform:translateX(28px) scale(.75);transform-origin:center right}.hero-date{font-size:8px}.stats{gap:10px;margin-bottom:17px}.stat{min-height:105px;padding:16px 17px}.stat-label{font-size:10px}.stat-value{font-size:26px}.stat-meta{font-size:9px}.dashboard-grid,.stack{gap:16px}.card{padding:20px;border-radius:13px}.task-title{font-size:12px}.task-row{gap:10px;padding:14px 0}.task-meta{font-size:9px}.row-actions .icon-button{padding:6px}.mobile-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.mobile-quick button{min-height:48px;font-size:12px}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;background:#f8fbfef5;border-top:1px solid #dbe2eb;backdrop-filter:blur(15px);z-index:30;padding:8px 10px calc(9px + env(safe-area-inset-bottom))}.bottom-nav a{display:flex;align-items:center;flex-direction:column;text-decoration:none;gap:3px;padding:5px 0;color:#8799ae;font-size:9px}.bottom-nav a.active{color:var(--green);font-weight:600}.bottom-nav a.active svg{background:#dae5f2;border-radius:7px;box-sizing:content-box;padding:3px;margin:-3px}.footer{font-size:9px;gap:5px;margin-top:20px}.footer span:last-child{display:none}.filter-bar{gap:12px}.search{width:100%}.search input{width:100%}.segments button{padding:7px 10px;font-size:10px}.list-table .desktop-only{display:none}.list-table{font-size:11px}.record-note{max-width:150px;font-size:10px}.list-table td{padding:13px 0}.list-table th{font-size:9px}.list-table .row-actions{gap:0}.list-table .icon-button{padding:4px}.settings-row{align-items:flex-start;gap:12px}.settings-row .btn{padding:8px 10px;font-size:10px}.settings-row p{max-width:220px;font-size:10px}.notice{font-size:10px;padding:12px 14px}dialog{padding:22px 20px;max-height:88dvh;border-radius:16px}.input{font-size:16px}.form-grid{gap:14px}.dialog-head h2{font-size:19px}#toast{bottom:calc(92px + env(safe-area-inset-bottom))}.login-shell{display:block}.login-art{display:none}.login-main{min-height:100dvh;padding:30px 24px}.login-box .brand{display:flex;padding:0 0 45px}.login-box h2{font-size:26px}.health-layout .trend{height:160px}.budget-top strong{font-size:26px}}
@media(max-width:680px){.hero{display:block;min-height:153px}.hero h2{font-size:20px}.hero .hero-art{display:none}.hero p{max-width:none}.task-title{font-size:13px}.task-meta{font-size:10px}.category-row>span{overflow-wrap:anywhere}.pill{max-width:90px;overflow-wrap:anywhere}.list-table{table-layout:fixed}.list-table th:nth-child(1){width:30%}.list-table th:nth-child(2){width:20%}.list-table th:nth-child(3){width:28%}.list-table th:nth-child(4){width:22%}.record-note{max-width:none}.list-table .num{overflow-wrap:anywhere}.recent-copy strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.sidebar{overflow-y:auto}.nav-item{padding-top:11px;padding-bottom:11px}.side-note{margin-top:14px;margin-bottom:14px}.stat-value{overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.quick-memo{margin-bottom:22px}.quick-memo textarea{min-height:90px}.quick-memo-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.quick-memo-bottom .field{max-width:360px;flex:1}.quick-memo-bottom .input{font-size:12px;min-height:39px}.quick-memo-bottom button{align-self:stretch}.tag-filter{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.tag-filter button{white-space:nowrap}.memo-entry{display:flex;align-items:flex-start;gap:16px;padding:0 0 23px;position:relative}.memo-entry::before{content:"";position:absolute;width:1px;left:4px;top:13px;bottom:0;background:var(--line)}.memo-entry:last-child::before{display:none}.memo-marker{width:9px;height:9px;border-radius:50%;flex:none;background:#8ca6c4;margin-top:12px}.memo-main{min-width:0;flex:1}.memo-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}.memo-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin:5px 0 10px;line-height:1.9}.tag-row{display:flex;gap:6px;flex-wrap:wrap}.tag-row .pill{background:var(--soft);color:#647e9c;border:0;cursor:pointer;max-width:none}.project-grid,.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-heading h2{font-size:17px;font-weight:500;margin-top:9px;overflow-wrap:anywhere}.project-status.active{background:var(--soft);color:#53759d;border:0}.project-status.planned{background:#f7f1e6;color:#b38d5d;border:0}.project-status.done{background:#ecf0f4;color:#8391a1;border:0}.project-next{font-size:12px;margin:20px 0 16px;overflow-wrap:anywhere;white-space:pre-wrap}.project-next>span{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.project-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.project-compact{padding:15px 0;border-bottom:1px solid var(--line)}.project-compact:last-child{border:0;padding-bottom:0}.project-compact h2{font-size:13px}.project-compact .project-next{margin:10px 0;font-size:11px}.project-compact .project-status{font-size:9px}.lead-entry{padding:20px 0;border-bottom:1px solid var(--line)}.lead-entry:first-of-type{padding-top:0}.lead-entry:last-child{border:0;padding-bottom:0}.lead-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.lead-top h3{font-size:14px;margin-bottom:7px;overflow-wrap:anywhere}.lead-dates{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:15px}.study-entry{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.study-entry:last-child{border:0}.study-entry .recent-copy strong{font-size:13px}.study-entry .recent-copy .pill{display:inline-flex;font-size:9px}.study-entry .recent-copy .form-note{color:var(--muted);font-size:12px}.study-entry .recent-copy>.progress{margin-top:12px}.small-month{width:145px;font-size:11px;min-height:36px;padding:6px 9px}.learning-chart{display:flex;align-items:stretch;gap:15px;height:190px;padding-top:8px}.learning-bar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;font-size:10px;color:var(--muted);gap:8px}.learning-bar>div{height:130px;width:min(32px,75%);display:flex;align-items:flex-end;border-radius:4px;background:#f0f4f9;overflow:hidden}.learning-bar i{display:block;width:100%;background:#95b1d1;border-radius:4px}.learning-bar:last-child i{background:#6d8eb4}.learning-bar small{font-size:10px}.module-tile{text-decoration:none;display:flex;flex-direction:column;gap:15px;position:relative;min-height:170px;transition:border-color .15s}.module-tile:hover{border-color:#8ca6c4}.module-tile>svg{position:absolute;right:24px;top:28px;color:#728caa}.module-tile h2{font-size:17px}.module-tile .category-icon{width:43px;height:43px}.extra-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px;align-items:start}.extra-overview .memo-entry{gap:10px}.extra-overview .memo-text{font-size:11px}.extra-overview>.card{padding:22px}.extra-overview .weight-top{margin-bottom:18px}
@media(max-width:1150px){.extra-overview{grid-template-columns:1fr 1fr}.extra-overview>.card:last-child{grid-column:1/-1}}
@media(max-width:900px){.project-grid{grid-template-columns:1fr}.learning-chart{height:180px}.sidebar{padding-top:22px}.brand{padding-bottom:22px}}
@media(max-width:680px){.project-grid,.module-grid,.extra-overview{grid-template-columns:1fr;gap:16px}.extra-overview>.card:last-child{grid-column:auto}.quick-memo-bottom .input{font-size:16px}.memo-text{font-size:14px}.memo-entry{gap:12px}.project-heading h2{font-size:16px}.project-next{font-size:13px}.quick-memo-bottom{gap:10px}.quick-memo-bottom .btn{padding:9px 12px}.study-entry .recent-copy strong{font-size:14px}.module-grid{grid-template-columns:1fr 1fr;gap:12px}.module-tile{padding:19px 16px;min-height:184px}.module-tile h2{font-size:15px}.module-tile>svg{right:14px;top:24px;width:14px}.module-tile p{font-size:11px}.extra-overview .memo-text{font-size:13px}.card .small-month{max-width:145px;min-height:36px;font-size:12px}}
.shell{grid-template-columns:minmax(0,1fr) 224px}.sidebar{left:auto;right:0;border-right:0;border-left:1px solid var(--line)}.main{grid-column:1}.health-head-actions{display:flex;align-items:center;gap:8px}.health-summary-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}.health-summary-grid .trend{height:180px}.health-weight-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px}.health-records{margin-top:20px}.exercise-month-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exercise-entry{display:flex;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.exercise-entry:last-child{border:0}.exercise-icon{height:42px;width:42px;border-radius:12px;background:var(--soft);color:#6787ac;display:grid;place-items:center;flex:none}.exercise-main{flex:1;min-width:0}.exercise-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.exercise-top h3{font-size:15px;font-weight:500;overflow-wrap:anywhere;margin-bottom:3px}.exercise-top .small{font-size:10px}.exercise-metrics{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#687d95}.exercise-metrics b{font-size:19px;font-weight:500;color:var(--ink)}.exercise-metrics .pill{font-size:10px;max-width:none}.quality-score{color:#7393b8;display:inline-flex;align-items:center;gap:2px;font-size:11px;letter-spacing:2px}.quality-empty{color:#b5c1cf}.quality-score small{color:#788a9f;font-size:10px;letter-spacing:0;margin-left:6px}.exercise-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:12px}.exercise-category{display:grid;grid-template-columns:90px minmax(0,1fr) 70px;gap:12px;align-items:center;font-size:11px;margin-top:22px}.exercise-category>span{overflow-wrap:anywhere}.exercise-category .progress{margin:0}.exercise-category strong{font-weight:400;text-align:right}.health-quality-hint{background:#f0f4f9;border-radius:10px;margin-top:25px;padding:17px}.health-quality-hint strong{font-size:11px;font-weight:500}.health-quality-hint p{font-size:11px;line-height:1.9;color:var(--muted);margin-top:5px}
@media(max-width:1150px){.shell{grid-template-columns:minmax(0,1fr) 190px}}
@media(max-width:900px){.health-summary-grid{grid-template-columns:1fr}.health-head-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:680px){.shell{display:block}.health-head-actions{flex-direction:column;align-items:stretch;gap:7px}.health-head-actions .btn{margin-top:0}.health-head-actions .btn:first-child{margin-top:18px}.health-summary-grid{gap:16px}.health-summary-grid .trend{height:150px}.health-records{margin-top:16px}.exercise-entry{gap:11px}.exercise-icon{width:34px;height:34px;border-radius:10px}.exercise-metrics{gap:10px}.quality-score{flex-basis:100%;margin-top:2px}.exercise-note{font-size:13px}.exercise-month-filter{gap:7px}.exercise-month-filter label{font-size:10px}.exercise-month-filter .text-btn{font-size:10px}.exercise-category{grid-template-columns:76px minmax(0,1fr) 65px}.health-weight-footer>span{font-size:10px}}
.shell{grid-template-columns:224px minmax(0,1fr)}.sidebar{left:0;right:auto;border-left:0;border-right:1px solid var(--line)}.main{grid-column:2}.quadrant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.quad-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.quad-heading h2{display:flex;align-items:center;gap:10px;font-size:16px}.quad-heading p{margin-left:30px;font-size:10px;color:var(--muted);margin-top:5px}.quad-numeral{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;font:14px Georgia;background:#e5ecf4;color:#6686ac}.quadrant.q1 .quad-numeral{background:#f8ece7;color:#b77b65}.quadrant.q2{border-color:#b2c5db}.quadrant.q2 .quad-numeral{background:#d8e4f2;color:#4b73a1}.quadrant.q3 .quad-numeral{background:#f4f0e5;color:#ae9667}.quadrant.q4 .quad-numeral{background:#ebeef2;color:#8897a8}.quad-open-count{font-size:11px;color:#798ba0;margin-bottom:5px}.quad-empty{padding:30px 10px;text-align:center;font-size:12px;color:#909fb0}.quad-tag{font-size:9px;color:#788fa9}.quad-tag.q1{color:#b37a68}.quad-tag.unclassified{color:#b38e59}.task-note{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.8}.task-progress-line{display:flex;align-items:center;gap:9px;justify-content:space-between;flex-wrap:wrap;margin-top:12px;font-size:10px;color:#8698ad}.completed-tasks{border-top:1px solid var(--line);margin-top:15px;padding-top:13px}.completed-tasks>summary{font-size:11px;color:#8997a7;cursor:pointer}.classification-notice{margin-bottom:20px;background:#fdfcf8}.classification-notice>.form-note{margin-top:-6px;margin-bottom:10px}.quad-picker{border:0;min-width:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.quad-picker legend{font-size:11px;color:#6e7f93;padding:0;margin-bottom:8px}.quad-picker label{display:flex;align-items:center;gap:7px;min-height:42px;padding:9px;border:1px solid var(--line);border-radius:9px;font-size:11px;cursor:pointer}.quad-picker label:has(input:checked){background:#e4ecf5;border-color:#89a8cd;color:var(--green)}.quad-picker input{accent-color:var(--green);margin:0;flex:none}.long-task-option{display:flex;align-items:center;gap:8px;font-size:12px;color:#6e7f93}.long-task-option input{accent-color:var(--green);width:16px;height:16px;margin:0}.long-task-option.field>span{margin:0}.task-log{margin-top:18px;font-size:11px;color:var(--muted)}.task-log summary{cursor:pointer}.task-log article{padding:12px 0;border-bottom:1px solid var(--line)}.task-log article p{margin-top:5px;color:var(--ink)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-tools{display:flex;gap:7px}.calendar-scroll{overflow-x:auto;overscroll-behavior-x:contain;margin-top:20px}.calendar-weekdays,.task-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:660px}.calendar-weekdays>span{padding:9px;text-align:center;font-size:10px;color:#758aa3}.task-calendar{border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-day{min-height:112px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;min-width:0;background:#fff}.calendar-day.other-month{background:#f3f7fb}.calendar-day.other-month .calendar-day-number{color:#aebbcb}.calendar-day.is-today{background:#e9f0f9}.calendar-day-number{border:0;border-radius:50%;background:none;font-size:11px;color:#667e9b;min-width:26px;height:26px;padding:0;cursor:pointer;margin-bottom:5px}.calendar-day.is-today .calendar-day-number{color:#fff;background:#5f82ac}.calendar-day-number:hover{background:#d8e3f0}.calendar-event{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;border:0;border-radius:5px;background:#e5ecf5;color:#4e6a8c;font-size:10px;padding:5px 6px;margin:4px 0;cursor:pointer}.calendar-event>span{font-size:8px;margin-right:4px;opacity:.7}.calendar-event.q1{background:#faf0eb;color:#b17a63}.calendar-event.q3{background:#f6f2e8;color:#a39167}.calendar-event.unclassified{background:#f6f1e6;color:#ac905d}.calendar-event.done{text-decoration:line-through;opacity:.55}.home-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:stretch;margin-bottom:22px}.home-intro .hero{margin:0;min-height:240px;padding:27px}.home-intro .hero h2{font-size:21px}.home-intro .hero-art{width:100px;opacity:.7}.home-intro .hero p{max-width:300px}.verse-card{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;min-height:240px;border-radius:var(--radius)}.verse-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#6e859f;z-index:1}.verse-heading small{font-size:9px;letter-spacing:1px;color:#90a0b3}.verse-quote{position:absolute;right:23px;top:18px;font:80px Georgia;line-height:1;color:#dce7f3;pointer-events:none}.verse-text{font-family:ui-serif,"Songti SC","SimSun",serif;font-size:20px;line-height:1.9;margin:16px 0 10px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1;overflow-wrap:anywhere}.verse-text.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.verse-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px;font-size:10px;color:#8294a8}.verse-footer a{text-decoration:none}.verse-footer a:hover{text-decoration:underline}.verse-footer .text-btn{font-size:10px}.verse-expand{padding:0;align-self:flex-start;font-size:10px}.verse-library-note{font-size:9px;color:#a1aebd;margin-top:5px}
@media(max-width:1150px){.shell{grid-template-columns:190px minmax(0,1fr)}.home-intro{grid-template-columns:1fr 1fr}.home-intro .hero-art{display:none}.home-intro .hero h2{font-size:20px}.verse-text{font-size:18px}}
@media(max-width:900px){.quadrant-grid{grid-template-columns:1fr}.home-intro{grid-template-columns:1fr}.home-intro .hero,.verse-card{min-height:190px}}
@media(max-width:680px){.shell{display:block}.quadrant-grid{gap:16px}.quad-heading h2{font-size:15px}.task-note{font-size:12px}.quad-picker label{font-size:12px}.task-progress-line{font-size:10px}.calendar-card{padding:16px}.calendar-toolbar .month-picker{padding:3px}.calendar-toolbar .month-picker input{max-width:125px}.calendar-tools{gap:5px}.calendar-tools .btn{font-size:9px;padding:6px 8px}.calendar-day{min-height:100px;padding:5px}.home-intro{gap:16px;margin-bottom:17px}.home-intro .hero{min-height:153px;padding:22px}.home-intro .hero h2{font-size:20px}.verse-card{min-height:190px;padding:22px}.verse-text{font-size:18px}.verse-heading{font-size:10px}.verse-footer{font-size:10px}.task-views button{min-width:65px}}
.top-actions .workbench-date{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.5;white-space:nowrap}.lunar-date{font-size:10px;color:#768aa2}
@media(max-width:680px){.topbar{height:auto;min-height:82px;padding-top:10px;padding-bottom:10px}.top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:220px}.top-actions .workbench-date{display:flex;flex-basis:100%;order:3;flex-direction:row;justify-content:flex-end;gap:8px;font-size:10px}.lunar-date{font-size:10px}}
@media(max-width:680px){.topbar{gap:8px}.breadcrumb{flex-shrink:0;white-space:nowrap}.top-actions{min-width:0;flex:1}}

:root{--bg:#f3f7fc;--ink:#172e4c;--muted:#526881;--green:#2358a5;--soft:#e9f2ff;--line:#dce6f2;--lime:#dbeaff}
.verse-card{min-height:0;margin-bottom:16px;background:#f8fbff}
.today-list{margin-bottom:16px}.today-list ul{list-style:none;padding:0;margin:4px 0 0}.today-list li+li{border-top:1px solid var(--line)}.today-item{display:block;width:100%;text-align:left;background:none;border:0;padding:11px 2px;overflow-wrap:anywhere;color:var(--ink)}
.verse-heading,.verse-footer,.verse-library-note{color:#526881}.today-item:hover{color:var(--green)}
@media(max-width:680px){.topbar{padding-top:max(10px,env(safe-area-inset-top));}.verse-card{padding:18px}.verse-text{font-size:18px;line-height:1.75}}

.cloud-sync{margin-bottom:18px}.cloud-sync .btn{margin-top:8px}.cloud-login-note{font-size:11px;color:#526881;line-height:1.9;margin-top:18px}.conflict-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:170px;overflow:auto;background:#f0f6ff;padding:12px;border-radius:8px}.login-box .btn{width:100%;margin-top:12px}