:root{--el-color-primary:#e07a2f;--el-color-primary-light-3:#e9a26d;--el-color-primary-light-5:#f0bd97;--el-color-primary-light-7:#f6d7c1;--el-color-primary-light-8:#f9e3d4;--el-color-primary-light-9:#fcf1ea;--el-color-primary-dark-2:#b36226;--edu-sheet-title:#ffc000;--edu-sheet-header:#ff0;--edu-sheet-name:#92d050;--edu-highlight:#ff0}.rich-content{word-break:break-word;line-height:1.6}.rich-content p{margin:0}.rich-content mark{color:inherit;background-color:#ff0;padding:0 1px}.rich-content ul,.rich-content ol{margin:0;padding-left:1.6em}.rich-content table{border-collapse:collapse;table-layout:fixed;width:100%;margin:4px 0}.rich-content td,.rich-content th{vertical-align:top;border:1px solid #888;padding:2px 6px}.rich-content img{max-width:100%;height:auto;margin:4px 0;display:block}.rich-content img.ProseMirror-selectednode{outline:3px solid var(--el-color-primary)}.rich-content p.is-editor-empty:first-child:before{float:left;height:0;color:var(--el-text-color-placeholder);content:attr(data-placeholder);pointer-events:none}:root{--c-primary:#e07a2f;--c-primary-soft:#fcf1ea;--c-text:#222;--c-muted:#888;--c-line:#eee;--c-bg:#f5f6f8;--c-ok:#2e9b5b;--c-warn:#d48806;--c-danger:#d03030;--tabbar-h:56px}*{box-sizing:border-box}html,body{background:var(--c-bg);color:var(--c-text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.shell{max-width:720px;min-height:100vh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));margin:0 auto}.shell--login{padding-bottom:0}.topbar{z-index:10;background:var(--c-primary);color:#fff;align-items:center;gap:8px;height:48px;padding:0 12px;display:flex;position:sticky;top:0}.topbar__title{flex:1;margin:0;font-size:17px;font-weight:600}.topbar__back,.topbar__action{color:#fff;background:0 0;border:none;padding:4px 8px}.topbar__back{font-size:26px;line-height:1}.topbar__action{opacity:.9;font-size:14px}.source{background:var(--c-primary-soft);color:#a0521a;padding:4px 14px;font-size:12px}.page{padding:12px}.tabbar{z-index:10;max-width:720px;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--c-line);background:#fff;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar__item{color:var(--c-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;display:flex}.tabbar__icon{font-size:18px;line-height:1}.tabbar__item.is-active{color:var(--c-primary);font-weight:600}.card{background:#fff;border-radius:12px;margin-bottom:12px;padding:12px}.card--flush{padding:0;overflow:hidden}.section-title{color:#555;justify-content:space-between;align-items:center;margin:16px 4px 8px;font-size:14px;font-weight:600;display:flex}.section-title:first-child{margin-top:4px}.muted{color:var(--c-muted);font-size:13px}.empty,.loading,.error{color:var(--c-muted);text-align:center;padding:24px 12px;font-size:14px}.error{color:var(--c-danger)}.row{align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.strong{font-weight:600}.num{font-variant-numeric:tabular-nums}.danger{color:var(--c-danger)}.ok{color:var(--c-ok)}.list{margin:0;padding:0;list-style:none}.list__item{border-bottom:1px solid var(--c-line);align-items:center;gap:10px;padding:12px;display:flex}.list__item:last-child{border-bottom:none}.list__arrow{color:#ccc;font-size:18px}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.badge{color:var(--c-muted);white-space:nowrap;border:1px solid #e3e3e3;border-radius:10px;padding:1px 6px;font-size:11px;display:inline-block}.badge--ok{color:var(--c-ok);background:#f2fbf5;border-color:#b9e2c8}.badge--warn{color:var(--c-warn);background:#fffaf0;border-color:#f5d9a8}.badge--danger{color:var(--c-danger);background:#fff5f5;border-color:#f3c0c0}.badge--primary{background:var(--c-primary-soft);color:var(--c-primary);border-color:#f6d7c1}.badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.seg{background:#e9eaee;border-radius:10px;margin-bottom:12px;padding:3px;display:flex}.seg__item{color:#555;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 0;font-size:14px}.seg__item.is-active{color:var(--c-primary);background:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}.tiles{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.tile{background:#fff;border-radius:12px;padding:10px 12px}.tile__label{color:var(--c-muted);font-size:12px}.tile__value{color:var(--c-primary);margin-top:2px;font-size:22px;font-weight:700}.search,.select{background:#fff;border:1px solid #ddd;border-radius:10px;width:100%;margin-bottom:12px;padding:9px 12px;font-size:15px}.toggle{color:#555;align-items:center;gap:6px;margin:-4px 0 12px 4px;font-size:13px;display:inline-flex}.weeknav{align-items:center;gap:8px;margin-bottom:12px;display:flex}.weeknav__btn{background:#fff;border:1px solid #ddd;border-radius:8px;padding:6px 12px;font-size:15px}.weeknav__label{text-align:center;flex:1;font-weight:600}.sheet-box{background:#fff;border-radius:12px;overflow:hidden}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}
