.app-icon[data-v-af111d00]{display:inline-block;flex:0 0 auto;vertical-align:middle}.tabbar[data-v-02756614]{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:50;width:100%;max-width:480px;min-height:var(--tab-h);padding:6px 8px env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:repeat(5,1fr);background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--c-border);box-shadow:0 -6px 20px #143c340f}.tab-item[data-v-02756614]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border-radius:14px;color:var(--c-text-3);transition:color .18s ease,background .18s ease}.tab-item.active[data-v-02756614]{color:var(--c-primary);background:var(--c-primary-soft)}.tab-icon[data-v-02756614]{position:relative;display:flex;align-items:center;justify-content:center;height:26px}.tab-badge[data-v-02756614]{position:absolute;top:-4px;right:-14px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--c-danger);color:#fff;font-size:calc(10px * var(--scale));font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff;pointer-events:none}.tab-label[data-v-02756614]{font-size:var(--fs-12);font-weight:600;letter-spacing:.02em}.tab-item.active .tab-label[data-v-02756614]{font-weight:700}:root{--c-primary: #0f766e;--c-primary-dark: #0b5c56;--c-primary-soft: #e7f3f1;--c-primary-softer: #f1f8f7;--c-accent: #f97316;--c-accent-soft: #fff1e6;--c-bg: #f5f7f6;--c-bg-deep: #e9efed;--c-card: #ffffff;--c-text: #16211f;--c-text-2: #55635f;--c-text-3: #8a9793;--c-border: #e3eae8;--c-ok: #15803d;--c-ok-soft: #e8f5ec;--c-warn: #ea580c;--c-warn-soft: #fff0e6;--c-low: #2563eb;--c-low-soft: #e8effd;--c-danger: #dc2626;--c-danger-dark: #b91c1c;--c-danger-soft: #fdeceb;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 20px;--shadow-card: 0 6px 22px rgba(20, 60, 52, .07);--shadow-float: 0 12px 32px rgba(15, 118, 110, .18);--shadow-danger: 0 10px 26px rgba(220, 38, 38, .28);--scale: 1;--fs-11: calc(11px * var(--scale));--fs-12: calc(12px * var(--scale));--fs-13: calc(13px * var(--scale));--fs-14: calc(14px * var(--scale));--fs-15: calc(15px * var(--scale));--fs-16: calc(16px * var(--scale));--fs-18: calc(18px * var(--scale));--fs-20: calc(20px * var(--scale));--fs-24: calc(24px * var(--scale));--fs-32: calc(32px * var(--scale));--tab-h: calc(66px + env(safe-area-inset-bottom, 0px)) ;--font-cn: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif}html[data-big-font="1"]{--scale: 1.16}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font-cn);font-size:var(--fs-16);line-height:1.55;color:var(--c-text);background:#dfe8e5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-size-adjust:100%}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}input,textarea{outline:none}#app{min-height:100vh}@media (min-width: 520px){body{padding:28px 0;background:radial-gradient(circle at 15% 10%,#d7e7e3 0,transparent 45%),radial-gradient(circle at 85% 90%,#e8eee7 0,transparent 40%),#dfe8e5}}.app-shell{position:relative;width:100%;max-width:480px;min-height:100vh;margin:0 auto;background:var(--c-bg);overflow-x:hidden}@media (min-width: 520px){.app-shell{border-radius:28px;box-shadow:0 24px 60px #0f282238;overflow:hidden}}.page{padding:4px 16px calc(var(--tab-h) + 26px)}.page--plain{padding-bottom:32px}.page-head{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;margin:0 -16px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;background:#f5f7f6f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(227,234,232,.8)}.page-head .head-main{flex:1;min-width:0}.page-title{margin:0;font-size:var(--fs-24);font-weight:700;letter-spacing:.01em}.page-sub{margin:2px 0 0;font-size:var(--fs-12);color:var(--c-text-3)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 auto;border-radius:50%;background:#fff;color:var(--c-text);box-shadow:0 2px 10px #143c3414}.icon-btn:active{transform:scale(.96)}.section{margin-top:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head h2{margin:0;font-size:var(--fs-18);font-weight:700;display:flex;align-items:center;gap:8px}.section-head h2:before{content:"";width:4px;height:18px;border-radius:3px;background:linear-gradient(180deg,var(--c-primary),#45a49a)}.section-link{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-14);color:var(--c-primary);font-weight:600;padding:8px 0}.card{background:var(--c-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px}.card+.card{margin-top:12px}.card-title{margin:0;font-size:var(--fs-16);font-weight:700}.muted{color:var(--c-text-2)}.tiny{font-size:var(--fs-12);color:var(--c-text-3)}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:2px solid transparent;font-size:var(--fs-16);font-weight:700;line-height:1.2;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;touch-action:manipulation}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--c-primary);color:#fff;box-shadow:0 8px 18px #0f766e38}.btn-accent{background:var(--c-accent);color:#fff;box-shadow:0 8px 18px #f973163d}.btn-danger{background:var(--c-danger);color:#fff;box-shadow:var(--shadow-danger)}.btn-ghost{background:#fff;color:var(--c-primary);border-color:var(--c-primary)}.btn-soft{background:var(--c-primary-soft);color:var(--c-primary)}.btn-neutral{background:#fff;color:var(--c-text-2);border-color:var(--c-border)}.btn-block{width:100%}.btn-lg{min-height:56px;font-size:var(--fs-18);padding:0 24px}.btn-sm{min-height:44px;padding:0 14px;font-size:var(--fs-14);border-width:1px}.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;border:1.5px solid var(--c-border);color:var(--c-text-2);font-size:var(--fs-14);font-weight:600;white-space:nowrap;transition:all .18s ease}.chip.active{background:var(--c-primary-soft);border-color:var(--c-primary);color:var(--c-primary)}.segmented{display:flex;gap:4px;padding:5px;background:#e8efed;border-radius:999px}.segmented button{flex:1;min-height:44px;border-radius:999px;font-size:var(--fs-14);font-weight:600;color:var(--c-text-2);transition:all .18s ease}.segmented button.active{background:#fff;color:var(--c-primary);box-shadow:0 2px 8px #143c341a}.field{display:block;margin-bottom:14px}.field-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:var(--fs-14);font-weight:600;color:var(--c-text-2)}.input,.textarea,.select{width:100%;min-height:52px;padding:10px 14px;border:2px solid var(--c-border);border-radius:var(--radius-md);background:#fff;font-size:var(--fs-16);transition:border-color .15s ease,box-shadow .15s ease}.textarea{min-height:92px;resize:vertical;line-height:1.5}.input:focus,.textarea:focus,.select:focus{border-color:var(--c-primary);box-shadow:0 0 0 4px #0f766e1a}.input::placeholder,.textarea::placeholder{color:#a9b4b1}.form-hint{margin-top:6px;font-size:var(--fs-12);color:var(--c-text-3)}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:8px;font-size:var(--fs-12);font-weight:600;white-space:nowrap}.tag--ok{color:var(--c-ok);background:var(--c-ok-soft)}.tag--warn{color:var(--c-warn);background:var(--c-warn-soft)}.tag--low{color:var(--c-low);background:var(--c-low-soft)}.tag--danger{color:var(--c-danger);background:var(--c-danger-soft)}.tag--muted{color:var(--c-text-3);background:#f0f3f2}.tag--primary{color:var(--c-primary);background:var(--c-primary-soft)}.skeleton{position:relative;overflow:hidden;background:#e9efed;border-radius:12px;min-height:16px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.state-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:34px 18px;text-align:center;color:var(--c-text-2);background:#fff;border-radius:var(--radius-lg)}.state-box h3{margin:0;font-size:var(--fs-16);color:var(--c-text)}.state-box p{margin:0;font-size:var(--fs-14);color:var(--c-text-3)}.state-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary)}.state-icon--error{background:var(--c-danger-soft);color:var(--c-danger)}.state-icon--empty{background:#f0f4f3;color:var(--c-text-3)}.toast-wrap{position:fixed;top:calc(18px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:1200;width:min(440px,calc(100vw - 32px));display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:#172421f0;color:#fff;font-size:var(--fs-14);font-weight:600;box-shadow:0 10px 26px #0000002e;animation:toast-in .24s ease}.toast--error{background:#991b1bf5}.toast--success{background:#0c5c42f5}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.divider{height:1px;background:var(--c-border);margin:12px 0}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.progress-track{height:10px;border-radius:999px;background:#e8efed;overflow:hidden}.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--c-primary),#3aa093);transition:width .4s ease}.progress-bar--warn{background:linear-gradient(90deg,#f59e0b,var(--c-accent))}.scroll-x{margin:0 -16px;padding:0 16px;overflow-x:auto;scrollbar-width:none}.scroll-x::-webkit-scrollbar{display:none}.tab-pane{margin-top:14px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
