.confirm-mask[data-v-d030eea5]{z-index:200;background:#00000052;position:fixed;inset:0}.confirm-card[data-v-d030eea5]{-webkit-backdrop-filter:saturate(200%)blur(24px);z-index:201;background:#fffffff0;border-radius:14px;width:min(300px,100vw - 48px);position:fixed;top:44%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 48px #0000002e}.confirm-title[data-v-d030eea5]{text-align:center;letter-spacing:-.02em;padding:20px 20px 6px;font-size:17px;font-weight:650}.confirm-msg[data-v-d030eea5]{text-align:center;color:var(--text-secondary);padding:0 20px 18px;font-size:14px;line-height:1.45}.confirm-actions[data-v-d030eea5]{border-top:.5px solid #3c3c432e;grid-template-columns:1fr 1fr;display:grid}.confirm-btn[data-v-d030eea5]{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:12px 8px;font-size:17px;font-weight:500}.confirm-btn+.confirm-btn[data-v-d030eea5]{border-left:.5px solid #3c3c432e}.confirm-btn.primary[data-v-d030eea5]{font-weight:600}.confirm-btn.danger[data-v-d030eea5]{color:var(--red)}.confirm-btn[data-v-d030eea5]:active{background:#0000000a}:root{--bg:#f5f5f7;--bg-elevated:#ffffffb8;--surface:#fff;--text:#1d1d1f;--text-secondary:#86868b;--separator:#3c3c431f;--blue:#0071e3;--blue-soft:#0071e31a;--red:#de0715;--green:#248a3d;--green-soft:#248a3d1a;--orange:#ff9f0a;--orange-soft:#ff9f0a1f;--glass:#f5f5f7b8;--glass-strong:#f5f5f7eb;--radius:12px;--radius-lg:16px;--shadow:0 1px 2px #0000000a;--safe-bottom:env(safe-area-inset-bottom,0px);--nav-h:52px;--tab-h:46px;--tab-float-gap:8px;--tab-dock:calc(var(--tab-h) + var(--tab-float-gap) + var(--safe-bottom));--font:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Segoe UI", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{overscroll-behavior:none;height:100%;overflow:hidden}body{overscroll-behavior:none;width:100%;height:100%;font-family:var(--font);color:var(--text);background:var(--bg);touch-action:manipulation;margin:0;position:fixed;inset:0;overflow:hidden}#app{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}select{appearance:none;box-shadow:none;border:none;outline:none}select:focus,select:focus-visible{box-shadow:none;outline:none}a{color:var(--blue);text-decoration:none}.app-shell{overscroll-behavior:none;flex-direction:column;max-width:920px;height:100%;max-height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.app-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app-main>.view-root,.app-main>.cal-page{flex:1;min-height:0}.view-root{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.page{overscroll-behavior:contain;min-height:0;padding:calc(var(--nav-h) + 12px) 16px calc(28px + var(--tab-dock) + var(--tab-float-gap));-webkit-overflow-scrolling:touch;flex:1;animation:.28s fadeUp;overflow:auto}.page.page-tab,.page.detail-page{padding-top:10px}@media (display-mode:standalone){.page.page-tab,.page.detail-page{padding-top:calc(10px + env(safe-area-inset-top,0px))}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.nav-bar{z-index:20;flex:0 0 var(--nav-h);height:var(--nav-h);background:var(--glass-strong);border-bottom:.5px solid var(--separator);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.view-root>.nav-bar,.cal-page>.nav-bar{z-index:25;background:var(--glass);-webkit-backdrop-filter:saturate(200%)blur(28px);border-bottom:.5px solid var(--separator);box-shadow:none;position:absolute;top:0;left:0;right:0}.sheet .nav-bar,.detail-sheet .nav-bar{background:var(--glass-strong);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:.5px solid var(--separator);box-shadow:none;position:relative}.nav-bar h1{letter-spacing:-.02em;margin:0;font-size:17px;font-weight:650}.nav-action{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:16px;font-weight:500}.nav-action:disabled{opacity:.4;cursor:default}.nav-spacer{flex-shrink:0;width:2.5em}.tab-bar{left:28px;right:28px;bottom:calc(var(--tab-float-gap) + var(--safe-bottom));width:auto;height:var(--tab-h);-webkit-backdrop-filter:saturate(220%)blur(40px);z-index:30;background:#ffffff8c;border:.5px solid #ffffffb8;border-radius:999px;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 4px;display:grid;position:absolute;box-shadow:0 8px 28px #0000001a,0 1px 4px #0000000a,inset 0 .5px #ffffffbf}.tab-item{color:var(--text-secondary);letter-spacing:-.02em;cursor:pointer;background:0 0;border:none;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:calc(100% - 6px);font-size:9px;font-weight:500;transition:color .18s,background .18s;display:flex}.tab-item.active{color:var(--blue);background:#0071e31a}.tab-item .tab-icon{flex-shrink:0;width:22px;height:22px;display:block}.tab-item .tab-label{font-size:9px;line-height:1}.grouped{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden}.list-row{border-bottom:1px solid var(--separator);background:var(--surface);align-items:center;gap:12px;padding:14px 16px;display:flex}.list-row:last-child{border-bottom:none}.list-row .title{font-size:16px;font-weight:560}.list-row .meta{color:var(--text-secondary);margin-top:2px;font-size:13px}.badge{color:var(--orange);white-space:nowrap;margin-left:auto;font-size:15px;font-weight:650}.badge.cleared{color:var(--green)}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:20px 4px 8px;font-size:13px}.btn{cursor:pointer;border:none;border-radius:12px;padding:14px 16px;font-size:16px;font-weight:600}.btn-primary{background:var(--blue);color:#fff;width:100%}.btn-primary:active{filter:brightness(.96)}.btn-danger{color:var(--red);background:0 0}.field{border-bottom:1px solid var(--separator);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.field:last-child{border-bottom:none}.field label{color:var(--text-secondary);font-size:12px}.field input,.field select,.field textarea{resize:vertical;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:16px}.sheet-mask{z-index:40;touch-action:none;overscroll-behavior:none;background:#00000047;animation:.2s fade;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--bg);z-index:41;width:min(920px,100%);max-height:88vh;padding-bottom:calc(16px + var(--safe-bottom));-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;animation:.28s sheetUp;position:fixed;bottom:0;left:50%;overflow:auto;transform:translate(-50%)}body.sheet-open{overscroll-behavior:none;position:relative;overflow:hidden!important}body.sheet-open .cal-page,body.sheet-open .view-root,body.sheet-open .page,body.sheet-open .day-scroll{touch-action:none;overscroll-behavior:none;overflow:hidden!important}@keyframes sheetUp{0%{opacity:.6;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.toast{left:50%;bottom:calc(var(--tab-dock) + var(--tab-float-gap) + 28px);color:#fff;z-index:50;pointer-events:none;background:#1c1c1eeb;border-radius:999px;padding:10px 16px;font-size:14px;animation:.2s toastIn;position:fixed;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.segment{background:#7676801f;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.segment button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;font-size:13px;font-weight:600}.segment button.active{background:#fff;box-shadow:0 1px 4px #00000014}.stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat-card{background:var(--surface);border-radius:var(--radius);padding:14px 12px}.stat-card .num{letter-spacing:-.03em;font-size:22px;font-weight:700}.stat-card .label{color:var(--text-secondary);margin-top:4px;font-size:12px}.empty{text-align:center;color:var(--text-secondary);padding:36px 12px;font-size:14px}@media (width>=768px){.page{padding:calc(var(--nav-h) + 16px) 28px calc(40px + var(--tab-dock) + var(--tab-float-gap))}.app-shell{padding-top:8px}.tab-bar{width:min(400px,100% - 64px);left:50%;right:auto;transform:translate(-50%)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.view-root>.nav-bar,.cal-page>.nav-bar,.tab-bar{background:#fffffff0}}
