/* Member / User Center shared layout */
.ucenter-wrap{max-width:900px;margin:60px auto;padding:0 20px}
.ucenter-header{background:#09398c;border-radius:8px 8px 0 0;padding:32px 36px;display:flex;align-items:center;gap:24px}
.ucenter-avatar{width:72px;height:72px;border-radius:50%;border:3px solid rgba(255,255,255,.5);object-fit:cover;background:#fff}
.ucenter-avatar-placeholder{width:72px;height:72px;border-radius:50%;border:3px solid rgba(255,255,255,.5);background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:3.2rem;color:#fff}
.ucenter-info h2{color:#fff;font-size:2rem;margin-bottom:4px}
.ucenter-info p{color:rgba(255,255,255,.75);font-size:1.4rem}
.ucenter-body{background:#fff;border-radius:0 0 8px 8px;box-shadow:0 4px 24px rgba(9,57,140,.08);display:flex;min-height:420px}
.ucenter-nav{width:200px;border-right:1px solid #eef0f5;padding:24px 0;flex-shrink:0}
.ucenter-nav a{display:flex;align-items:center;gap:10px;padding:13px 28px;font-size:1.5rem;color:#555;transition:all .2s}
.ucenter-nav a:hover,.ucenter-nav a.active{background:#f0f4fb;color:#09398c;border-left:3px solid #09398c}
.ucenter-nav a i{width:16px;text-align:center}
.ucenter-content{flex:1;padding:32px 36px}
.ucenter-content h3{font-size:1.8rem;color:#09398c;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid #eef0f5}

/* Shared button styles */
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:#09398c;color:#fff;border:none;border-radius:4px;font-size:1.5rem;cursor:pointer;transition:background .2s}
.btn-primary:hover{background:#0c6fc0;color:#fff}
.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:#fff;color:#f5222d;border:1px solid #f5222d;border-radius:4px;font-size:1.5rem;transition:all .2s}
.btn-danger:hover{background:#fff1f0}
.btn-back{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:#fff;color:#09398c;border:1px solid #09398c;border-radius:4px;font-size:1.5rem;transition:all .2s}
.btn-back:hover{background:#f0f4fb}

/* Member login / register shared layout */
.member-page{min-height:calc(100vh - 100px);display:flex;align-items:center;justify-content:center;padding:60px 20px;background:#f5f7fa}
.member-box{background:#fff;border-radius:8px;box-shadow:0 4px 24px rgba(9,57,140,.10);padding:48px 40px;width:100%;max-width:480px}
.member-box h1{font-size:2.4rem;color:#09398c;margin-bottom:8px;text-align:center}
.member-box .member-sub{font-size:1.4rem;color:#888;text-align:center;margin-bottom:32px}
.member-field{margin-bottom:18px;position:relative}
.member-field label{display:block;font-size:1.4rem;color:#555;margin-bottom:6px}
.member-field input{width:100%;height:44px;border:1px solid #dde3ef;border-radius:4px;padding:0 14px;font-size:1.5rem;color:#333;outline:none;transition:border-color .2s}
.member-field input:focus{border-color:#09398c}
.field-tip{font-size:1.2rem;margin-top:4px;display:none}
.field-tip.ok{color:#52c41a;display:block}
.field-tip.err{color:#f5222d;display:block}
.member-btn{width:100%;height:46px;background:#09398c;color:#fff;border:none;border-radius:4px;font-size:1.6rem;cursor:pointer;margin-top:8px;transition:background .2s}
.member-btn:hover{background:#0c6fc0}
.member-links{display:flex;justify-content:space-between;margin-top:20px;font-size:1.4rem}
.member-links a{color:#09398c}
.member-links a:hover{text-decoration:underline}
.member-legal{margin-top:14px;font-size:1.25rem;color:#888;line-height:1.5;text-align:center}
.member-legal a{color:#09398c}

.od-empty{color:#888;font-size:1.45rem;padding:12px 0}
.od-card{border:1px solid #eef0f5;border-radius:8px;padding:16px 18px;margin-bottom:12px;background:#fff}
.od-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:1.45rem}
.od-card-top strong{color:#111827}
.od-time{color:#999;font-size:1.25rem;white-space:nowrap}
.od-card-meta{color:#555;font-size:1.35rem;margin:8px 0 6px;line-height:1.4}
.od-card-row{display:flex;justify-content:space-between;gap:12px;font-size:1.4rem;color:#374151}
.od-card-row.od-total{font-weight:700;color:#111827;margin-top:6px;padding-top:8px;border-top:1px solid #eef0f5}
.od-track-line{margin-top:8px;font-size:1.3rem;color:#09398c}
.od-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.od-btn{padding:8px 16px;font-size:1.35rem;text-decoration:none}
a.od-btn{color:#fff}
.od-detail h3{margin-bottom:4px}
.od-sub{color:#888;font-size:1.35rem;margin-bottom:16px}
.od-h{font-size:1.5rem;color:#09398c;margin:20px 0 8px}
.od-addr{font-size:1.4rem;color:#374151;line-height:1.6;margin:0}
.od-items{border:1px solid #eef0f5;border-radius:8px;padding:8px 12px}
.od-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f3f5f9}
.od-item:last-child{border-bottom:none}
.od-thumb{width:52px;height:52px;object-fit:contain;background:#f6f8fc;border-radius:6px;flex-shrink:0}
.od-thumb-empty{display:flex;align-items:center;justify-content:center;color:#ccc}
.od-item-info{flex:1;min-width:0}
.od-item-name{font-size:1.4rem;font-weight:600;color:#111827}
.od-item-spec{font-size:1.25rem;color:#6b7280;white-space:pre-line;margin-top:2px}
.od-item-qty{font-size:1.25rem;color:#9ca3af;margin-top:2px}
.od-item-sub{font-size:1.45rem;font-weight:700;color:#09398c;flex-shrink:0}
.od-totals{margin-top:12px}
.od-events{list-style:none;padding:0;margin:10px 0 0}
.od-events li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid #f3f5f9;font-size:1.35rem;color:#374151}
.od-ev-time{color:#999;font-size:1.2rem}
.od-back{margin-bottom:16px}
@media (max-width: 720px){
  .ucenter-body{display:block}
  .ucenter-nav{width:auto;border-right:none;border-bottom:1px solid #eef0f5;display:flex;overflow-x:auto;padding:8px 0}
  .ucenter-nav a{white-space:nowrap;border-left:none;padding:10px 16px}
  .ucenter-content{padding:20px 16px}
}
