:root{--bg:#f6f5f2;--paper:#fff;--ink:#252b24;--muted:#656e60;--line:#e1e4da;--accent:#6b7855;--side:#252b23;--sidebar:258px;--radius:8px;font-family:'Segoe UI','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #809162;outline-offset:3px}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:28px;font-weight:600;line-height:1.4}h2{font-size:19px;font-weight:600;line-height:1.5}h3{font-size:17px;font-weight:600}p{margin-bottom:12px}.muted,small{color:var(--muted)}small{font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--side);color:#dce1d5;z-index:30;overflow-y:auto;padding:26px 15px 18px}.brand{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:0 12px 23px}.monogram{font:37px Georgia,serif;letter-spacing:-5px;color:#e9eedf;min-width:44px}.brand strong{font-size:21px;font-weight:600;letter-spacing:3px;color:#fff}.brand small{display:block;color:#b9c2ae;font-size:13px;margin-top:3px}.nav-group{margin:0 0 18px}.nav-label{color:#b7c1ad;font-size:13px;letter-spacing:2px;margin:0;padding:0 13px 6px}.nav-item{display:flex;gap:12px;width:100%;align-items:center;padding:9px 13px;text-align:left;border-radius:5px;color:#d3dacb;font-size:15px;min-height:44px}.nav-item:hover{background:#333d2c;color:white}.nav-item.active{background:#465238;color:#fff}.nav-item svg{width:18px;height:18px}.side-foot{border-top:1px solid #424b3a;padding:13px 12px 0;color:#b9c2ae;font-size:13px}.workspace{margin-left:var(--sidebar)}.topbar{height:76px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f8f7f4}.crumb{display:flex;align-items:center;gap:12px;min-width:0;font-size:14px}.home-link{display:flex;align-items:center;gap:6px;color:#4e6040;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:12px}.preview-label{font-size:13px;color:#6a725e;border:1px solid #dce1d0;border-radius:20px;padding:4px 12px;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #d7ddcc;border-radius:5px;padding:9px 16px;background:#fff;text-decoration:none;font-size:14px}.btn:hover{background:#f0f3ea}.btn.primary{background:#313c2b;border-color:#313c2b;color:#fff}.btn.primary:hover{background:#4b5b3e}.btn.small{font-size:14px;min-height:35px;padding:6px 11px}.text-btn{font-size:14px;color:#526841;display:inline-flex;align-items:center;gap:6px;text-align:left}.text-btn:hover{text-decoration:underline}.icon-btn{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border:1px solid var(--line);border-radius:5px;background:#fff}.mobile-menu{display:none}main{max-width:1560px;margin:auto;padding:34px 38px 50px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.heading h1{margin-bottom:8px}.intro{color:var(--muted);font-size:15px;margin:0}.date-label{font-size:14px;color:var(--muted);letter-spacing:1px;margin-bottom:10px}.greeting{font-family:Georgia,'SimSun',serif;font-size:32px;letter-spacing:2px}.greeting span{color:#85936d}.date-block{font-family:Georgia,serif;border-left:1px solid #d5dbc9;padding-left:25px;color:#758460;display:flex;align-items:baseline;gap:12px}.date-block strong{font-size:48px;font-weight:400;color:#37452b}.stage-slogan{color:#586a44;font-size:16px}.stage-slogan small{display:inline-block;font-size:12px;border:1px solid #d5ddc8;border-radius:4px;padding:1px 6px;margin-left:10px}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #d7ddcc;padding:20px 0;margin-bottom:25px}.stat{border-right:1px solid #d7ddcc;text-align:left;padding:0 20px}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat b{font-size:23px;font-weight:600;color:#405232}.stat span{display:block;font-size:14px;color:var(--muted);margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 24px 13px}.panel-head h2{margin:0}.panel-body{padding:4px 24px 23px}.panel-foot{border-top:1px solid #e8ecdf;background:#fafbf7;padding:12px 24px;color:var(--muted);font-size:14px;border-radius:0 0 8px 8px}.span-2{grid-column:1/-1}.rows{padding:0 24px 16px}.row{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #e8ece1;min-width:0}.row:last-child{border:0}.row>div{flex:1;min-width:0}.row strong{display:block;font-size:15px;font-weight:600}.row p{font-size:14px;color:var(--muted);margin:3px 0}.row-action{flex-shrink:0}.badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:13px;color:#64764e;background:#edf2e5;white-space:nowrap}.badge.warm{color:#826b43;background:#f4efe4}.badge.neutral{background:#eff0eb;color:#65705e}.dot{height:9px;width:9px;background:#8e9e73;border-radius:50%;flex-shrink:0}.empty{padding:24px;color:var(--muted)}.empty h3{color:#37452f;margin:5px 0 10px}.empty p{font-size:14px}.news-item{padding:17px 0;border-bottom:1px solid #e5e9dc}.news-item:last-child{border:0}.news-item h3{margin:7px 0}.news-item p{font-size:14px;color:var(--muted)}.news-item .line{display:flex;justify-content:space-between;gap:10px}.note-box{width:100%;min-height:120px;padding:13px;border:1px solid #d9dfcf;border-radius:5px;background:#fafbf7;resize:vertical;line-height:1.8}.attachment-bar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.attachment-name{font-size:13px;color:#5b6d49}.composer-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.week-day{border:1px solid #e0e5d7;border-radius:6px;padding:14px;background:#fbfcf9;min-width:0}.week-day label{display:block;color:var(--muted);font-size:14px;margin-bottom:9px}.week-day strong{display:block;font-size:15px;font-weight:600}.week-day select{margin-top:12px;font-size:14px;width:100%;max-width:100%;padding:7px;border:1px solid #d8dece;border-radius:4px;background:white}.budget-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.budget-numbers b{display:block;font:29px Georgia,serif;color:#425234}.budget-numbers span{font-size:14px;color:var(--muted)}.notice{padding:14px 18px;border:1px solid #dce4ce;background:#eef3e7;border-radius:5px;color:#536743;font-size:14px;margin-bottom:22px}.notice.warm{background:#f7f2e9;border-color:#e8deca;color:#7b6948}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card-body{padding:23px}.card-body h2{margin:12px 0}.eyebrow{font-size:13px;letter-spacing:1px;color:#71815b}.card-body p{font-size:14px;color:var(--muted)}.card-body .btn{margin-top:13px}.tabs{display:flex;gap:25px;border-bottom:1px solid #d9dfcd;overflow:auto;margin-bottom:23px}.tabs button{padding:10px 0 13px;white-space:nowrap;font-size:15px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{border-color:#6b7d50;color:#35472a;font-weight:600}.workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:24px}.step{background:#fff;border:1px solid #dfe5d4;text-align:left;border-radius:5px;padding:14px;min-height:93px}.step.active{background:#edf2e5;border-color:#8b9f6d}.step small{display:block;font-size:12px;color:#71825d}.step strong{display:block;font-size:14px;margin-top:7px;font-weight:600}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.content-card{border:1px solid #e0e6d7;border-radius:6px;padding:20px;margin:15px 0;background:#fbfcf8}.content-card h3{margin:8px 0}.label-list{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.field{display:block;margin-bottom:17px}.field>span{display:block;font-size:14px;margin-bottom:7px;color:#506044}.field input,.field textarea,.field select{display:block;width:100%;padding:11px 12px;border:1px solid #d5ddc9;border-radius:5px;background:#fff;min-height:44px}.field textarea{min-height:110px;resize:vertical}.field input:read-only{background:#f6f8f1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #e3e8db;vertical-align:top}th{font-weight:600;background:#f7f9f3;color:#596c46;white-space:nowrap}.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.art-placeholder{aspect-ratio:4/3;border-radius:6px;background:linear-gradient(135deg,#eeeadf,#dce3d2);display:flex;align-items:center;justify-content:center;color:#73835f;font-size:14px;border:1px solid #e0e6d6}.art-placeholder.pink{background:linear-gradient(135deg,#f4e8e6,#e5e2ec)}.art-placeholder.blue{background:linear-gradient(135deg,#e2ecea,#ecede1)}.dialog-wrap{position:fixed;inset:0;z-index:80;background:#20251e70;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}.dialog{background:#fff;border:1px solid #dce3d1;border-radius:10px;width:min(660px,100%);max-height:88vh;overflow:auto;box-shadow:0 24px 100px #14200c30}.dialog-head{position:sticky;top:0;z-index:1;background:white;padding:19px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-head h2{margin:0}.dialog-body{padding:22px 24px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:14px}.progress-line{display:flex;gap:12px;align-items:center}.timeline-point{width:24px;height:24px;border:1px solid #a3b28c;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:12px;color:#627849;flex-shrink:0}.footer{margin:0 38px;padding:20px 0;border-top:1px solid #dce2d2;display:flex;justify-content:space-between;gap:15px;color:#6c775e;font-size:13px}.backdrop{display:none}#toast{position:fixed;bottom:30px;left:calc(50% + 100px);transform:translateX(-50%);background:#303d28;color:#fff;padding:13px 22px;border-radius:6px;z-index:100;max-width:85%;box-shadow:0 8px 30px #20301025;display:none;font-size:14px}#toast.show{display:block}.list-tool{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.list-tool input{padding:10px 13px;border:1px solid #d7dfcb;border-radius:5px;min-width:180px;background:white}.phone-only{display:none}.media-thumb{max-width:100%;max-height:180px;border-radius:5px}.timeline-note{border-left:2px solid #c4d0b2;padding:0 0 10px 18px;margin:10px 0 20px}.stat-label{font-size:14px;color:#68765a}body.large{font-size:17px}body.large .nav-item{font-size:16px}body.large p,body.large .intro,body.large .row p{font-size:16px}body.large .btn,body.large .text-btn,body.large td{font-size:15px}@media(min-width:1600px){main{padding-inline:50px}.topbar{padding-inline:50px}}@media(max-width:1199px){:root{--sidebar:226px}.sidebar{padding-inline:10px}.nav-item{font-size:14px}.topbar{padding-inline:24px}main{padding:28px 24px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px}.stats-strip .stat{padding-inline:13px}.cards{gap:14px}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.heading h1{font-size:27px}.panel-head{padding:18px}.panel-body{padding:4px 18px 20px}.rows{padding-inline:18px}.workflow{gap:7px}.step{padding:10px}.step strong{font-size:14px}}@media(max-width:767px){:root{font-size:15px;--sidebar:258px}.sidebar{transform:translateX(-100%);transition:transform .2s}.menu-open .sidebar{transform:translateX(0)}.menu-open .backdrop{display:block;position:fixed;inset:0;background:#17201070;z-index:25}.workspace{margin-left:0}.mobile-menu{display:flex}.topbar{padding:12px 16px;height:70px}.crumb{font-size:14px;gap:8px}.crumb>span{display:none}.top-actions .preview-label,.top-actions .desktop-quick{display:none}.top-actions{gap:8px}main{padding:25px 17px 35px}.heading{align-items:flex-start;gap:12px}.greeting{font-size:26px!important}.date-block{padding-left:12px}.date-block strong{font-size:34px}.date-block>span{display:none}.date-label{font-size:13px}.stage-slogan{font-size:15px}.stage-slogan small{margin-left:0}.stats-strip{grid-template-columns:1fr 1fr;row-gap:20px;padding-block:17px}.stat{padding-inline:13px!important}.stat:nth-child(2){border-right:0}.stat b{font-size:21px}.dashboard-grid,.split,.cards{grid-template-columns:1fr}.span-2{grid-column:auto}.panel-head{padding:18px;gap:10px}.panel-head h2{font-size:18px}.panel-head .text-btn{font-size:14px}.panel-body{padding:0 18px 20px}.week-grid{grid-template-columns:1fr 1fr}.budget-numbers{gap:9px}.budget-numbers b{font-size:22px}.budget-numbers span{font-size:13px}.row{align-items:flex-start;gap:10px}.row .badge{font-size:12px}.workflow{display:flex;overflow:auto;padding-bottom:8px}.step{min-width:128px;min-height:80px}.art-grid{grid-template-columns:1fr 1fr}.art-grid>article:last-child{grid-column:1/-1}.footer{margin:0 17px;display:block;font-size:12px}.footer>span{display:block;margin-top:5px}.dialog-wrap{padding:12px}.dialog-body,.dialog-head{padding:18px}#toast{left:50%;bottom:20px}.topbar .btn{font-size:14px}.phone-only{display:block}.list-tool{flex-wrap:wrap}.list-tool input{min-width:0;width:100%}.stage-slogan small{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* 20261017：字号收紧，字重提高，保留原布局与配色。 */
:root{font-weight:400}p,small,.intro,.muted,td,.field>span{font-weight:400}.nav-item,.btn,.text-btn,.tabs button,.row strong,.week-day strong,.step strong,th{font-weight:500}h1,h2,h3,.heading h1,.panel-head h2{font-weight:600}.stat b{font-weight:500}body.large p,body.large .intro,body.large .row p{font-size:16px}body.large .nav-item{font-size:16px}
.brand{gap:12px}.brand-logo{display:block;width:116px;height:auto;flex-shrink:0;object-fit:contain;mix-blend-mode:screen}@media(min-width:768px) and (max-width:1199px){.brand{gap:10px;padding-left:8px;padding-right:8px}.brand-logo{width:104px}}

/* 第二版真实保存：保持已确认布局、字重、Logo和配色。 */
.loading{padding:40px}.space-top{margin-top:24px}.budget-note{font-size:14px;margin:18px 0 0}.income{font:32px Georgia;color:#425234}.path-text,.preserve-text{overflow-wrap:anywhere;white-space:pre-wrap}.field input[type=checkbox]{width:22px;min-height:22px}.check-field{display:flex;align-items:center;gap:12px}.check-field>span{margin:0}.history-text{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 'Microsoft YaHei',sans-serif}.week-day input{margin-top:12px;font-size:13px;width:100%;max-width:100%;padding:7px 3px;border:1px solid #d8dece;border-radius:4px;background:white}.week-day small{display:block;margin-top:8px;font-size:12px}.weight-chart{display:block;width:100%;height:200px;stroke:#6b7855;fill:none}.weight-chart circle{fill:#6b7855;stroke:none}.weight-chart polyline{stroke-width:2}.art-image{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f6f5f2}.panel + .panel{margin-top:22px}.split>.panel,.cards>.panel,.dashboard-grid>.panel{margin-top:0}td{overflow-wrap:anywhere;max-width:420px}td .text-btn{white-space:nowrap}button:disabled{opacity:.55;cursor:wait}details{margin:12px 0 22px}summary{cursor:pointer;color:#526841;padding:10px 0}#form-error{color:#9a3826}.field select[multiple]{min-height:110px}.field input[type=file]{padding:8px}.dialog-actions{flex-wrap:wrap}.dialog{width:min(760px,100%)}.top-actions{flex-shrink:0}.row>strong{min-width:0;overflow-wrap:anywhere}.row .text-btn{flex-shrink:0}.row>div>strong{overflow-wrap:anywhere}.brand small{white-space:nowrap}
@media(max-width:767px){.week-day input{min-width:0}.heading>.btn{max-width:140px;flex-shrink:0}.budget-numbers b{font-size:20px}.panel-head{flex-wrap:wrap}.dialog{max-height:90dvh}.row{flex-wrap:wrap}.side-foot{padding-bottom:25px}.table-wrap{max-width:100%}table{min-width:360px}.footer{overflow-wrap:anywhere}.art-image{min-width:0}}
/* 附件名称在窄屏换行，保留完整文件名。 */
.attachment-open{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left}.attachment-open svg{flex-shrink:0}.row:has(.attachment-open){flex-wrap:wrap;align-items:flex-start}.row:has(.attachment-open)>div{min-width:0;flex:1 1 240px}

.draft-attachment{display:flex;align-items:center;gap:8px;max-width:100%;padding:5px 0;overflow-wrap:anywhere}.draft-attachment>span{min-width:0;flex:1}.draft-attachment svg{width:18px;height:18px;flex-shrink:0}.draft-attachment .text-btn{flex-shrink:0}

.attachment-entry{display:flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:100%;width:100%;min-width:0}.attachment-location{display:block;font-size:12px;color:#656e60;max-width:100%;line-height:1.6;user-select:text}

.attachment-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;max-width:100%;min-width:0}.attachment-controls .text-btn{font-size:12px}.attachment-controls .attachment-open{flex:0 1 auto}
