/* ============================================================
   会议微站 H5 · minih5 主题（自研）
   作用：替换旧 app.css / theme_*.css 的视觉效果，
   对 mui 框架组件做全面换肤，并提供旧工具类的等价实现。
   视觉身份：源力设计系统色板（与 mini_site_2026 的注册/登录页一致）
   字体栈含完整中文字体；不使用伪斜体。
   ============================================================ */

:root {
    --h5-primary: #1664ff;
    --h5-primary-hover: #0055ff;
    --h5-primary-active: #0046cc;
    --h5-primary-light: #f3f7ff;
    --h5-primary-soft: #ccddff;
    --h5-text-strong: #0c0d0e;
    --h5-text: #1d2129;
    --h5-text-2: #4e5969;
    --h5-text-muted: #86909c;
    --h5-text-disabled: #c9cdd4;
    --h5-bg: #ffffff;
    --h5-bg-page: #f4f6f9;
    --h5-bg-soft: #f7f9fb;
    --h5-bg-fill: #f1f4f8;
    --h5-border: #e1e4e8;
    --h5-border-light: #eaedf1;
    --h5-divider: #f0f2f5;
    --h5-success: #2a814b;
    --h5-warning: #bd7e00;
    --h5-danger: #d7312a;
    --h5-success-bg: #e2f5eb;
    --h5-warning-bg: #fdf3de;
    --h5-danger-bg: #feeced;
    --h5-radius-sm: 4px;
    --h5-radius-md: 8px;
    --h5-radius-lg: 12px;
    --h5-radius-pill: 9999px;
    --h5-shadow-1: 0 1px 2px 0 rgba(12, 13, 14, .05);
    --h5-shadow-2: 0 2px 6px 0 rgba(12, 13, 14, .08);
    --h5-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- 全局基底 ---------- */
body {
    font-family: var(--h5-font);
    color: var(--h5-text);
    background-color: var(--h5-bg-page);
    -webkit-font-smoothing: antialiased;
}
a { color: var(--h5-primary); }
a:active { opacity: .75; }

/* ============================================================
   mui 组件换肤
   ============================================================ */

/* 顶部栏 */
.mui-bar {
    background-color: var(--h5-bg);
    box-shadow: none;
    border-bottom: 1px solid var(--h5-border-light);
}
.mui-bar .mui-title { color: var(--h5-text-strong); font-weight: 600; font-size: 17px; }
.mui-bar .mui-icon { color: var(--h5-text-strong); }
.mui-bar a.mui-icon:active { opacity: .6; }
.mui-bar-nav ~ .mui-content { background-color: transparent; }
/* 主题色顶栏（各会议可通过 .app-bg 自定义覆盖） */
.app-bg { background-color: var(--h5-primary) !important; border-bottom-color: transparent; }
.app-bg .mui-title, .app-bg .mui-icon, .app-bg span, .app-bg a { color: #ffffff; }
.app-hover:active { opacity: .8; }

/* 内容区 */
.mui-content { background-color: var(--h5-bg-page); }
.mui-content-padded { margin: 12px; }

/* 列表 */
.mui-table-view {
    background-color: var(--h5-bg);
    border-radius: var(--h5-radius-lg);
    box-shadow: var(--h5-shadow-1);
    overflow: hidden;
}
.mui-table-view:before, .mui-table-view:after { height: 0; }
.mui-table-view-cell { border-bottom: 1px solid var(--h5-divider); }
.mui-table-view-cell:after { height: 0; }
.mui-table-view-cell:last-child { border-bottom: 0; }
.mui-table-view-cell > a:not(.mui-btn) { color: var(--h5-text); margin: -11px -15px; }
.mui-table-view-cell > a:not(.mui-btn):active { background-color: var(--h5-bg-soft); }
.mui-table-view-cell.mui-active { background-color: var(--h5-bg-soft); }
.mui-table-view-chevron .mui-navigate-right:after,
.mui-navigate-right:after { color: var(--h5-text-disabled); }
.mui-table-view .mui-media-object { border-radius: var(--h5-radius-md); }
.mui-table-view .mui-media-body { color: var(--h5-text-strong); white-space: normal; }
.mui-table-view .mui-media-body p { color: var(--h5-text-2); }
.mui-table-view.mui-grid-view { background-color: transparent; box-shadow: none; border-radius: 0; }
.mui-table-view.mui-grid-view .mui-table-view-cell { border-bottom: 0; }

/* 九宫格 */
.mui-grid-view.mui-grid-9 { background-color: transparent; border: 0; }
.mui-grid-view.mui-grid-9:before, .mui-grid-view.mui-grid-9:after { height: 0; }
.mui-grid-view.mui-grid-9 .mui-table-view-cell { border: 0; margin: 0; }
.mui-grid-view.mui-grid-9 .mui-table-view-cell > a:not(.mui-btn) {
    margin: 0; padding: 12px 8px; border-radius: var(--h5-radius-md);
}
.mui-grid-view.mui-grid-9 .mui-table-view-cell > a:not(.mui-btn):active { background: var(--h5-primary-light); }
.mui-grid-view.mui-grid-9 .mui-media-body {
    font-size: 13px; color: var(--h5-text); margin-top: 6px;
    text-shadow: none;
}

/* 按钮 */
.mui-btn {
    border-radius: var(--h5-radius-md);
    font-weight: 500;
    border: 1px solid var(--h5-border);
    background-color: var(--h5-bg);
    color: var(--h5-text);
    box-shadow: none;
}
.mui-btn:active, .mui-btn:enabled:active { opacity: .85; }
.mui-btn-primary, .mui-btn-blue { color: #fff; background-color: var(--h5-primary); border: 1px solid var(--h5-primary); }
.mui-btn-primary:active, .mui-btn-blue:active { background-color: var(--h5-primary-hover); border-color: var(--h5-primary-hover); }
.mui-btn-success, .mui-btn-green { color: #fff; background-color: var(--h5-success); border: 1px solid var(--h5-success); }
.mui-btn-warning, .mui-btn-yellow { color: #fff; background-color: #e6a700; border: 1px solid #e6a700; }
.mui-btn-danger, .mui-btn-red { color: #fff; background-color: var(--h5-danger); border: 1px solid var(--h5-danger); }
.mui-btn-royal { color: #fff; background-color: #6f5bd8; border: 1px solid #6f5bd8; }
.mui-btn-grey, .mui-btn-default { color: var(--h5-text); background-color: var(--h5-bg-fill); border: 1px solid var(--h5-bg-fill); }
.mui-btn-link { color: var(--h5-primary); background: transparent; border: 0; }
.mui-btn-outlined.mui-btn-primary, .mui-btn-outlined.mui-btn-blue { color: var(--h5-primary); background: transparent; }
.mui-btn-outlined.mui-btn-success, .mui-btn-outlined.mui-btn-green { color: var(--h5-success); background: transparent; }
.mui-btn-outlined.mui-btn-danger, .mui-btn-outlined.mui-btn-red { color: var(--h5-danger); background: transparent; }
.mui-btn-block { display: block; width: 100%; padding: 11px 0; font-size: 16px; border-radius: var(--h5-radius-lg); }
.mui-btn-mini { padding: 2px 10px; font-size: 12px; border-radius: var(--h5-radius-sm); }

/* 表单 */
.mui-input-group { background-color: var(--h5-bg); border-radius: var(--h5-radius-lg); box-shadow: var(--h5-shadow-1); }
.mui-input-group:before, .mui-input-group:after { height: 0; }
.mui-input-group .mui-input-row { border-bottom: 1px solid var(--h5-divider); }
.mui-input-group .mui-input-row:after { height: 0; }
.mui-input-group .mui-input-row:last-child { border-bottom: 0; background-image: none; }
.mui-input-row label { color: var(--h5-text); font-size: 15px; padding: 11px 15px; }
.mui-input-row input, .mui-input-row textarea, .mui-input-row select {
    font-size: 15px; color: var(--h5-text-strong);
    border: 0; background: transparent; margin-bottom: 0;
}
.mui-input-row input::placeholder, .mui-input-row textarea::placeholder { color: var(--h5-text-placeholder, #c9cdd4); }
.mui-input-row .mui-btn { border-radius: var(--h5-radius-md); }
.mui-input-row.mui-radio label, .mui-input-row.mui-checkbox label { color: var(--h5-text); }
.mui-radio input[type=radio]:checked:before, .mui-checkbox input[type=checkbox]:checked:before { color: var(--h5-primary); }
.mui-input-clear ~ .mui-icon-clear { color: var(--h5-text-disabled); }
.mui-search { background: var(--h5-bg-page); }
.mui-search input[type=search] {
    background-color: var(--h5-bg); border-radius: 22px;
    border: 1px solid var(--h5-border-light); font-size: 14px;
}
.mui-search .mui-placeholder { color: var(--h5-text-muted); }
select.mui-input, .mui-input-row select { height: auto; }

/* 卡片 */
.mui-card {
    border-radius: var(--h5-radius-lg);
    box-shadow: var(--h5-shadow-1);
    border: 0; margin: 12px;
}
.mui-card-header, .mui-card-footer { color: var(--h5-text-2); border-color: var(--h5-divider); }
.mui-card-header:after, .mui-card-footer:before { height: 0; }
.mui-card-header { border-bottom: 1px solid var(--h5-divider); }
.mui-card-footer { border-top: 1px solid var(--h5-divider); }

/* 徽章 */
.mui-badge { background-color: var(--h5-bg-fill); color: var(--h5-text-2); border-radius: var(--h5-radius-pill); font-size: 12px; }
.mui-badge-primary { color: #fff; background-color: var(--h5-primary); }
.mui-badge-success { color: #fff; background-color: var(--h5-success); }
.mui-badge-warning { color: #fff; background-color: #e6a700; }
.mui-badge-danger { color: #fff; background-color: var(--h5-danger); }
.mui-badge-royal { color: #fff; background-color: #6f5bd8; }

/* 分段控制 */
.mui-segmented-control { border: 1px solid var(--h5-primary); border-radius: var(--h5-radius-md); overflow: hidden; }
.mui-segmented-control .mui-control-item { color: var(--h5-primary); border-color: var(--h5-primary); }
.mui-segmented-control .mui-control-item.mui-active { background-color: var(--h5-primary); color: #fff; }

/* 轮播 */
.mui-slider { height: auto; }
.mui-slider-indicator { bottom: 8px; }
.mui-slider-indicator .mui-indicator { background: rgba(255, 255, 255, .55); box-shadow: none; }
.mui-slider-indicator .mui-indicator.mui-active { background: #fff; }

/* 数字框 */
.mui-numbox { border: 1px solid var(--h5-border); border-radius: var(--h5-radius-md); overflow: hidden; }
.mui-numbox .mui-btn { border: 0; border-radius: 0; background: var(--h5-bg-fill); }

/* 遮罩/弹层 */
.mui-backdrop { background-color: rgba(12, 13, 14, .45); }
.mui-popover { border-radius: var(--h5-radius-lg); box-shadow: var(--h5-shadow-2); }
.mui-popover .mui-table-view { border-radius: var(--h5-radius-lg); box-shadow: none; }

/* 文字标题 */
.mui-h1, .mui-h2, .mui-h3, .mui-h4, .mui-h5, .mui-h6 { color: var(--h5-text-strong); }

/* 栅格微调 */
.mui-row { margin-left: -8px; margin-right: -8px; }
.mui-row > [class*="mui-col-"] { padding-left: 8px; padding-right: 8px; }

/* ============================================================
   旧 app.css 工具类的等价实现（配色换新体系）
   ============================================================ */
.txt12 { font-size: 12px; }
.txt14 { font-size: 14px; }
.text-center { text-align: center; }
.text-default { color: #666666 !important; }
.text-primary, .text-primary a { color: var(--h5-primary) !important; }
.text-success { color: var(--h5-success) !important; }
.text-info, .text-info a { color: #3e7cb1 !important; }
.text-warning { color: #bd7e00 !important; }
.text-danger { color: var(--h5-danger) !important; }
.text-blue { color: #9cc0ff !important; }
.text-pink { color: #f6a192 !important; }

.bg-default { background-color: var(--h5-bg-page) !important; }
.bg-primary { background-color: var(--h5-primary) !important; }
.bg-success { background-color: var(--h5-success) !important; }
.bg-info { background-color: #3e7cb1 !important; }
.bg-warning { background-color: #e6a700 !important; }
.bg-danger { background-color: var(--h5-danger) !important; }
.bg-blue { background-color: #9cc0ff !important; }
.bg-pink { background-color: #f6a192 !important; }

/* 彩色按钮（旧宫格按钮配色，统一为现代色板） */
.btn-bg-blue    { background-color: #1664ff !important; color: #fff !important; }
.btn-bg-green   { background-color: #2a814b !important; color: #fff !important; }
.btn-bg-red     { background-color: #d7312a !important; color: #fff !important; }
.btn-bg-orange  { background-color: #e8762b !important; color: #fff !important; }
.btn-bg-yellow  { background-color: #e6a700 !important; color: #fff !important; }
.btn-bg-purple  { background-color: #6f5bd8 !important; color: #fff !important; }
.btn-bg-sea     { background-color: #0e9594 !important; color: #fff !important; }
.btn-bg-grey    { background-color: #86909c !important; color: #fff !important; }
.btn-bg-u       { background-color: #475069 !important; color: #fff !important; }

/* 图标底色块 */
.icon-bg-blue, .icon-bg-dark-blue { background-color: #1664ff; color: #fff; }
.icon-bg-green  { background-color: #2a814b; color: #fff; }
.icon-bg-light-green { background-color: #d8f0e2; color: #2a814b; }
.icon-bg-red    { background-color: #d7312a; color: #fff; }
.icon-bg-orange { background-color: #e8762b; color: #fff; }
.icon-bg-yellow { background-color: #e6a700; color: #fff; }
.icon-bg-purple { background-color: #6f5bd8; color: #fff; }
.icon-bg-sea    { background-color: #0e9594; color: #fff; }
.icon-bg-aqua   { background-color: #27b3ce; color: #fff; }
.icon-bg-brown  { background-color: #9c6b4f; color: #fff; }
.icon-bg-grey   { background-color: #86909c; color: #fff; }
.icon-bg-light  { background-color: #f1f4f8; color: #4e5969; }
.icon-bg-light-grey { background-color: #e5e9f0; color: #4e5969; }
.icon-bg-dark   { background-color: #1d2129; color: #fff; }
.icon-bg-darker { background-color: #101223; color: #fff; }
.icon-bg-u      { background-color: #475069; color: #fff; }

/* 图标颜色 */
.icon-color-blue, .icon-color-dark-blue { color: #1664ff; }
.icon-color-green  { color: #2a814b; }
.icon-color-light-green { color: #7fc79c; }
.icon-color-red    { color: #d7312a; }
.icon-color-orange { color: #e8762b; }
.icon-color-yellow { color: #e6a700; }
.icon-color-purple { color: #6f5bd8; }
.icon-color-sea    { color: #0e9594; }
.icon-color-aqua   { color: #27b3ce; }
.icon-color-brown  { color: #9c6b4f; }
.icon-color-grey   { color: #86909c; }
.icon-color-light  { color: #f1f4f8; }
.icon-color-light-grey { color: #e5e9f0; }
.icon-color-dark   { color: #1d2129; }
.icon-color-u      { color: #475069; }

/* 图标尺寸/形状 */
.icon-2x { font-size: 2em; }
.icon-3x { font-size: 3em; }
.icon-4x { font-size: 4em; }
.icon-lg { font-size: 1.5em; }
.icon-md { font-size: 1.2em; }
.icon-sm { font-size: .85em; }
.icon-custom { display: inline-block; }

/* 圆角 */
.no-rounded { border-radius: 0 !important; }
.rounded { border-radius: 4px !important; }
.rounded-x { border-radius: 50% !important; }
.rounded-2x { border-radius: 10px !important; }
.rounded-3x { border-radius: 15px !important; }
.rounded-4x { border-radius: 20px !important; }
.rounded-sm { border-radius: 2px !important; }
.rounded-md { border-radius: 3px !important; }
.rounded-top { border-radius: 4px 4px 0 0 !important; }
.rounded-left { border-radius: 4px 0 0 4px !important; }
.rounded-right { border-radius: 0 4px 4px 0 !important; }
.rounded-bottom { border-radius: 0 0 4px 4px !important; }

/* 旧页面公共辅助 */
.block50 { width: 100%; height: 50px; }
.banner img { width: 100%; height: auto; }
.page-content { background-color: #fff; width: 100%; height: 100%; padding: 5px; padding-top: 50px; }
.page-content img { max-width: 100%; }
.app { position: relative; }
.regbtnlist { margin: 10px 0; }
.regbtnlist .mui-btn { margin-bottom: 10px; }

/* mui-active 高亮（旧皮肤为粉色，换成主题蓝） */
.mui-active { color: var(--h5-primary) !important; }

/* ============================================================
   新骨架组件（nav / bottom_menu 等重写版使用）
   ============================================================ */

/* 顶部导航 */
.h5-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 999;
    height: 50px;
    display: flex; align-items: center;
    background: var(--h5-primary);
    color: #fff;
    padding: 0 6px;
    box-shadow: 0 1px 4px rgba(12, 13, 14, .12);
}
.h5-nav__btn {
    width: 42px; height: 50px;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-size: 20px; flex: 0 0 auto;
}
.h5-nav__btn:active { opacity: .65; }
.h5-nav__title {
    position: absolute; left: 60px; right: 60px;
    text-align: center; font-size: 17px; font-weight: 600; color: #fff;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* 固定顶栏时的内容占位 */
.h5-nav-space { height: 50px; }

/* 底部导航 */
.h5-tabbar {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
    display: flex;
    background: var(--h5-bg);
    border-top: 1px solid var(--h5-border-light);
    box-shadow: 0 -2px 12px rgba(12, 13, 14, .06);
    padding-bottom: env(safe-area-inset-bottom, 0);
}
.h5-tabbar__item {
    flex: 1 1 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 6px 0 5px;
    color: var(--h5-text-muted); font-size: 11px;
}
.h5-tabbar__item:active { opacity: .7; }
.h5-tabbar__item i, .h5-tabbar__item .mui-icon { font-size: 21px; line-height: 1.2; }
.h5-tabbar__item--on { color: var(--h5-primary); }
.h5-tabbar-space { height: 56px; }

/* 底部信息 */
.h5-footer {
    padding: 18px 16px 22px;
    text-align: center;
    font-size: 12px; color: var(--h5-text-muted); line-height: 1.8;
}
.h5-footer a { color: var(--h5-text-2); }

/* 通用页面容器（配合底部固定栏） */
.h5-page { min-height: 100vh; background: var(--h5-bg-page); }
.h5-page--white { background: var(--h5-bg); }

/* 提示页（error.php 等） */
.h5-notice {
    padding: 70px 30px;
    text-align: center;
}
.h5-notice__icon { font-size: 52px; color: var(--h5-warning); margin-bottom: 14px; }
.h5-notice__text { font-size: 15px; color: var(--h5-text-2); line-height: 1.8; margin-bottom: 26px; }
