/* 用户端统一主题：渐变紫蓝，与管理端一致（html.ux 下生效） */
html.ux body{background:#f4f5fb;color:#1e1b3a}
html.ux .mut{color:#8a8aa3}
/* 左侧栏 */
html.ux .side{background:linear-gradient(180deg,#312e81 0%,#4f46e5 38%,#7c3aed 72%,#2563eb 100%);color:#fff;width:228px;min-height:100vh;padding:22px 16px;position:sticky;top:0;height:100vh;box-shadow:4px 0 24px rgba(79,70,229,.25);display:flex;flex-direction:column}
html.ux .logo{font-size:17px;font-weight:900;margin-bottom:14px;color:#fff}
html.ux .logo small{display:block;font-size:11px;font-weight:400;color:#c7d2fe;margin-top:2px}
html.ux .lg{color:#fff}
html.ux .ch{font-size:11px;color:#c7d2fe}
html.ux .side nav{flex:1}
html.ux .side nav a{color:#ddd6fe}
html.ux .side nav a:hover{background:rgba(255,255,255,.14);color:#fff}
html.ux .side nav a.on{background:#fff;color:#5b21b6;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.2)}
html.ux .grp{color:#c7d2fe;font-weight:600}
html.ux .side nav a.sub{color:#e6e1ff!important}
html.ux .side nav a.sub.on{color:#5b21b6!important}
/* 顶部栏 */
html.ux header{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(30,27,58,.06)}
html.ux .av{background:linear-gradient(135deg,#4f46e5,#a855f7);box-shadow:0 4px 12px rgba(124,58,237,.4)}
/* 卡片 */
html.ux .card{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(30,27,58,.06)}
/* 渐变数据卡 */
html.ux .kpi{background:linear-gradient(135deg,var(--g1,#4f46e5),var(--g2,#7c3aed));color:#fff;border:0;position:relative;overflow:hidden}
html.ux .kpi::after{content:'';position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.14)}
html.ux .kpi .t{color:rgba(255,255,255,.92);font-size:13px}
html.ux .kpi b{color:#fff}
html.ux .kpi h1 small{color:rgba(255,255,255,.85)}
html.ux .k1{--g1:#4f46e5;--g2:#7c3aed}html.ux .k2{--g1:#2563eb;--g2:#06b6d4}html.ux .k3{--g1:#7c3aed;--g2:#ec4899}html.ux .k4{--g1:#6366f1;--g2:#8b5cf6}html.ux .k5{--g1:#4f46e5;--g2:#2563eb}html.ux .k6{--g1:#7c3aed;--g2:#6366f1}
/* 横幅 */
html.ux .banner{background:linear-gradient(90deg,#4f46e5,#7c3aed,#2563eb);border-radius:16px;box-shadow:0 8px 20px rgba(79,70,229,.25)}
/* 按钮 */
html.ux .btn-pub{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 12px rgba(124,58,237,.35)}
html.ux .ghost{border:1px solid #ddd;background:#fff;border-radius:8px}
/* 页签 */
html.ux .tabs{border-bottom:1px solid #eee}
html.ux .tab.on{color:#5b21b6;border-bottom:2px solid #7c3aed}
/* 列表行 */
html.ux .prow,html.ux .bill,html.ux .prow2{background:#fff;border:1px solid #eef;border-radius:14px;box-shadow:0 2px 10px rgba(30,27,58,.05)}
html.ux .prow2.on{border-color:#7c3aed;background:#f5f1ff}
html.ux .vrow{border-bottom:1px solid #eef}
/* 封面占位 */
html.ux .covimg{background:linear-gradient(135deg,#4f46e5,#a855f7)}
html.ux .vthumb{background:linear-gradient(135deg,#4f46e5,#a855f7)}
html.ux .vtag{background:linear-gradient(135deg,#4f46e5,#7c3aed)}
html.ux .tag{background:#ede9fe;color:#5b21b6}
html.ux .top3{display:grid;grid-template-columns:repeat(3,1fr)}
html.ux .top3card{overflow:hidden}
html.ux .top3row{display:flex;gap:12px;align-items:center}
html.ux .top3cov{width:64px;height:86px;object-fit:contain;background:#f4f2ff;border-radius:8px;flex-shrink:0;display:block}
html.ux .top3tx{min-width:0}
html.ux .top3tx p{margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 活动封面统一紫蓝系 */
html.ux .c1{background:linear-gradient(135deg,#4f46e5,#7c3aed)}html.ux .c2{background:linear-gradient(135deg,#2563eb,#06b6d4)}html.ux .c3{background:linear-gradient(135deg,#7c3aed,#ec4899)}html.ux .c4{background:linear-gradient(135deg,#6366f1,#8b5cf6)}
html.ux .cov{border-radius:12px}
/* 状态徽标 */
html.ux .st-pending{background:#fef3c7;color:#92400e}html.ux .st-approved{background:#d1fae5;color:#065f46}html.ux .st-rejected{background:#fee2e2;color:#991b1b}
/* 输入框 */
html.ux .toolbar input,html.ux .toolbar select,html.ux .form2 input,html.ux .form2 select,html.ux .form2 textarea{border:1px solid #ddd;border-radius:8px}
/* 上传 */
html.ux .drop{border:2px dashed #a78bfa;background:#faf8ff}
html.ux .prog i{background:linear-gradient(90deg,#4f46e5,#7c3aed,#2563eb)}
html.ux .steps{background:#f5f1ff}html.ux .steps .on{color:#5b21b6}
/* 详情 */
html.ux .info{background:#f6f7fc}
html.ux .vtabs{border-bottom:1px solid #eee}html.ux .vtab.on{color:#5b21b6;border-bottom:2px solid #7c3aed}
html.ux .covbox,.html.ux .covbox2,.ux .covbox,.ux .covbox2{border:1px dashed #c4b5fd;background:#faf8ff;border-radius:10px}
html.ux .fd{background:#fff;border:1px solid #eef;border-radius:12px}
html.ux .fd pre{background:#f6f7fc}
/* 新建节目表单 */
html.ux .steps2 .s1{background:linear-gradient(135deg,#4f46e5,#7c3aed)}
html.ux .mrow span{background:#f1efff;color:#5b21b6}html.ux .mrow span.g{background:#d1fae5;color:#065f46}
/* 公告列表 */
html.ux .news li{border-bottom:1px dashed #e6e6f2}
/* 页脚备案号 */
.siteft{margin-top:auto;padding:16px 26px 22px;text-align:center;color:#9aa0b4;font-size:12px;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}
main{min-height:100vh}
.siteft a{color:#9aa0b4;text-decoration:none}
.siteft a:hover{color:#5b21b6}
.siteft .sep{color:#d8dbe6}
body.om .siteft{background:transparent;padding:30px 20px 20px}
body.od .siteft{padding:20px}
/* 登录页 */
html.ux .auth-wrap{background:linear-gradient(120deg,#312e81,#4f46e5 45%,#7c3aed 75%,#2563eb)}
html.ux .auth-points span{background:rgba(255,255,255,.2)}
