/* ====================================
   Mobile Styles - Consolidated CSS
   ==================================== */

body { margin: 0;}

/* iOS H5 app header fix */
.fui-header ~ .diy-fixedsearch {
    top: 3.2rem;
}

/* ====================================
   首页样式 (index.html)
   ==================================== */
.index-page * { margin: 0; padding: 0; box-sizing: border-box; }
.index-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.index-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 20px 15px; text-align: center; color: white; }
.index-page .header h1 { font-size: 24px; font-weight: 600; }
.index-page .header p {line-height: 1.6;}
.index-page .banner { width: 100%; height: 180px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); overflow: hidden; position: relative; }
.index-page .banner-slides { width: 100%; height: 100%; position: relative; }
.index-page .banner-slide { width: 100%; height: 100%; display: none; }
.index-page .banner-slide.active { display: block; }
.index-page .banner-slide img { width: 100%; height: 100%; object-fit: cover; }
.index-page .banner-title { position: absolute; bottom: 0; left: 0; right: 0; padding: 8px 12px; background: linear-gradient(transparent, rgba(0,0,0,0.55)); color: #fff; font-size: 13px; font-weight: 500; line-height: 1.4; }
.index-page .banner-dots { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); display: flex; gap: 5px; }
.index-page .banner-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.5); cursor: pointer; }
.index-page .banner-dot.active { background: white; }
.index-page .notice { background: #fff; margin: 10px; padding: 15px; border-radius: 10px; }
.index-page .notice h3 { font-size: 16px; color: #333; margin-bottom: 10px; }
.index-page .notice p { font-size: 14px; color: #666; line-height: 1.6; }
.index-page .service-time { background: #fff; margin: 10px; padding: 15px; border-radius: 10px; text-align: center; }
.index-page .service-time p { font-size: 14px; color: #666; }
.index-page .service-time strong { color: #667eea; font-size: 16px; }
.index-page .main { padding: 10px; }
.index-page .nav-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 15px; }
.index-page .nav-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.08); text-decoration: none; display: block; }
.index-page .nav-card img { width: 100%; height: 110px; object-fit: cover; display: block; }
.index-page .nav-card.no-img { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 110px; display: flex; align-items: center; justify-content: center; }
.index-page .nav-label { display: block; text-align: center; padding: 10px 5px; font-size: 14px; font-weight: 600; color: #333; }
.index-page .contact-card { background: #fff; border-radius: 12px; padding: 20px; text-align: center; box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
.index-page .contact-card p { color: #666; margin-bottom: 12px; font-size: 14px; }
.index-page .contact-btn { display: inline-block; padding: 10px 30px; background: #28a745; color: #fff; border-radius: 20px; text-decoration: none; font-size: 14px; font-weight: 600; margin-bottom: 2em;}
.index-page .footer { text-align: center; padding: 20px; color: #999; font-size: 12px; }

/* ====================================
   订单详情样式 (detail.html)
   ==================================== */
.detail-page * { margin: 0; padding: 0; box-sizing: border-box; }
.detail-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.detail-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; }
.detail-page .header h1 { font-size: 18px; font-weight: 600; }
.detail-page .content { padding: 15px; }
.detail-page .back-btn { position: absolute; top: 15px; left: 15px; color: white; text-decoration: none; font-size: 20px; line-height: 1; z-index: 10; }
.detail-page .card { background: #fff; border-radius: 10px; padding: 20px; margin-bottom: 15px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.detail-page .card h3 { font-size: 16px; color: #333; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.detail-page .detail-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #f5f5f5; }
.detail-page .detail-row:last-child { border-bottom: none; }
.detail-page .detail-label { color: #666; font-size: 14px; }
.detail-page .detail-value { color: #333; font-size: 14px; font-weight: 500; }
.detail-page .detail-value strong { color: #667eea; }
.detail-page .status-badge { padding: 5px 12px; border-radius: 15px; font-size: 12px; font-weight: 600; }
.detail-page .status-0 { background: #fff3cd; color: #856404; }
.detail-page .status-1 { background: #d1ecf1; color: #0c5460; }
.detail-page .status-2 { background: #d4edda; color: #155724; }
.detail-page .status-3 { background: #f8d7da; color: #721c24; }
.detail-page .btn { width: 100%; padding: 12px; border: none; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; margin-bottom: 10px; }
.detail-page .btn-primary { background: #667eea; color: white; }
.detail-page .btn-danger { background: #e74c3c; color: white; }
.detail-page .btn-outline { background: transparent; border: 1px solid #667eea; color: #667eea; }
.detail-page .phone-link { color: #667eea; font-weight: 600; text-decoration: none; }
.detail-page .contact-section { background: #f8f9ff; padding: 20px; border-radius: 10px; text-align: center; }
.detail-page .contact-section p { margin-bottom: 10px; color: #666; }
.detail-page .contact-btn { display: inline-block; padding: 10px 30px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border-radius: 25px; text-decoration: none; font-weight: 600; }

/* ====================================
   填写信息样式 (fill_info.html)
   ==================================== */
.fill-info-page * { margin: 0; padding: 0; box-sizing: border-box; }
.fill-info-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.fill-info-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; }
.fill-info-page .header h1 { font-size: 18px; font-weight: 600; }
.fill-info-page .content { padding: 15px; }
.fill-info-page .card { background: #fff; border-radius: 10px; padding: 20px; margin-bottom: 15px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.fill-info-page .card h3 { font-size: 16px; color: #333; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.fill-info-page .form-group { margin-bottom: 15px; }
.fill-info-page .form-group label { display: block; margin-bottom: 5px; color: #333; font-size: 14px; font-weight: 500; }
.fill-info-page .form-group input, .fill-info-page .form-group textarea, .fill-info-page .form-group select { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; outline: none; transition: border-color 0.3s; }
.fill-info-page .form-group input:focus, .fill-info-page .form-group textarea:focus, .fill-info-page .form-group select:focus { border-color: #667eea; }
.fill-info-page .form-group textarea { resize: vertical; min-height: 80px; }
.fill-info-page .order-info { background: #f8f9ff; padding: 15px; border-radius: 8px; margin-bottom: 20px; }
.fill-info-page .order-info p { margin-bottom: 8px; font-size: 14px; color: #333; }
.fill-info-page .order-info p strong { color: #667eea; }
.fill-info-page .btn { width: 100%; padding: 15px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; transition: transform 0.2s; }
.fill-info-page .btn:active { transform: scale(0.98); }
.fill-info-page .btn:disabled { opacity: 0.6; cursor: not-allowed; }
.fill-info-page .error { color: #e74c3c; font-size: 12px; margin-top: 5px; }
.fill-info-page .back-btn { position: fixed; top: 15px; left: 15px; background: white; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 1000; cursor: pointer; }
.fill-info-page .price { color: #e74c3c; font-size: 18px; font-weight: 600; }

/* ====================================
   我的预约列表样式 (my_list.html)
   ==================================== */
.my-list-page * { margin: 0; padding: 0; box-sizing: border-box; }
.my-list-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.my-list-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; position: relative; }
.my-list-page .header h1 { font-size: 18px; font-weight: 600; }
.my-list-page .back-btn {
    position: absolute;
    top: 15px;
    left: 15px;
    color: white;
    text-decoration: none;
    font-size: 20px;
    line-height: 1;
    z-index: 10;
}
.my-list-page .content { padding: 15px; }
.my-list-page .empty { text-align: center; padding: 50px 20px; color: #999; }
.my-list-page .empty-icon { font-size: 60px; margin-bottom: 20px; opacity: 0.3; }
.my-list-page .order-list { display: flex; flex-direction: column; gap: 15px; }
.my-list-page .order-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.my-list-page .order-header { background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); padding: 15px; }
.my-list-page .order-header-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.my-list-page .order-no { font-size: 14px; color: #666; }
.my-list-page .order-no strong { color: #667eea; }
.my-list-page .order-status { padding: 5px 12px; background: #fff; border-radius: 15px; font-size: 12px; font-weight: 600; }
.my-list-page .status-0 { color: #f39c12; border: 1px solid #f39c12; }
.my-list-page .status-1 { color: #3498db; border: 1px solid #3498db; }
.my-list-page .status-2 { color: #27ae60; border: 1px solid #27ae60; }
.my-list-page .status-3 { color: #e74c3c; border: 1px solid #e74c3c; }
.my-list-page .order-body { padding: 15px; }
.my-list-page .order-item { display: flex; align-items: center; margin-bottom: 10px; }
.my-list-page .order-item:last-child { margin-bottom: 0; }
.my-list-page .order-icon { font-size: 24px; margin-right: 10px; }
.my-list-page .order-info { flex: 1; }
.my-list-page .order-info h4 { font-size: 14px; color: #333; margin-bottom: 3px; }
.my-list-page .order-info p { font-size: 12px; color: #666; }
.my-list-page .order-price { font-size: 16px; color: #e74c3c; font-weight: 600; }
.my-list-page .order-footer { padding: 15px; border-top: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; }
.my-list-page .order-date { font-size: 12px; color: #999; }
.my-list-page .order-actions { display: flex; gap: 10px; }
.my-list-page .btn { padding: 8px 15px; border-radius: 6px; font-size: 12px; text-decoration: none; display: inline-block; }
.my-list-page .btn-primary { background: #667eea; color: white; }
.my-list-page .btn-danger { background: #e74c3c; color: white; }
.my-list-page .btn-sm { padding: 5px 10px; font-size: 11px; }
.my-list-page .section-title { font-size: 16px; font-weight: 600; color: #333; margin: 20px 15px 10px; }

/* ====================================
   护工下单样式 (nurse_book.html)
   ==================================== */
.nurse-book-page * { margin: 0; padding: 0; box-sizing: border-box; }
.nurse-book-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #f5f5f5; padding-bottom: 90px; }
.nurse-book-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; position: relative; }
.nurse-book-page .header h1 { font-size: 18px; font-weight: 600; }
.nurse-book-page .back-btn { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: white; text-decoration: none; font-size: 20px; }
.nurse-book-page .content { padding: 15px; padding-bottom: 60px; }
.nurse-book-page .card { background: #fff; border-radius: 12px; padding: 18px; margin-bottom: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.06); }
.nurse-book-page .card-title { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #f0f0f0; }
.nurse-book-page .pkg-info { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.nurse-book-page .pkg-thumb { width: 60px; height: 60px; border-radius: 8px; background: #f5f7fa; display: flex; align-items: center; justify-content: center; font-size: 28px; flex-shrink: 0; overflow: hidden; }
.nurse-book-page .pkg-thumb img { width: 100%; height: 100%; object-fit: cover; }
.nurse-book-page .pkg-detail { flex: 1; }
.nurse-book-page .pkg-name { font-size: 15px; font-weight: 600; color: #333; }
.nurse-book-page .pkg-desc { font-size: 12px; color: #999; margin-top: 4px; }
.nurse-book-page .pkg-price { font-size: 20px; font-weight: 700; color: #e74c3c; }
.nurse-book-page .form-group { margin-bottom: 14px; }
.nurse-book-page .form-label { display: block; font-size: 14px; color: #333; margin-bottom: 6px; font-weight: 500; }
.nurse-book-page .form-label .req { color: #e74c3c; }
.nurse-book-page .form-input { width: 100%; padding: 11px 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; outline: none; background: #fafafa; }
.nurse-book-page .form-input:focus { border-color: #667eea; background: #fff; }
.nurse-book-page .form-row { display: flex; gap: 10px; }
.nurse-book-page .form-row .form-group { flex: 1; }
.nurse-book-page .radio-group { display: flex; gap: 15px; }
.nurse-book-page .radio-item { display: flex; align-items: center; gap: 5px; cursor: pointer; font-size: 14px; color: #333; }
.nurse-book-page .radio-item input { width: 16px; height: 16px; accent-color: #667eea; }
.nurse-book-page .service-type-group { display: flex; gap: 10px; }
.nurse-book-page .service-type-card { flex: 1; border: 2px solid #eee; border-radius: 8px; padding: 12px; text-align: center; cursor: pointer; transition: all 0.2s; }
.nurse-book-page .service-type-card:active { transform: scale(0.97); }
.nurse-book-page .service-type-card.selected { border-color: #667eea; background: #f0f2ff; }
.nurse-book-page .service-type-card .st-icon { font-size: 24px; margin-bottom: 4px; }
.nurse-book-page .service-type-card .st-name { font-size: 13px; font-weight: 600; color: #333; }
.nurse-book-page .agree-check { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #666; margin-top: 5px; }
.nurse-book-page .agree-check input { width: 16px; height: 16px; margin-top: 2px; accent-color: #667eea; }
.nurse-book-page .agree-check a { color: #667eea; text-decoration: none; }
.nurse-book-page .error { color: #e74c3c; font-size: 12px; margin-top: 4px; display: none; }
.nurse-book-page .bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; padding: 12px 15px; box-shadow: 0 -2px 10px rgba(0,0,0,0.08); display: flex; align-items: center; justify-content: space-between; z-index: 100; }
.nurse-book-page .amount-info { font-size: 13px; color: #666; }
.nurse-book-page .amount-info .amount { font-size: 22px; font-weight: 700; color: #e74c3c; }
.nurse-book-page .submit-btn { padding: 12px 35px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 22px; font-size: 15px; font-weight: 600; cursor: pointer; }
.nurse-book-page .submit-btn:active { transform: scale(0.97); }
.nurse-book-page .submit-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ====================================
   护工下单成功样式 (nurse_success.html)
   ==================================== */
.nurse-success-page * { margin: 0; padding: 0; box-sizing: border-box; }
.nurse-success-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #f5f5f5; min-height: 100vh; display: flex; flex-direction: column; }
.nurse-success-page .success-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 50px 20px 30px; text-align: center; }
.nurse-success-page .success-icon { width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(135deg, #27ae60, #2ecc71); display: flex; align-items: center; justify-content: center; font-size: 40px; color: white; margin-bottom: 20px; animation: nurse-bounce 0.6s ease; }
@keyframes nurse-bounce { 0% { transform: scale(0); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } }
.nurse-success-page .success-title { font-size: 22px; font-weight: 700; color: #333; margin-bottom: 8px; }
.nurse-success-page .success-subtitle { font-size: 14px; color: #999; margin-bottom: 30px; }
.nurse-success-page .order-card { background: #fff; border-radius: 14px; padding: 20px; width: 100%; max-width: 360px; box-shadow: 0 2px 15px rgba(0,0,0,0.08); margin-bottom: 25px; }
.nurse-success-page .order-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #f5f5f5; }
.nurse-success-page .order-row:last-child { border-bottom: none; }
.nurse-success-page .order-label { font-size: 14px; color: #999; }
.nurse-success-page .order-value { font-size: 14px; color: #333; font-weight: 500; }
.nurse-success-page .order-value strong { color: #667eea; }
.nurse-success-page .order-status { display: inline-block; padding: 4px 14px; background: #fff3cd; color: #856404; border-radius: 12px; font-size: 13px; font-weight: 600; margin-bottom: 15px; }
.nurse-success-page .btn-group { display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 360px; }
.nurse-success-page .btn { padding: 14px; border-radius: 10px; font-size: 15px; font-weight: 600; text-align: center; text-decoration: none; display: block; }
.nurse-success-page .btn-primary { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }
.nurse-success-page .btn-outline { background: #fff; color: #667eea; border: 1px solid #667eea; }
.nurse-success-page .tip { font-size: 12px; color: #ccc; margin-top: 20px; }

/* ====================================
   流程页样式 (process.html)
   ==================================== */
.process-page * { margin: 0; padding: 0; box-sizing: border-box; }
.process-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.process-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; }
.process-page .header h1 { font-size: 18px; font-weight: 600; }
.process-page .content { padding: 15px; }
.process-page .back-btn { position: fixed; top: 15px; left: 15px; background: white; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 1000; cursor: pointer; }
.process-page .card { background: #fff; border-radius: 10px; padding: 20px; margin-bottom: 15px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.process-page .step { display: flex; align-items: center; margin-bottom: 20px; }
.process-page .step:last-child { margin-bottom: 0; }
.process-page .step-circle { width: 30px; height: 30px; border-radius: 50%; background: #667eea; color: white; display: flex; align-items: center; justify-content: center; font-weight: 600; margin-right: 15px; }
.process-page .step-content { flex: 1; }
.process-page .step-title { font-size: 16px; font-weight: 600; color: #333; margin-bottom: 5px; }
.process-page .step-desc { font-size: 14px; color: #666; }
.process-page .btn { width: 100%; padding: 15px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; }

/* ====================================
   选择日期样式 (select_date.html)
   ==================================== */
.select-date-page * { margin: 0; padding: 0; box-sizing: border-box; }
.select-date-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; padding-bottom: 80px; }
.select-date-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; position: relative; }
.select-date-page .header h1 { font-size: 18px; font-weight: 600; }
.select-date-page .back-btn { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.3); width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; cursor: pointer; }
.select-date-page .content { padding: 15px; }
.select-date-page .project-info { background: #fff; padding: 20px; border-radius: 10px; margin-bottom: 15px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); text-align: center; }
.select-date-page .project-icon { font-size: 40px; margin-bottom: 10px; }
.select-date-page .project-name { font-size: 20px; font-weight: 600; color: #333; margin-bottom: 5px; }
.select-date-page .project-price { font-size: 24px; font-weight: 600; color: #e74c3c; }
.select-date-page .section { background: #fff; border-radius: 10px; padding: 20px; margin-bottom: 15px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.select-date-page .section-title { font-size: 16px; font-weight: 600; color: #333; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.select-date-page .date-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.select-date-page .date-item { border: 2px solid #eee; border-radius: 8px; padding: 10px 5px; text-align: center; cursor: pointer; transition: all 0.3s; }
.select-date-page .date-item:active { transform: scale(0.95); }
.select-date-page .date-item.active { border-color: #667eea; background: #f0f2ff; }
.select-date-page .date-item.active .day { color: #667eea; }
.select-date-page .date-item.active .weekday { color: #667eea; }
.select-date-page .day { font-size: 18px; font-weight: 600; color: #333; margin-bottom: 3px; }
.select-date-page .weekday { font-size: 12px; color: #999; }
.select-date-page .time-slot { border: 2px solid #eee; border-radius: 8px; padding: 12px 15px; margin-bottom: 10px; cursor: pointer; transition: all 0.3s; display: flex; justify-content: space-between; align-items: center; }
.select-date-page .time-slot:active { transform: scale(0.98); }
.select-date-page .time-slot.active { border-color: #667eea; background: #f0f2ff; }
.select-date-page .time-slot-label { font-size: 14px; font-weight: 500; color: #333; }
.select-date-page .time-slot-extra { font-size: 12px; color: #999; }
.select-date-page .time-slot.active .time-slot-extra { color: #667eea; }
.select-date-page .form-group { margin-bottom: 15px; }
.select-date-page .form-group label { display: block; margin-bottom: 8px; color: #333; font-size: 14px; font-weight: 500; }
.select-date-page .form-group input, .select-date-page .form-group textarea { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; outline: none; transition: border-color 0.3s; }
.select-date-page .form-group input:focus, .select-date-page .form-group textarea:focus { border-color: #667eea; }
.select-date-page .form-group textarea { resize: vertical; min-height: 80px; }
.select-date-page .error { color: #e74c3c; font-size: 12px; margin-top: 5px; display: none; }
.select-date-page .bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; padding: 12px 15px; box-shadow: 0 -2px 10px rgba(0,0,0,0.1); z-index: 100; }
.select-date-page .submit-btn { width: 100%; padding: 15px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; transition: opacity 0.3s; }
.select-date-page .submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* ====================================
   选择日期-项目样式 (select_date_project.html)
   ==================================== */
.select-date-project-page * { margin: 0; padding: 0; box-sizing: border-box; }
.select-date-project-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.select-date-project-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; }
.select-date-project-page .header h1 { font-size: 18px; font-weight: 600; }
.select-date-project-page .content { padding: 15px; }
.select-date-project-page .back-btn { position: fixed; top: 15px; left: 15px; background: white; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 1000; cursor: pointer; }
.select-date-project-page .project-info { background: #fff; padding: 20px; border-radius: 10px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); text-align: center; }
.select-date-project-page .project-icon { font-size: 40px; margin-bottom: 10px; }
.select-date-project-page .project-name { font-size: 20px; font-weight: 600; color: #333; margin-bottom: 5px; }
.select-date-project-page .project-price { font-size: 24px; font-weight: 600; color: #e74c3c; }
.select-date-project-page .date-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 20px; }
.select-date-project-page .date-item { background: #fff; border-radius: 10px; padding: 15px 5px; text-align: center; cursor: pointer; transition: all 0.3s; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.select-date-project-page .date-item:active { transform: scale(0.95); }
.select-date-project-page .date-item.active { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.select-date-project-page .date-item.active .day { color: white; }
.select-date-project-page .date-item.active .weekday { color: rgba(255,255,255,0.9); }
.select-date-project-page .day { font-size: 20px; font-weight: 600; color: #333; margin-bottom: 5px; }
.select-date-project-page .weekday { font-size: 12px; color: #666; }
.select-date-project-page .btn { width: 100%; padding: 15px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; margin-top: 20px; }
.select-date-project-page .btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* ====================================
   选择医院样式 (select_hospital.html)
   ==================================== */
.select-hospital-page * { margin: 0; padding: 0; box-sizing: border-box; }
.select-hospital-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #f5f5f5; padding-bottom: 70px; }
.select-hospital-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; position: relative; }
.select-hospital-page .header h1 { font-size: 18px; font-weight: 600; }
.select-hospital-page .back-btn { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: white; text-decoration: none; font-size: 20px; }
.select-hospital-page .content { padding: 15px; }
.select-hospital-page .section-title { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 12px; padding-left: 8px; border-left: 3px solid #667eea; }
.select-hospital-page .hospital-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; }
.select-hospital-page .hospital-card { background: #fff; border: 2px solid #eee; border-radius: 10px; padding: 15px 8px; text-align: center; cursor: pointer; transition: all 0.2s; }
.select-hospital-page .hospital-card:active { transform: scale(0.96); }
.select-hospital-page .hospital-card.selected { border-color: #667eea; background: #f0f2ff; }
.select-hospital-page .hospital-card .icon { font-size: 64px; margin-bottom: 6px; }
.select-hospital-page .hospital-card .name { font-size: 13px; font-weight: 600; color: #333; }
.select-hospital-page .home-card { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); color: white; }
.select-hospital-page .home-card .name { color: white; }
.select-hospital-page .home-card.selected { border-color: #fff; }
.select-hospital-page .nurse-section { display: none; }
.select-hospital-page .nurse-section.show { display: block; }
.select-hospital-page .nurse-card { background: #fff; border-radius: 10px; padding: 12px; margin-bottom: 10px; display: flex; align-items: center; box-shadow: 0 1px 5px rgba(0,0,0,0.06); }
.select-hospital-page .nurse-avatar { width: 45px; height: 45px; border-radius: 50%; background: #f0f2ff; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-right: 12px; flex-shrink: 0; }
.select-hospital-page .nurse-info { flex: 1; }
.select-hospital-page .nurse-name { font-size: 15px; font-weight: 600; color: #333; }
.select-hospital-page .nurse-meta { font-size: 12px; color: #999; margin-top: 3px; }
.select-hospital-page .nurse-price { text-align: right; }
.select-hospital-page .nurse-price .price { font-size: 16px; font-weight: 600; color: #e74c3c; }
.select-hospital-page .nurse-price .unit { font-size: 11px; color: #999; }
.select-hospital-page .bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; padding: 12px 15px; box-shadow: 0 -2px 10px rgba(0,0,0,0.08); display: flex; align-items: center; justify-content: space-between; z-index: 100; }
.select-hospital-page .selected-info { font-size: 13px; color: #666; }
.select-hospital-page .selected-info strong { color: #667eea; }
.select-hospital-page .next-btn { padding: 10px 30px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 20px; font-size: 14px; font-weight: 600; cursor: pointer; }
.select-hospital-page .next-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.select-hospital-page .empty-tip { text-align: center; padding: 30px; color: #999; font-size: 14px; }
.select-hospital-page .loading { text-align: center; padding: 20px; color: #999; }

/* ====================================
   选择模式样式 (select_mode.html)
   ==================================== */
.select-mode-page * { margin: 0; padding: 0; box-sizing: border-box; }
.select-mode-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.select-mode-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; }
.select-mode-page .header h1 { font-size: 18px; font-weight: 600; }
.select-mode-page .content { padding: 15px; }
.select-mode-page .back-btn { position: fixed; top: 15px; left: 15px; background: white; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 1000; cursor: pointer; }
.select-mode-page .hospital-info { background: #fff; padding: 20px; border-radius: 10px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); text-align: center; }
.select-mode-page .hospital-icon { font-size: 40px; margin-bottom: 10px; }
.select-mode-page .hospital-name { font-size: 20px; font-weight: 600; color: #333; margin-bottom: 5px; }
.select-mode-page .hospital-address { font-size: 14px; color: #666; }
.select-mode-page .mode-card { background: #fff; border: 2px solid #ddd; border-radius: 10px; padding: 25px; margin-bottom: 15px; cursor: pointer; transition: all 0.3s; }
.select-mode-page .mode-card:active { transform: scale(0.98); }
.select-mode-page .mode-card.active { border-color: #667eea; background: #f8f9ff; }
.select-mode-page .mode-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.select-mode-page .mode-title { font-size: 18px; font-weight: 600; color: #333; }
.select-mode-page .mode-price { font-size: 20px; font-weight: 600; color: #e74c3c; }
.select-mode-page .mode-desc { font-size: 14px; color: #666; line-height: 1.6; }
.select-mode-page .mode-features { display: flex; gap: 10px; margin-top: 15px; flex-wrap: wrap; }
.select-mode-page .feature { background: #f0f0f0; padding: 5px 12px; border-radius: 15px; font-size: 12px; color: #666; }
.select-mode-page .btn { width: 100%; padding: 15px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; margin-top: 20px; }
.select-mode-page .btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* ====================================
   选择护工样式 (select_nurse.html)
   ==================================== */
.select-nurse-page * { margin: 0; padding: 0; box-sizing: border-box; }
.select-nurse-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.select-nurse-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; }
.select-nurse-page .header h1 { font-size: 18px; font-weight: 600; }
.select-nurse-page .content { padding: 15px; }
.select-nurse-page .back-btn { position: fixed; top: 15px; left: 15px; background: white; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 1000; cursor: pointer; }
.select-nurse-page .hospital-info { background: #fff; padding: 20px; border-radius: 10px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); text-align: center; }
.select-nurse-page .hospital-icon { font-size: 40px; margin-bottom: 10px; }
.select-nurse-page .hospital-name { font-size: 20px; font-weight: 600; color: #333; margin-bottom: 5px; }
.select-nurse-page .hospital-address { font-size: 14px; color: #666; }
.select-nurse-page .service-info { background: #f8f9ff; padding: 10px 20px; border-radius: 8px; text-align: center; margin-bottom: 15px; }
.select-nurse-page .service-info span { font-size: 14px; color: #667eea; font-weight: 600; }
.select-nurse-page .nurse-list { display: flex; flex-direction: column; gap: 10px; }
.select-nurse-page .nurse-card { background: #fff; border-radius: 10px; padding: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); cursor: pointer; transition: transform 0.2s; }
.select-nurse-page .nurse-card:active { transform: scale(0.98); }
.select-nurse-page .nurse-header { display: flex; align-items: center; margin-bottom: 15px; }
.select-nurse-page .nurse-avatar { width: 60px; height: 60px; border-radius: 50%; background: #f0f0f0; margin-right: 15px; display: flex; align-items: center; justify-content: center; font-size: 24px; }
.select-nurse-page .nurse-info { flex: 1; }
.select-nurse-page .nurse-name { font-size: 18px; font-weight: 600; color: #333; margin-bottom: 5px; }
.select-nurse-page .nurse-job { font-size: 14px; color: #666; }
.select-nurse-page .nurse-price { font-size: 16px; color: #e74c3c; font-weight: 600; }
.select-nurse-page .nurse-details { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 15px; }
.select-nurse-page .detail-tag { background: #f0f0f0; padding: 4px 10px; border-radius: 15px; font-size: 12px; color: #666; }
.select-nurse-page .nurse-desc { font-size: 14px; color: #666; line-height: 1.6; margin-bottom: 15px; }
.select-nurse-page .nurse-availability { display: flex; gap: 5px; }
.select-nurse-page .availability-dot { width: 10px; height: 10px; border-radius: 50%; }
.select-nurse-page .available { background: #27ae60; }
.select-nurse-page .unavailable { background: #e74c3c; }
.select-nurse-page .btn { width: 100%; padding: 15px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; margin-top: 20px; }

/* ====================================
   选择套餐样式 (select_package.html)
   ==================================== */
.select-package-page * { margin: 0; padding: 0; box-sizing: border-box; }
.select-package-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #f5f5f5; padding-bottom: 70px; }
.select-package-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; position: relative; }
.select-package-page .header h1 { font-size: 18px; font-weight: 600; }
.select-package-page .back-btn { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: white; text-decoration: none; font-size: 20px; }
.select-package-page .content { padding: 15px; }
.select-package-page .location-tag { text-align: center; padding: 10px; font-size: 13px; color: #666; background: #fff; margin: 10px 15px; border-radius: 8px; }
.select-package-page .location-tag strong { color: #667eea; }
.select-package-page .package-list { display: flex; flex-direction: column; gap: 12px; }
.select-package-page .package-card { background: #fff; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.08); display: flex; overflow: hidden; }
.select-package-page .package-img { width: 120px; height: 120px; flex-shrink: 0; background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); display: flex; align-items: center; justify-content: center; font-size: 42px; overflow: hidden; }
.select-package-page .package-img img { width: 100%; height: 100%; object-fit: cover; }
.select-package-page .package-body { padding: 12px 15px; display: flex; flex-direction: column; justify-content: space-between; flex: 1; min-width: 0; }
.select-package-page .package-title { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.select-package-page .package-desc { font-size: 12px; color: #999; margin-bottom: 8px; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.select-package-page .package-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.select-package-page .package-price { font-size: 18px; font-weight: 700; color: #e74c3c; white-space: nowrap; }
.select-package-page .package-price .unit { font-size: 12px; font-weight: 400; color: #999; }
.select-package-page .package-sales { display: none; }
.select-package-page .order-btn { padding: 6px 16px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 18px; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.select-package-page .order-btn:active { transform: scale(0.96); }
.select-package-page .selected-info strong { color: #667eea; }

/* ====================================
   选择项目样式 (select_project.html)
   ==================================== */
.select-project-page * { margin: 0; padding: 0; box-sizing: border-box; }
.select-project-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.select-project-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; }
.select-project-page .header h1 { font-size: 18px; font-weight: 600; }
.select-project-page .content { padding: 15px; }
.select-project-page .back-btn { position: fixed; top: 15px; left: 15px; background: white; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 1000; cursor: pointer; }
.select-project-page .project-list { display: flex; flex-direction: column; gap: 10px; }
.select-project-page .project-card { background: #fff; border-radius: 10px; padding: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); cursor: pointer; transition: transform 0.2s; }
.select-project-page .project-card:active { transform: scale(0.98); }
.select-project-page .project-header { display: flex; align-items: center; margin-bottom: 15px; }
.select-project-page .project-icon { font-size: 40px; margin-right: 15px; }
.select-project-page .project-info { flex: 1; }
.select-project-page .project-name { font-size: 18px; font-weight: 600; color: #333; margin-bottom: 5px; }
.select-project-page .project-desc { font-size: 14px; color: #666; }
.select-project-page .project-price { font-size: 20px; color: #e74c3c; font-weight: 600; }
.select-project-page .project-features { display: flex; gap: 5px; margin-top: 10px; flex-wrap: wrap; }
.select-project-page .feature { background: #f0f0f0; padding: 4px 10px; border-radius: 15px; font-size: 12px; color: #666; }

/* ====================================
   选择时间样式 (select_time.html)
   ==================================== */
.select-time-page * { margin: 0; padding: 0; box-sizing: border-box; }
.select-time-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.select-time-page .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; color: white; text-align: center; }
.select-time-page .header h1 { font-size: 18px; font-weight: 600; }
.select-time-page .content { padding: 15px; }
.select-time-page .back-btn { position: fixed; top: 15px; left: 15px; background: white; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 1000; cursor: pointer; }
.select-time-page .project-info { background: #fff; padding: 20px; border-radius: 10px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); text-align: center; }
.select-time-page .project-icon { font-size: 40px; margin-bottom: 10px; }
.select-time-page .project-name { font-size: 20px; font-weight: 600; color: #333; margin-bottom: 5px; }
.select-time-page .project-price { font-size: 24px; font-weight: 600; color: #e74c3c; }
.select-time-page .time-slot { background: #fff; border: 2px solid #ddd; border-radius: 10px; padding: 20px; margin-bottom: 15px; cursor: pointer; transition: all 0.3s; }
.select-time-page .time-slot:active { transform: scale(0.98); }
.select-time-page .time-slot.active { border-color: #667eea; background: #f8f9ff; }
.select-time-page .time-slot-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.select-time-page .time-slot-title { font-size: 16px; font-weight: 600; color: #333; }
.select-time-page .time-slot-time { font-size: 14px; color: #666; }
.select-time-page .time-slot-features { display: flex; gap: 5px; flex-wrap: wrap; }
.select-time-page .feature { background: #f0f0f0; padding: 4px 10px; border-radius: 15px; font-size: 12px; color: #666; }
.select-time-page .btn { width: 100%; padding: 15px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; margin-top: 20px; }
.select-time-page .btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* ====================================
   成功页样式 (success.html)
   ==================================== */
.success-page * { margin: 0; padding: 0; box-sizing: border-box; }
.success-page body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #f5f5f5; }
.success-page .container { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; padding: 20px; text-align: center; }
.success-page .success-icon { font-size: 80px; color: #27ae60; margin-bottom: 30px; animation: success-bounce 1s infinite; }
@keyframes success-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } }
.success-page .title { font-size: 24px; font-weight: 600; color: #333; margin-bottom: 20px; }
.success-page .order-no { font-size: 16px; color: #666; margin-bottom: 30px; }
.success-page .order-no strong { color: #667eea; font-size: 18px; }
.success-page .info-box { background: #fff; padding: 25px; border-radius: 15px; margin-bottom: 30px; width: 100%; max-width: 400px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.success-page .info-item { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #f5f5f5; }
.success-page .info-item:last-child { border-bottom: none; }
.success-page .info-label { color: #666; font-size: 14px; }
.success-page .info-value { color: #333; font-size: 14px; font-weight: 500; }
.success-page .info-value strong { color: #667eea; }
.success-page .btn { width: 100%; max-width: 400px; padding: 15px; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; margin-bottom: 15px; }
.success-page .btn-primary { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }
.success-page .btn-outline { background: transparent; border: 2px solid #667eea; color: #667eea; }
.success-page .share-tips { font-size: 12px; color: #999; margin-top: 20px; }
@media (max-width: 480px) { .success-page .container { padding: 15px; } .success-page .title { font-size: 20px; } }
