/* Joyful Trip 会员系统样式 */
:root{
  --red:#d92121;
  --red-deep:#b81a1a;
  --black:#1a1a1a;
  --gray:#666;
  --light-gray:#f5f5f5;
  --border:#e5e5e5;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;background:#f8f9fa;color:#333;font-size:14px;line-height:1.6}
a{color:var(--red);text-decoration:none;transition:color .2s}
a:hover{color:var(--red-deep)}

/* 顶部导航 */
.member-nav{background:var(--black);height:68px;display:flex;align-items:center;position:sticky;top:0;z-index:100;border-bottom:2px solid var(--red)}
.member-nav-inner{max-width:1200px;margin:0 auto;padding:0 40px;width:100%;display:flex;align-items:center;justify-content:space-between}
.member-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.member-logo img{height:40px;width:auto}
.member-logo-text{display:flex;flex-direction:column}
.member-logo-name{font-size:18px;font-weight:700;color:#fff;letter-spacing:.5px}
.member-logo-sub{font-size:10px;color:rgba(255,255,255,.6);letter-spacing:1px;text-transform:uppercase}
.member-nav-links{display:flex;align-items:center;gap:8px}
.member-nav-links a{color:rgba(255,255,255,.7);padding:8px 14px;border-radius:4px;font-size:14px;font-weight:500;transition:all .2s}
.member-nav-links a:hover,.member-nav-links a.active{color:#fff;background:rgba(255,255,255,.1)}
.member-nav-right{display:flex;align-items:center;gap:12px}
.member-nav-btn{background:var(--red);color:#fff;padding:9px 22px;font-size:13px;font-weight:600;border-radius:4px;transition:all .25s;display:inline-flex;align-items:center;gap:6px;border:none;cursor:pointer}
.member-nav-btn:hover{background:var(--red-deep);box-shadow:0 4px 16px rgba(217,33,33,.4);color:#fff}
.member-nav-ghost{background:transparent;color:#fff;padding:9px 18px;font-size:13px;font-weight:500;border:1px solid rgba(255,255,255,.3);border-radius:4px;transition:all .25s;display:inline-flex;align-items:center;gap:6px}
.member-nav-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}

/* 主体布局 */
.member-container{max-width:1200px;margin:32px auto;padding:0 40px;display:grid;grid-template-columns:240px 1fr;gap:24px;min-height:calc(100vh - 200px)}
.member-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:20px 0;height:fit-content;position:sticky;top:100px}
.member-sidebar-user{padding:0 20px 20px;border-bottom:1px solid var(--border);margin-bottom:12px;text-align:center}
.member-sidebar-avatar{width:64px;height:64px;border-radius:50%;background:var(--light-gray);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--gray);overflow:hidden}
.member-sidebar-avatar img{width:100%;height:100%;object-fit:cover}
.member-sidebar-name{font-size:16px;font-weight:600;color:#333;margin-bottom:4px}
.member-sidebar-group{font-size:12px;color:var(--gray)}
.member-menu-group{margin-bottom:4px}
.member-menu-title{padding:10px 20px;font-size:12px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .2s}
.member-menu-title:hover{background:var(--light-gray)}
.member-menu-title .arrow{font-size:10px;transition:transform .2s}
.member-menu-group.open .arrow{transform:rotate(90deg)}
.member-menu-items{display:none;padding:4px 0}
.member-menu-group.open .member-menu-items{display:block}
.member-menu-items a{display:block;padding:8px 20px 8px 36px;font-size:14px;color:#555;transition:all .2s;border-left:3px solid transparent}
.member-menu-items a:hover{background:var(--light-gray);color:var(--red);border-left-color:var(--red)}
.member-menu-items a.active{background:rgba(217,33,33,.05);color:var(--red);border-left-color:var(--red);font-weight:500}

/* 主内容区 */
.member-content{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:32px;min-height:400px}
.member-page-title{font-size:22px;font-weight:700;color:#333;margin-bottom:8px}
.member-page-subtitle{font-size:14px;color:var(--gray);margin-bottom:24px}
.member-breadcrumb{font-size:13px;color:var(--gray);margin-bottom:20px}
.member-breadcrumb a{color:var(--gray)}
.member-breadcrumb a:hover{color:var(--red)}

/* 表单样式 */
.member-form{max-width:480px}
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}
.form-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s;background:#fff}
.form-input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(217,33,33,.1)}
.form-input::placeholder{color:#bbb}
.form-row{display:flex;gap:12px;align-items:center}
.form-radio{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:#555}
.form-radio input{cursor:pointer}
.form-btn{background:var(--red);color:#fff;padding:12px 32px;font-size:15px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .25s;font-family:inherit}
.form-btn:hover{background:var(--red-deep);box-shadow:0 4px 16px rgba(217,33,33,.3)}
.form-btn-secondary{background:var(--light-gray);color:#333;padding:12px 32px;font-size:15px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .25s;font-family:inherit}
.form-btn-secondary:hover{background:#e8e8e8}
.form-link{font-size:13px;color:var(--red)}
.form-link:hover{text-decoration:underline}

/* 登录页专属 */
.login-wrapper{min-height:calc(100vh - 68px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)}
.login-card{background:#fff;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.1);padding:48px;width:100%;max-width:440px}
.login-card-header{text-align:center;margin-bottom:32px}
.login-card-logo{width:64px;height:64px;margin:0 auto 16px;border-radius:16px;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:32px}
.login-card-title{font-size:24px;font-weight:700;color:#333;margin-bottom:8px}
.login-card-subtitle{font-size:14px;color:var(--gray)}
.login-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.login-form-footer a{font-size:13px;color:var(--gray)}
.login-form-footer a:hover{color:var(--red)}

/* 表格样式 */
.member-table{width:100%;border-collapse:collapse;margin-bottom:20px}
.member-table th{background:var(--light-gray);padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#555;border-bottom:2px solid var(--border)}
.member-table td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;color:#333}
.member-table tr:hover td{background:#fafafa}

/* 提示信息 */
.member-alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}
.member-alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.member-alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}
.member-alert-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}

/* 底部 */
.member-footer{background:var(--black);color:rgba(255,255,255,.6);padding:24px 0;text-align:center;font-size:13px;margin-top:40px}
.member-footer a{color:rgba(255,255,255,.8)}
.member-footer a:hover{color:#fff}

/* 响应式 */
@media(max-width:768px){
  .member-container{grid-template-columns:1fr;padding:0 20px}
  .member-sidebar{position:static}
  .member-nav-inner{padding:0 20px}
  .member-nav-links{display:none}
  .member-content{padding:20px}
  .login-card{padding:32px 24px}
}

/* 兼容旧ECMS表格样式 - 自动美化 */
.member-content .tableborder{
  width:100% !important;
  border:none !important;
  background:transparent !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}
.member-content .tableborder .header{
  background:var(--red) !important;
  color:#fff !important;
  font-weight:600 !important;
  padding:12px 16px !important;
  border-radius:8px 8px 0 0 !important;
  font-size:14px !important;
}
.member-content .tableborder .header a{
  color:#fff !important;
}
.member-content .tableborder td{
  padding:12px 16px !important;
  border-bottom:1px solid var(--border) !important;
  background:#fff !important;
  font-size:14px !important;
}
.member-content .tableborder tr:last-child td{
  border-bottom:none !important;
  border-radius:0 0 8px 8px !important;
}
.member-content .tableborder input[type='text'],
.member-content .tableborder input[type='password'],
.member-content .tableborder select,
.member-content .tableborder textarea{
  padding:8px 12px !important;
  border:1px solid var(--border) !important;
  border-radius:6px !important;
  font-size:14px !important;
  font-family:inherit !important;
}
.member-content .tableborder input[type='text']:focus,
.member-content .tableborder input[type='password']:focus{
  outline:none !important;
  border-color:var(--red) !important;
  box-shadow:0 0 0 3px rgba(217,33,33,.1) !important;
}
.member-content .tableborder input[type='submit'],
.member-content .tableborder input[type='button']{
  background:var(--red) !important;
  color:#fff !important;
  border:none !important;
  padding:8px 20px !important;
  border-radius:6px !important;
  font-size:14px !important;
  font-weight:500 !important;
  cursor:pointer !important;
  transition:all .2s !important;
}
.member-content .tableborder input[type='submit']:hover,
.member-content .tableborder input[type='button']:hover{
  background:var(--red-deep) !important;
}
.member-content .tableborder a{
  color:var(--red) !important;
}
