*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;background:#f5f5f5;color:#333;font-size:14px;line-height:1.6}
.header{background:linear-gradient(135deg,#1B5E20,#388E3C);color:#fff;padding:40px 20px 30px;text-align:center}
.header h1{font-size:24px;margin-bottom:6px}.header p{font-size:13px;opacity:.8}
.nav{display:flex;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:100}
.nav a{flex:1;text-align:center;padding:14px 0;font-size:14px;color:#666;text-decoration:none;border-bottom:3px solid transparent}
.nav a.active{color:#2E7D32;border-bottom-color:#2E7D32;font-weight:600}
.page{padding:16px;display:none}.page.active{display:block}
.card{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.card h3{font-size:16px;margin-bottom:6px;color:#2E7D32}
.card .meta{font-size:12px;color:#999;margin:4px 0}
.card .price{font-size:20px;font-weight:700;color:#e53935}
.card .tag{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;background:#E8F5E9;color:#2E7D32;margin-right:6px}
.card .btn{display:block;text-align:center;padding:10px;background:#2E7D32;color:#fff;border-radius:20px;font-size:14px;margin-top:10px;text-decoration:none}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:13px;color:#666;margin-bottom:4px;font-weight:500}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:0}
.form-group textarea{min-height:80px;resize:vertical}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2E7D32}
.btn-primary{width:100%;padding:12px;background:linear-gradient(135deg,#2E7D32,#4CAF50);color:#fff;border:none;border-radius:22px;font-size:16px;cursor:pointer}
.btn-primary:disabled{opacity:.5}
.radio-group,.checkbox-group{display:flex;flex-wrap:wrap;gap:8px}
.radio-group label,.checkbox-group label{padding:6px 14px;background:#f5f5f5;border:1px solid #eee;border-radius:16px;font-size:13px;cursor:pointer}
.radio-group label.checked,.checkbox-group label.checked{background:#E8F5E9;border-color:#2E7D32;color:#2E7D32}
.success-msg{text-align:center;padding:40px 20px;color:#2E7D32}
.success-msg .icon{font-size:48px;margin-bottom:12px}
.success-msg p{font-size:15px;margin-bottom:6px}
.loading{text-align:center;padding:40px;color:#999}
.footer{text-align:center;padding:20px;font-size:12px;color:#bbb}
.required{color:#e53935}
.question-box{padding:14px;background:#f9f9f9;border-radius:10px;margin-bottom:12px}
.question-box .q-label{font-size:14px;margin-bottom:8px;font-weight:500}
.stat-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:16px}
.stat-item{text-align:center;padding:14px;background:#fff;border-radius:10px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.stat-item .num{font-size:24px;font-weight:700;color:#2E7D32}
.stat-item .label{font-size:11px;color:#999;margin-top:2px}
.appointment-item,.survey-response{padding:12px;border-bottom:1px solid #f0f0f0;font-size:13px}
.appointment-item:last-child,.survey-response:last-child{border:0}
.remark{font-size:12px;color:#999;margin-top:4px}
