.app-shell[data-v-144f4dce]{height:100%;height:100dvh;max-width:430px;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--shadow)}.top[data-v-144f4dce]{padding:calc(16px + env(safe-area-inset-top)) 18px 8px}.title-row[data-v-144f4dce]{display:flex;align-items:center;justify-content:space-between;gap:12px}h1[data-v-144f4dce]{font-size:28px;line-height:1.1;font-weight:700;letter-spacing:.02em}.month-count[data-v-144f4dce]{color:var(--ink);font-size:13px;background:#fff;border-radius:999px;padding:8px 12px}.month-bar[data-v-144f4dce]{margin-top:16px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.nav-btn[data-v-144f4dce]{width:44px;height:44px;border-radius:50%;background:#fff;font-size:28px;line-height:1;color:var(--ink)}.month-title[data-v-144f4dce]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:44px;justify-content:center}.month-title strong[data-v-144f4dce]{font-size:20px;font-weight:650}.today-link[data-v-144f4dce]{color:var(--accent);font-size:12px}.body[data-v-144f4dce]{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.calendar[data-v-144f4dce]{margin:8px 14px 0;background:var(--card);border-radius:22px;padding:14px 8px 10px;box-shadow:0 1px #50341c0a}.weekdays[data-v-144f4dce],.grid[data-v-144f4dce]{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays[data-v-144f4dce]{margin-bottom:6px}.weekdays span[data-v-144f4dce]{text-align:center;font-size:12px;color:var(--muted);line-height:24px}.weekdays span[data-v-144f4dce]:nth-child(6),.weekdays span[data-v-144f4dce]:nth-child(7){color:var(--accent)}.grid[data-v-144f4dce]{gap:4px}.blank[data-v-144f4dce],.day[data-v-144f4dce]{height:48px;border-radius:12px}.day[data-v-144f4dce]{position:relative;display:flex;align-items:center;justify-content:center}.num[data-v-144f4dce]{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-size:16px;font-weight:600}.day.weekend:not(.today) .num[data-v-144f4dce]{color:var(--accent)}.day.today .num[data-v-144f4dce]{background:var(--ink);color:#fff}.day.has[data-v-144f4dce]{background:var(--accent-soft)}.day.picked[data-v-144f4dce]{box-shadow:inset 0 0 0 1.5px var(--accent)}.dot[data-v-144f4dce]{position:absolute;bottom:6px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.hint[data-v-144f4dce]{margin-top:auto;padding:14px 18px 8px;color:var(--muted);font-size:13px;text-align:center}.footer[data-v-144f4dce]{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}.export-btn[data-v-144f4dce],.add-btn[data-v-144f4dce]{width:100%;height:48px;border-radius:14px;background:var(--ink);color:#fff;font-size:16px;font-weight:650}.toast[data-v-144f4dce]{position:absolute;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100% - 48px);background:var(--ink);color:#fff;border-radius:999px;padding:10px 14px;font-size:13px;text-align:center;z-index:5}.mask[data-v-144f4dce]{position:absolute;top:0;right:0;bottom:0;left:0;background:#1f1a176b;display:flex;align-items:flex-end;z-index:10}.sheet[data-v-144f4dce]{width:100%;max-height:82%;overflow:auto;background:#fffdf9;border-radius:22px 22px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom))}.handle[data-v-144f4dce]{width:36px;height:4px;border-radius:999px;background:#e4dcd2;margin:4px auto 10px}.sheet-head[data-v-144f4dce]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}h2[data-v-144f4dce]{font-size:18px}.close-btn[data-v-144f4dce]{width:36px;height:36px;border-radius:50%;background:#f3eee7;font-size:22px;line-height:1}.form[data-v-144f4dce]{display:flex;flex-direction:column;gap:10px}.field[data-v-144f4dce]{display:flex;flex-direction:column;gap:6px}.field span[data-v-144f4dce],.records h3[data-v-144f4dce]{font-size:13px;color:var(--muted)}.field input[data-v-144f4dce],.field select[data-v-144f4dce]{height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px;outline:none}.field input[data-v-144f4dce]:focus,.field select[data-v-144f4dce]:focus{border-color:#c9a48e}.chips[data-v-144f4dce]{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.chips[data-v-144f4dce]::-webkit-scrollbar{display:none}.chip[data-v-144f4dce]{flex:none;height:32px;padding:0 12px;border-radius:999px;background:#f3eee7;font-size:13px}.chip.active[data-v-144f4dce]{background:var(--ink);color:#fff}.error[data-v-144f4dce]{color:var(--danger);font-size:13px;line-height:1.4}.records[data-v-144f4dce]{margin-top:18px}.records h3[data-v-144f4dce]{margin-bottom:8px}.empty[data-v-144f4dce]{color:var(--muted);font-size:14px;padding:12px 0 4px}.records li[data-v-144f4dce]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.records strong[data-v-144f4dce]{display:block;font-size:16px;font-weight:650}.records li span[data-v-144f4dce]{display:block;margin-top:2px;color:var(--muted);font-size:13px}.delete-btn[data-v-144f4dce]{color:var(--danger);font-size:14px;padding:8px 4px}.app-shell[data-v-b865f6de]{height:100%;height:100dvh;max-width:430px;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}.top[data-v-b865f6de]{display:grid;grid-template-columns:72px 1fr 72px;align-items:center;padding:calc(16px + env(safe-area-inset-top)) 18px 8px}.back-btn[data-v-b865f6de]{justify-self:start;height:36px;padding:0 4px;color:var(--accent);font-size:16px}h1[data-v-b865f6de]{text-align:center;font-size:18px;font-weight:700}.body[data-v-b865f6de]{flex:1;min-height:0;overflow:auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.picker-input[data-v-b865f6de]{width:100%;height:42px;padding:0 12px 0 14px;border-radius:8px;border:1px solid #e5d0c2;background:#fff;display:flex;align-items:center;justify-content:space-between;color:#5c564f;font-size:15px}.picker-input.open[data-v-b865f6de]{border-color:#d7a88a}.picker-input svg[data-v-b865f6de]{width:16px;height:16px}.picker-input svg[data-v-b865f6de],.picker-input svg rect[data-v-b865f6de],.picker-input svg path[data-v-b865f6de]{fill:none;stroke:#8c8177;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.picker-input.open svg[data-v-b865f6de],.picker-input.open svg rect[data-v-b865f6de],.picker-input.open svg path[data-v-b865f6de]{stroke:var(--accent)}.picker-panel[data-v-b865f6de]{margin-top:8px;padding:6px 10px 0;border:1px solid #e5d0c2;border-radius:8px;background:#fff;box-shadow:0 8px 24px #50341c14}.picker-nav[data-v-b865f6de]{display:grid;grid-template-columns:28px 28px 1fr 28px 28px;align-items:center;height:40px}.picker-nav button[data-v-b865f6de]{height:28px;color:#b7ada4;font-size:16px;line-height:1}.picker-nav strong[data-v-b865f6de]{text-align:center;font-size:16px;font-weight:650;letter-spacing:.04em}.picker-week[data-v-b865f6de],.picker-grid[data-v-b865f6de]{display:grid;grid-template-columns:repeat(7,1fr)}.picker-week span[data-v-b865f6de]{height:32px;display:grid;place-items:center;color:#8c8177;font-size:13px}.picker-grid button[data-v-b865f6de]{height:36px;margin:1px;border-radius:6px;color:#5c564f;font-size:14px}.picker-grid button.outside[data-v-b865f6de]{color:#c8beb4}.picker-grid button.selected[data-v-b865f6de]{background:var(--accent);color:#fff}.picker-grid button.today[data-v-b865f6de]{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.picker-today[data-v-b865f6de]{width:100%;height:42px;margin-top:4px;border-top:1px solid #f3ebe3;color:var(--accent);font-size:15px}.records[data-v-b865f6de]{margin-top:18px;background:var(--card);border-radius:16px;padding:14px 16px 6px}h2[data-v-b865f6de]{font-size:13px;font-weight:500;color:var(--muted);margin-bottom:4px}.empty[data-v-b865f6de]{color:var(--muted);font-size:14px;padding:16px 0 18px}.records li[data-v-b865f6de]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.records li[data-v-b865f6de]:first-of-type{border-top:none}.records strong[data-v-b865f6de]{display:block;font-size:16px;font-weight:650}.records li span[data-v-b865f6de]{display:block;margin-top:2px;color:var(--muted);font-size:13px}.delete-btn[data-v-b865f6de]{color:var(--danger);font-size:14px;padding:8px 4px}.install-tip[data-v-c2aca827]{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:30;max-width:406px;margin:0 auto;background:#1f1a17;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 8px 24px #1f1a1747}.text[data-v-c2aca827]{font-size:13px;line-height:1.5;margin-bottom:10px}.actions[data-v-c2aca827]{display:flex;gap:8px;justify-content:flex-end}.btn[data-v-c2aca827]{padding:6px 12px;border-radius:8px;font-size:13px;background:#ffffff1f;color:#fff}.btn.primary[data-v-c2aca827]{background:#c45c26}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f6f1e8;--ink: #1f1a17;--muted: #8c8177;--line: #e7dfd4;--card: #fffdf9;--accent: #c45c26;--accent-soft: #f8ebe3;--danger: #b42318;--shadow: 0 12px 32px rgba(80, 52, 28, .08)}html,body,#app{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#ebe4d8;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{border:none;background:none;cursor:pointer}@media(max-width:480px){body{background:var(--bg)}}
