:root{--primary: #e07b1f;--primary-dark: #c9670f;--primary-soft: #fdf1e2;--accent: #5c9078;--accent-soft: #eaf3ee;--warn: #e4695b;--info: #6fa8dc;--ink: #2b2620;--ink-2: #5a5148;--ink-3: #8d8378;--bg: #fbf6ef;--bg-2: #f4ecdf;--card: #ffffff;--divider: #eee5d7;--locked: #c9c2b6;--radius: 16px;--radius-sm: 12px;--shadow: 0 2px 10px rgba(60, 45, 25, .06);--shadow-lg: 0 10px 30px rgba(60, 45, 25, .12);--pad: 16px;--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;min-height:100%}body{font-family:var(--font);font-size:15px;line-height:1.62;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}input,textarea,select{font-family:inherit;font-size:15px;color:var(--ink)}img{display:block}.page{max-width:520px;margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:calc(78px + env(safe-area-inset-bottom));position:relative}.page-body{padding:0 var(--pad) 24px}.topbar{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:10px;padding:12px var(--pad);background:#fbf6efeb;backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}.topbar.stuck{border-bottom-color:var(--divider)}.topbar h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.2px}.topbar .spacer{width:36px}.back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;border-radius:50%;background:var(--card);box-shadow:var(--shadow);flex-shrink:0}.h-title{font-size:22px;font-weight:700;letter-spacing:-.4px;margin:0}.h-sub{font-size:13px;color:var(--ink-3)}.section-title{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;color:var(--ink-3);margin:20px 0 10px;letter-spacing:.4px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.card{background:var(--card);border-radius:var(--radius);padding:14px var(--pad);box-shadow:var(--shadow)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;height:48px;width:100%;border-radius:14px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;transition:transform .12s,background .15s;box-shadow:0 6px 18px #e07b1f47}.btn-primary:active{transform:scale(.985);background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;box-shadow:none}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 16px;border-radius:12px;background:var(--card);border:1px solid var(--divider);font-size:14px}.btn-ghost:active{background:var(--bg-2)}.field{margin-bottom:18px}.field-label{font-size:13px;color:var(--ink-3);margin-bottom:8px;display:flex;align-items:center;gap:6px}.field-label .req{color:var(--warn)}.field-input{width:100%;height:46px;border:1px solid var(--divider);border-radius:12px;padding:0 13px;background:var(--card);outline:none;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea.field-input{height:auto;min-height:84px;padding:11px 13px;resize:none;line-height:1.6}.field-hint{font-size:12px;color:var(--ink-3);margin-top:6px}.chips{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;white-space:nowrap;background:var(--bg-2);color:var(--ink-2)}.pill.primary{background:var(--primary-soft);color:var(--primary-dark)}.pill.ok{background:var(--accent-soft);color:#40694f}.pill.warn{background:#fdeceb;color:#b8402f}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.empty{text-align:center;color:var(--ink-3);padding:56px 20px;font-size:14px}.empty .big{font-size:42px;margin-bottom:10px;opacity:.9}.overlay{position:fixed;inset:0;background:#1e181273;display:flex;align-items:flex-end;justify-content:center;z-index:40;animation:fade .18s ease}.sheet{width:100%;max-width:520px;background:var(--bg);border-radius:20px 20px 0 0;padding:18px var(--pad) calc(18px + env(safe-area-inset-bottom));animation:up .24s cubic-bezier(.2,.8,.2,1);max-height:86vh;overflow:auto}.dialog{width:300px;background:var(--card);border-radius:18px;padding:22px 20px;text-align:center;animation:pop .18s ease}.dialog h3{margin:0 0 8px;font-size:17px}.dialog p{margin:0 0 18px;font-size:14px;color:var(--ink-2);line-height:1.6}.dialog-actions{display:flex;gap:10px}.dialog-actions .btn{flex:1;height:44px;border-radius:12px;font-size:15px}.dialog-actions .btn-cancel{background:var(--bg-2);color:var(--ink)}.dialog-actions .btn-danger{background:var(--warn);color:#fff}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes up{0%{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}.toast-host{position:fixed;left:0;right:0;bottom:calc(96px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:60;pointer-events:none}.toast{max-width:88%;background:#1e1812e0;color:#fff;font-size:14px;padding:9px 16px;border-radius:999px;animation:pop .16s ease;backdrop-filter:blur(6px)}.toast.ok{background:#40694ff0}.toast.error{background:#b43c2df0}.skeleton{background:linear-gradient(100deg,var(--bg-2) 30%,#f8f1e5 50%,var(--bg-2) 70%);background-size:200% 100%;animation:shimmer 1.2s infinite linear;border-radius:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tabbar{position:fixed;bottom:0;left:0;right:0;max-width:520px;margin:0 auto;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--divider);display:flex;align-items:center;justify-content:space-around;z-index:20}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink-3);font-size:11px;padding-top:6px}.tab .ico{font-size:20px;line-height:1}.tab.active{color:var(--primary);font-weight:600}.tab.center .ico{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-top:-20px;border-radius:50%;background:var(--primary);color:#fff;font-size:22px;box-shadow:0 6px 16px #e07b1f66}
