@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap";.student-app[data-v-c09ccd39]{background-color:#fdfbf8;max-width:430px;min-height:100vh;margin:0 auto;font-family:Noto Sans JP,sans-serif;position:relative}.app-header[data-v-c09ccd39]{z-index:100;background:linear-gradient(135deg,#2d5a3d 0%,#4a7c5c 100%);padding:0;position:sticky;top:0;box-shadow:0 2px 8px #2d5a3d4d}.header-inner[data-v-c09ccd39]{justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.logo-area[data-v-c09ccd39]{align-items:center;gap:10px;display:flex}.logo-icon[data-v-c09ccd39]{justify-content:center;align-items:center;display:flex}.logo-text[data-v-c09ccd39]{flex-direction:column;display:flex}.logo-main[data-v-c09ccd39]{color:#fdfbf8;letter-spacing:2px;font-size:18px;font-weight:700;line-height:1.2}.logo-sub[data-v-c09ccd39]{color:#fdfbf8b3;letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:400}.app-main[data-v-c09ccd39]{padding-bottom:32px}.loading-screen[data-v-c09ccd39]{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.loading-spinner[data-v-c09ccd39]{border:3px solid #e8e4df;border-top-color:#2d5a3d;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin-c09ccd39}@keyframes spin-c09ccd39{to{transform:rotate(360deg)}}.loading-text[data-v-c09ccd39]{color:#6b6560;font-size:14px}.student-home[data-v-47cde130]{padding:0 0 16px}.delay-alert[data-v-47cde130]{background:linear-gradient(135deg,#fff8f0 0%,#fff3e6 100%);border-left:4px solid #d4a574;align-items:flex-start;gap:10px;margin:0;padding:12px 16px;display:flex}.delay-alert-icon[data-v-47cde130]{flex-shrink:0;margin-top:2px}.delay-alert-text[data-v-47cde130]{flex-direction:column;gap:2px;display:flex}.delay-alert-title[data-v-47cde130]{color:#9a6b3a;font-size:12px;font-weight:600}.delay-alert-body[data-v-47cde130]{color:#7a5530;font-size:13px;line-height:1.5}.section[data-v-47cde130]{padding:20px 16px 0}.section-header[data-v-47cde130]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title[data-v-47cde130]{color:#2d5a3d;margin:0 0 12px;font-size:16px;font-weight:600}.section-header .section-title[data-v-47cde130]{margin-bottom:0}.reservation-count[data-v-47cde130]{color:#6b6560;background:#f0ebe6;border-radius:12px;padding:2px 10px;font-size:13px}.card-loading[data-v-47cde130]{flex-direction:column;align-items:center;gap:8px;padding:32px 0;display:flex}.loading-spinner-sm[data-v-47cde130]{border:2.5px solid #e8e4df;border-top-color:#2d5a3d;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin-47cde130}.loading-spinner-xs[data-v-47cde130]{border:2px solid #d4cfc9;border-top-color:#8b8580;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin-47cde130;display:inline-block}@keyframes spin-47cde130{to{transform:rotate(360deg)}}.loading-text-sm[data-v-47cde130]{color:#8b8580;font-size:13px}.error-message[data-v-47cde130]{text-align:center;color:#c44;padding:20px;font-size:13px}.btn-retry[data-v-47cde130]{color:#c44;cursor:pointer;background:0 0;border:1px solid #c44;border-radius:6px;margin-top:8px;padding:6px 16px;font-family:Noto Sans JP,sans-serif;font-size:13px}.empty-state[data-v-47cde130]{flex-direction:column;align-items:center;gap:8px;padding:24px 0;display:flex}.empty-text[data-v-47cde130]{color:#8b8580;font-size:14px}.reservation-list[data-v-47cde130]{flex-direction:column;gap:12px;display:flex}.reservation-card[data-v-47cde130]{background:#fff;border:1px solid #ece8e3;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.reservation-card-header[data-v-47cde130]{background:#2d5a3d;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.header-left[data-v-47cde130]{align-items:center;gap:8px;display:flex}.booking-label[data-v-47cde130]{color:#ffffffb3;font-size:11px}.booking-number[data-v-47cde130]{color:#fff;letter-spacing:2px;font-family:Noto Sans JP,monospace;font-size:18px;font-weight:700}.btn-cancel[data-v-47cde130]{color:#dc3545;cursor:pointer;background:#fffffff2;border:1.5px solid #dc3545;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:72px;padding:4px 12px;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:600;transition:background .2s;display:flex}.btn-cancel[data-v-47cde130]:active{background:#fef2f2}.btn-cancel[data-v-47cde130]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-disabled[data-v-47cde130]{color:#a09a94;text-align:center;background:#fff9;border:1.5px solid #c4bfb8;border-radius:6px;flex-shrink:0;min-width:72px;padding:4px 10px;font-size:11px;font-weight:600}.reservation-card-body[data-v-47cde130]{flex-direction:column;gap:5px;padding:10px 14px;display:flex}.reservation-info-row[data-v-47cde130]{align-items:center;gap:8px;display:flex}.info-label[data-v-47cde130]{color:#8b8580;flex-shrink:0;min-width:48px;font-size:12px}.info-value[data-v-47cde130]{color:#333;font-size:14px;font-weight:500}.time-value[data-v-47cde130]{color:#2d5a3d;font-weight:600}.date-scroll-wrapper[data-v-47cde130]{-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px 16px;padding:0 16px;overflow-x:auto}.date-scroll-wrapper[data-v-47cde130]::-webkit-scrollbar{display:none}.date-scroll[data-v-47cde130]{gap:6px;padding:2px 0;display:flex}.date-chip[data-v-47cde130]{cursor:pointer;background:#fff;border:1.5px solid #e8e4df;border-radius:10px;flex-direction:column;flex:1 1 0;align-items:center;gap:1px;min-width:0;padding:6px 4px;font-family:Noto Sans JP,sans-serif;transition:all .2s;display:flex}.date-chip[data-v-47cde130]:active{transform:scale(.96)}.date-chip-active[data-v-47cde130]{background:#2d5a3d;border-color:#2d5a3d}.date-chip-active .date-chip-month[data-v-47cde130],.date-chip-active .date-chip-day[data-v-47cde130],.date-chip-active .date-chip-dow[data-v-47cde130]{color:#fff}.date-chip-active .date-chip-today[data-v-47cde130]{color:#fff;background:#ffffff40}.date-chip-month[data-v-47cde130]{color:#8b8580;font-size:10px;font-weight:400}.date-chip-day[data-v-47cde130]{color:#333;font-size:18px;font-weight:600;line-height:1.2}.date-chip-dow[data-v-47cde130]{color:#6b6560;font-size:11px;font-weight:500}.date-chip.sunday .date-chip-dow[data-v-47cde130],.date-chip.sunday .date-chip-day[data-v-47cde130]{color:#c44}.date-chip.saturday .date-chip-dow[data-v-47cde130],.date-chip.saturday .date-chip-day[data-v-47cde130]{color:#3478c4}.date-chip-active.sunday .date-chip-dow[data-v-47cde130],.date-chip-active.sunday .date-chip-day[data-v-47cde130],.date-chip-active.saturday .date-chip-dow[data-v-47cde130],.date-chip-active.saturday .date-chip-day[data-v-47cde130]{color:#fff}.date-chip-today[data-v-47cde130]{color:#2d5a3d;background:#e6f0ea;border-radius:6px;padding:1px 6px;font-size:9px;font-weight:500}.route-list[data-v-47cde130]{flex-direction:column;gap:12px;display:flex}.route-card[data-v-47cde130]{cursor:pointer;background:#fff;border:1px solid #ece8e3;border-radius:12px;padding:14px;transition:all .2s;box-shadow:0 1px 4px #0000000f}.route-card[data-v-47cde130]:active{transform:scale(.98);box-shadow:0 1px 2px #0000000a}.route-card.route-full[data-v-47cde130]{opacity:.55;cursor:default}.route-card.route-full[data-v-47cde130]:active{transform:none}.route-card-top[data-v-47cde130]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.route-name-area[data-v-47cde130]{align-items:center;gap:8px;display:flex}.route-name[data-v-47cde130]{color:#333;font-size:15px;font-weight:600}.seat-badge[data-v-47cde130]{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.badge-available[data-v-47cde130]{color:#2d5a3d;background:#e6f0ea}.badge-full[data-v-47cde130]{color:#c44;background:#f5e6e6}.badge-departed[data-v-47cde130]{color:#8b8580;background:#f0ebe6}.route-arrow[data-v-47cde130]{flex-shrink:0}.route-stops-preview[data-v-47cde130]{flex-direction:column;gap:4px;padding-left:4px;display:flex}.stop-preview[data-v-47cde130]{align-items:center;gap:8px;display:flex}.stop-time[data-v-47cde130]{color:#4a7c5c;min-width:44px;font-size:13px;font-weight:500}.stop-name[data-v-47cde130]{color:#6b6560;font-size:13px}.stop-more[data-v-47cde130]{color:#a09a94;padding-left:52px;font-size:12px}.rules-section[data-v-47cde130]{padding-bottom:16px}.rules-card[data-v-47cde130]{background:#f8f5f1;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.rule-item[data-v-47cde130]{align-items:center;gap:10px;display:flex}.rule-icon[data-v-47cde130]{flex-shrink:0;align-items:center;display:flex}.rule-text[data-v-47cde130]{color:#5a5550;font-size:13px;line-height:1.5}.select-route[data-v-0021805e]{padding-bottom:100px}.page-header[data-v-0021805e]{background:#fff;border-bottom:1px solid #ece8e3;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.btn-back[data-v-0021805e]{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;transition:background .2s;display:flex}.btn-back[data-v-0021805e]:active{background:#f0ebe6}.page-title[data-v-0021805e]{color:#333;margin:0;font-size:16px;font-weight:600}.page-header-spacer[data-v-0021805e]{width:28px}.loading-container[data-v-0021805e],.error-container[data-v-0021805e]{flex-direction:column;align-items:center;gap:12px;padding:48px 16px;display:flex}.loading-spinner[data-v-0021805e]{border:3px solid #e8e4df;border-top-color:#2d5a3d;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-0021805e}@keyframes spin-0021805e{to{transform:rotate(360deg)}}.loading-text[data-v-0021805e]{color:#8b8580;font-size:13px}.error-text[data-v-0021805e]{color:#c44;font-size:14px}.btn-retry[data-v-0021805e]{color:#c44;cursor:pointer;background:0 0;border:1px solid #c44;border-radius:6px;padding:6px 16px;font-family:Noto Sans JP,sans-serif;font-size:13px}.route-info-bar[data-v-0021805e]{background:#f8f6f3;border-bottom:1px solid #ece8e3;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.route-info-left[data-v-0021805e]{flex-direction:column;gap:2px;display:flex}.route-name[data-v-0021805e]{color:#2d5a3d;font-size:16px;font-weight:700}.route-date[data-v-0021805e]{color:#8b8580;font-size:13px}.seat-badge[data-v-0021805e]{white-space:nowrap;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600}.badge-available[data-v-0021805e]{color:#2d5a3d;background:#e6f0ea}.badge-full[data-v-0021805e]{color:#c44;background:#f5e6e6}.section-label[data-v-0021805e]{text-align:center;color:#5a5550;margin:20px 16px 12px;font-size:14px}.stop-cards[data-v-0021805e]{flex-direction:column;gap:12px;padding:0 16px;display:flex}.stop-card[data-v-0021805e]{cursor:pointer;text-align:left;background:#fff;border:2px solid #e0dbd6;border-radius:14px;align-items:center;gap:14px;width:100%;padding:18px 16px;font-family:Noto Sans JP,sans-serif;transition:all .2s;display:flex}.stop-card[data-v-0021805e]:active{transform:scale(.98)}.stop-card-selected[data-v-0021805e]{background:linear-gradient(135deg,#2d5a3d 0%,#4a7c5c 100%);border-color:#2d5a3d;box-shadow:0 4px 12px #2d5a3d40}.stop-card-icon[data-v-0021805e]{flex-shrink:0;width:28px;height:28px}.stop-card-body[data-v-0021805e]{flex-direction:column;flex:1;gap:2px;display:flex}.stop-card-name[data-v-0021805e]{color:#333;font-size:17px;font-weight:700}.stop-card-selected .stop-card-name[data-v-0021805e]{color:#fff}.stop-card-time[data-v-0021805e]{color:#4a7c5c;font-size:15px;font-weight:600}.stop-card-selected .stop-card-time[data-v-0021805e]{color:#ffffffd9}.stop-card-check[data-v-0021805e]{flex-shrink:0;width:24px;height:24px}.check-empty[data-v-0021805e]{border:2px solid #d4cfc9;border-radius:50%;width:24px;height:24px}.stop-card-selected .check-empty[data-v-0021805e]{border-color:#ffffff80}.stop-card-departed[data-v-0021805e]{opacity:.5;cursor:not-allowed;background:#f5f3f0;border-color:#e0dbd6}.stop-card-departed[data-v-0021805e]:active{transform:none}.stop-card-departed .stop-card-name[data-v-0021805e],.stop-card-departed .stop-card-time[data-v-0021805e]{color:#a09a94}.departed-label[data-v-0021805e]{color:#c44;background:#fef2f2;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.arrival-info[data-v-0021805e]{flex-direction:column;align-items:center;padding:8px 16px 0;display:flex}.arrival-arrow[data-v-0021805e]{padding:4px 0}.arrival-card[data-v-0021805e]{background:#f8f6f3;border:1px solid #ece8e3;border-radius:12px;align-items:center;gap:10px;width:100%;padding:14px 16px;display:flex}.arrival-label[data-v-0021805e]{color:#8b8580;background:#e8e4df;border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.arrival-name[data-v-0021805e]{color:#333;flex:1;font-size:15px;font-weight:600}.arrival-time[data-v-0021805e]{color:#4a7c5c;flex-shrink:0;font-size:14px;font-weight:600}.full-message-area[data-v-0021805e]{flex-direction:column;align-items:center;gap:12px;padding:48px 16px;display:flex}.full-icon[data-v-0021805e]{font-size:40px}.full-text[data-v-0021805e]{color:#8b8580;margin:0;font-size:16px;font-weight:600}.btn-back-home[data-v-0021805e]{color:#4a7c5c;cursor:pointer;background:#fff;border:1.5px solid #4a7c5c;border-radius:10px;margin-top:8px;padding:10px 24px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:600}.reserve-area[data-v-0021805e]{max-width:430px;padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ece8e3;margin:0 auto;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000f}.btn-reserve[data-v-0021805e]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d5a3d 0%,#4a7c5c 100%);border:none;border-radius:12px;width:100%;padding:14px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700;transition:opacity .2s}.btn-reserve[data-v-0021805e]:active{opacity:.85}.btn-reserve[data-v-0021805e]:disabled{color:#a09a94;cursor:not-allowed;background:#d4cfc9}.register-page[data-v-2641eb22]{padding:32px 20px}.register-header[data-v-2641eb22]{text-align:center;margin-bottom:28px}.register-icon[data-v-2641eb22]{margin-bottom:12px}.register-title[data-v-2641eb22]{color:#2d5a3d;margin:0 0 8px;font-size:20px;font-weight:700}.register-subtitle[data-v-2641eb22]{color:#6b6560;margin:0;font-size:13px;line-height:1.6}.register-form[data-v-2641eb22]{flex-direction:column;gap:20px;display:flex}.form-error-banner[data-v-2641eb22]{color:#c44;background:#fef2f2;border:1px solid #f5d4d4;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.form-group[data-v-2641eb22]{flex-direction:column;gap:6px;display:flex}.form-label[data-v-2641eb22]{color:#444;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.required[data-v-2641eb22]{color:#fff;background:#d4a574;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.form-input[data-v-2641eb22]{color:#333;box-sizing:border-box;background:#fff;border:1.5px solid #e0dbd6;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:Noto Sans JP,sans-serif;font-size:15px;transition:border-color .2s}.form-input[data-v-2641eb22]:focus{border-color:#4a7c5c;box-shadow:0 0 0 3px #4a7c5c1a}.form-input.input-error[data-v-2641eb22]{border-color:#e88}.form-input[data-v-2641eb22]::placeholder{color:#c4bfb8}.select-wrapper[data-v-2641eb22]{position:relative}.form-select[data-v-2641eb22]{color:#333;appearance:none;cursor:pointer;box-sizing:border-box;background:#fff;border:1.5px solid #e0dbd6;border-radius:10px;outline:none;width:100%;padding:12px 36px 12px 14px;font-family:Noto Sans JP,sans-serif;font-size:15px;transition:border-color .2s}.form-select[data-v-2641eb22]:focus{border-color:#4a7c5c;box-shadow:0 0 0 3px #4a7c5c1a}.select-arrow[data-v-2641eb22]{pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.field-error[data-v-2641eb22]{color:#c44;margin:0;font-size:12px}.btn-submit[data-v-2641eb22]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d5a3d 0%,#4a7c5c 100%);border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:50px;margin-top:8px;padding:14px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:600;transition:opacity .2s;display:flex}.btn-submit[data-v-2641eb22]:active{opacity:.85}.btn-submit[data-v-2641eb22]:disabled{cursor:not-allowed;background:#d4cfc9}.loading-spinner-xs[data-v-2641eb22]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin-2641eb22;display:inline-block}@keyframes spin-2641eb22{to{transform:rotate(360deg)}}.confirm-page[data-v-58b86630]{background:#fdfbf8;min-height:100vh;padding-bottom:140px}.page-header[data-v-58b86630]{background:#fff;border-bottom:1px solid #ece8e3;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.btn-back[data-v-58b86630]{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;transition:background .2s;display:flex}.btn-back[data-v-58b86630]:active{background:#f0ebe6}.page-title[data-v-58b86630]{color:#333;margin:0;font-size:16px;font-weight:600}.page-header-spacer[data-v-58b86630]{width:28px}.confirm-content[data-v-58b86630]{flex-direction:column;align-items:center;padding:32px 20px;display:flex}.confirm-icon[data-v-58b86630]{margin-bottom:16px}.confirm-heading[data-v-58b86630]{color:#333;text-align:center;margin:0 0 24px;font-size:17px;font-weight:600}.confirm-card[data-v-58b86630]{background:#fff;border:1px solid #ece8e3;border-radius:14px;width:100%;margin-bottom:24px;padding:4px 0;box-shadow:0 2px 8px #0000000f}.confirm-row[data-v-58b86630]{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.confirm-label[data-v-58b86630]{color:#8b8580;flex-shrink:0;font-size:13px}.confirm-value[data-v-58b86630]{color:#333;text-align:right;font-size:15px;font-weight:500}.confirm-time[data-v-58b86630]{color:#2d5a3d;font-size:17px;font-weight:700}.confirm-divider[data-v-58b86630]{background:#f0ebe6;height:1px;margin:0 18px}.error-banner[data-v-58b86630]{color:#c44;background:#fef2f2;border:1px solid #f5d4d4;border-radius:10px;align-items:center;gap:8px;width:100%;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.confirm-footer[data-v-58b86630]{max-width:430px;padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ece8e3;flex-direction:column;gap:8px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000f}.btn-confirm[data-v-58b86630]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d5a3d 0%,#4a7c5c 100%);border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:50px;padding:14px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700;transition:opacity .2s;display:flex}.btn-confirm[data-v-58b86630]:active{opacity:.85}.btn-confirm[data-v-58b86630]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner-xs[data-v-58b86630]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin-58b86630;display:inline-block}@keyframes spin-58b86630{to{transform:rotate(360deg)}}.complete-page[data-v-8de09ad5]{background:#fdfbf8;min-height:100vh}.complete-content[data-v-8de09ad5]{flex-direction:column;align-items:center;padding:40px 20px 32px;display:flex}.success-icon-wrapper[data-v-8de09ad5]{margin-bottom:20px}.success-icon[data-v-8de09ad5]{animation:.4s ease-out scaleIn-8de09ad5}@keyframes scaleIn-8de09ad5{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.check-path[data-v-8de09ad5]{stroke-dasharray:40;stroke-dashoffset:40px;animation:.5s ease-out .3s forwards drawCheck-8de09ad5}@keyframes drawCheck-8de09ad5{to{stroke-dashoffset:0}}.complete-title[data-v-8de09ad5]{color:#2d5a3d;text-align:center;margin:0 0 6px;font-size:20px;font-weight:700}.complete-subtitle[data-v-8de09ad5]{color:#8b8580;text-align:center;margin:0 0 24px;font-size:13px}.booking-number-card[data-v-8de09ad5]{background:linear-gradient(135deg,#2d5a3d 0%,#4a7c5c 100%);border-radius:14px;flex-direction:column;align-items:center;gap:4px;width:100%;margin-bottom:16px;padding:16px;display:flex}.booking-label[data-v-8de09ad5]{color:#ffffffb3;letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:400}.booking-number[data-v-8de09ad5]{color:#fff;letter-spacing:2px;font-family:Noto Sans JP,monospace;font-size:24px;font-weight:700}.detail-card[data-v-8de09ad5]{background:#fff;border:1px solid #ece8e3;border-radius:14px;width:100%;margin-bottom:16px;padding:4px 0;box-shadow:0 2px 8px #0000000f}.detail-row[data-v-8de09ad5]{justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.detail-label[data-v-8de09ad5]{color:#8b8580;flex-shrink:0;font-size:13px}.detail-value[data-v-8de09ad5]{color:#333;text-align:right;font-size:14px;font-weight:500}.detail-time[data-v-8de09ad5]{color:#2d5a3d;font-size:16px;font-weight:700}.detail-divider[data-v-8de09ad5]{background:#f0ebe6;height:1px;margin:0 18px}.bus-status-card[data-v-8de09ad5]{background:#f0f7f2;border-radius:12px;align-items:flex-start;gap:12px;width:100%;margin-bottom:16px;padding:14px 16px;display:flex}.bus-status-icon[data-v-8de09ad5]{flex-shrink:0;margin-top:2px}.bus-status-text[data-v-8de09ad5]{flex-direction:column;gap:4px;display:flex}.bus-status-label[data-v-8de09ad5]{color:#2d5a3d;font-size:13px;font-weight:600}.bus-status-body[data-v-8de09ad5]{color:#5a7a64;font-size:12px;line-height:1.6}.notice-card[data-v-8de09ad5]{flex-direction:column;gap:8px;width:100%;margin-bottom:28px;display:flex}.notice-item[data-v-8de09ad5]{color:#8b7a6a;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;display:flex}.notice-item svg[data-v-8de09ad5]{flex-shrink:0;margin-top:1px}.btn-home[data-v-8de09ad5]{color:#2d5a3d;cursor:pointer;background:#fff;border:1.5px solid #2d5a3d;border-radius:12px;width:100%;padding:14px;font-family:Noto Sans JP,sans-serif;font-size:15px;font-weight:600;transition:all .2s}.btn-home[data-v-8de09ad5]:active{background:#f0f7f2}.driver-app[data-v-02ca7b0c]{background:#f5f5f5;flex-direction:column;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;font-family:Noto Sans JP,sans-serif;display:flex}.driver-header[data-v-02ca7b0c]{color:#fff;z-index:100;background:linear-gradient(135deg,#1565c0 0%,#1976d2 100%);padding:16px 20px 14px;position:sticky;top:0;box-shadow:0 2px 8px #1565c04d}.header-top[data-v-02ca7b0c]{justify-content:space-between;align-items:center;display:flex}.header-title[data-v-02ca7b0c]{letter-spacing:.5px;margin:0;font-size:18px;font-weight:700}.role-badge[data-v-02ca7b0c]{letter-spacing:.5px;background:#fff3;border:1px solid #fff6;border-radius:20px;padding:3px 14px;font-size:12px;font-weight:600}.header-date[data-v-02ca7b0c]{opacity:.9;margin-top:6px;font-size:13px;font-weight:400}.driver-main[data-v-02ca7b0c]{flex-direction:column;flex:1;display:flex}.driver-home[data-v-0b7448eb]{min-height:100%;padding-bottom:32px;font-family:Noto Sans JP,sans-serif}.error-banner[data-v-0b7448eb]{color:#c62828;cursor:pointer;background:#fff3f0;border-bottom:2px solid #ef5350;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.error-icon[data-v-0b7448eb]{color:#fff;background:#ef5350;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:flex}.error-close[data-v-0b7448eb]{margin-left:auto;font-size:18px;font-weight:600}.loading-container[data-v-0b7448eb]{color:#757575;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 20px;font-size:14px;display:flex}.loading-container.small[data-v-0b7448eb]{padding:32px 20px}.spinner[data-v-0b7448eb]{border:3px solid #e0e0e0;border-top-color:#1565c0;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-0b7448eb}@keyframes spin-0b7448eb{to{transform:rotate(360deg)}}.empty-state[data-v-0b7448eb]{color:#9e9e9e;flex-direction:column;align-items:center;padding:80px 20px;display:flex}.empty-icon[data-v-0b7448eb]{margin-bottom:16px;font-size:48px}.empty-title[data-v-0b7448eb]{color:#616161;margin:0 0 6px;font-size:18px;font-weight:600}.empty-sub[data-v-0b7448eb]{margin:0;font-size:14px}.route-tabs-wrapper[data-v-0b7448eb]{-webkit-overflow-scrolling:touch;background:#fff;border-bottom:1px solid #e0e0e0;overflow-x:auto}.route-tabs-wrapper[data-v-0b7448eb]::-webkit-scrollbar{display:none}.route-tabs[data-v-0b7448eb]{gap:0;min-width:max-content;padding:0 4px;display:flex}.route-tab[data-v-0b7448eb]{cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:12px 20px 10px;font-family:Noto Sans JP,sans-serif;transition:all .2s;display:flex}.route-tab.active[data-v-0b7448eb]{background:#e3f2fd;border-bottom-color:#1565c0}.tab-name[data-v-0b7448eb]{color:#424242;font-size:14px;font-weight:600}.route-tab.active .tab-name[data-v-0b7448eb]{color:#1565c0}.tab-time[data-v-0b7448eb]{color:#9e9e9e;font-size:11px}.route-tab.active .tab-time[data-v-0b7448eb]{color:#1976d2}.status-bar[data-v-0b7448eb]{background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:12px 12px 0;padding:10px 16px;display:flex}.status-left[data-v-0b7448eb]{align-items:center;gap:8px;display:flex}.status-dot[data-v-0b7448eb]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-waiting .status-dot[data-v-0b7448eb]{background:#ffa726;box-shadow:0 0 0 3px #ffa72640}.status-running .status-dot[data-v-0b7448eb]{background:#66bb6a;animation:1.5s ease-in-out infinite pulse-0b7448eb;box-shadow:0 0 0 3px #66bb6a40}.status-completed .status-dot[data-v-0b7448eb]{background:#1565c0;box-shadow:0 0 0 3px #1565c033}@keyframes pulse-0b7448eb{0%,to{opacity:1}50%{opacity:.5}}.status-label[data-v-0b7448eb]{color:#424242;font-size:14px;font-weight:600}.status-actions[data-v-0b7448eb]{flex-shrink:0;gap:8px;display:flex}.btn-delay[data-v-0b7448eb]{color:#e65100;cursor:pointer;background:#fff3e0;border:1px solid #ffb74d;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:600;transition:background .2s;display:flex}.btn-delay[data-v-0b7448eb]:active{background:#ffe0b2}.delay-icon[data-v-0b7448eb]{font-size:14px}.btn-undo-depart[data-v-0b7448eb]{color:#616161;cursor:pointer;background:#fafafa;border:1px solid #bdbdbd;border-radius:8px;padding:6px 12px;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:600;transition:background .2s}.btn-undo-depart[data-v-0b7448eb]:active{background:#eee}.btn-undo-depart[data-v-0b7448eb]:disabled{opacity:.5;cursor:not-allowed}.completed-banner[data-v-0b7448eb]{text-align:center;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:12px;margin:12px;padding:40px 20px}.completed-icon[data-v-0b7448eb]{color:#fff;background:#43a047;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;font-size:28px;display:flex}.completed-title[data-v-0b7448eb]{color:#2e7d32;margin:0 0 4px;font-size:20px;font-weight:700}.completed-sub[data-v-0b7448eb]{color:#4caf50;margin:0;font-size:14px}.stops-list[data-v-0b7448eb]{padding:8px 12px}.stop-section[data-v-0b7448eb]{background:#fff;border:1px solid #e8e8e8;border-radius:12px;margin-bottom:12px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #0000000f}.stop-section.departed[data-v-0b7448eb]{opacity:.55}.stop-section.current[data-v-0b7448eb]{border-color:#1565c0;box-shadow:0 2px 8px #1565c026}.stop-header[data-v-0b7448eb]{align-items:center;gap:12px;padding:14px 16px;display:flex}.stop-timeline[data-v-0b7448eb]{flex-direction:column;flex-shrink:0;align-self:stretch;align-items:center;width:20px;display:flex}.timeline-line[data-v-0b7448eb]{background:#e0e0e0;flex:1;width:2px}.timeline-line.filled[data-v-0b7448eb]{background:#1565c0}.timeline-line.top[data-v-0b7448eb],.timeline-line.bottom[data-v-0b7448eb]{min-height:6px}.timeline-dot[data-v-0b7448eb]{background:#e0e0e0;border:3px solid #fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:0 0 0 2px #e0e0e0}.timeline-dot.departed[data-v-0b7448eb]{background:#1565c0;box-shadow:0 0 0 2px #1565c0}.timeline-dot.current[data-v-0b7448eb]{background:#fff;border-color:#1565c0;animation:1.5s ease-in-out infinite pulse-0b7448eb;box-shadow:0 0 0 2px #1565c0}.stop-info[data-v-0b7448eb]{flex:1;min-width:0}.stop-name-row[data-v-0b7448eb]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stop-name[data-v-0b7448eb]{color:#212121;font-size:15px;font-weight:600}.departed-badge[data-v-0b7448eb]{color:#757575;background:#e0e0e0;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:600}.final-badge[data-v-0b7448eb]{color:#1565c0;background:#e3f2fd;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:600}.stop-time[data-v-0b7448eb]{color:#9e9e9e;margin-top:2px;font-size:13px;display:block}.stop-count[data-v-0b7448eb]{background:#f5f5f5;border-radius:8px;flex-shrink:0;align-items:baseline;gap:2px;padding:6px 10px;display:flex}.count-num[data-v-0b7448eb]{color:#1565c0;font-size:18px;font-weight:700}.count-label[data-v-0b7448eb]{color:#9e9e9e;font-size:11px}.passenger-list[data-v-0b7448eb]{padding:0 12px 8px}.passenger-card[data-v-0b7448eb]{background:#fafafa;border:1px solid #eee;border-radius:10px;align-items:center;gap:12px;margin-bottom:6px;padding:10px 12px;transition:all .2s;display:flex}.passenger-card.caution[data-v-0b7448eb]{background:#fff8e1;border-width:2px;border-color:#ff9800}.passenger-card.boarded[data-v-0b7448eb]{background:#e8f5e9;border-color:#a5d6a7}.passenger-info[data-v-0b7448eb]{flex:1;min-width:0}.passenger-name-row[data-v-0b7448eb]{align-items:center;gap:6px;display:flex}.passenger-name[data-v-0b7448eb]{color:#212121;font-size:14px;font-weight:600}.caution-badge[data-v-0b7448eb]{color:#fff;background:#ff9800;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700}.passenger-details[data-v-0b7448eb]{color:#9e9e9e;align-items:center;gap:6px;margin-top:3px;font-size:12px;display:flex}.detail-sep[data-v-0b7448eb]{color:#e0e0e0}.caution-note[data-v-0b7448eb]{color:#e65100;background:#ff98001a;border-radius:6px;margin-top:4px;padding:4px 8px;font-size:11px}.passenger-action[data-v-0b7448eb]{flex-shrink:0}.btn-board[data-v-0b7448eb]{color:#fff;cursor:pointer;background:#1565c0;border:none;border-radius:8px;min-width:64px;padding:8px 18px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:700;transition:background .2s}.btn-board[data-v-0b7448eb]:active{background:#0d47a1}.btn-board[data-v-0b7448eb]:disabled{opacity:.6;cursor:not-allowed}.btn-boarded[data-v-0b7448eb]{color:#2e7d32;cursor:pointer;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;justify-content:center;align-items:center;gap:4px;min-width:64px;padding:7px 14px;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:600;transition:background .2s;display:flex}.btn-boarded[data-v-0b7448eb]:active{background:#c8e6c9}.btn-boarded[data-v-0b7448eb]:disabled{opacity:.6;cursor:not-allowed}.check-mark[data-v-0b7448eb]{font-size:14px;font-weight:700}.no-passengers[data-v-0b7448eb]{text-align:center;color:#bdbdbd;padding:8px 16px 12px;font-size:13px}.stop-action[data-v-0b7448eb]{padding:8px 12px 12px}.btn-depart[data-v-0b7448eb]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1565c0 0%,#1976d2 100%);border:none;border-radius:10px;width:100%;padding:14px;font-family:Noto Sans JP,sans-serif;font-size:15px;font-weight:700;transition:transform .1s,box-shadow .2s;box-shadow:0 2px 8px #1565c04d}.btn-depart[data-v-0b7448eb]:active{transform:scale(.98);box-shadow:0 1px 4px #1565c04d}.btn-depart[data-v-0b7448eb]:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-arrive[data-v-0b7448eb]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2e7d32 0%,#43a047 100%);border:none;border-radius:10px;width:100%;padding:14px;font-family:Noto Sans JP,sans-serif;font-size:15px;font-weight:700;transition:transform .1s,box-shadow .2s;box-shadow:0 2px 8px #2e7d324d}.btn-arrive[data-v-0b7448eb]:active{transform:scale(.98);box-shadow:0 1px 4px #2e7d324d}.btn-arrive[data-v-0b7448eb]:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-overlay[data-v-0b7448eb]{z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-0b7448eb]{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:85dvh;animation:.25s ease-out slideUp-0b7448eb;overflow-y:auto}@keyframes slideUp-0b7448eb{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-0b7448eb]{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:18px 20px 12px;display:flex}.modal-header h3[data-v-0b7448eb]{color:#212121;margin:0;font-size:17px;font-weight:700}.modal-close[data-v-0b7448eb]{color:#9e9e9e;cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;line-height:1}.modal-body[data-v-0b7448eb]{padding:16px 20px}.form-label[data-v-0b7448eb]{color:#616161;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.delay-picker[data-v-0b7448eb]{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.delay-btn[data-v-0b7448eb]{color:#616161;cursor:pointer;background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;flex:1;min-width:56px;padding:10px 8px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.delay-btn.active[data-v-0b7448eb]{color:#fff;background:#1565c0;border-color:#1565c0}.delay-btn[data-v-0b7448eb]:active{transform:scale(.96)}.delay-custom[data-v-0b7448eb]{margin-bottom:16px}.form-input[data-v-0b7448eb]{color:#212121;box-sizing:border-box;border:1px solid #e0e0e0;border-radius:8px;width:100%;padding:10px 14px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:border-color .2s}.form-input[data-v-0b7448eb]:focus{border-color:#1565c0;outline:none;box-shadow:0 0 0 3px #1565c01a}.form-textarea[data-v-0b7448eb]{color:#212121;resize:vertical;box-sizing:border-box;border:1px solid #e0e0e0;border-radius:8px;width:100%;padding:10px 14px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:border-color .2s}.form-textarea[data-v-0b7448eb]:focus{border-color:#1565c0;outline:none;box-shadow:0 0 0 3px #1565c01a}.modal-footer[data-v-0b7448eb]{border-top:1px solid #eee;gap:10px;padding:12px 20px 20px;display:flex}.btn-cancel[data-v-0b7448eb]{color:#757575;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:10px;flex:1;padding:12px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:600}.btn-send-delay[data-v-0b7448eb]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e65100 0%,#ff6d00 100%);border:none;border-radius:10px;flex:2;padding:12px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:700;transition:transform .1s}.btn-send-delay[data-v-0b7448eb]:active{transform:scale(.98)}.btn-send-delay[data-v-0b7448eb]:disabled{opacity:.6;cursor:not-allowed;transform:none}.reservations-page[data-v-ca8d22dc]{font-family:Noto Sans JP,sans-serif}.date-nav[data-v-ca8d22dc]{align-items:center;gap:20px;margin-bottom:20px;display:flex}.date-nav-controls[data-v-ca8d22dc]{align-items:center;gap:4px;display:flex}.btn-icon[data-v-ca8d22dc]{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.btn-icon[data-v-ca8d22dc]:hover{background:#f0f0f0;border-color:#ccc}.btn-today[data-v-ca8d22dc]{color:#2d5a3d;cursor:pointer;background:#fff;border:1px solid #2d5a3d;border-radius:8px;padding:6px 14px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.btn-today[data-v-ca8d22dc]:hover{color:#fff;background:#2d5a3d}.date-display[data-v-ca8d22dc]{align-items:center;gap:12px;display:flex}.date-input[data-v-ca8d22dc]{color:#333;border:1px solid #ddd;border-radius:8px;padding:6px 10px;font-family:Noto Sans JP,sans-serif;font-size:14px}.date-label[data-v-ca8d22dc]{color:#2d5a3d;font-size:18px;font-weight:600}.stats-cards[data-v-ca8d22dc]{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.stat-card[data-v-ca8d22dc]{background:#fff;border-left:4px solid #2d5a3d;border-radius:12px;padding:18px 20px;box-shadow:0 1px 3px #0000000f}.stat-card.stat-boarded[data-v-ca8d22dc]{border-left-color:#27ae60}.stat-card.stat-cancelled[data-v-ca8d22dc]{border-left-color:#e67e22}.stat-card.stat-noshow[data-v-ca8d22dc]{border-left-color:#e74c3c}.stat-value[data-v-ca8d22dc]{color:#2d5a3d;font-size:28px;font-weight:700;line-height:1.2}.stat-boarded .stat-value[data-v-ca8d22dc]{color:#27ae60}.stat-cancelled .stat-value[data-v-ca8d22dc]{color:#e67e22}.stat-noshow .stat-value[data-v-ca8d22dc]{color:#e74c3c}.stat-label[data-v-ca8d22dc]{color:#888;margin-top:4px;font-size:12px}.quick-actions[data-v-ca8d22dc]{align-items:center;gap:10px;margin-bottom:20px;display:flex}.quick-actions-label[data-v-ca8d22dc]{color:#888;font-size:13px}.btn-action[data-v-ca8d22dc]{color:#555;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:Noto Sans JP,sans-serif;font-size:13px;transition:all .15s;display:inline-flex}.btn-action[data-v-ca8d22dc]:hover{color:#2d5a3d;background:#f0f7f2;border-color:#2d5a3d}.loading-state[data-v-ca8d22dc],.empty-state[data-v-ca8d22dc],.error-state[data-v-ca8d22dc]{color:#999;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.error-state[data-v-ca8d22dc]{color:#e74c3c}.spinner[data-v-ca8d22dc]{border:3px solid #eee;border-top-color:#2d5a3d;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-ca8d22dc}@keyframes spin-ca8d22dc{to{transform:rotate(360deg)}}.route-cards[data-v-ca8d22dc]{flex-direction:column;gap:20px;display:flex}.route-card[data-v-ca8d22dc]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.route-header[data-v-ca8d22dc]{color:#fff;background:#2d5a3d;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.route-name[data-v-ca8d22dc]{margin:0;font-size:16px;font-weight:600}.route-time[data-v-ca8d22dc]{opacity:.8;margin-top:2px;font-size:13px}.route-info[data-v-ca8d22dc]{flex-direction:column;display:flex}.route-capacity[data-v-ca8d22dc]{align-items:baseline;gap:2px;display:flex}.capacity-count[data-v-ca8d22dc]{color:#d4a574;font-size:24px;font-weight:700}.capacity-sep[data-v-ca8d22dc]{color:#ffffff80;margin:0 2px}.capacity-total[data-v-ca8d22dc]{opacity:.8;font-size:13px}.stop-group[data-v-ca8d22dc]{border-bottom:1px solid #f0f0f0}.stop-group[data-v-ca8d22dc]:last-child{border-bottom:none}.stop-header[data-v-ca8d22dc]{background:#f8faf9;border-bottom:1px solid #eee;align-items:center;gap:10px;padding:12px 20px;display:flex}.stop-marker[data-v-ca8d22dc]{background:#4a7c5c;border-radius:50%;flex-shrink:0;width:10px;height:10px}.stop-name[data-v-ca8d22dc]{color:#2d5a3d;font-size:14px;font-weight:600}.stop-time[data-v-ca8d22dc]{color:#888;font-size:13px}.stop-count[data-v-ca8d22dc]{color:#666;background:#e8f0eb;border-radius:10px;margin-left:auto;padding:2px 10px;font-size:13px}.passengers-list[data-v-ca8d22dc]{padding:8px 20px}.passenger-card[data-v-ca8d22dc]{border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .15s;display:flex}.passenger-card[data-v-ca8d22dc]:hover{background:#f8f9fa}.passenger-name[data-v-ca8d22dc]{color:#333;font-size:14px;font-weight:500}.passenger-meta[data-v-ca8d22dc]{gap:8px;margin-top:3px;display:flex}.meta-tag[data-v-ca8d22dc]{color:#888;background:#f0f0f0;border-radius:4px;padding:1px 8px;font-size:11px}.meta-no[data-v-ca8d22dc]{color:#666;font-family:monospace}.passenger-actions[data-v-ca8d22dc]{align-items:center;gap:8px;display:flex}.status-badge[data-v-ca8d22dc]{border-radius:10px;padding:3px 10px;font-size:11px;font-weight:500}.status-reserved[data-v-ca8d22dc]{color:#1976d2;background:#e3f2fd}.status-boarded[data-v-ca8d22dc]{color:#2e7d32;background:#e8f5e9}.status-cancelled[data-v-ca8d22dc]{color:#e65100;background:#fff3e0}.status-no_show[data-v-ca8d22dc]{color:#c62828;background:#ffebee}.btn-sm[data-v-ca8d22dc]{cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-family:Noto Sans JP,sans-serif;font-size:11px;transition:all .15s}.btn-noshow[data-v-ca8d22dc]{color:#c62828;background:#ffebee}.btn-noshow[data-v-ca8d22dc]:hover{color:#fff;background:#ef9a9a}.modal-overlay[data-v-ca8d22dc]{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-ca8d22dc]{background:#fff;border-radius:14px;width:480px;max-width:90vw;box-shadow:0 20px 60px #00000026}.modal-header[data-v-ca8d22dc]{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3[data-v-ca8d22dc]{color:#2d5a3d;margin:0;font-size:16px;font-weight:600}.modal-close[data-v-ca8d22dc]{color:#999;cursor:pointer;background:0 0;border:none;padding:0;font-size:22px;line-height:1}.modal-close[data-v-ca8d22dc]:hover{color:#333}.modal-body[data-v-ca8d22dc]{padding:20px 24px}.modal-footer[data-v-ca8d22dc]{border-top:1px solid #eee;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.form-group[data-v-ca8d22dc]{margin-bottom:16px}.form-group[data-v-ca8d22dc]:last-child{margin-bottom:0}.form-group label[data-v-ca8d22dc]{color:#555;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-control[data-v-ca8d22dc]{color:#333;box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;padding:8px 12px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:border-color .15s}.form-control[data-v-ca8d22dc]:focus{border-color:#4a7c5c;outline:none;box-shadow:0 0 0 3px #4a7c5c1a}textarea.form-control[data-v-ca8d22dc]{resize:vertical}.btn-primary[data-v-ca8d22dc]{color:#fff;cursor:pointer;background:#2d5a3d;border:none;border-radius:8px;padding:8px 20px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:500;transition:background .15s}.btn-primary[data-v-ca8d22dc]:hover{background:#4a7c5c}.btn-primary[data-v-ca8d22dc]:disabled{cursor:not-allowed;background:#aaa}.btn-secondary[data-v-ca8d22dc]{color:#555;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;padding:8px 20px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:background .15s}.btn-secondary[data-v-ca8d22dc]:hover{background:#e0e0e0}.schedule-page[data-v-9a2813c3]{font-family:Noto Sans JP,sans-serif}.section[data-v-9a2813c3]{margin-bottom:32px}.section-header[data-v-9a2813c3]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-title[data-v-9a2813c3]{color:#2d5a3d;margin:0;font-size:17px;font-weight:600}.table-wrapper[data-v-9a2813c3]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.data-table[data-v-9a2813c3]{border-collapse:collapse;width:100%;font-size:14px}.data-table th[data-v-9a2813c3]{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;background:#f8faf9;border-bottom:2px solid #e8f0eb;padding:10px 16px;font-size:12px;font-weight:600}.data-table td[data-v-9a2813c3]{color:#333;border-bottom:1px solid #f0f0f0;padding:10px 16px}.data-table tbody tr[data-v-9a2813c3]:hover{background:#fafbfa}.table-loading[data-v-9a2813c3],.table-empty[data-v-9a2813c3]{text-align:center;color:#999;padding:32px 16px!important}.text-center[data-v-9a2813c3]{text-align:center}.text-muted[data-v-9a2813c3]{color:#888}.fw-500[data-v-9a2813c3]{font-weight:500}.font-mono[data-v-9a2813c3]{font-family:monospace;font-size:13px}.btn-edit[data-v-9a2813c3]{color:#555;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 12px;font-family:Noto Sans JP,sans-serif;font-size:12px;transition:all .15s}.btn-edit[data-v-9a2813c3]:hover{color:#2d5a3d;border-color:#2d5a3d}.routes-grid[data-v-9a2813c3]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.route-item[data-v-9a2813c3]{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:12px;padding:18px 20px;transition:all .15s;box-shadow:0 1px 3px #0000000f}.route-item[data-v-9a2813c3]:hover{border-color:#4a7c5c;box-shadow:0 4px 12px #00000014}.route-item-header[data-v-9a2813c3]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.route-item-name[data-v-9a2813c3]{color:#2d5a3d;margin:0;font-size:15px;font-weight:600}.route-item-capacity[data-v-9a2813c3]{color:#fff;background:#4a7c5c;border-radius:10px;padding:2px 10px;font-size:13px}.route-item-meta[data-v-9a2813c3]{flex-direction:column;gap:4px;display:flex}.route-period[data-v-9a2813c3],.route-weekdays[data-v-9a2813c3]{color:#888;font-size:13px}.route-item-stops[data-v-9a2813c3]{color:#aaa;margin-top:8px;font-size:12px}.special-cards[data-v-9a2813c3]{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.special-card[data-v-9a2813c3]{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:12px;align-items:flex-start;gap:14px;padding:20px;transition:all .15s;display:flex;box-shadow:0 1px 3px #0000000f}.special-card[data-v-9a2813c3]:hover{border-color:#ddd;box-shadow:0 4px 12px #00000014}.special-card-icon[data-v-9a2813c3]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.special-card-info h4[data-v-9a2813c3]{color:#333;margin:0 0 4px;font-size:14px;font-weight:600}.special-card-info p[data-v-9a2813c3]{color:#999;margin:0;font-size:12px}.loading-state[data-v-9a2813c3],.empty-state[data-v-9a2813c3]{color:#999;flex-direction:column;grid-column:1/-1;align-items:center;gap:12px;padding:40px 20px;font-size:14px;display:flex}.spinner[data-v-9a2813c3]{border:3px solid #eee;border-top-color:#2d5a3d;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-9a2813c3}@keyframes spin-9a2813c3{to{transform:rotate(360deg)}}.stops-header[data-v-9a2813c3]{justify-content:space-between;align-items:center;display:flex}.stops-empty[data-v-9a2813c3]{text-align:center;color:#ccc;border:2px dashed #eee;border-radius:8px;margin-top:8px;padding:20px;font-size:13px}.stop-row[data-v-9a2813c3]{align-items:center;gap:8px;margin-top:8px;display:flex}.stop-order[data-v-9a2813c3]{color:#fff;background:#2d5a3d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:flex}.stop-select[data-v-9a2813c3]{flex:1}.stop-time[data-v-9a2813c3]{flex:none;width:120px!important}.btn-remove[data-v-9a2813c3]{color:#c62828;cursor:pointer;background:#ffebee;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;transition:background .15s;display:flex}.btn-remove[data-v-9a2813c3]:hover{color:#fff;background:#ef9a9a}.btn-sm-add[data-v-9a2813c3]{color:#4a7c5c;cursor:pointer;background:0 0;border:1px dashed #4a7c5c;border-radius:6px;padding:4px 12px;font-family:Noto Sans JP,sans-serif;font-size:12px;transition:all .15s}.btn-sm-add[data-v-9a2813c3]:hover{background:#e8f0eb}.weekday-checks[data-v-9a2813c3]{gap:8px;margin-top:6px;display:flex}.weekday-check[data-v-9a2813c3]{cursor:pointer;align-items:center;gap:4px;display:flex}.weekday-check input[type=checkbox][data-v-9a2813c3]{display:none}.weekday-label[data-v-9a2813c3]{color:#888;border:2px solid #ddd;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.weekday-check input:checked+.weekday-label[data-v-9a2813c3]{color:#fff;background:#2d5a3d;border-color:#2d5a3d}.modal-overlay[data-v-9a2813c3]{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-9a2813c3]{background:#fff;border-radius:14px;flex-direction:column;width:480px;max-width:90vw;max-height:85vh;display:flex;box-shadow:0 20px 60px #00000026}.modal-lg[data-v-9a2813c3]{width:640px}.modal-header[data-v-9a2813c3]{border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3[data-v-9a2813c3]{color:#2d5a3d;margin:0;font-size:16px;font-weight:600}.modal-close[data-v-9a2813c3]{color:#999;cursor:pointer;background:0 0;border:none;padding:0;font-size:22px;line-height:1}.modal-close[data-v-9a2813c3]:hover{color:#333}.modal-body[data-v-9a2813c3]{flex:1;padding:20px 24px;overflow-y:auto}.modal-footer[data-v-9a2813c3]{border-top:1px solid #eee;flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.form-group[data-v-9a2813c3]{margin-bottom:16px}.form-group[data-v-9a2813c3]:last-child{margin-bottom:0}.form-group label[data-v-9a2813c3]{color:#555;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.required[data-v-9a2813c3]{color:#e74c3c}.form-row[data-v-9a2813c3]{gap:16px;display:flex}.form-row .form-group[data-v-9a2813c3]{flex:1}.form-control[data-v-9a2813c3]{color:#333;box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;padding:8px 12px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:border-color .15s}.form-control[data-v-9a2813c3]:focus{border-color:#4a7c5c;outline:none;box-shadow:0 0 0 3px #4a7c5c1a}.btn-primary[data-v-9a2813c3]{color:#fff;cursor:pointer;background:#2d5a3d;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 20px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary[data-v-9a2813c3]:hover{background:#4a7c5c}.btn-secondary[data-v-9a2813c3]{color:#555;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;padding:8px 20px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:background .15s}.btn-secondary[data-v-9a2813c3]:hover{background:#e0e0e0}.users-page[data-v-e0fe4e1f]{font-family:Noto Sans JP,sans-serif}.search-bar[data-v-e0fe4e1f]{align-items:center;gap:16px;margin-bottom:20px;display:flex}.search-input-wrap[data-v-e0fe4e1f]{flex:1;max-width:400px;position:relative}.search-icon[data-v-e0fe4e1f]{position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input[data-v-e0fe4e1f]{color:#333;box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:10px;width:100%;padding:10px 12px 10px 38px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:border-color .15s}.search-input[data-v-e0fe4e1f]:focus{border-color:#4a7c5c;outline:none;box-shadow:0 0 0 3px #4a7c5c1a}.search-result-count[data-v-e0fe4e1f]{color:#888;font-size:13px}.table-wrapper[data-v-e0fe4e1f]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.data-table[data-v-e0fe4e1f]{border-collapse:collapse;width:100%;font-size:14px}.data-table th[data-v-e0fe4e1f]{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;background:#f8faf9;border-bottom:2px solid #e8f0eb;padding:10px 16px;font-size:12px;font-weight:600}.data-table td[data-v-e0fe4e1f]{color:#333;border-bottom:1px solid #f0f0f0;padding:10px 16px}.clickable-row[data-v-e0fe4e1f]{cursor:pointer;transition:background .15s}.clickable-row[data-v-e0fe4e1f]:hover{background:#f8faf9}.table-loading[data-v-e0fe4e1f]{text-align:center;color:#999;padding:40px 16px!important}.table-loading .spinner[data-v-e0fe4e1f]{vertical-align:middle;margin-right:8px;display:inline-block}.table-empty[data-v-e0fe4e1f]{text-align:center;color:#999;padding:40px 16px!important}.text-center[data-v-e0fe4e1f]{text-align:center}.text-muted[data-v-e0fe4e1f]{color:#888}.text-danger[data-v-e0fe4e1f]{color:#e74c3c}.fw-500[data-v-e0fe4e1f]{font-weight:500}.caution-inline[data-v-e0fe4e1f]{color:#fff;vertical-align:middle;background:#e74c3c;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-left:6px;font-size:11px;font-weight:700;display:inline-flex}.caution-toggle[data-v-e0fe4e1f]{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:background .15s}.caution-toggle[data-v-e0fe4e1f]:hover{background:#f8f8f8}.caution-toggle.active svg[data-v-e0fe4e1f]{fill:#e74c3c26}.btn-detail[data-v-e0fe4e1f]{color:#555;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 14px;font-family:Noto Sans JP,sans-serif;font-size:12px;transition:all .15s}.btn-detail[data-v-e0fe4e1f]:hover{color:#2d5a3d;border-color:#2d5a3d}.spinner[data-v-e0fe4e1f]{border:3px solid #eee;border-top-color:#2d5a3d;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin-e0fe4e1f}@keyframes spin-e0fe4e1f{to{transform:rotate(360deg)}}.modal-overlay[data-v-e0fe4e1f]{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-e0fe4e1f]{background:#fff;border-radius:14px;flex-direction:column;width:480px;max-width:90vw;max-height:85vh;display:flex;box-shadow:0 20px 60px #00000026}.modal-lg[data-v-e0fe4e1f]{width:640px}.modal-header[data-v-e0fe4e1f]{border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3[data-v-e0fe4e1f]{color:#2d5a3d;margin:0;font-size:16px;font-weight:600}.modal-close[data-v-e0fe4e1f]{color:#999;cursor:pointer;background:0 0;border:none;padding:0;font-size:22px;line-height:1}.modal-close[data-v-e0fe4e1f]:hover{color:#333}.modal-body[data-v-e0fe4e1f]{flex:1;padding:20px 24px;overflow-y:auto}.modal-loading[data-v-e0fe4e1f]{color:#999;justify-content:center;align-items:center;gap:10px;padding:40px;font-size:14px;display:flex}.detail-section[data-v-e0fe4e1f]{margin-bottom:24px}.detail-section[data-v-e0fe4e1f]:last-child{margin-bottom:0}.detail-section-header[data-v-e0fe4e1f]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.detail-section-header h4[data-v-e0fe4e1f]{color:#2d5a3d;margin:0;font-size:14px;font-weight:600}.detail-section-title[data-v-e0fe4e1f]{color:#2d5a3d;border-top:1px solid #eee;margin:0 0 14px;padding-top:16px;font-size:14px;font-weight:600}.edit-actions[data-v-e0fe4e1f]{gap:8px;display:flex}.btn-edit[data-v-e0fe4e1f]{color:#555;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 12px;font-family:Noto Sans JP,sans-serif;font-size:12px;transition:all .15s}.btn-edit[data-v-e0fe4e1f]:hover{color:#2d5a3d;border-color:#2d5a3d}.btn-primary-sm[data-v-e0fe4e1f]{color:#fff;cursor:pointer;background:#2d5a3d;border:none;border-radius:6px;padding:4px 14px;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:500;transition:background .15s}.btn-primary-sm[data-v-e0fe4e1f]:hover{background:#4a7c5c}.btn-primary-sm[data-v-e0fe4e1f]:disabled{cursor:not-allowed;background:#aaa}.btn-secondary-sm[data-v-e0fe4e1f]{color:#555;cursor:pointer;background:#f0f0f0;border:none;border-radius:6px;padding:4px 14px;font-family:Noto Sans JP,sans-serif;font-size:12px;transition:background .15s}.btn-secondary-sm[data-v-e0fe4e1f]:hover{background:#e0e0e0}.detail-grid[data-v-e0fe4e1f]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-item[data-v-e0fe4e1f]{flex-direction:column;gap:2px;display:flex}.detail-item-full[data-v-e0fe4e1f]{grid-column:1/-1}.detail-label[data-v-e0fe4e1f]{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.detail-value[data-v-e0fe4e1f]{color:#333;font-size:14px}.caution-badge[data-v-e0fe4e1f]{color:#c62828;background:#ffebee;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.normal-badge[data-v-e0fe4e1f]{color:#2e7d32;background:#e8f5e9;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.edit-grid[data-v-e0fe4e1f]{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group[data-v-e0fe4e1f]{flex-direction:column;display:flex}.form-group-full[data-v-e0fe4e1f]{grid-column:1/-1}.form-group label[data-v-e0fe4e1f]{color:#555;margin-bottom:4px;font-size:12px;font-weight:500}.form-control[data-v-e0fe4e1f]{color:#333;box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;padding:8px 12px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:border-color .15s}.form-control[data-v-e0fe4e1f]:focus{border-color:#4a7c5c;outline:none;box-shadow:0 0 0 3px #4a7c5c1a}textarea.form-control[data-v-e0fe4e1f]{resize:vertical}.caution-switch[data-v-e0fe4e1f]{align-items:center;gap:10px;margin-top:4px;display:flex}.switch[data-v-e0fe4e1f]{width:44px;height:24px;display:inline-block;position:relative}.switch input[data-v-e0fe4e1f]{opacity:0;width:0;height:0}.switch-slider[data-v-e0fe4e1f]{cursor:pointer;background:#ddd;border-radius:24px;transition:all .3s;position:absolute;inset:0}.switch-slider[data-v-e0fe4e1f]:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.switch input:checked+.switch-slider[data-v-e0fe4e1f]{background:#e74c3c}.switch input:checked+.switch-slider[data-v-e0fe4e1f]:before{transform:translate(20px)}.history-empty[data-v-e0fe4e1f]{text-align:center;color:#ccc;border:2px dashed #eee;border-radius:8px;padding:24px;font-size:13px}.history-list[data-v-e0fe4e1f]{flex-direction:column;gap:6px;display:flex}.history-item[data-v-e0fe4e1f]{background:#f8f9fa;border-radius:8px;align-items:center;gap:16px;padding:8px 12px;font-size:13px;display:flex}.history-date[data-v-e0fe4e1f]{color:#333;min-width:90px;font-weight:500}.history-route[data-v-e0fe4e1f]{color:#2d5a3d;min-width:120px;font-weight:500}.history-stop[data-v-e0fe4e1f]{color:#888;flex:1}.status-badge[data-v-e0fe4e1f]{border-radius:10px;flex-shrink:0;padding:2px 10px;font-size:11px;font-weight:500}.status-reserved[data-v-e0fe4e1f]{color:#1976d2;background:#e3f2fd}.status-boarded[data-v-e0fe4e1f]{color:#2e7d32;background:#e8f5e9}.status-cancelled[data-v-e0fe4e1f]{color:#e65100;background:#fff3e0}.status-no_show[data-v-e0fe4e1f]{color:#c62828;background:#ffebee}.statistics-page[data-v-5fcf6d21]{font-family:Noto Sans JP,sans-serif}.month-selector[data-v-5fcf6d21]{align-items:center;gap:16px;margin-bottom:24px;display:flex}.month-label[data-v-5fcf6d21]{color:#2d5a3d;text-align:center;min-width:140px;font-size:20px;font-weight:600}.btn-icon[data-v-5fcf6d21]{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.btn-icon[data-v-5fcf6d21]:hover{background:#f0f0f0;border-color:#ccc}.loading-state[data-v-5fcf6d21]{color:#999;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.spinner[data-v-5fcf6d21]{border:3px solid #eee;border-top-color:#2d5a3d;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-5fcf6d21}@keyframes spin-5fcf6d21{to{transform:rotate(360deg)}}.summary-cards[data-v-5fcf6d21]{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.summary-card[data-v-5fcf6d21]{background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000000f}.summary-icon[data-v-5fcf6d21]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.summary-value[data-v-5fcf6d21]{color:#333;font-size:28px;font-weight:700;line-height:1.2}.summary-unit[data-v-5fcf6d21]{color:#888;font-size:16px;font-weight:500}.summary-label[data-v-5fcf6d21]{color:#888;margin-top:2px;font-size:12px}.section-title[data-v-5fcf6d21]{color:#2d5a3d;margin:0 0 14px;font-size:16px;font-weight:600}.chart-section[data-v-5fcf6d21]{margin-bottom:28px}.chart-card[data-v-5fcf6d21]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000f}.chart-empty[data-v-5fcf6d21]{text-align:center;color:#ccc;padding:40px;font-size:14px}.bar-chart[data-v-5fcf6d21]{overflow-x:auto}.bar-chart-body[data-v-5fcf6d21]{align-items:flex-end;gap:4px;min-height:200px;padding-top:20px;display:flex}.bar-col[data-v-5fcf6d21]{flex-direction:column;flex:1;align-items:center;min-width:24px;display:flex}.bar-value[data-v-5fcf6d21]{color:#999;height:14px;margin-bottom:4px;font-size:10px}.bar-track[data-v-5fcf6d21]{background:#f0f0f0;border-radius:4px 4px 0 0;align-items:flex-end;width:100%;max-width:28px;height:160px;display:flex;overflow:hidden}.bar-fill[data-v-5fcf6d21]{background:linear-gradient(#4a7c5c,#2d5a3d);border-radius:4px 4px 0 0;width:100%;min-height:2px;transition:height .3s}.bar-label[data-v-5fcf6d21]{color:#999;margin-top:6px;font-size:10px}.breakdown-section[data-v-5fcf6d21]{margin-bottom:28px}.table-wrapper[data-v-5fcf6d21]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.data-table[data-v-5fcf6d21]{border-collapse:collapse;width:100%;font-size:14px}.data-table th[data-v-5fcf6d21]{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;background:#f8faf9;border-bottom:2px solid #e8f0eb;padding:10px 16px;font-size:12px;font-weight:600}.data-table td[data-v-5fcf6d21]{color:#333;border-bottom:1px solid #f0f0f0;padding:10px 16px}.data-table tbody tr[data-v-5fcf6d21]:hover{background:#fafbfa}.table-empty[data-v-5fcf6d21]{text-align:center;color:#999;padding:32px 16px!important}.text-right[data-v-5fcf6d21]{text-align:right}.fw-500[data-v-5fcf6d21]{font-weight:500}.text-green[data-v-5fcf6d21]{color:#2e7d32}.text-orange[data-v-5fcf6d21]{color:#e65100}.text-red[data-v-5fcf6d21]{color:#c62828}.rate-cell[data-v-5fcf6d21]{justify-content:flex-end;align-items:center;gap:8px;display:flex}.rate-bar-bg[data-v-5fcf6d21]{background:#eee;border-radius:4px;width:50px;height:8px;overflow:hidden}.rate-bar-fill[data-v-5fcf6d21]{background:#4a7c5c;border-radius:4px;height:100%;transition:width .3s}.settings-page[data-v-fc23aeea]{max-width:700px;font-family:Noto Sans JP,sans-serif}.loading-state[data-v-fc23aeea]{color:#999;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.spinner[data-v-fc23aeea]{border:3px solid #eee;border-top-color:#2d5a3d;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-fc23aeea}@keyframes spin-fc23aeea{to{transform:rotate(360deg)}}.settings-card[data-v-fc23aeea]{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.settings-card-header[data-v-fc23aeea]{border-bottom:1px solid #f0f0f0;padding:24px 28px 16px}.settings-card-header h3[data-v-fc23aeea]{color:#2d5a3d;margin:0 0 6px;font-size:17px;font-weight:600}.settings-card-header p[data-v-fc23aeea]{color:#999;margin:0;font-size:13px}.settings-list[data-v-fc23aeea]{padding:8px 0}.setting-item[data-v-fc23aeea]{border-bottom:1px solid #f5f5f5;justify-content:space-between;align-items:center;padding:20px 28px;transition:background .15s;display:flex}.setting-item[data-v-fc23aeea]:last-child{border-bottom:none}.setting-item[data-v-fc23aeea]:hover{background:#fafbfa}.setting-info[data-v-fc23aeea]{flex:1;margin-right:24px}.setting-label[data-v-fc23aeea]{color:#333;cursor:pointer;font-size:14px;font-weight:600}.setting-desc[data-v-fc23aeea]{color:#999;margin:4px 0 0;font-size:12px;line-height:1.5}.setting-control[data-v-fc23aeea]{flex-shrink:0}.input-with-unit[data-v-fc23aeea]{align-items:center;gap:8px;display:flex}.setting-input[data-v-fc23aeea]{color:#2d5a3d;text-align:center;border:1px solid #ddd;border-radius:8px;width:80px;padding:8px 12px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:600;transition:border-color .15s}.setting-input[data-v-fc23aeea]:focus{border-color:#4a7c5c;outline:none;box-shadow:0 0 0 3px #4a7c5c1a}.input-unit[data-v-fc23aeea]{color:#888;white-space:nowrap;font-size:13px}.settings-footer[data-v-fc23aeea]{background:#fafbfa;border-top:1px solid #eee;justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.footer-messages[data-v-fc23aeea]{align-items:center;display:flex}.success-msg[data-v-fc23aeea]{color:#2e7d32;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.error-msg[data-v-fc23aeea]{color:#e74c3c;font-size:13px}.btn-primary[data-v-fc23aeea]{color:#fff;cursor:pointer;background:#2d5a3d;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary[data-v-fc23aeea]:hover{background:#4a7c5c}.btn-primary[data-v-fc23aeea]:disabled{cursor:not-allowed;background:#aaa}.fade-enter-active[data-v-fc23aeea],.fade-leave-active[data-v-fc23aeea]{transition:opacity .3s}.fade-enter-from[data-v-fc23aeea],.fade-leave-to[data-v-fc23aeea]{opacity:0}.admin-layout[data-v-5d0e86d2]{color:#333;background:#f8f9fa;min-height:100vh;font-family:Noto Sans JP,sans-serif;display:flex}.admin-sidebar[data-v-5d0e86d2]{color:#fff;z-index:100;background:#2d5a3d;flex-direction:column;width:240px;min-width:240px;height:100vh;transition:width .25s,min-width .25s;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar.collapsed[data-v-5d0e86d2]{width:64px;min-width:64px}.sidebar-header[data-v-5d0e86d2]{border-bottom:1px solid #ffffff1f;padding:20px 16px}.logo-area[data-v-5d0e86d2]{align-items:center;gap:10px;display:flex}.logo-icon[data-v-5d0e86d2]{flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-text[data-v-5d0e86d2]{white-space:nowrap;flex-direction:column;display:flex;overflow:hidden}.logo-title[data-v-5d0e86d2]{letter-spacing:1px;color:#d4a574;font-size:16px;font-weight:700}.logo-subtitle[data-v-5d0e86d2]{opacity:.7;margin-top:1px;font-size:11px}.sidebar-nav[data-v-5d0e86d2]{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex}.nav-item[data-v-5d0e86d2]{color:#ffffffbf;cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:all .15s;display:flex}.nav-item[data-v-5d0e86d2]:hover{color:#fff;background:#ffffff1a}.nav-item.active[data-v-5d0e86d2]{color:#d4a574;background:#d4a57433;font-weight:500}.nav-icon[data-v-5d0e86d2]{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.nav-label[data-v-5d0e86d2]{overflow:hidden}.sidebar-footer[data-v-5d0e86d2]{border-top:1px solid #ffffff1f;padding:12px 8px}.collapse-btn[data-v-5d0e86d2]{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:8px;transition:all .15s;display:flex}.collapse-btn[data-v-5d0e86d2]:hover{color:#fff;background:#ffffff1a}.admin-main[data-v-5d0e86d2]{flex-direction:column;flex:1;min-width:0;display:flex}.admin-header[data-v-5d0e86d2]{background:#f8f9fa;padding:20px 32px 0}.page-title[data-v-5d0e86d2]{color:#2d5a3d;letter-spacing:0;margin:0 0 4px;font-size:22px;font-weight:600}.admin-content[data-v-5d0e86d2]{flex:1;padding:16px 32px 32px;overflow-y:auto}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans JP,sans-serif;line-height:1.6}#app{min-height:100vh}
