/* ============================================================
   Web 端全新主题层（redesign）
   仅由 views/web/layouts/header.blade.php 引入，其他系统不受影响
   视觉语言：青绿主色 / 琥珀点缀 / 圆角卡片 / 白色胶囊导航
   ============================================================ */
body.rd{
    --rd-primary:#0e8074;
    --rd-primary-dark:#0a655c;
    --rd-primary-soft:#e3f2ef;
    --rd-ink:#12312c;
    --rd-ink-2:#5a6f6b;
    --rd-accent:#f59e0b;
    --rd-bg:#edf3f2;
    --rd-line:#e2ebe9;
    --rd-card:#ffffff;
    --rd-radius:14px;
    --rd-shadow:0 6px 24px rgba(18,64,58,.08);
    --rd-shadow-hover:0 12px 32px rgba(18,64,58,.14);
    background:var(--rd-bg);
    color:var(--rd-ink);
    font-family:-apple-system,"PingFang SC","Hiragino Sans GB","HarmonyOS Sans SC","Segoe UI","Microsoft YaHei UI",sans-serif;
}
body.rd h1,body.rd h2,body.rd h3,body.rd h4,body.rd h5,body.rd legend{
    color:var(--rd-ink);
    font-family:inherit;
}
body.rd a{color:var(--rd-primary);transition:color .2s;}
body.rd a:hover{color:var(--rd-primary-dark);}
body.rd ::selection{background:rgba(14,128,116,.18);}

/* 细滚动条 */
body.rd ::-webkit-scrollbar{width:8px;height:8px;}
body.rd ::-webkit-scrollbar-thumb{background:#c3d6d2;border-radius:8px;}
body.rd ::-webkit-scrollbar-track{background:transparent;}

/* ============================================================
   顶部导航：白色悬浮条 + 胶囊高亮
   ============================================================ */
body.rd .navbar-main{
    background:#ffffff;
    border-bottom:1px solid var(--rd-line);
    box-shadow:0 2px 16px rgba(18,64,58,.06);
    margin-bottom:0;
}
body.rd .navbar-main.active{
    background:#ffffff;
    border-bottom:1px solid var(--rd-line);
}
body.rd .navbar-main .public-navbar-main{height:64px;}
body.rd .navbar-main .navbar-logo{
    display:flex;
    align-items:center;
    height:64px;
    margin:0;
}
body.rd .navbar-main .navbar-logo .navbar-link{
    display:inline-block;
    width:38px;height:38px;
    border-radius:9px;
    background:url('/assets/img/brand/logo-mark-256.png?v=1') center center / 38px 38px no-repeat;
    position:relative;
    vertical-align:middle;
}
body.rd .navbar-main .navbar-logo .navbar-link::before{content:none;}
body.rd .navbar-main .navbar-logo{padding-left:0;}
body.rd .navbar-main a.main{
    color:var(--rd-ink-2);
    font-size:15px;
    line-height:22px;
    margin:0 4px;
    padding:7px 16px;
    border-bottom:0;
    border-radius:999px;
    transition:all .2s;
}
body.rd .navbar-main a.main:hover{
    color:var(--rd-primary);
    background:var(--rd-primary-soft);
    border-bottom:0;
}
body.rd .navbar-main a.main.active{
    color:#fff;
    background:linear-gradient(135deg,#12a594,#0e8074);
    border-bottom:0;
    box-shadow:0 4px 12px rgba(14,128,116,.28);
}
body.rd .navbar-main a.top{
    color:var(--rd-ink-2);
    font-size:13px;
    line-height:22px;
    margin-top:0;
    margin-left:8px;
    padding:6px 14px;
    border:1px solid var(--rd-line);
    border-radius:999px;
    vertical-align:baseline;
    transition:all .2s;
}
body.rd .navbar-main a.top:hover{color:#fff;background:var(--rd-ink-2);border-color:var(--rd-ink-2);}
/* 导航右侧菜单：flex 垂直居中，避免基线对齐造成高低不一 */
body.rd .navbar-main .public-navbar-main .navbar-text{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    height:64px;
    margin:0;
    line-height:normal;
    font-size:0;
    color:transparent;
}
body.rd .navbar-main .public-navbar-main .navbar-text > a{font-size:15px;}

/* ============================================================
   公告条
   ============================================================ */
body.rd .notices-row{
    background:linear-gradient(90deg,var(--rd-primary-soft),#f6fbfa);
    border:1px solid #d3e8e3;
    border-radius:var(--rd-radius);
    padding:4px 16px;
    margin-top:16px;
    margin-bottom:16px;
    box-shadow:none;
}
body.rd .notices-row .notices-icon .icon{color:var(--rd-primary);font-size:18px;}
body.rd .notices-row .notice-item{color:var(--rd-ink-2);font-size:13px;line-height:34px;}
body.rd .notices-row .notice-item:hover{color:var(--rd-primary);}

/* ============================================================
   通用容器与卡片
   ============================================================ */
body.rd .public-page-right-block,
body.rd .public-user-right-block{
    background:var(--rd-card);
    border:1px solid var(--rd-line);
    border-radius:var(--rd-radius);
    box-shadow:var(--rd-shadow);
    overflow:hidden;
}
body.rd .public-page-right-block:hover{box-shadow:var(--rd-shadow);}
body.rd .right-block-title{
    color:var(--rd-ink);
    font-weight:700;
}
body.rd .message{color:var(--rd-ink-2);}

/* ============================================================
   按钮
   ============================================================ */
body.rd .btn,
body.rd .btn.dropdown-toggle{border-radius:10px !important;border:0;font-weight:600;transition:all .2s;}
body.rd .btn-lg{padding:12px 24px;font-size:16px;}
body.rd .btn:focus,
body.rd .btn:active:focus,
body.rd .btn.active:focus,
body.rd .btn.focus,
body.rd .btn:active.focus,
body.rd .btn.active.focus{outline:none;box-shadow:none;}
body.rd .btn.btn-zb,
body.rd .btn.btn-login,
body.rd .btn.btn-register{
    background:linear-gradient(135deg,#12a594,#0e8074);
    color:#fff !important;
    box-shadow:0 4px 14px rgba(14,128,116,.25);
}
body.rd .btn.btn-zb:hover,
body.rd .btn.btn-login:hover{
    background:linear-gradient(135deg,#0e8074,#0a655c);
    color:#fff !important;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(14,128,116,.3);
}
body.rd .btn.btn-zb.disabled,
body.rd .btn.btn-zb[disabled],
body.rd .btn.btn-login.disabled{
    background:#b8c8c5 !important;color:#fff !important;box-shadow:none;transform:none;
}
body.rd .btn-default{background:#fff;border:1px solid var(--rd-line) !important;color:var(--rd-ink-2);}
body.rd .btn-default:hover{border-color:var(--rd-primary) !important;color:var(--rd-primary);}
/* 发送验证码 */
body.rd .btn.btn-zb.btn-send-code,
body.rd .login-box .login-form a.btn.btn-zb.btn-send-code{
    background:var(--rd-primary-soft) !important;
    color:var(--rd-primary) !important;
    box-shadow:none;
    border-radius:8px !important;
}
body.rd .btn.btn-zb.btn-send-code.disabled{
    background:#e5ecea !important;
    color:#9db4b0 !important;
    border:0;
}

/* ============================================================
   表单
   ============================================================ */
body.rd .form-control{
    border-radius:10px !important;
    border:1px solid var(--rd-line);
    background:#f7faf9;
    box-shadow:none;
    color:var(--rd-ink);
    transition:all .2s;
}
body.rd .form-control:focus{
    border-color:var(--rd-primary);
    background:#fff;
    box-shadow:0 0 0 3px rgba(14,128,116,.12);
}
body.rd .form-control[disabled],
body.rd .form-control[readonly],
body.rd fieldset[disabled] .form-control{
    background-color:#f1f5f4 !important;color:#9db4b0;
}
body.rd .control-label{color:var(--rd-ink);font-weight:600;}
body.rd .form-captcha-img{border-radius:8px;}
body.rd .help-block{color:var(--rd-ink-2);}
body.rd .has-error .form-control{border-color:#ef6b6b;}
body.rd .has-error .control-label,
body.rd .has-error .help-block{color:#e05656;}

/* iCheck 品牌色矫正 */
body.rd .form-icheck{color:var(--rd-ink-2);}

/* ============================================================
   表格
   ============================================================ */
body.rd .table{margin-bottom:0;}
body.rd .table>thead>tr>th{
    background:#eaf5f2;
    color:var(--rd-primary-dark);
    font-weight:600;
    border-bottom:0;
    padding:12px 15px;
}
body.rd .table>tbody>tr>td{padding:12px 15px;color:var(--rd-ink);border-color:#eef4f2;}
body.rd .table-hover>tbody>tr:hover{background:#f4faf8;}
body.rd .table-list tbody tr:first-child td{border-top:0;}
body.rd .help-list td a{color:var(--rd-ink);}
body.rd .help-list td a:hover{color:var(--rd-primary);}

/* 状态/金额色 */
body.rd .text-red,body.rd .text-danger{color:#e05656;}
body.rd .text-green,body.rd .text-success{color:#0e9f6e;}
body.rd .text-orange{color:#f59e0b;}
body.rd .text-yellow{color:#d69e05;}
body.rd .amount{color:#e05656;}

/* ============================================================
   分页
   ============================================================ */
body.rd .page-box{padding:20px 0 10px;}
body.rd .layui-laypage a,
body.rd .layui-laypage span{
    border-radius:8px !important;
    margin:0 4px !important;
    border:1px solid var(--rd-line) !important;
    background:#fff !important;
    color:var(--rd-ink-2) !important;
    height:32px;line-height:30px;padding:0 12px;
}
body.rd .layui-laypage .layui-laypage-curr .layui-laypage-em{
    background:var(--rd-primary) !important;
    border-radius:8px;
}
body.rd .layui-laypage a:hover{color:var(--rd-primary) !important;border-color:var(--rd-primary) !important;}
body.rd .layui-laypage input,
body.rd .layui-laypage button{border-radius:8px !important;}

/* ============================================================
   Tab / 面包屑（layui-tab brief）
   ============================================================ */
body.rd .layui-tab-brief.navgate-crumb>.layui-tab-title .layui-this{
    color:var(--rd-primary);
    font-weight:700;
}
body.rd .layui-tab-brief.navgate-crumb>.layui-tab-title .layui-this:after{
    border-bottom:2px solid var(--rd-primary) !important;
}
body.rd .layui-tab-brief.navgate-crumb>.layui-tab-title .top-tab-item{color:var(--rd-ink-2);}
body.rd .layui-tab-brief.navgate-crumb>.layui-tab-title .top-tab-item:hover{color:var(--rd-primary);}
body.rd .layui-tab-title .layui-this:after{border-bottom-color:var(--rd-primary) !important;}
body.rd .public-shopping-order .layui-tab-brief>.layui-tab-title .layui-this{color:var(--rd-primary);}

/* badge */
body.rd .layui-badge{
    border-radius:999px;
    font-weight:500;
    padding:3px 10px;
}
body.rd .layui-badge-category{border-radius:6px;}
body.rd .layui-bg-red{background:linear-gradient(90deg,#12a594,#0e8074) !important;}
body.rd .layui-bg-blue{background:#3b82f6;}
body.rd .layui-bg-cyan{background:#06b6d4;}
body.rd .layui-progress-bar{border-radius:999px;}
body.rd .layui-progress{border-radius:999px;background:#e5efed;}
body.rd .layui-progress-big .layui-progress-text{color:var(--rd-ink);}

/* ============================================================
   用户中心侧栏（masterUser）
   ============================================================ */
body.rd .public-user{margin-top:20px;}
body.rd .public-user-left,
body.rd .public-user-right{min-height:800px;}
body.rd .public-user-right{
    /* 去掉列自身的白底，卡片改由内部 .rd-user-panel 承担；保留栅格左右内边距保证与 banner 对齐 */
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    padding:0 15px;
}
body.rd .rd-user-panel{
    background:var(--rd-card);
    border:1px solid var(--rd-line);
    border-radius:var(--rd-radius);
    box-shadow:var(--rd-shadow);
    padding:24px;
    min-height:800px;
    box-sizing:border-box;
}
/* 右栏内的内容块不再单独成卡，避免出现内外两层盒子 */
body.rd .public-user-right .public-page-right-block,
body.rd .public-user-right .public-user-right-block{
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}
body.rd .public-user-right .public-page-right-block:hover{box-shadow:none;}
body.rd .public-user-left-block{
    background:var(--rd-card);
    border:1px solid var(--rd-line);
    border-radius:var(--rd-radius);
    box-shadow:var(--rd-shadow);
    padding:0 8px;
    margin-bottom:16px;
    overflow:hidden;
}
body.rd .public-user-left-block-title{
    background:transparent;
    color:var(--rd-ink);
    font-weight:700;
    padding:16px 12px 8px;
    position:relative;
}
body.rd .public-user-left-block-title::before{
    content:"";
    display:inline-block;
    width:4px;height:14px;
    background:linear-gradient(180deg,#12a594,#0e8074);
    border-radius:2px;
    margin-right:8px;
    vertical-align:-2px;
}
body.rd .public-user-left-block .avatar{margin-right:16px;}
body.rd .public-user-left-block .avatar img{border-radius:50%;}
body.rd .public-user-left-block .nickname{font-weight:700;color:var(--rd-ink);}
body.rd .public-user-left-block-menu .public-user-left-block-list a{
    height:46px;line-height:46px;
    border-bottom:0;
    border-radius:10px;
    margin:2px 0;
    color:var(--rd-ink-2);
    transition:all .18s;
}
body.rd .public-user-left-block-menu .public-user-left-block-list:last-child a{border-bottom:0;}
body.rd .public-user-left-block-menu .public-user-left-block-list a i.icon{color:inherit;}
body.rd .public-user-left-block-menu .public-user-left-block-list.active,
body.rd .public-user-left-block-menu .public-user-left-block-list:hover{background:transparent;}
body.rd .public-user-left-block-menu .public-user-left-block-list.active a,
body.rd .public-user-left-block-menu .public-user-left-block-list:hover a{
    background:var(--rd-primary-soft);
    color:var(--rd-primary-dark);
    font-weight:600;
}
body.rd .public-user-left-block-menu .public-user-left-block-list.active a i.icon-tip,
body.rd .public-user-left-block-menu .public-user-left-block-list:hover a i.icon-tip{color:var(--rd-primary);margin-top:14px;}
body.rd .public-user-account-bind .item.active i.icon{
    border:1px solid var(--rd-primary);
    color:var(--rd-primary);
}
body.rd .public-user-account-bind .item span{color:var(--rd-ink-2);}
body.rd .public-user-right-block .control-label .icon.success{color:#0e9f6e;}
body.rd .public-user-right-block .control-label .icon.empty{color:var(--rd-accent);}
body.rd .public-user-right-block .public-user-index-coinsum,
body.rd .public-user-right-block .public-user-index-coincost,
body.rd .public-user-right-block .public-user-index-prizesum{color:#e05656;font-weight:700;}
/* 头像边框（原为暗红） */
body.rd img.avatar{border:2px solid #cfe5e1;border-radius:50%;}

/* 会员中心三宫格 */
body.rd .public-user-index-block-coin,
body.rd .public-user-index-block-checkin,
body.rd .public-user-index-block-invite{
    border-radius:var(--rd-radius);
}
body.rd .public-user-index-block-coin .icon,
body.rd .public-user-index-block-checkin .icon,
body.rd .public-user-index-block-invite .icon{color:var(--rd-primary);}
body.rd .public-user-index-block-coin .title,
body.rd .public-user-index-block-checkin .title,
body.rd .public-user-index-block-invite .title{color:var(--rd-ink);font-weight:600;}
body.rd .public-user-index-block-checkin .public-btn-checkin{
    border:1px solid var(--rd-primary);
    color:var(--rd-primary);
    border-radius:999px;
    font-weight:600;
}
body.rd .public-user-index-block-checkin .public-btn-checkin:hover{
    background:var(--rd-primary);color:#fff;
}
body.rd .public-user-index-block-checkin .public-btn-checkin.disabled{
    border:1px solid #c3d6d2;color:#9db4b0;background:transparent;
}

/* ============================================================
   通用侧栏页（prize / shopping / help）
   ============================================================ */
body.rd .public-page{margin-top:8px;}
body.rd .public-page-left-block{
    background:var(--rd-card);
    border:1px solid var(--rd-line);
    border-radius:var(--rd-radius);
    box-shadow:var(--rd-shadow);
    overflow:hidden;
}
body.rd .public-page-left-block .menu-title{
    background:linear-gradient(135deg,#12a594,#0a655c);
    color:#fff;
    font-weight:700;
    letter-spacing:2px;
    padding:14px 18px;
}
body.rd .public-page-left-block .menu-list ul li a{
    color:var(--rd-ink-2);
    transition:all .18s;
}
body.rd .public-page-left-block .menu-list ul li a:hover,
body.rd .public-page-left-block .menu-list ul li.active a{
    color:var(--rd-primary-dark);
    background:var(--rd-primary-soft);
}
body.rd .public-page-left-block .menu-list ul li.active{
    background:transparent;
    color:var(--rd-primary-dark);
}
/* 购物返利类目 active 矫正 */
body.rd .shopping-rebate .category-list li.active,
body.rd .shopping-rebate .category-list li:hover{
    background-color:var(--rd-primary-soft);
    border-left:3px solid var(--rd-primary);
}
body.rd .public-page-left-block .menu-list ul li.active a{font-weight:600;}

/* ============================================================
   问卷 / 任务列表卡片
   ============================================================ */
body.rd .public-index-surveys .survey-list-item{
    background:var(--rd-card);
    border:1px solid var(--rd-line);
    border-radius:var(--rd-radius);
    box-shadow:var(--rd-shadow);
    transition:all .22s;
    overflow:hidden;
}
body.rd .public-index-surveys .survey-list-item:hover{
    background:#fff;
    transform:translateY(-3px);
    box-shadow:var(--rd-shadow-hover);
    border-color:#cfe5e1;
}
body.rd .public-index-surveys .title{color:var(--rd-ink);font-weight:600;}
body.rd .public-index-surveys .info{color:var(--rd-ink-2);}
body.rd .public-index-surveys .coin .icon{color:var(--rd-accent);}
body.rd .survey-list-item .picture img{border-radius:8px;}
body.rd .data-list-empty{color:var(--rd-ink-2);}
/* 问卷列表空状态与上方 banner 保持同宽 */
body.rd .public-index-surveys > .data-list-empty{margin-left:15px;margin-right:15px;}
body.rd .data-list-empty .icon-public-empty{color:#c3d6d2;}
body.rd .survey-more-box{text-align:center;}
body.rd .survey-more-box .icon{color:#c3d6d2;}
body.rd .survey-more-box .btn{min-width:180px;}

/* 首页滚动消息 */
body.rd .public-index-messages .public-index-message-item-title div{
    color:var(--rd-ink);
    border-bottom:2px solid var(--rd-primary-soft);
    font-weight:700;
}
body.rd .public-index-messages .public-index-message-item-title .icon{color:var(--rd-primary);}
body.rd .public-index-messages .public-index-message-item{
    background:var(--rd-card);
    border:1px solid var(--rd-line);
    border-radius:var(--rd-radius);
    box-shadow:var(--rd-shadow);
    padding:6px 0;
}
body.rd .public-index-messages .public-index-message-item:last-child{border-left:1px solid var(--rd-line);}
body.rd .public-index-messages .public-index-message-item li{color:var(--rd-ink-2);}
body.rd .public-index-messages .public-index-message-item li .amount{color:#e05656;font-weight:600;}

/* ============================================================
   登录 / 注册卡（auth 独立页）
   ============================================================ */
body.rd .login-box-fluid{
    background-image:linear-gradient(130deg,#0b3b36 0%,#0e6b60 45%,#12a594 100%);
    padding:24px 15px;
    margin:81px 0 0;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    position:relative;
    overflow:hidden;
    border-radius:0;
}
body.rd .login-box-fluid::before{
    content:"";
    position:absolute;
    width:420px;height:420px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
    top:-120px;left:-100px;
}
body.rd .login-box-fluid::after{
    content:"";
    position:absolute;
    width:300px;height:300px;
    border-radius:50%;
    background:rgba(245,158,11,.12);
    bottom:-100px;right:8%;
}
/* 登录页两列布局 → 视觉居中（外层 row 用 flex 精确居中，隐藏空的占位列） */
body.rd .login-box-fluid .row{position:relative;z-index:2;}
body.rd.auth-page .login-box-fluid > .row{
    display:flex;
    justify-content:center;
    align-items:center;
}
body.rd.auth-page .login-box-fluid > .row > div:first-child{display:none;}
body.rd.auth-page .login-box-fluid > .row > div:last-child{
    float:none;
    width:auto;
    padding:0;
}
body.rd.auth-page .login-box-fluid .login-box{
    float:none;
    margin:0 auto;
}
body.rd .login-box-fluid .login-box,
body.rd .login-box-fluid .login-box.register-box{
    float:none;
    margin-left:auto;
    margin-right:auto;
    margin-top:0;
}
/* 登录/注册/找回密码页：内容区撑满视口高度，绿色通栏延伸到底，页脚贴底 */
body.rd.auth-page{
    display:flex;
    flex-direction:column;
    min-height:100vh;
}
body.rd.auth-page > .container-fluid:not(.public-footer){
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    margin:81px 0 0 !important;
    background-image:linear-gradient(130deg,#0b3b36 0%,#0e6b60 45%,#12a594 100%);
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    overflow:hidden;
}
body.rd.auth-page .login-box-fluid{
    background:none !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 auto !important;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
body.rd.auth-page .container-fluid.public-footer{margin:0 !important;}
body.rd .login-box.white{
    background:#fff;
    border:0;
    border-radius:18px;
    box-shadow:0 20px 60px rgba(6,40,36,.35);
    padding:32px 28px;
}
body.rd .login-box,
body.rd .login-box a,
body.rd .login-box i,
body.rd .login-box span{color:var(--rd-ink) !important;}
body.rd .login-box .login-form i{color:#9db4b0 !important;}
body.rd .login-box .login-form .form-control,
body.rd .login-box .login-form .form-control:focus{
    background:#f4f9f8;
    border:1px solid var(--rd-line);
    border-radius:10px;
    color:var(--rd-ink);
    height:48px;
    padding:12px 16px 12px 48px;
    box-shadow:none;
}
body.rd .login-box .login-form .form-control:focus{border-color:var(--rd-primary);}
body.rd .login-box .login-form .btn-login{
    background:linear-gradient(135deg,#12a594,#0e8074);
    border:0;color:#fff;
    border-radius:999px;
    height:50px;
    font-size:16px;font-weight:700;
    letter-spacing:6px;
    box-shadow:0 8px 20px rgba(14,128,116,.3);
}
body.rd .login-box .login-form .btn-login:hover{
    background:linear-gradient(135deg,#0e8074,#0a655c);
    transform:translateY(-1px);
}
body.rd .login-box .login-form .btn-login.disabled{background:#b8c8c5;box-shadow:none;}
body.rd .login-box .form-title{border-bottom:2px solid var(--rd-line);color:var(--rd-ink-2);}
body.rd .login-box .form-title.active{border-bottom:2px solid var(--rd-primary);}
body.rd .login-box .form-title.active span{color:var(--rd-primary) !important;}
body.rd .login-box .remember{color:var(--rd-ink-2);}
body.rd .login-box .bottom-msg a{color:var(--rd-primary) !important;font-weight:600;}
body.rd .login-box .qrcode-box,
body.rd .login-box .scanned{border-radius:12px;border:1px solid var(--rd-line);}
body.rd .login-box .qrcode-refresh{color:var(--rd-primary);}
body.rd .login-box .login-form .form-checkbox{accent-color:#0e8074;}

/* ============================================================
   首页 Hero（重构后结构）
   ============================================================ */
body.rd .rd-hero{
    background:
        radial-gradient(720px 320px at 88% -10%, rgba(245,158,11,.18), transparent 60%),
        linear-gradient(128deg,#0b3b36 0%,#0e6b60 48%,#12a594 100%);
    position:relative;
    overflow:hidden;
    min-width:1170px;
}
body.rd .rd-hero::before,
body.rd .rd-hero::after{
    content:"";
    position:absolute;border-radius:50%;
}
body.rd .rd-hero::before{
    width:520px;height:520px;
    background:rgba(255,255,255,.045);
    top:-180px;left:-140px;
}
body.rd .rd-hero::after{
    width:360px;height:360px;
    background:rgba(255,255,255,.05);
    bottom:-160px;left:38%;
}
body.rd .rd-hero .container{position:relative;z-index:2;}
body.rd .rd-hero-grid{
    display:flex;
    align-items:center;
    padding:94px 0 72px;
}
body.rd .rd-hero-copy{flex:1;padding-right:60px;color:#fff;}
body.rd .rd-hero-kicker{
    display:inline-block;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.25);
    color:#ffe9c2;
    border-radius:999px;
    padding:6px 16px;
    font-size:13px;
    letter-spacing:2px;
    margin-bottom:22px;
}
body.rd .rd-hero-title{
    color:#fff;
    font-size:40px;
    line-height:1.32;
    font-weight:800;
    margin-bottom:16px;
    letter-spacing:1px;
}
body.rd .rd-hero-title em{
    font-style:normal;
    color:#ffd489;
    background:linear-gradient(transparent 62%, rgba(245,158,11,.32) 0);
}
body.rd .rd-hero-sub{
    color:rgba(255,255,255,.78);
    font-size:16px;
    line-height:1.9;
    max-width:430px;
    margin-bottom:26px;
}
body.rd .rd-hero-points{display:flex;gap:14px;flex-wrap:wrap;}
body.rd .rd-hero-point{
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    padding:10px 16px;
    font-size:13px;
    color:rgba(255,255,255,.92);
    backdrop-filter:blur(2px);
}
body.rd .rd-hero-point b{color:#ffd489;font-weight:700;margin-right:4px;}
/* hero 登录卡 */
body.rd .rd-hero-card{
    width:380px;
    background:#fff;
    border-radius:18px;
    box-shadow:0 24px 64px rgba(4,32,28,.4);
    padding:30px 28px 24px;
    position:relative;
}
body.rd .rd-hero-card .user-register-stat{
    padding:0 0 18px;
    color:var(--rd-ink);
    border-bottom:1px dashed var(--rd-line);
    margin-bottom:18px;
}
body.rd .rd-hero-card .user-register-stat .user-number{
    font-size:34px;
    font-weight:800;
    color:var(--rd-primary);
    font-variant-numeric:tabular-nums;
}
body.rd .rd-hero-card .user-register-stat .user-title{
    color:var(--rd-ink-2);
    font-size:13px;
    letter-spacing:2px;
}
body.rd .rd-hero-card .login-form i{color:#9db4b0;}
body.rd .rd-hero-card .login-content{margin-top:6px;}
body.rd .rd-hero-card .login-form .form-group{margin-bottom:14px;}
body.rd .rd-hero-card .login-form .form-control,
body.rd .rd-hero-card .login-form .form-control:focus{
    height:48px;
    background:#f4f9f8;
    border:1px solid var(--rd-line);
    border-radius:10px;
    color:var(--rd-ink);
    padding:12px 16px 12px 48px;
    box-shadow:none;
}
body.rd .rd-hero-card .login-form .form-control:focus{border-color:var(--rd-primary);}
body.rd .rd-hero-card .login-form i{
    top:14px;left:15px;width:20px;height:20px;font-size:20px;
}
body.rd .rd-hero-card .remember,
body.rd .rd-hero-card .bottom-msg{font-size:12px;color:var(--rd-ink-2);}
body.rd .rd-hero-card .bottom-msg a{color:var(--rd-primary) !important;font-weight:600;}
body.rd .rd-hero-card .remember label{font-weight:500;}
body.rd .rd-hero-card .form-checkbox{accent-color:#0e8074;}
body.rd .rd-hero-card .btn-login{
    background:linear-gradient(135deg,#12a594,#0e8074);
    border:0;color:#fff;border-radius:999px;
    height:50px;font-size:16px;font-weight:700;letter-spacing:6px;
    box-shadow:0 8px 20px rgba(14,128,116,.3);
}
body.rd .rd-hero-card .btn-login:hover{background:linear-gradient(135deg,#0e8074,#0a655c);}
body.rd .rd-hero-card .btn-login.disabled{background:#b8c8c5;box-shadow:none;}
body.rd .rd-hero-card .third-icon{width:20px;margin-top:-3px;margin-right:3px;}
/* 已登录状态卡 */
body.rd .rd-hero-card.logined{padding-bottom:20px;}
body.rd .rd-hero-card .user-info .img img{border-radius:50%;border:3px solid #d9efeb;}
body.rd .rd-hero-card .user-info .nickname{font-size:17px;font-weight:800;color:var(--rd-ink);}
body.rd .rd-hero-card .user-info .level,
body.rd .rd-hero-card .user-info .coin{color:var(--rd-ink-2);font-size:13px;margin-top:6px;}
body.rd .rd-hero-card .user-info .coin a{color:#e05656;font-weight:700;}
body.rd .rd-hero-card .user-info .coin a .icon{color:var(--rd-accent) !important;margin-left:3px;}
body.rd .rd-hero-card .user-info .level .icon{margin-right:5px;}
body.rd .rd-hero-card .public-user-account-bind{margin-top:20px;}
body.rd .rd-hero-card .public-user-account-bind .item span{color:var(--rd-ink-2);}
body.rd .rd-hero-card .public-user-account-bind .item.active i.icon{
    border:1px solid var(--rd-primary);color:var(--rd-primary);
}
body.rd .rd-hero-card .public-index-user-level{margin-top:22px;}
body.rd .rd-hero-card .public-index-user-level .public-tips{color:var(--rd-primary);}
body.rd .rd-hero-card .public-index-checkin{margin-top:18px;}
body.rd .rd-hero-card .public-index-checkin .btn-login{letter-spacing:2px;}
body.rd .rd-hero-card .public-index-checkin-rule{margin-top:8px;}
body.rd .rd-hero-card .public-index-checkin-rule a{color:var(--rd-ink-2) !important;}
body.rd .rd-hero-card .public-index-checkin-rule a:hover{color:var(--rd-primary) !important;}
body.rd .rd-hero-card .layui-progress{background:#e5efed;}

/* ============================================================
   首页快捷入口（重构后结构）
   ============================================================ */
body.rd .rd-quicklinks{
    display:flex;
    gap:18px;
    margin-top:-34px;
    position:relative;
    z-index:5;
    padding:0 10px;
}
body.rd .rd-quicklink{
    flex:1;
    background:#fff;
    border:1px solid var(--rd-line);
    border-radius:var(--rd-radius);
    box-shadow:var(--rd-shadow);
    text-align:center;
    padding:22px 10px 18px;
    transition:all .22s;
}
body.rd .rd-quicklink:hover{
    transform:translateY(-4px);
    box-shadow:var(--rd-shadow-hover);
}
body.rd .rd-quicklink i.icon{
    font-size:34px;
    color:var(--rd-primary);
    display:block;
    margin-bottom:8px;
}
body.rd .rd-quicklink .rd-q-badge{
    display:block;
    font-size:14px;
    font-weight:700;
    color:var(--rd-ink);
}
body.rd .rd-quicklink .rd-q-desc{
    display:block;
    font-size:12px;
    color:var(--rd-ink-2);
    margin-top:3px;
}
body.rd .rd-quicklink.q-withdraw i.icon{color:var(--rd-accent);}
body.rd .rd-quicklink.q-invite i.icon{color:#3b82f6;}
body.rd .rd-quicklink.q-guide i.icon{color:#8b5cf6;}

/* 区块标题（重构后） */
body.rd .rd-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:36px 0 18px;
}
body.rd .rd-section-head .rd-section-name{
    font-size:20px;
    font-weight:800;
    color:var(--rd-ink);
    display:flex;align-items:center;
}
body.rd .rd-section-head .rd-section-name::before{
    content:"";
    width:6px;height:20px;
    border-radius:3px;
    background:linear-gradient(180deg,#12a594,#0e8074);
    margin-right:10px;
}
body.rd .rd-section-head .rd-section-more{
    font-size:13px;
    color:var(--rd-ink-2);
}
body.rd .rd-section-head .rd-section-more:hover{color:var(--rd-primary);}

/* banner 渐变条（替代原特征图片） */
body.rd .rd-banner-strip{
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:linear-gradient(120deg,#0b3b36,#0f7d70 70%,#12a594);
    border-radius:var(--rd-radius);
    color:#fff;
    padding:20px 28px;
    margin-top:18px;
    margin-bottom:16px;
    box-shadow:var(--rd-shadow);
    position:relative;
    overflow:hidden;
}
body.rd .rd-banner-strip:hover{color:#fff;}
body.rd .rd-banner-strip::after{
    content:"";
    position:absolute;right:-40px;top:-60px;
    width:180px;height:180px;border-radius:50%;
    background:rgba(245,158,11,.18);
}
body.rd .rd-banner-strip .rd-banner-title{
    font-size:20px;font-weight:800;letter-spacing:1px;
}
body.rd .rd-banner-strip .rd-banner-title small{
    display:block;font-size:12px;font-weight:400;
    color:rgba(255,255,255,.75);margin-top:4px;letter-spacing:0;
}
body.rd .rd-banner-strip .rd-banner-tag{
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.3);
    border-radius:999px;
    font-size:12px;
    padding:6px 16px;
    position:relative;z-index:2;
}
/* 首个内容块需避开固定导航（65px），并保留 16px 间距 */
body.rd > .container:first-of-type .notices-row{margin-top:81px;}
body.rd > .container:first-of-type > .row > .col-xs-12 > .rd-banner-strip{margin-top:81px;}

/* ============================================================
   签到日历
   ============================================================ */
body.rd .date-zb-checkin .layui-laydate .laydate-disabled.today,
body.rd .date-zb-checkin .layui-laydate .laydate-disabled.today:hover{
    background:#f59e0b !important;color:#fff !important;
}
body.rd .date-zb-checkin .layui-laydate .laydate-disabled.checkined,
body.rd .date-zb-checkin .layui-laydate .laydate-disabled.checkined:hover{
    background:#0e8074 !important;color:#fff !important;
}
body.rd .date-zb-checkin .date-zb-checkin-main{border-radius:12px;overflow:hidden;}

/* ============================================================
   弹层 layer / layui 深度组件
   ============================================================ */
body.rd .layui-layer{
    border-radius:14px !important;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(10,50,45,.25) !important;
}
body.rd .layui-layer-title{
    background:#f2f9f7 !important;
    color:var(--rd-ink) !important;
    border-bottom:1px solid var(--rd-line) !important;
    font-weight:700;
}
body.rd .layui-layer-btn .layui-layer-btn0{
    background:linear-gradient(135deg,#12a594,#0e8074) !important;
    border-color:transparent !important;
    border-radius:8px;
}
body.rd .layui-layer-btn .layui-layer-btn1{
    color:var(--rd-ink-2) !important;
    border-radius:8px;
}
body.rd .layui-layer-hui .layui-layer-content{background:rgba(18,49,44,.92) !important;}
body.rd .layui-laydate{border-radius:12px;}
body.rd .layui-laydate-header{border-radius:12px 12px 0 0;}
body.rd .layui-laydate-footer .laydate-btns-primary{background:var(--rd-primary) !important;color:#fff !important;}

/* 悬浮抽奖球 */
body.rd .float-award{
    border-radius:50%;
    background:linear-gradient(140deg,#fbbf24,#f59e0b);
    box-shadow:0 10px 28px rgba(245,158,11,.45);
    overflow:visible;
}
body.rd .float-award .icon{color:#fff !important;}

/* 拖动滑块验证等 bootstrap-select */
body.rd .bootstrap-select .dropdown-menu{border-radius:12px;border:1px solid var(--rd-line);box-shadow:var(--rd-shadow-hover);}
body.rd .bootstrap-select .dropdown-menu li a:hover{background:var(--rd-primary-soft);color:var(--rd-primary-dark);}
body.rd .dropdown-menu{border-radius:12px;}

/* ============================================================
   空状态 / 提示块
   ============================================================ */
body.rd .bg-info.padding-15{
    background:var(--rd-primary-soft) !important;
    color:var(--rd-primary-dark) !important;
    border-radius:10px;
}
body.rd .alert{border-radius:10px;}

/* 响应式兜底（保留桌面最小宽度设定） */
@media (max-width:1024px){
    body.rd .index-login{display:none;}
}

/* ============================================================
   旧暗红残留清理（图标/状态/徽标/分页/任务/悬浮按钮）
   ============================================================ */
body.rd .icon-red{color:#e05656;}
body.rd .icon-public-vip.level_2{color:#ef4d63;}
body.rd .invite-top10 .invite-top10-rank.topN{background:linear-gradient(135deg,#12a594,#0e8074);}
body.rd .pagination>.active>a,
body.rd .pagination>.active>a:focus,
body.rd .pagination>.active>a:hover,
body.rd .pagination>.active>span,
body.rd .pagination>.active>span:focus,
body.rd .pagination>.active>span:hover{
    background-color:var(--rd-primary);
    border-color:var(--rd-primary);
}
body.rd .pagination>li>a,
body.rd .pagination>li>span{color:var(--rd-ink-2);}
body.rd .pagination>li>a:hover{color:var(--rd-primary);}
body.rd .task-list .task-list-price{color:var(--rd-accent);}
body.rd .btn-answer-float{
    background:linear-gradient(135deg,#12a594,#0e8074);
    border:0;
    color:#fff;
    border-radius:12px !important;
    box-shadow:0 8px 20px rgba(14,128,116,.35);
}
body.rd .response-status-3,
body.rd .response-status-4,
body.rd .response-status-5{color:#e05656 !important;}
body.rd .task-status-3,
body.rd .task-status-4,
body.rd .task-status-5{color:#e05656 !important;}
body.rd .icon.top,
body.rd .icon.recommend{color:var(--rd-accent);}
body.rd .public-prize-item .point span,
body.rd .public-prize-item .public-prize-detail .prize-point span,
body.rd .public-prize-point span.point{color:var(--rd-accent);}
body.rd .public-prize-item .point span i.icon,
body.rd .public-prize-item .public-prize-detail .prize-point span i.icon,
body.rd .public-prize-point span.point i.icon{color:var(--rd-accent);}
body.rd .shopping-rebate .shopping-rebate-block-title .icon{color:var(--rd-primary);border-color:var(--rd-primary);}
body.rd .shopping-rebate .shopping-rebate-desc p.note{color:var(--rd-accent);}
body.rd .shopping-rebate .tm-act .tm-act-desc .tm-act-rate-value,
body.rd .shopping-rebate .tm-act.other .tm-act-desc .tm-act-rate-value{color:var(--rd-accent);}
body.rd .index-login .logined .info .coin a,
body.rd .index-login .logined .info .coin a .icon{color:var(--rd-accent);}

/* ============================================================
   导航品牌区
   ============================================================ */
body.rd .rd-brand-name{
    display:inline-block;
    vertical-align:middle;
    margin-left:10px;
    font-size:19px;
    font-weight:800;
    letter-spacing:1px;
    color:var(--rd-ink);
}
body.rd .navbar-main .navbar-right .navbar-link.main + .navbar-link.main{margin-left:4px;}

/* ============================================================
   深色页脚
   ============================================================ */
body.rd .container-fluid.public-footer{
    background:linear-gradient(180deg,#0d332e,#0a2622);
    border-top:0;
    margin-top:56px;
    margin-bottom:0;
    padding:34px 0 30px;
}
body.rd .public-footer .public-footer-row{line-height:26px;}
body.rd .rd-footer-brand{
    color:#fff;
    font-size:18px;
    font-weight:800;
    letter-spacing:1px;
}
body.rd .rd-footer-logo{
    display:inline-flex;
    align-items:center;justify-content:center;
    width:30px;height:30px;
    border-radius:7px;
    background:url('/assets/img/brand/logo-mark-256.png?v=1') center center / 30px 30px no-repeat;
    font-size:0;
    color:transparent;
    margin-right:9px;
    vertical-align:middle;
}
body.rd .rd-footer-slogan{
    color:rgba(255,255,255,.45);
    font-size:12px;
    letter-spacing:3px;
    margin-top:8px;
}
body.rd .rd-footer-links-col a{
    color:rgba(255,255,255,.72);
    margin:0 14px;
    font-size:13px;
    line-height:60px;
}
body.rd .rd-footer-links-col a:hover{color:#fff;}
body.rd .rd-footer-legal-col{
    color:rgba(255,255,255,.4);
    font-size:12px;
}
body.rd .rd-footer-legal-col a{color:rgba(255,255,255,.4);}
body.rd .rd-footer-legal-col a:hover{color:rgba(255,255,255,.75);}

