*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:#f6f3ec;color:#26251f;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}button,textarea{font:inherit}.app{max-width:430px;margin:auto;min-height:100dvh;position:relative;padding-bottom:92px}.wash{position:fixed;inset:0 0 auto;height:230px;background:radial-gradient(100% 100% at 90% 0,rgba(185,148,96,.14),transparent),linear-gradient(rgba(30,70,54,.035),transparent);pointer-events:none}.screen{padding:max(22px,calc(4px + env(safe-area-inset-top))) 18px 0;position:relative}.screen>a{color:#817d6e;font-size:13px}.screen h1{font-family:"Songti SC",serif;font-size:25px;margin:8px 0 3px}.screen>p.muted,.muted{color:#858173;margin:0 0 12px}.login{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.login .logo{width:104px;height:92px;display:grid;place-items:center;filter:drop-shadow(0 14px 20px #1430262b)}.login .logo img{width:96px;height:73px;object-fit:contain}.login .eyebrow{letter-spacing:.25em;color:#aa8753;margin-top:24px;font-size:11px}.login h1{font-size:30px}.login p{color:#777363;margin-bottom:28px}.login small{margin-top:14px;color:#999485}.login button{width:100%}header{display:flex;justify-content:space-between;align-items:start}header span{color:#858173;font-size:12.5px}header h1{margin:2px 0;font-size:23px}header p{margin:0;color:#858173;font-size:12.5px}header p b{color:#2e7456}.brand{display:flex;align-items:center;color:#1e4636;gap:4px}.brand>img{width:29px;height:22px;object-fit:contain}.brand b{font-size:10px;line-height:1}.brand small{display:block;font-size:5px;letter-spacing:.1em;margin-top:3px}.demo{display:inline-block;margin-top:10px;background:#efe9dc;color:#8b6d40;padding:3px 9px;border-radius:999px;font-size:10px}.actions,.panel,.due,.timeline,.draft,.kidscroll{background:#fffdf9;border:1px solid #1e46361f;border-radius:18px;box-shadow:0 8px 24px #1e46360f}.actions{margin-top:10px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .gold{grid-column:1/3;background:linear-gradient(135deg,#c3a06b,#a9854f);color:white;border:0}.actions button,.twobtn button{min-height:72px}.actions button,.twobtn button,.wide,.login button{border:1px solid #1e463620;background:#fff;border-radius:14px;color:#1e4636;font-weight:700}.actions small,.twobtn small{display:block;font-size:10px;font-weight:400;opacity:.75;margin-top:3px}.primary{background:#1e4636!important;color:#fff!important;border:0!important;box-shadow:0 10px 22px #1430262b}.sectiontitle{display:flex;justify-content:space-between;align-items:baseline;margin:20px 2px 9px}.sectiontitle h2{margin:0;font-size:16px}.sectiontitle span{font-size:11px;color:#858173}.due{display:grid;grid-template-columns:repeat(4,1fr);padding:14px 8px}.kid{text-align:center;min-width:0}.ring{--p:50%;width:58px;height:58px;border-radius:50%;margin:auto;background:conic-gradient(#b99460 var(--p),#1e46361c 0);padding:3px}.ring i{display:grid;place-items:center;height:100%;border-radius:50%;background:#e7e5da;border:3px solid #f6f3ec;color:#1e4636;font:normal 700 18px "Songti SC",serif}.kid b{display:block;font-size:12px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kid small{color:#8b8779;font-size:10px}.timeline{height:calc(100dvh - 617px);min-height:145px;overflow:auto;padding:14px 16px;overscroll-behavior:contain}.event{border-left:2px solid #b9946066;padding:0 0 13px 13px}.event time{font-size:10.5px;color:#8b8779}.event p{font-size:12.5px;margin:3px 0}.event em{font-style:normal;color:#337056;background:#33705613;padding:2px 6px;border-radius:6px;margin-right:7px}.empty{color:#928e80;text-align:center;padding:30px 10px}.summary{margin:10px 0;color:#777363;font-size:12px}.summary b{color:#337056}.kidscroll{height:calc(100dvh - 250px);overflow:auto;padding:18px 12px;overscroll-behavior:contain}.kidgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 7px}.studentbar{margin-top:10px;background:#1e4636;color:#fff;padding:13px;border-radius:16px;display:flex;gap:11px;align-items:center}.studentbar i{width:42px;height:42px;background:white;color:#1e4636;border-radius:50%;display:grid;place-items:center;font:normal 700 18px serif}.studentbar small{display:block;opacity:.7;font-weight:400}.panel{padding:16px;margin-top:12px}.photos{display:flex;gap:8px;overflow:auto}.photos img,.photos button{width:76px;height:76px;flex:none;border-radius:12px;object-fit:cover;border:1px dashed #1e46364a;background:#fff;color:#1e4636;font-size:24px}.panel h2{font-size:14px;margin:16px 0 8px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{border:1px solid #1e463622;background:#fff;border-radius:999px;padding:7px 12px;color:#565349}.chips button.on{background:#1e4636;color:#fff}.panel textarea{width:100%;height:86px;margin-top:14px;border:1px solid #1e463622;border-radius:12px;padding:10px;resize:none}.error{min-height:18px;color:#a35f4a;font-size:11px}.twobtn{display:grid;grid-template-columns:1fr 1fr;gap:9px}.draft{padding:18px;margin-top:14px}.draft label{font-size:10px;letter-spacing:.25em;color:#a9854f}.draft p{font-size:14px;line-height:1.7}.draft>small{display:block;border-top:1px dashed #1e463626;padding-top:10px;color:#8d897c}.wide{width:100%;padding:14px;margin-top:12px}.btnnote{display:block;font-size:10px;font-weight:400;opacity:.72;margin-top:3px}.flow{text-align:left;line-height:1.8}.flow p{color:#565349}.flow small{color:#8d897c}.wide.gold{border:0;border-radius:14px;background:linear-gradient(135deg,#c3a06b,#a9854f);color:#fff}.wide:disabled{opacity:.62}.ok{text-align:center;color:#337056}.danger{border:0;background:none;color:#9c5545;margin-top:30px}.nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(430px,100%);background:#fffdf9f2;border-top:1px solid #1e46361f;display:flex;justify-content:space-around;align-items:flex-end;padding:8px 8px calc(10px + env(safe-area-inset-bottom));backdrop-filter:blur(15px)}.nav button{border:0;background:none;color:#777466;font-size:20px}.nav button small{display:block;font-size:10px}.nav .cam{width:58px;height:58px;border-radius:50%;background:#b99460;color:#fff;border:4px solid #f6f3ec;margin-bottom:5px;box-shadow:0 8px 20px #a9854f55}.nav .cam svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}.nav .cam svg circle{fill:none}@media(max-height:700px){.timeline{min-height:120px}.actions button{min-height:62px}}

/* v1完整试点版 */
.loginbox{width:100%;display:grid;gap:10px}.loginbox select,.loginbox input,.search,.panel select{width:100%;padding:12px;border:1px solid #1e463626;border-radius:12px;background:#fff}.floating{position:fixed;bottom:calc(104px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(360px,calc(100% - 36px));padding:15px;border-radius:14px;font-size:16px;z-index:6}.kid.selected .ring{box-shadow:0 0 0 4px #33705655}.kid.selected b{color:#337056}.recordlist,.reportlist{display:grid;gap:9px}.recordcard,.reportrow{background:#fffdf9;border:1px solid #1e46361f;border-radius:15px;padding:13px;box-shadow:0 5px 16px #1e46360c}.recordcard .event{padding-bottom:4px}.recordcard>small{color:#8a8678}.recordcard button{border:0;border-radius:9px;padding:7px 12px;color:#1e4636}.reportrow{display:flex;align-items:center;justify-content:space-between}.reportrow small{display:block;color:#8c887a}.status{font-size:10px;padding:4px 9px;border-radius:999px;background:#eeeade;color:#887f6c}.status.draft{background:#b9946026;color:#8e6d38}.status.approved{background:#3370561f;color:#337056}.batchbar{display:flex;justify-content:space-between;align-items:center;background:#1e4636;color:#fff;border-radius:15px;padding:13px;margin:13px 0}.batchbar small{display:block;opacity:.72}.batchbar button{border:0;border-radius:10px;padding:9px 12px;background:#b99460;color:#fff}.draft textarea{width:100%;min-height:95px;border:0;border-bottom:1px dashed #1e463626;padding:10px 0;font-size:14px;line-height:1.7;resize:vertical}.archivegrid{padding:14px 4px}.archivekid{text-align:center}.archivekid b,.archivekid small{display:block}.archivekid small{color:#8a8678}.soft{border:1px solid #1e463626;border-radius:13px;background:#fff;color:#1e4636}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}.metrics div{background:#fffdf9;border:1px solid #1e46361f;border-radius:14px;text-align:center;padding:14px 5px}.metrics b{display:block;font-size:23px;color:#1e4636}.metrics small{color:#8a8678}.bookhero{text-align:center;background:#1e4636;color:#fff;border-radius:17px;padding:22px;margin:12px 0}.bookhero .ring{margin-bottom:11px}.sharecard{margin-top:15px;padding:25px 20px;background:#fffdf9;border:double 4px #b9946088;text-align:center}.sharecard .brand{justify-content:center}.cardquote{font:17px/1.7 "Songti SC",serif;color:#1e4636;margin:17px 0}.cardphoto{height:220px;background:linear-gradient(135deg,#dfe7de,#b7c9ba);display:grid;place-items:center;color:#527162;border-radius:5px}.sharecard h2{font-family:"Songti SC",serif}.nav button.active{color:#1e4636;font-weight:700}.compact{grid-column:1/-1;padding:10px}.gold{background:linear-gradient(135deg,#c3a06b,#a9854f)!important;color:#fff!important;border:0!important}@media print{.nav,.screen>a,.screen>button{display:none!important}.app{padding:0}.screen{padding:0}.sharecard{margin:0;box-shadow:none}@page{margin:0}.sharecard{padding:18mm}}

/* v1.1 排版放大与导航修正 */
body,#app{font-size:15.5px}
.screen h1{font-size:27px;letter-spacing:.01em}
.screen>p.muted,.muted{font-size:14px}
header span{font-size:13.5px}header h1{font-size:25px}header p{font-size:13.5px}
.demo{font-size:11.5px;padding:4px 11px}
.actions button,.twobtn button{min-height:78px;font-size:16.5px}
.actions small,.twobtn small{font-size:11.5px}
.sectiontitle h2{font-size:17.5px}.sectiontitle span{font-size:12px}
.kid b,.archivekid b{font-size:13.5px}.kid small,.archivekid small{font-size:11.5px}
.ring{width:62px;height:62px}.ring i{font-size:20px}
.event time{font-size:12px}.event p{font-size:13.5px}
.chips button{font-size:14px;padding:8px 14px}
.panel h2{font-size:15px}.panel textarea,.draft textarea{font-size:15px}
.summary{font-size:13.5px}.search{font-size:15px}
.reportrow b{font-size:15.5px}.reportrow small{font-size:12px}.status{font-size:11px}
.batchbar{font-size:15px}.batchbar button{font-size:14.5px;padding:10px 14px}
.metrics b{font-size:25px}.metrics small{font-size:12px}
.draft p{font-size:15px}.draft>small{font-size:12px}
.wide{font-size:16px;padding:15px}
.loginbox select,.loginbox input{font-size:15.5px}
.login h1{font-size:31px}.login p{font-size:15px}
.nav{padding:8px 4px calc(10px + env(safe-area-inset-bottom))}
.nav button{flex:1;min-width:0;font-size:19px}
.nav button small{font-size:11px}
.adminbtn{display:block;width:100%;margin-top:10px;padding:13px;border:1px solid #1e463626;border-radius:14px;background:#fff;color:#1e4636;font-weight:700;font-size:15px}
.kidscroll{height:calc(100dvh - 330px)}
.timeline{height:calc(100dvh - 640px);min-height:150px}
@media(max-height:720px){.timeline{min-height:126px}.actions button{min-height:66px}}
.nav .cam{flex:0 0 60px;width:60px;height:60px;aspect-ratio:1;padding:0}
.rosterrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #1e463612}
.rosterrow:last-child{border-bottom:0}
.rosterrow small{display:block;color:#8b8779;font-size:12px}
.rowbtns{display:flex;gap:6px;flex:none}
.rowbtns button{border:1px solid #1e463626;background:#fff;border-radius:10px;padding:7px 10px;font-size:12.5px;color:#1e4636}
.panel input,.panel select{width:100%;margin-top:9px;padding:12px;border:1px solid #1e463626;border-radius:12px;background:#fff;font-size:15px}
.checks{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.checks label{display:flex;align-items:center;gap:5px;font-size:13.5px;background:#fff;border:1px solid #1e463626;border-radius:999px;padding:7px 12px}
.inline{color:#337056;font-weight:600}
.panel>b{font-size:15.5px}
.checks label{flex:0 0 auto;white-space:nowrap;border-radius:12px;line-height:1.2}
.checks input[type=checkbox]{flex:none;width:17px;height:17px;margin:0;accent-color:#1e4636}
.panel .checks input{width:auto;margin-top:0;padding:0;border:0;border-radius:0}
.ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid #f6f3ec;display:block}
.rosterwho{display:flex;align-items:center;gap:11px;min-width:0}
.miniav{position:relative;width:46px;height:46px;border-radius:50%;background:#e7e5da;display:grid;place-items:center;color:#1e4636;font:700 17px "Songti SC",serif;flex:none;overflow:visible}
.miniav img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.miniav span{position:absolute;right:-3px;bottom:-3px;width:19px;height:19px;border-radius:50%;background:#b99460;color:#fff;font:600 11px/19px -apple-system,sans-serif;text-align:center}
.wrapphotos{flex-wrap:wrap;gap:7px;margin-bottom:12px}
.wrapphotos img{width:70px;height:70px;border-radius:11px;object-fit:cover}
.assignscroll{height:calc(100dvh - 430px);min-height:180px}
/* 成长册固定页头、框内滚动、动作按钮可见 */
.screen>a[data-go]{display:inline-flex;align-items:center;min-height:38px;padding:6px 10px;margin-left:-10px;border-radius:10px;font-size:15px;font-weight:600;color:#716e62}
.screen>a[data-go]:active{background:#1e46360c}
.fixedpage{height:calc(100dvh - 86px - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;padding-bottom:8px}
.fixedpage>h1{flex:none}.fixedpage>.muted{flex:none}
.archivebox{flex:1;min-height:0;background:#fffdf9;border:1px solid #1e46361f;border-radius:18px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:17px 10px;box-shadow:0 8px 24px #1e46360f}
.archivebox .archivegrid{padding:0;gap:22px 8px}
.archiveaction{flex:none;margin:10px 0 0!important;min-height:52px;background:#fffdf9!important}
/* 学习进度台账 */
.tworow{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tworow input{margin-top:9px}
.progresscard .prow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.progresscard .prow b{font-size:15.5px}
.pbar{height:7px;border-radius:999px;background:#1e463614;margin:9px 0 7px;overflow:hidden}
.pbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#c3a06b,#1e4636)}
.progresscard>small{display:block;color:#6f6c60;line-height:1.55;margin-bottom:9px}
.progresscard .rowbtns{justify-content:flex-start}
.pline{margin:11px 0}
.pline span{font-size:14px;font-weight:600}
.pline i{display:block;height:6px;border-radius:999px;background:#1e463614;margin:6px 0 5px;position:relative}
.pline i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:999px;background:linear-gradient(90deg,#c3a06b,#1e4636)}
.pline small{color:#7d7a6d;font-size:12.5px}
.backuprow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;flex:none}.backuprow button{padding:12px;border-radius:12px;font-size:13px}

/* v1.2 全局放大字号 + 统一固定页头框内滚动 + 登录按钮加厚 */
body,#app{font-size:17px;line-height:1.6}
.screen h1{font-size:29px}
.screen>p.muted,.muted{font-size:15px}
.screen>a[data-go]{font-size:16px;min-height:42px}
header span{font-size:14.5px}header h1{font-size:27px}header p{font-size:14.5px}
.demo{font-size:12.5px;padding:5px 12px}
.actions button,.twobtn button{min-height:84px;font-size:18px}
.actions small,.twobtn small{font-size:12.5px}
.sectiontitle h2{font-size:19px}.sectiontitle span{font-size:13px}
.kid b,.archivekid b{font-size:14.5px}.kid small,.archivekid small{font-size:12.5px}
.event time{font-size:13px}.event p{font-size:15px}
.chips button{font-size:15px;padding:9px 15px}
.panel>b{font-size:17px}.panel h2{font-size:16px}
.panel input,.panel select,.panel textarea,.search,.loginbox select,.loginbox input{font-size:16.5px;padding:14px}
.summary{font-size:14.5px}
.reportrow b{font-size:17px}.reportrow small{font-size:13px}.status{font-size:12px;padding:5px 11px}
.batchbar{font-size:16px;padding:15px}.batchbar button{font-size:15.5px;padding:11px 15px}
.metrics b{font-size:27px}.metrics small{font-size:13px}
.draft p,.draft textarea{font-size:16px}.draft>small{font-size:13px}
.wide,.soft.wide,.danger.wide{font-size:17px;padding:16px;min-height:56px}
.rowbtns button{font-size:13.5px;padding:9px 12px}
.checks label{font-size:14.5px}
.nav button{font-size:21px}.nav button small{font-size:12px}
.login h1{font-size:33px}.login p{font-size:16.5px}.login small{font-size:13px}
.loginbox .primary{min-height:60px;font-size:19px;border-radius:16px;letter-spacing:.05em}
/* 所有列表型页面统一：页头固定，内容只在框内滚动 */
.fixedpage>.scrollbox{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:14px;display:flex;flex-direction:column;gap:12px}
.fixedpage .kidscroll,.fixedpage .archivebox{flex:1;min-height:0}
.reportscroll{gap:9px}
.fixedpage .batchbar{flex:none}

/* v1.3 字号回调一档 + 首页固定问候区、内容框内滚动到底 */
body,#app{font-size:16px}
.screen h1{font-size:27px}
.screen>p.muted,.muted{font-size:14.5px}
.screen>a[data-go]{font-size:15.5px}
header span{font-size:14px}header h1{font-size:25px}header p{font-size:14px}
.actions button,.twobtn button{min-height:80px;font-size:17px}
.actions small,.twobtn small{font-size:12px;line-height:1.45}
.sectiontitle h2{font-size:18px}.sectiontitle span{font-size:12.5px}
.kid b,.archivekid b{font-size:14px}.kid small,.archivekid small{font-size:12px}
.event p{font-size:14.5px}.event time{font-size:12.5px}
.chips button{font-size:14.5px}
.panel>b{font-size:16.5px}
.panel input,.panel select,.panel textarea,.search,.loginbox select,.loginbox input{font-size:16px}
.reportrow b{font-size:16px}.batchbar{font-size:15.5px}
.metrics b{font-size:26px}
.draft p,.draft textarea{font-size:15.5px}
.wide,.soft.wide,.danger.wide{font-size:16.5px;min-height:54px}
.login h1{font-size:31px}.login p{font-size:16px}
.loginbox .primary{min-height:58px;font-size:18px}
.nav button{font-size:20px}.nav button small{font-size:11.5px}
/* 首页：问候区固定，其余整体在框内滚动，可滑到最底 */
.homepage>header{flex:none}
.homepage>.scrollbox{gap:0}
.homepage .timeline{height:auto;min-height:0;max-height:none;overflow:visible}
.homepage .due{margin-bottom:4px}
.fixedpage>.scrollbox{padding-bottom:18px}

/* v1.3.1 底部相机图标视觉居中（实测原偏上4.5px） */
.nav .cam{display:flex;align-items:center;justify-content:center;line-height:0}
.nav .cam svg{display:block;width:26px;height:26px;position:relative;top:0}
.nav .cam{padding-top:0}
.nav .cam svg{margin-top:2px}

/* v1.4 添加到桌面引导 */
.installtip{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;justify-content:center;padding:0 12px calc(12px + env(safe-area-inset-bottom));animation:tipup .28s ease-out}
@keyframes tipup{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.tipcard{width:min(430px,100%);background:#fffdf9;border:1px solid #1e46361f;border-radius:20px;box-shadow:0 16px 40px #1430262e;padding:18px 18px 16px;position:relative}
.tipcard img{width:46px;height:46px;border-radius:12px;position:absolute;top:16px;right:16px;object-fit:contain;background:#f6f3ec}
.tipcard b{display:block;font-size:16.5px;color:#1e4636;padding-right:56px}
.tipcard p{margin:8px 0 0;font-size:14px;line-height:1.7;color:#5d5a4f}
.tipcard em{font-style:normal;font-weight:700;color:#1e4636}
.tipbtns{display:flex;gap:9px;margin-top:14px}
.tipbtns button{flex:1;min-height:48px;border-radius:13px;border:1px solid #1e463626;background:#fff;color:#1e4636;font-size:15.5px;font-weight:600}
.tipbtns button.primary{background:#1e4636;color:#fff;border:0}
@media(display-mode:standalone){.installtip{display:none}}
.installtip{bottom:calc(96px + env(safe-area-inset-bottom))}
.installtip .tipcard{max-height:60vh;overflow:auto}
.tipnote{margin-top:10px;padding:9px 11px;border-radius:10px;background:#b9946018;color:#7c633e;font-size:12.5px;line-height:1.55}
/* v1.4.1 安装引导避免Logo压字 + Safari分享图标 */
.tipcard{padding-right:18px}
.tipcard>img{width:42px;height:42px;top:14px;right:14px}
.tipcard>b{padding-right:62px;min-height:44px;display:flex;align-items:center}
.safaristep{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start;margin-top:7px}
.safaristep p{margin:0;min-width:0}
.sharebadge{width:42px;height:42px;border-radius:11px;background:#f3f1ea;display:flex;align-items:center;justify-content:center;color:#1e4636;margin-top:2px}
.shareicon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-7px}
.tipnote .shareicon{width:21px;height:21px;margin:0 3px}
@media(max-width:360px){.tipcard>img{display:none}.tipcard>b{padding-right:0}.safaristep{grid-template-columns:38px minmax(0,1fr)}.sharebadge{width:36px;height:36px}}

/* v1.5 首页比例与滚动修正 */
/* 内滚区域隐藏滚动条：保留手势，不让灰色竖条破坏版面 */
.scrollbox,.archivebox,.kidscroll,.timeline{scrollbar-width:none;-ms-overflow-style:none}
.scrollbox::-webkit-scrollbar,.archivebox::-webkit-scrollbar,.kidscroll::-webkit-scrollbar,.timeline::-webkit-scrollbar{display:none;width:0;height:0}
/* 首页子块禁止被flex强行压扁；此前动态卡被压到半高 */
.homepage .demo,.homepage .adminbtn,.homepage .actions,.homepage .sectiontitle,.homepage .due,.homepage .timeline{flex:none}
.homepage .timeline{min-height:92px!important;margin-bottom:12px}
.homepage .timeline .empty{min-height:90px;display:flex;align-items:center;justify-content:center;padding:16px}
.homepage>.scrollbox{padding-bottom:32px}
/* 三个主操作缩约10%，让欠账与动态上浮 */
.homepage .actions{padding:14px;gap:9px}
.homepage .actions button{min-height:72px;font-size:16.5px;border-radius:13px}
.homepage .actions small{font-size:11.5px}
/* 右上品牌放大约15%，仍低于问候标题 */
.brand>img{width:34px;height:27px}
.brand b{font-size:11px}.brand small{font-size:5.5px}
.homepage>.homefixed{flex:none;padding-bottom:9px;background:linear-gradient(180deg,#f6f3ec 86%,rgba(246,243,236,0))}
.homepage>.homefixed .adminbtn{margin-top:9px}
.homepage>.scrollbox{border-top:1px solid transparent}

/* v1.6 首页三入口重新建立主次：一个主动作＋两个辅助动作 */
.homepage .actions{background:rgba(255,253,249,.88);padding:12px;gap:9px}
.homepage .actions button{box-shadow:none;font-weight:650;letter-spacing:.01em}
.homepage .actions .primary{background:#1e513f!important;box-shadow:0 8px 18px rgba(30,70,54,.16)!important}
.homepage .actions .primary small{color:rgba(255,255,255,.88);opacity:1}
.homepage .actions button:not(.primary):not(.gold){background:#fbfaf5;border-color:rgba(30,70,54,.16);color:#245340}
.homepage .actions .gold{background:#f5ecdc!important;color:#795d32!important;border:1px solid rgba(185,148,96,.38)!important;box-shadow:none!important}
.homepage .actions .gold small{color:#856d49;opacity:1}
.homepage .actions button{font-size:16px;line-height:1.35}
.homepage .actions small{font-size:12.5px;line-height:1.4;margin-top:5px;font-weight:450;opacity:.82}
