/* ============================================================
   有点追求商城 - 用户中心样式 (保留 Bootstrap3 骨架,只改皮)
   作用域: body.uc-page (不影响 shop 首页等其他 frontend 页)
   配色对齐登录页: 主#3478F6 / 标题#132F55 / 正文#344866
                   辅助#8091AA / 占位#A7B3C4 / 成功#2DBE74
   ============================================================ */
body.uc-page {
    --uc-brand: #3478F6;
    --uc-brand-dark: #2f6fe8;
    --uc-title: #132F55;
    --uc-text: #344866;
    --uc-aux: #8091AA;
    --uc-placeholder: #A7B3C4;
    --uc-border: rgba(31, 64, 104, 0.08);
    --uc-border-strong: #e4ecf7;
    --uc-bg: #f5f7fa;
    --uc-panel: #fff;
    --uc-shadow: 0 2px 12px rgba(31, 64, 104, 0.06);
    background: var(--uc-bg);
    color: var(--uc-text);
    font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

/* ===== navbar ===== */
body.uc-page .navbar.navbar-white {
    background: #fff;
    border-bottom: 1px solid var(--uc-border);
    box-shadow: none;
    min-height: 56px;
    margin: 0;
}
body.uc-page .navbar-brand { color: var(--uc-title); font-weight: 600; font-size: 17px; height: 56px; line-height: 56px; padding: 0 15px; }
body.uc-page .navbar-nav > li > a { color: var(--uc-text); font-size: 14px; line-height: 36px; padding-top: 10px; padding-bottom: 10px; }
body.uc-page .navbar-nav > li > a:hover,
body.uc-page .navbar-nav > li > a:focus { color: var(--uc-brand); background: transparent; }
body.uc-page .navbar-nav .avatar-img img { width: 28px; height: 28px; border-radius: 50%; vertical-align: middle; }
body.uc-page .dropdown-menu { border: 1px solid var(--uc-border); border-radius: 8px; box-shadow: var(--uc-shadow); padding: 6px 0; }
body.uc-page .dropdown-menu > li > a { color: var(--uc-text); font-size: 14px; padding: 8px 16px; }
body.uc-page .dropdown-menu > li > a:hover { background: #f0f6ff; color: var(--uc-brand); }

/* ===== content / container ===== */
body.uc-page .content { padding-top: 76px; padding-bottom: 40px; min-height: calc(100vh - 110px); }
body.uc-page #content-container.container { max-width: 1100px; }

/* ===== footer ===== */
body.uc-page .footer { background: #fff; border-top: 1px solid var(--uc-border); padding: 18px 0; margin-top: 0; }
body.uc-page .footer .copyright { color: var(--uc-aux); font-size: 13px; margin: 0; text-align: center; }

/* ===== panel ===== */
body.uc-page .panel.panel-default {
    border: 1px solid var(--uc-border);
    border-radius: 8px;
    box-shadow: var(--uc-shadow);
    background: var(--uc-panel);
    margin-bottom: 20px;
}
body.uc-page .panel.panel-default > .panel-body { padding: 24px 28px; }
body.uc-page .panel.panel-default > .panel-heading {
    border-bottom: 1px solid var(--uc-border);
    padding: 16px 28px;
    background: transparent;
    border-radius: 8px 8px 0 0;
}
body.uc-page h2.page-header {
    margin: 0 0 22px 0;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--uc-border);
    font-size: 20px;
    font-weight: 600;
    color: var(--uc-title);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
body.uc-page h2.page-header .btn { margin-left: auto; }
body.uc-page h2.page-header small { font-size: 13px; color: var(--uc-aux); margin-left: 8px; }

/* ===== sidenav 侧栏(分组式) ===== */
body.uc-page .sidenav .list-group {
    margin-bottom: 16px;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--uc-border);
    box-shadow: var(--uc-shadow);
}
body.uc-page .sidenav .list-group-heading {
    padding: 12px 16px;
    font-size: 12px;
    color: var(--uc-aux);
    background: #fbfcfe;
    border-bottom: 1px solid var(--uc-border);
    letter-spacing: .5px;
    border-radius: 0;
}
body.uc-page .sidenav .list-group-item {
    border: none;
    border-left: 3px solid transparent;
    border-radius: 0;
    padding: 0;
    background: #fff;
    margin: 0;
}
body.uc-page .sidenav .list-group-item > a {
    display: block;
    padding: 11px 16px;
    color: var(--uc-text);
    font-size: 14px;
    transition: all .2s;
}
body.uc-page .sidenav .list-group-item > a:hover { background: #f0f6ff; color: var(--uc-brand); }
body.uc-page .sidenav .list-group-item > a i { color: var(--uc-aux); width: 18px; text-align: center; transition: color .2s; }
body.uc-page .sidenav .list-group-item > a:hover i { color: var(--uc-brand); }
body.uc-page .sidenav .list-group-item.active { border-left-color: var(--uc-brand); background: #f0f6ff; }
body.uc-page .sidenav .list-group-item.active > a { color: var(--uc-brand); font-weight: 600; }
body.uc-page .sidenav .list-group-item.active > a i { color: var(--uc-brand); }

/* ===== forms ===== */
body.uc-page .form-control {
    height: 42px;
    border-radius: 6px;
    border: 1px solid var(--uc-border-strong);
    background: #f7f9fc;
    color: var(--uc-text);
    font-size: 14px;
    box-shadow: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
body.uc-page .form-control:hover { border-color: #bcd8ff; }
body.uc-page .form-control:focus {
    border-color: var(--uc-brand);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(52, 120, 246, 0.12);
}
body.uc-page .form-control[disabled] { background: #f0f2f6; color: var(--uc-placeholder); }
body.uc-page .control-label { color: var(--uc-text); font-weight: 500; font-size: 14px; }
body.uc-page .input-group .form-control { border-radius: 6px 0 0 6px; }
body.uc-page .input-group-btn .btn { height: 42px; line-height: 40px; border-radius: 0 6px 6px 0; }
body.uc-page .input-group-btn:last-child .btn { border-radius: 0 6px 6px 0; }
body.uc-page .form-group { margin-bottom: 18px; }
body.uc-page .msg-box { color: var(--uc-aux); font-size: 12px; }

/* ===== buttons ===== */
body.uc-page .btn { border-radius: 6px; font-size: 14px; transition: all .2s; }
body.uc-page .btn-primary { background: var(--uc-brand); border-color: var(--uc-brand); color: #fff; }
body.uc-page .btn-primary:hover,
body.uc-page .btn-primary:focus { background: var(--uc-brand-dark); border-color: var(--uc-brand-dark); color: #fff; }
body.uc-page .btn-success { background: #2DBE74; border-color: #2DBE74; color: #fff; }
body.uc-page .btn-success:hover { background: #27a864; border-color: #27a864; }
body.uc-page .btn-info { background: var(--uc-brand); border-color: var(--uc-brand); color: #fff; }
body.uc-page .btn-info:hover { background: var(--uc-brand-dark); border-color: var(--uc-brand-dark); }
body.uc-page .btn-default { border-color: var(--uc-border-strong); color: var(--uc-text); background: #fff; }
body.uc-page .btn-default:hover { border-color: #bcd8ff; color: var(--uc-brand); background: #f0f6ff; }
body.uc-page .btn-embossed { box-shadow: none; }

/* ===== alerts ===== */
body.uc-page .alert { border-radius: 8px; border: 1px solid transparent; padding: 12px 16px; font-size: 14px; }
body.uc-page .alert-info-light { background: #eef4ff; color: var(--uc-text); border-color: #d9e7ff; }
body.uc-page .alert-warning-light { background: #fff8e6; color: var(--uc-text); border-color: #ffe9b3; }

/* ===== user/index 会员中心 ===== */
body.uc-page .user-baseinfo { margin-bottom: 20px; }
body.uc-page .user-baseinfo .user-center .avatar-img img {
    border: 3px solid #fff;
    box-shadow: 0 2px 10px rgba(31, 64, 104, 0.14);
}
body.uc-page .user-baseinfo h4 { margin-top: 0; }
body.uc-page .user-baseinfo h4 a { color: var(--uc-title); font-weight: 600; font-size: 18px; }
body.uc-page .user-baseinfo h4 a:hover { color: var(--uc-brand); }
body.uc-page .user-baseinfo .text-muted { color: var(--uc-aux) !important; font-size: 13px; }
body.uc-page .uc-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-top: 10px;
}
body.uc-page .uc-info-card {
    background: #f7f9fc;
    border: 1px solid var(--uc-border);
    border-radius: 8px;
    padding: 14px 16px;
}
body.uc-page .uc-info-card .uc-info-label { font-size: 12px; color: var(--uc-aux); margin-bottom: 6px; }
body.uc-page .uc-info-card .uc-info-value { font-size: 18px; font-weight: 600; color: var(--uc-title); }
body.uc-page .uc-info-card .uc-info-value a { color: inherit; text-decoration: none; }
body.uc-page .uc-info-card .uc-info-value a:hover { color: var(--uc-brand); }
body.uc-page .uc-info-card .uc-info-value.uc-info-sm { font-size: 14px; font-weight: 500; }
body.uc-page .uc-merchant-entry { margin-top: 20px; text-align: center; }
body.uc-page .uc-merchant-entry .btn { padding: 10px 36px; font-size: 15px; }

/* ===== recharge 充值 ===== */
body.uc-page .panel-recharge h3 { color: var(--uc-title); font-size: 15px; font-weight: 600; margin: 22px 0 14px; }
body.uc-page .panel-recharge h3:first-child { margin-top: 4px; }
body.uc-page .row-recharge > div { margin-bottom: 12px; }
body.uc-page .row-recharge > div > label {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    border: 1px solid var(--uc-border-strong);
    border-radius: 8px;
    background: #fff;
    color: var(--uc-text);
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    margin: 0;
    transition: all .2s;
}
body.uc-page .row-recharge > div > label:hover { border-color: var(--uc-brand); color: var(--uc-brand); background: #f0f6ff; }
body.uc-page .row-recharge > div > label.active {
    border-color: var(--uc-brand);
    color: var(--uc-brand);
    background: #eef4ff;
    box-shadow: 0 0 0 1px var(--uc-brand);
}
body.uc-page .panel-recharge .custommoney {
    border: none;
    height: 100%;
    width: 100%;
    background: transparent;
    font-size: 15px;
    color: var(--uc-text);
    box-shadow: none;
    padding: 0;
}
body.uc-page .panel-recharge .custommoney:focus { box-shadow: none; }
body.uc-page .row-paytype > div > label {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    border: 1px solid var(--uc-border-strong);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    margin: 0;
    transition: all .2s;
}
body.uc-page .row-paytype > div > label:hover { border-color: #bcd8ff; }
body.uc-page .row-paytype > div > label.active { border-color: var(--uc-brand); box-shadow: 0 0 0 1px var(--uc-brand); }
body.uc-page .row-paytype img { height: 24px; }
body.uc-page .btn-recharge { height: 48px; line-height: 48px; font-size: 15px; padding: 0; border-radius: 6px; }

/* ===== moneylog 余额日志流水行 ===== */
body.uc-page .uc-log-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--uc-border);
}
body.uc-page .uc-log-row:last-child { border-bottom: none; }
body.uc-page .uc-log-memo { font-size: 15px; color: var(--uc-title); font-weight: 500; }
body.uc-page .uc-log-date { font-size: 12px; color: var(--uc-placeholder); margin-top: 4px; }
body.uc-page .uc-log-money { font-size: 16px; font-weight: 600; white-space: nowrap; }
body.uc-page .uc-log-money.pos { color: #2DBE74; }
body.uc-page .uc-log-money.neg { color: #f56c6c; }

/* ===== signin 签到日历 ===== */
body.uc-page .panel-page .panel-heading h2 { margin: 0; font-size: 18px; font-weight: 600; color: var(--uc-title); display: flex; align-items: center; gap: 8px; }
body.uc-page .panel-page .panel-heading h2 .btn { margin-left: 8px; }
body.uc-page .calendar { color: var(--uc-text); width: 100%; table-layout: fixed; }
body.uc-page .calendar-title th { padding: 14px 8px; font-size: 14px; font-weight: 600; text-align: center; }
body.uc-page .calendar-title th span,
body.uc-page .calendar-title th a { margin: 0 6px; color: var(--uc-title); }
body.uc-page .calendar-title th a:hover { color: var(--uc-brand); }
body.uc-page .calendar-header th { padding: 10px; text-align: center; color: var(--uc-aux); font-size: 13px; font-weight: 500; }
body.uc-page .calendar tbody tr td { text-align: center; vertical-align: middle; width: 14.28%; height: 60px; line-height: 30px; }
body.uc-page .calendar tbody tr td.pad { background: transparent; }
body.uc-page .calendar tbody tr td.day div:first-child {
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto;
    line-height: 34px;
    border-radius: 50%;
    cursor: pointer;
    transition: all .2s;
    color: var(--uc-text);
}
body.uc-page .calendar tbody tr td.day div:first-child:hover { background: #f0f6ff; color: var(--uc-brand); }
body.uc-page .calendar tbody tr td.signed div:first-child { background: #2DBE74; color: #fff; }
body.uc-page .calendar tbody tr td.signed div:first-child:hover { background: #27a864; color: #fff; }
body.uc-page .calendar tbody tr td.today div:first-child { box-shadow: 0 0 0 2px var(--uc-brand); }
body.uc-page .btn-signin { border-radius: 6px; }
body.uc-page .signin-rank-table > tbody > tr > td { vertical-align: middle; }

/* ===== tables ===== */
body.uc-page .table > thead > tr > th { color: var(--uc-aux); font-weight: 500; font-size: 13px; border-bottom: 1px solid var(--uc-border); }
body.uc-page .table > tbody > tr > td { color: var(--uc-text); border-color: var(--uc-border); }
body.uc-page .table-striped > tbody > tr:nth-of-type(odd) { background: #fbfcfe; }
body.uc-page .table-hover > tbody > tr:hover { background: #f0f6ff; }

/* ===== pager 分页 ===== */
body.uc-page .pager { text-align: center; margin-top: 20px; }
body.uc-page .pager .pagination { margin: 0; }
body.uc-page .pager .pagination > li > a,
body.uc-page .pager .pagination > li > span { color: var(--uc-text); border: 1px solid var(--uc-border-strong); border-radius: 6px !important; margin: 0 3px; }
body.uc-page .pager .pagination > li > a:hover { color: var(--uc-brand); border-color: #bcd8ff; background: #f0f6ff; }
body.uc-page .pager .pagination > li.active > a,
body.uc-page .pager .pagination > li.active > span { background: var(--uc-brand); border-color: var(--uc-brand); color: #fff; }

/* ===== profile 头像 ===== */
body.uc-page .profile-avatar-container { position: relative; width: 100px; }
body.uc-page .profile-avatar-container .profile-user-img {
    width: 100px; height: 100px;
    border: 3px solid #fff;
    box-shadow: 0 2px 10px rgba(31, 64, 104, 0.14);
}
body.uc-page .profile-avatar-container .profile-avatar-text { display: none; }
body.uc-page .profile-avatar-container:hover .profile-avatar-text {
    display: block;
    position: absolute;
    height: 100px; width: 100px;
    background: rgba(19, 47, 85, 0.55);
    color: #fff;
    top: 0; left: 0;
    line-height: 100px;
    text-align: center;
    font-size: 13px;
    border-radius: 50%;
}
body.uc-page .profile-avatar-container button {
    position: absolute;
    top: 0; left: 0; width: 100px; height: 100px; opacity: 0;
}
body.uc-page .form-layer { height: 100%; min-height: 150px; min-width: 300px; }
body.uc-page .form-layer .form-body { width: 100%; overflow: auto; top: 0; position: absolute; z-index: 10; bottom: 50px; padding: 15px; }
body.uc-page .form-layer .form-footer { height: 50px; line-height: 50px; background: #f5f7fa; width: 100%; position: absolute; z-index: 200; bottom: 0; margin: 0; }
body.uc-page .form-layer .form-footer .form-group { margin-left: 0; margin-right: 0; }
