.app-shell[data-v-b9b0fbab]{min-height:100%;position:relative}.tabbar[data-v-b9b0fbab]{width:100%;max-width:640px;height:calc(var(--tabbar-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:50;background:#ffffffeb;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar-item[data-v-b9b0fbab]{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;text-decoration:none;transition:color .15s;display:flex}.tabbar-item.active[data-v-b9b0fbab]{color:var(--primary)}.tabbar-icon[data-v-b9b0fbab]{width:24px;height:24px}.tabbar-label[data-v-b9b0fbab]{font-size:11px;font-weight:600}:root{--bg:#fdf6ef;--bg-soft:#f7ede2;--surface:#fff;--surface-2:#fbf3ea;--border:#f0e2d4;--text:#4a3a33;--text-secondary:#8c7b72;--text-muted:#b5a49a;--primary:#e8906c;--primary-soft:#fdf0ea;--primary-dark:#d97a52;--accent-green:#8fbf9f;--accent-blue:#8faed8;--accent-yellow:#e8c46a;--accent-purple:#b8a0d0;--danger:#d96a5a;--danger-soft:#fdeeea;--radius:16px;--radius-sm:10px;--radius-lg:20px;--shadow-sm:0 1px 3px #4a3a330f;--shadow:0 4px 16px #4a3a3314;--shadow-lg:0 12px 32px #4a3a331f;--tabbar-height:64px;--header-height:56px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{background:var(--bg);color:var(--text);overscroll-behavior-y:none;-webkit-touch-callout:none;overflow-x:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:none;min-height:44px}button.icon-btn,button.modal-close,button.tl-delete,button.filter-chip,button.range-chip{min-height:0}input,select,textarea{color:inherit;font-family:inherit;font-size:16px}.page{min-height:100dvh;padding:calc(var(--header-height) + var(--safe-top) + 12px) 16px calc(var(--tabbar-height) + var(--safe-bottom) + 24px);max-width:640px;margin:0 auto}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:16px}.card+.card{margin-top:12px}.section-title{color:var(--text-secondary);align-items:center;gap:6px;margin:20px 4px 10px;font-size:15px;font-weight:600;display:flex}.btn{-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-weight:600;transition:transform .12s,opacity .12s,background .12s;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-soft{background:var(--primary-soft);color:var(--primary-dark)}.btn-outline{border:1.5px solid var(--border);color:var(--text-secondary);background:0 0}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}.btn-block{width:100%}.btn-lg{border-radius:14px;padding:14px 20px;font-size:16px}.form-field{margin-bottom:14px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);outline:none;width:100%;padding:10px 12px;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary)}.form-textarea{resize:vertical;min-height:64px}.badge{border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state .empty-icon{margin-bottom:10px;font-size:44px}.modal-mask{z-index:100;background:#4a3a3366;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-mask{align-items:center}}.modal-panel{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;-webkit-overflow-scrolling:touch;width:100%;max-width:640px;max-height:88dvh;padding:20px 20px calc(20px + var(--safe-bottom));animation:.22s slideUp;overflow-y:auto}@media (width>=640px){.modal-panel{border-radius:var(--radius-lg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.grid-2{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=400px){.page{padding-left:12px;padding-right:12px}.card{padding:14px}.form-actions,.confirm-actions{flex-direction:column}.form-actions .btn,.confirm-actions .btn{width:100%}}@media (width<=340px){:root{--tabbar-height:58px;--header-height:52px}}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-track{background:0 0}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{scrollbar-width:none}
