:root{--primary:#4a74fb;--primary-light:#eef4ff;--primary-badge-bg:#eef4ff;--blue:#4a74fb;--indigo:#4a74fb;--blue-light:#eef4ff;--blue-mid:#eef4ff;--green:#10b981;--red:#f43f5e;--text-primary:#1c243b;--text-secondary:#6c7a9c;--text-tertiary:#94a3b8;--bg-page:#f4f7fc;--radius-card:24px;--radius-pill:100px;--font-body:"Inter",-apple-system,"PingFang SC","Helvetica Neue",sans-serif;--font-display:"Plus Jakarta Sans",-apple-system,"PingFang SC","Helvetica Neue",sans-serif}*,*::after,*::before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}body,html,page{background:var(--bg-page);font-family:var(--font-body);height:100%;min-height:100vh;-webkit-font-smoothing:antialiased;color:var(--text-primary);overflow-x:hidden}body,html{background:#cbd5e1;min-height:100vh;width:100%}#app{background:#cbd5e1;min-height:100vh}.taro_router{background:#cbd5e1;min-height:100vh;position:relative;width:100%}.taro_page{background:var(--bg-page);box-shadow:0 0 40px #0000001f;left:0;margin-left:auto;margin-right:auto;max-width:430px;min-height:100vh;right:0}.page-wrap{background:var(--bg-page);min-height:100vh;overflow-x:hidden;padding-bottom:86px;position:relative;width:100%}.glass-card{background:#fff;border-radius:var(--radius-card);box-shadow:none}.tab-bar-wrap{bottom:0;left:50%;max-width:430px;padding:10px 21px max(14px,env(safe-area-inset-bottom));position:fixed;transform:translateX(-50%);width:100%;z-index:100}.tab-bar-inner{align-items:center;background:#fff;border-radius:36px;box-shadow:0 4px 24px #0000001a;display:flex;height:62px;padding:4px}.tab-item{align-items:center;border-radius:26px;color:#94a3b8;cursor:pointer;display:flex;flex:1;flex-direction:column;font-size:10px;font-weight:500;gap:4px;height:100%;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.tab-item.active{background:var(--primary);color:#fff;font-weight:500}.tab-item:active{transform:scale(.92)}.popup-mask{align-items:flex-end;animation:fadeIn .2s ease both;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.popup-body{animation:slideUp .3s cubic-bezier(.34,1.2,.64,1) both;background:#fff;border-radius:28px 28px 0 0;max-height:90vh;max-width:430px;overflow-y:auto;width:100%}.form-input{-webkit-appearance:none;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;color:var(--text-primary);font-family:var(--font-body);font-size:14px;outline:none;padding:12px 14px;width:100%}.form-input:focus{border-color:var(--primary)}.form-label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.progress-track{background:#e0e7ff;border-radius:6px;height:6px;overflow:hidden;width:100%}.progress-fill{background:var(--primary);border-radius:6px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.swipe-row{overflow:hidden;position:relative}.swipe-delete-btn{align-items:center;background:#f43f5e;bottom:0;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;justify-content:center;position:absolute;right:0;top:0;transition:width .2s;width:72px}.swipe-content{background:#0000;transition:transform .2s}@keyframes pageEnter{from{opacity:0}to{opacity:1}}.page-wrap{animation:pageEnter .18s ease both}@media (prefers-reduced-motion:reduce){.page-wrap{animation:none}}@keyframes slideUp{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes confirmPop{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}.skeleton-block{animation:skeleton-shimmer 1.4s linear infinite;background:linear-gradient(90deg,#d8e0ec 25%,#e8eff7 50%,#d8e0ec 75%);background-size:800px 100%;border-radius:8px;flex-shrink:0}taro-input-core[type="number"]::-webkit-inner-spin-button,taro-input-core[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}taro-input-core[type="number"]{-moz-appearance:textfield}taro-scroll-view{-webkit-overflow-scrolling:touch}taro-text,taro-view{-webkit-tap-highlight-color:transparent}