.login-wrap[data-v-829bc5d7]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(1200px 500px at 85% -10%,rgba(199,22,30,.1),transparent 60%),var(--paper)}.login-card[data-v-829bc5d7]{width:100%;max-width:400px;padding:34px 28px 26px;text-align:center}.crest[data-v-829bc5d7]{width:60px;height:60px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,var(--red-deep),var(--red));color:#fff;font-family:var(--serif);font-size:30px;font-weight:700;box-shadow:0 10px 24px -10px #9e0e158c}h2[data-v-829bc5d7]{font-size:22px;letter-spacing:2px}.slogan[data-v-829bc5d7]{font-size:12px;color:var(--muted);letter-spacing:1px;margin:6px 0 24px}form[data-v-829bc5d7]{text-align:left}.remember-row[data-v-829bc5d7]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);margin-bottom:16px;cursor:pointer;-webkit-user-select:none;user-select:none}.remember-row input[data-v-829bc5d7]{width:17px;height:17px;min-height:0;accent-color:var(--red);cursor:pointer}.display-link[data-v-829bc5d7]{display:inline-block;margin-top:18px;font-size:13px}.app-header[data-v-12f8f304]{background:linear-gradient(135deg,var(--red-deep) 0%,var(--red) 68%,#d63a2a 100%);color:#fff;box-shadow:var(--shadow)}.inner[data-v-12f8f304]{max-width:1020px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}@media(min-width:768px){.inner[data-v-12f8f304]{padding:18px 32px}}.brand[data-v-12f8f304]{display:flex;align-items:center;gap:12px;cursor:pointer;min-width:0}.brand-mark[data-v-12f8f304]{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#ffffff24;border:1px solid rgba(255,255,255,.35);font-family:var(--serif);font-size:22px;font-weight:700}.brand-text h1[data-v-12f8f304]{font-size:19px;color:#fff;letter-spacing:1px;white-space:nowrap}.brand-text .sub[data-v-12f8f304]{display:block;font-size:11px;opacity:.75;letter-spacing:2px;white-space:nowrap}.user-chip[data-v-12f8f304]{display:flex;align-items:center;gap:8px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 8px 6px 14px;min-width:0}.user-chip .branch[data-v-12f8f304]{font-size:13px;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-12f8f304]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#fff;transition:background .15s}.logout-btn[data-v-12f8f304]:hover{background:#fff3}@media(max-width:480px){.brand-text .sub[data-v-12f8f304]{display:none}}.nav-tabs[data-v-83e3b83c]{display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;left:0;right:0;bottom:0;z-index:50}.tab[data-v-83e3b83c]{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 7px;font-size:11px;color:var(--muted);min-height:54px;transition:color .15s}.tab.active[data-v-83e3b83c]{color:var(--red);font-weight:700}@media(min-width:768px){.nav-tabs[data-v-83e3b83c]{position:static;justify-content:center;gap:8px;border-top:none;padding:0;margin-bottom:20px;background:transparent}.tab[data-v-83e3b83c]{flex:none;flex-direction:row;gap:7px;min-height:40px;padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:14px}.tab.active[data-v-83e3b83c]{background:var(--red);border-color:var(--red);color:#fff}}.home[data-v-0e1c3cc4]{max-width:760px}.date-bar[data-v-0e1c3cc4]{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.date-nav[data-v-0e1c3cc4]{display:flex;align-items:center;gap:10px}.nav-arrow[data-v-0e1c3cc4]{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;color:var(--ink);transition:border-color .15s,color .15s}.nav-arrow[data-v-0e1c3cc4]:not(:disabled):hover{border-color:var(--red);color:var(--red)}.nav-arrow[data-v-0e1c3cc4]:disabled{opacity:.35;cursor:not-allowed}.date-text[data-v-0e1c3cc4]{display:flex;align-items:center;gap:8px}.date-text b[data-v-0e1c3cc4]{font-family:var(--serif);font-size:18px;font-variant-numeric:tabular-nums}.date-chip[data-v-0e1c3cc4]{font-size:12px;color:var(--muted);background:var(--paper);border-radius:999px;padding:1px 10px}.date-chip.today[data-v-0e1c3cc4]{background:var(--red-soft);color:var(--red);font-weight:700}.date-week[data-v-0e1c3cc4]{font-size:12px;color:var(--muted)}.date-actions[data-v-0e1c3cc4]{display:flex;align-items:center;gap:8px}.date-input[data-v-0e1c3cc4]{min-height:38px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;background:#fff;font-size:13px;color:var(--ink)}.timeline[data-v-0e1c3cc4]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.tl-row[data-v-0e1c3cc4]{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);overflow:hidden;min-height:58px}.tl-time[data-v-0e1c3cc4]{flex:none;width:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper);border-right:1px solid var(--line);padding:6px 4px;font-variant-numeric:tabular-nums}.tl-time b[data-v-0e1c3cc4]{font-family:var(--serif);font-size:15px}.tl-time span[data-v-0e1c3cc4]{font-size:11px;color:var(--muted)}.tl-body[data-v-0e1c3cc4]{flex:1;display:flex;align-items:center;gap:12px;padding:8px 14px;min-width:0}.tl-row.booked[data-v-0e1c3cc4]{border-color:#eac9ca}.tl-row.booked .tl-time[data-v-0e1c3cc4]{background:var(--red-soft)}.tl-row.booked.tint1[data-v-0e1c3cc4]{border-color:#eadfc4}.tl-row.booked.tint1 .tl-time[data-v-0e1c3cc4]{background:#f9f2e2}.tl-row.booked.tint1 .branch[data-v-0e1c3cc4]{color:#8a5a00}.dur[data-v-0e1c3cc4]{margin-left:auto;flex:none;font-size:12px;color:var(--muted);white-space:nowrap}.branch[data-v-0e1c3cc4]{font-weight:700;color:var(--red-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none;max-width:42%}.purpose[data-v-0e1c3cc4]{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tl-row.free[data-v-0e1c3cc4]{cursor:pointer;transition:border-color .15s,box-shadow .15s;outline:none}.tl-row.free[data-v-0e1c3cc4]:not(.past):hover{border-color:var(--red);box-shadow:0 0 0 2px #c7161e1a}.tl-row.free.selected[data-v-0e1c3cc4]{border-color:var(--red);background:var(--red-soft)}.tl-row.free.selected .tl-time[data-v-0e1c3cc4]{background:#f3d9da;border-right-color:#eac9ca}.free-label[data-v-0e1c3cc4]{color:var(--green);font-size:14px;font-weight:600}.selected-label[data-v-0e1c3cc4]{color:var(--red);font-size:14px;font-weight:700}.check[data-v-0e1c3cc4]{color:var(--red)}.tl-row.past[data-v-0e1c3cc4]{cursor:default;opacity:.55}.past-label[data-v-0e1c3cc4]{color:var(--muted);font-size:13px}.book-panel[data-v-0e1c3cc4]{padding:18px 16px;position:sticky;bottom:70px}@media(min-width:768px){.book-panel[data-v-0e1c3cc4]{position:static;bottom:auto}}.panel-head[data-v-0e1c3cc4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.range b[data-v-0e1c3cc4]{font-family:var(--serif);font-size:17px;color:var(--red-deep);font-variant-numeric:tabular-nums}.hours[data-v-0e1c3cc4]{font-size:12px;color:var(--muted)}.clear-btn[data-v-0e1c3cc4]{font-size:13px;color:var(--muted);text-decoration:underline;min-height:32px}.clear-btn[data-v-0e1c3cc4]:hover{color:var(--red)}.panel-empty[data-v-0e1c3cc4]{text-align:center;color:var(--muted);padding:8px 0}.panel-empty .icon[data-v-0e1c3cc4]{width:26px;height:26px;margin-bottom:6px}.panel-empty .sub[data-v-0e1c3cc4]{font-size:12px;margin-top:2px}.alert[data-v-0e1c3cc4]{margin-bottom:12px}.conflict-detail[data-v-0e1c3cc4]{font-size:12px;margin-top:2px;opacity:.85}.display[data-v-fe75689b]{min-height:100vh;max-width:1080px;margin:0 auto;padding:18px 16px 30px;display:flex;flex-direction:column;gap:16px}@media(min-width:768px){.display[data-v-fe75689b]{padding:30px 28px 40px}}.disp-head[data-v-fe75689b]{background:linear-gradient(135deg,var(--red-deep) 0%,var(--red) 70%,#d63a2a 100%);border-radius:var(--radius);color:#fff;padding:22px 22px 18px;box-shadow:var(--shadow)}.head-top[data-v-fe75689b]{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between}.title-block[data-v-fe75689b]{display:flex;gap:14px;align-items:center;min-width:0}.mark[data-v-fe75689b]{width:54px;height:54px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#ffffff24;border:1px solid rgba(255,255,255,.35);font-family:var(--serif);font-size:28px;font-weight:700}h1[data-v-fe75689b]{font-size:clamp(20px,4vw,30px);color:#fff;letter-spacing:2px}.date-line[data-v-fe75689b]{font-size:13px;opacity:.85;margin-top:2px}.clock-block[data-v-fe75689b]{text-align:right}.clock[data-v-fe75689b]{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:clamp(26px,5vw,40px);font-weight:700;letter-spacing:2px;line-height:1.1}.day-nav[data-v-fe75689b]{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}.day-nav button[data-v-fe75689b]{font-size:12px;color:#fff;background:#ffffff24;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 12px;min-height:30px;transition:background .15s}.day-nav button[data-v-fe75689b]:not(:disabled):hover{background:#ffffff47}.day-nav button[data-v-fe75689b]:disabled{opacity:.4;cursor:not-allowed}.stats[data-v-fe75689b]{margin-top:14px;font-size:13px;opacity:.9;display:flex;gap:8px;align-items:center}.stats b[data-v-fe75689b]{font-size:16px}.state-bar[data-v-fe75689b]{margin:0}.slot-list[data-v-fe75689b]{display:flex;flex-direction:column;gap:8px}.slot-row[data-v-fe75689b]{display:flex;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;min-height:64px}@media(min-width:768px){.slot-row[data-v-fe75689b]{min-height:74px}}.slot-row.booked[data-v-fe75689b]{border-color:#eac9ca}.slot-row.booked .time-rail[data-v-fe75689b]{background:var(--red-soft)}.slot-row.booked.tint1[data-v-fe75689b]{border-color:#eadfc4}.slot-row.booked.tint1 .time-rail[data-v-fe75689b]{background:#f9f2e2}.slot-row.booked.tint1 .branch[data-v-fe75689b]{color:#8a5a00}.slot-row.current[data-v-fe75689b]{border-color:var(--red);box-shadow:0 0 0 2px #c7161e26}.time-rail[data-v-fe75689b]{flex:none;width:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--paper);border-right:1px solid var(--line);font-variant-numeric:tabular-nums;padding:8px 4px}@media(min-width:768px){.time-rail[data-v-fe75689b]{width:110px}}.t-start[data-v-fe75689b]{font-family:var(--serif);font-size:18px;font-weight:700}.t-end[data-v-fe75689b]{font-size:12px;color:var(--muted)}.slot-body[data-v-fe75689b]{flex:1;display:flex;align-items:center;gap:14px;padding:10px 16px;min-width:0}.branch[data-v-fe75689b]{font-size:17px;font-weight:700;color:var(--red-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none;max-width:46%}.purpose[data-v-fe75689b]{font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dur[data-v-fe75689b]{margin-left:auto;flex:none;font-size:12px;color:var(--muted);white-space:nowrap}.free-label[data-v-fe75689b]{color:var(--green);font-weight:600;font-size:15px;letter-spacing:6px}.now-tag[data-v-fe75689b]{flex:none;background:var(--red);color:#fff;border-radius:999px;font-size:12px;padding:2px 10px;font-weight:600}.disp-foot[data-v-fe75689b]{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px}.spin[data-v-fe75689b]{width:14px;height:14px;animation:rotate-fe75689b 2.4s linear infinite}@keyframes rotate-fe75689b{to{transform:rotate(360deg)}}.modal-head[data-v-8276ad26]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.close-btn[data-v-8276ad26]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--muted);transition:background .15s,color .15s}.close-btn[data-v-8276ad26]:hover{background:var(--paper);color:var(--ink)}.mb-list[data-v-cbd5762c]{margin-bottom:26px}.bk-card[data-v-cbd5762c]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:10px}.bk-card.cancelled[data-v-cbd5762c]{opacity:.72}.bk-main[data-v-cbd5762c]{min-width:0;flex:1}.bk-date[data-v-cbd5762c]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.bk-date b[data-v-cbd5762c]{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}.bk-time[data-v-cbd5762c]{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--red-deep);font-variant-numeric:tabular-nums;margin:2px 0}.bk-purpose[data-v-cbd5762c]{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cancel-info[data-v-cbd5762c]{display:flex;align-items:flex-start;gap:6px;margin-top:6px;font-size:12px;color:var(--red-deep);background:var(--red-soft);border-radius:8px;padding:6px 10px;line-height:1.5}.cancel-info .icon[data-v-cbd5762c]{width:14px;height:14px;margin-top:2px;flex:none}.cancel-q[data-v-cbd5762c]{font-size:14px}.cancel-bk[data-v-cbd5762c]{margin-top:10px;background:var(--paper);border-radius:var(--radius-sm);padding:10px 14px;display:flex;flex-direction:column;gap:2px}.cancel-bk b[data-v-cbd5762c]{font-variant-numeric:tabular-nums}.cancel-bk span[data-v-cbd5762c]{font-size:13px;color:var(--muted)}.tab-switch[data-v-caa0405e]{display:flex;gap:8px;margin-bottom:18px}.tab-switch button[data-v-caa0405e]{flex:1;min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:15px;font-weight:600;color:var(--muted);transition:all .15s}.tab-switch button.active[data-v-caa0405e]{background:var(--red);border-color:var(--red);color:#fff}.day-pick[data-v-caa0405e]{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:14px;flex-wrap:wrap}.day-pick label[data-v-caa0405e]{font-size:13px;color:var(--muted)}.day-pick input[data-v-caa0405e]{min-height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;background:#fff;font-size:14px}.ab-card[data-v-caa0405e]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:10px}.ab-card.cancelled[data-v-caa0405e]{opacity:.68}.ab-main[data-v-caa0405e]{min-width:0;flex:1}.ab-line1[data-v-caa0405e]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ab-time[data-v-caa0405e]{font-family:var(--serif);font-size:17px;color:var(--red-deep);font-variant-numeric:tabular-nums}.ab-branch[data-v-caa0405e]{font-weight:700}.ab-purpose[data-v-caa0405e]{font-size:13px;color:var(--muted);margin-top:2px}.ab-reason[data-v-caa0405e]{margin-top:6px;font-size:12px;color:var(--red-deep);background:var(--red-soft);border-radius:8px;padding:5px 10px;display:inline-block}.create-card[data-v-caa0405e]{padding:18px 16px}.create-grid[data-v-caa0405e]{display:grid;grid-template-columns:1fr;gap:0 16px}@media(min-width:768px){.create-grid[data-v-caa0405e]{grid-template-columns:1fr 1fr 1fr}}.create-card>.btn[data-v-caa0405e]{margin-top:4px}.tip[data-v-caa0405e]{font-size:12px;color:var(--muted);margin-top:10px}.pc-only[data-v-caa0405e]{display:none}.h5-only[data-v-caa0405e]{display:flex;flex-direction:column;gap:10px}@media(min-width:768px){.pc-only[data-v-caa0405e]{display:block;padding:6px 10px}.h5-only[data-v-caa0405e]{display:none}}.au-card[data-v-caa0405e]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px}.au-info[data-v-caa0405e]{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.au-branch[data-v-caa0405e]{font-size:13px;color:var(--muted)}.export-card[data-v-caa0405e]{padding:18px 16px}.export-range[data-v-caa0405e]{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.export-range .field[data-v-caa0405e]{margin-bottom:0;min-width:150px}.range-sep[data-v-caa0405e]{padding-bottom:12px;color:var(--muted)}.export-result[data-v-caa0405e]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px 14px;background:var(--paper);border-radius:var(--radius-sm)}.export-result .stat b[data-v-caa0405e]{color:var(--red-deep)}.reason-cell[data-v-caa0405e]{max-width:240px;overflow:hidden;text-overflow:ellipsis}.ac-bk[data-v-caa0405e]{background:var(--paper);border-radius:var(--radius-sm);padding:10px 14px;display:flex;flex-direction:column;gap:2px}.ac-bk b[data-v-caa0405e]{font-variant-numeric:tabular-nums}.ac-bk span[data-v-caa0405e]{font-size:13px;color:var(--muted)}.reset-q[data-v-caa0405e]{font-size:14px;line-height:1.7}.mono[data-v-caa0405e]{font-family:Consolas,monospace;color:var(--red)}.reset-tip[data-v-caa0405e]{font-size:12px;color:var(--muted);margin-top:8px}.settings[data-v-210fc135]{max-width:560px}.account-card[data-v-210fc135]{padding:18px 16px;margin-bottom:18px}.row[data-v-210fc135]{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px}.row[data-v-210fc135]:last-child{border-bottom:none}.row span[data-v-210fc135]{color:var(--muted)}.pwd-card[data-v-210fc135]{padding:18px 16px}.tip[data-v-210fc135]{font-size:12px;color:var(--muted);text-align:center;margin-top:10px}:root{--red: #c7161e;--red-deep: #9e0e15;--red-soft: #fbeeed;--paper: #f6f4f0;--card: #ffffff;--ink: #2b2a28;--muted: #8a8578;--line: #e8e3da;--green: #2f7d46;--green-soft: #edf5ef;--amber: #b26a00;--serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(43, 42, 40, .05), 0 6px 24px -12px rgba(43, 42, 40, .18)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}#app{min-height:100vh}h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.35}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--ink)}a{color:var(--red);text-decoration:none}.page{max-width:1020px;margin:0 auto;padding:20px 16px 96px}@media(min-width:768px){.page{padding:28px 32px 48px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.section-title{display:flex;align-items:center;gap:8px;font-size:17px;margin-bottom:14px}.section-title:before{content:"";width:4px;height:18px;border-radius:2px;background:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 22px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;transition:background .15s,color .15s,border-color .15s,opacity .15s;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--red);color:#fff}.btn-primary:not(:disabled):hover{background:var(--red-deep)}.btn-outline{border:1px solid var(--line);background:var(--card);color:var(--ink)}.btn-outline:not(:disabled):hover{border-color:var(--red);color:var(--red)}.btn-danger{background:#fff;border:1px solid #e6b8ba;color:var(--red)}.btn-danger:not(:disabled):hover{background:var(--red-soft)}.btn-sm{min-height:36px;padding:6px 14px;font-size:13px}.btn-block{width:100%}.field{margin-bottom:16px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:76px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--red);box-shadow:0 0 0 3px #c7161e1a}.field .hint{font-size:12px;color:var(--muted);margin-top:4px}.alert{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5}.alert-err{background:var(--red-soft);color:var(--red-deep);border:1px solid #f0cfd0}.alert-ok{background:var(--green-soft);color:var(--green);border:1px solid #cfe5d5}.chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.chip-active{background:var(--red-soft);color:var(--red)}.chip-done,.chip-cancelled{background:#f0eeea;color:var(--muted)}.chip-free{background:var(--green-soft);color:var(--green)}.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b2a2873;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-box{width:100%;max-width:440px;background:#fff;border-radius:var(--radius);padding:22px 20px;box-shadow:0 20px 60px #00000040}.modal-title{font-family:var(--serif);font-size:17px;margin-bottom:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.toast-host{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast-item{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:#2b2a28eb;color:#fff;font-size:14px;box-shadow:var(--shadow);animation:toast-in .25s ease}.toast-item.err{background:var(--red-deep)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.empty{text-align:center;color:var(--muted);padding:40px 16px;font-size:14px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-size:12px;color:var(--muted);font-weight:600}
