:root {
 --color-primary: #DC2626;
 --color-primary-dark: #B91C1C;
 --color-primary-light: #FEF2F2;
 --color-text-primary: #2D4A52;
 --color-text-secondary: #666666;
 --color-text-muted: #999999;
 --color-bg: #F9FAFB;
 --color-white: #FFFFFF;
 --color-border: #E5E7EB;
 --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
 --radius-sm: 8px;
 --radius-md: 12px;
 --radius-full: 9999px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,'PingFang SC',sans-serif;background:var(--color-bg);color:var(--color-text-primary);font-size:15px;line-height:1.5;padding-bottom:80px}
.page-header{background:white;color:#2D4A52;padding:12px 16px;border-bottom:1px solid var(--color-border)}
.page-header h1,.page-header h2{font-size:18px;font-weight:700;margin-bottom:2px;color:#2D4A52}
.page-header p{font-size:12px;color:#999}
.back-bar{background:white;padding:10px 16px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;min-height:44px}
.back-btn{background:none;border:none;color:var(--color-primary);font-size:15px;cursor:pointer}
.card{background:white;border-radius:var(--radius-md);padding:16px;margin:12px 16px;box-shadow:var(--shadow-sm)}
.card-title{font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--radius-full);font-size:15px;font-weight:500;cursor:pointer;border:none;text-decoration:none;width:100%}
.btn-primary{background:var(--color-primary);color:white}
.btn-secondary{background:white;color:var(--color-primary);border:1.5px solid var(--color-primary)}
.btn-small{padding:6px 14px;font-size:13px;width:auto}
.btn-danger{background:#B91C1C;color:white}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.form-input,.form-select,.form-textarea{width:100%;padding:12px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:15px;background:white;transition:border-color 0.2s}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary)}
.tag{display:inline-block;background:var(--color-primary-light);color:var(--color-primary);padding:3px 10px;border-radius:var(--radius-full);font-size:12px;margin:2px}
.badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500}
.badge-pending{background:#FEF3C7;color:#92400E}
.badge-progress{background:#DBEAFE;color:#1E40AF}
.badge-completed{background:#D1FAE5;color:#065F46}
.badge-cancelled{background:#FEE2E2;color:#991B1B}
.list-item{border-bottom:1px solid var(--color-border);padding:14px 0}
.list-item:last-child{border-bottom:none}
.empty-state{text-align:center;padding:48px 20px;color:var(--color-text-muted)}
.empty-state .icon{font-size:48px;margin-bottom:12px}
.loading{text-align:center;padding:48px 20px;color:var(--color-text-muted);font-size:14px}
.stars{color:#F59E0B}
.divider{height:1px;background:var(--color-border);margin:12px 0}
.rating-row{display:flex;justify-content:center;gap:20px;padding:12px 0}
.rating-item{text-align:center}
.rating-num{font-size:26px;font-weight:700;color:white}
.rating-label{font-size:11px;opacity:0.75}
.avatar{display:flex;align-items:center;justify-content:center;font-weight:700;color:white;border-radius:50%}
.avatar-lg{width:72px;height:72px;font-size:28px}
.avatar-md{width:48px;height:48px;font-size:18px}
.avatar-sm{width:36px;height:36px;font-size:14px}
.section-header{padding:16px 16px 8px;font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.5px}
.action-sheet{position:fixed;bottom:0;left:0;right:0;background:white;border-radius:16px 16px 0 0;padding:20px 16px;box-shadow:0 -4px 20px rgba(0,0,0,0.15);z-index:100}
.input-hint{font-size:12px;color:var(--color-text-muted);margin-top:4px}
.required{color:var(--color-primary)}
.error-msg{color:var(--color-primary);font-size:13px;margin-top:4px}
.success-msg{color:#16A34A;font-size:13px;margin-top:4px}

/* 导航栏 */
.navbar{padding:10px 16px;display:flex;justify-content:space-between;align-items:center;background:white;box-shadow:0 1px 4px rgba(0,0,0,0.08)}
.navbar-brand{display:flex;align-items:center;cursor:pointer}
.navbar-brand img{height:36px}
.btn-logout{padding:6px 14px;background:#F3F4F6;color:#666;border:none;border-radius:8px;font-size:13px;cursor:pointer}
/* 面包屑 */
.breadcrumb-container{padding:8px 16px;background:white;border-bottom:1px solid #E5E7EB;font-size:13px}
.breadcrumb-link{color:#666;text-decoration:none}
.breadcrumb-link:hover{color:#DC2626}
.breadcrumb-separator{margin:0 6px;color:#ccc}
.breadcrumb-current{color:#DC2626;font-weight:500}
