/* ============================================
   先手共创生态平台 - 移动端专用样式
   mobile.css v1.0
   ============================================ */

/* ===== CSS变量 ===== */
:root {
    --m-primary: #4F46E5;
    --m-primary-light: #818CF8;
    --m-primary-dark: #3730A3;
    --m-primary-bg: #EEF2FF;
    --m-bg: #f5f5f7;
    --m-card: #ffffff;
    --m-text: #1a1a2e;
    --m-text2: #6b7280;
    --m-text3: #9ca3af;
    --m-border: #e5e7eb;
    --m-shadow: 0 2px 8px rgba(0,0,0,0.04);
    --m-radius: 14px;
    --m-radius-sm: 10px;
    --m-radius-btn: 30px;
    --m-success: #10B981;
    --m-warning: #F59E0B;
    --m-danger: #EF4444;
    --m-info: #3B82F6;
    /* 角色颜色 */
    --m-role-sa: #7C3AED;
    --m-role-admin: #dc3545;
    --m-role-branch: #d39e00;
    --m-role-partner: #0d6efd;
    --m-role-emp: #0dcaf0;
}

/* PC 端默认隐藏移动端专属元素（@media 内会覆盖） */
.mobile-view { display: none; }
.m-actionsheet { display: none; }
.m-actionsheet-mask { display: none; }

/* ===== 移动端检测：仅 max-width:992px 生效 ===== */
@media (max-width: 992px) {

    /* ===== 全局：隐藏PC元素 ===== */
    .sidebar, #mainSidebar,
    .mobile-menu-toggle, #mobileMenuToggle,
    .mobile-overlay, #mobileOverlay,
    .pc-view {
        display: none !important;
    }

    /* main内容区全宽 */
    .col-md-10, main[class*="col-md"] {
        max-width: 100% !important;
        margin-left: 0 !important;
        padding: 0 !important;
    }

    .container-fluid {
        padding: 0 !important;
    }

    .row.g-0 {
        margin: 0 !important;
    }

    body {
        background: var(--m-bg) !important;
        padding-bottom: 70px; /* 底部导航高度 */
        -webkit-font-smoothing: antialiased;
    }

    /* ===== 页面标题栏（移动端） ===== */
    .page-header {
        background: linear-gradient(135deg, var(--m-primary) 0%, #7C3AED 100%);
        padding: 16px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: sticky;
        top: 0;
        z-index: 50;
    }

    .page-header h5 {
        color: #fff !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        margin: 0 !important;
    }

    .page-header h5 i {
        color: rgba(255,255,255,0.8) !important;
    }

    .page-header .header-actions {
        display: flex;
        gap: 8px;
    }

    .page-header .header-actions .btn,
    .page-header .btn {
        background: rgba(255,255,255,0.15) !important;
        border: 1px solid rgba(255,255,255,0.2) !important;
        color: #fff !important;
        font-size: 12px !important;
        padding: 6px 12px !important;
        border-radius: var(--m-radius-btn) !important;
        backdrop-filter: blur(8px);
    }

    .page-header .user-info {
        display: none !important;
    }

    /* ===== 搜索区域（PC端搜索框隐藏） ===== */
    .search-area {
        display: none !important;
    }

    /* ===== 表格隐藏，卡片显示 ===== */
    .table-card, .table-responsive {
        display: none !important;
    }

    /* ===== 移动端视图显示 ===== */
    .mobile-view {
        display: block !important;
    }

    /* ===== 移动端搜索栏（旧版可收缩，已废弃，保留选择器但不隐藏） ===== */
    .m-search-bar {
        background: #fff;
        padding: 0 16px;
    }

    .m-search-bar.open {
        padding: 10px 16px;
    }

    .m-search-wrap {
        display: flex;
        align-items: center;
        background: #f3f4f6;
        border-radius: var(--m-radius-btn);
        padding: 8px 14px;
        gap: 8px;
    }

    .m-search-wrap i {
        color: var(--m-text3);
        font-size: 14px;
        flex-shrink: 0;
    }

    .m-search-wrap input {
        flex: 1;
        border: none;
        background: transparent;
        font-size: 13px;
        outline: none;
        color: var(--m-text);
    }

    .m-search-wrap .m-search-btn {
        padding: 4px 14px;
        background: var(--m-primary);
        color: #fff;
        border: none;
        border-radius: var(--m-radius-btn);
        font-size: 12px;
        cursor: pointer;
        white-space: nowrap;
    }

    /* ===== 快速标签 ===== */
    .m-quick-tags {
        display: flex;
        gap: 8px;
        padding: 10px 16px;
        overflow-x: auto;
        background: #fff;
        border-bottom: 1px solid var(--m-border);
        -webkit-overflow-scrolling: touch;
    }

    .m-quick-tags::-webkit-scrollbar { display: none; }

    .m-quick-tag {
        padding: 5px 14px;
        border-radius: var(--m-radius-btn);
        font-size: 12px;
        white-space: nowrap;
        cursor: pointer;
        background: #f3f4f6;
        color: var(--m-text2);
        transition: all 0.2s;
        border: none;
        -webkit-tap-highlight-color: transparent;
    }

    .m-quick-tag.active {
        background: var(--m-primary-bg);
        color: var(--m-primary);
        font-weight: 500;
    }

    /* ===== 列表卡片 ===== */
    .m-list-cards {
        padding: 10px 16px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .m-card {
        background: var(--m-card);
        border-radius: var(--m-radius);
        padding: 14px;
        box-shadow: var(--m-shadow);
        position: relative;
        -webkit-tap-highlight-color: transparent;
    }

    .m-card-top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 8px;
    }

    .m-card-name {
        font-size: 15px;
        font-weight: 600;
        color: var(--m-text);
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
    }

    .m-card-meta {
        font-size: 12px;
        color: var(--m-text2);
        display: flex;
        align-items: center;
        gap: 4px;
        margin-top: 4px;
    }

    .m-card-detail {
        font-size: 12px;
        color: var(--m-text3);
        margin-top: 6px;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }

    .m-card-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid #f3f4f6;
    }

    .m-card-operator {
        font-size: 11px;
        color: var(--m-text3);
        display: flex;
        align-items: center;
        gap: 4px;
    }

    /* ===== 角色小标签 ===== */
    .m-role-tag {
        padding: 1px 6px;
        border-radius: 3px;
        font-size: 10px;
        font-weight: 500;
        color: #fff;
    }

    .m-role-tag.sa { background: var(--m-role-sa); }
    .m-role-tag.admin { background: var(--m-role-admin); }
    .m-role-tag.branch { background: var(--m-role-branch); }
    .m-role-tag.partner { background: var(--m-role-partner); }
    .m-role-tag.emp { background: var(--m-role-emp); }

    /* ===== 状态标签 ===== */
    .m-status {
        display: inline-flex;
        align-items: center;
        padding: 2px 8px;
        border-radius: 4px;
        font-size: 11px;
        font-weight: 500;
    }

    /* ===== 操作按钮（⋯） ===== */
    .m-action-btn {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: #f3f4f6;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: var(--m-text2);
        font-size: 16px;
        transition: all 0.2s;
        -webkit-tap-highlight-color: transparent;
        flex-shrink: 0;
    }

    .m-action-btn:active {
        background: #e5e7eb;
        transform: scale(0.92);
    }

    /* ===== ActionSheet 操作面板 ===== */
    .m-actionsheet-mask {
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.45);
        z-index: 9000;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s;
    }

    .m-actionsheet-mask.show {
        opacity: 1;
        pointer-events: all;
    }

    .m-actionsheet {
        position: fixed;
        bottom: 0; left: 0; right: 0;
        background: #fff;
        border-radius: 16px 16px 0 0;
        padding: 8px 0;
        padding-bottom: calc(8px + env(safe-area-inset-bottom));
        z-index: 9001;
        transform: translateY(100%);
        transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
        max-height: 60vh;
        overflow-y: auto;
    }

    .m-actionsheet.show {
        transform: translateY(0);
    }

    .m-actionsheet-title {
        padding: 12px 20px 8px;
        font-size: 13px;
        color: var(--m-text3);
        text-align: center;
        border-bottom: 1px solid #f3f4f6;
    }

    .m-actionsheet-item {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 14px 20px;
        cursor: pointer;
        transition: background 0.15s;
        border: none;
        background: transparent;
        width: 100%;
        text-align: left;
        font-size: 15px;
        color: var(--m-text);
        -webkit-tap-highlight-color: transparent;
    }

    .m-actionsheet-item:active {
        background: #f3f4f6;
    }

    .m-actionsheet-item i {
        width: 22px;
        text-align: center;
        font-size: 16px;
        color: var(--m-primary);
    }

    .m-actionsheet-item.danger {
        color: var(--m-danger);
    }

    .m-actionsheet-item.danger i {
        color: var(--m-danger);
    }

    .m-actionsheet-cancel {
        margin-top: 6px;
        border-top: 8px solid #f3f4f6;
        padding: 14px 20px;
        text-align: center;
        font-size: 15px;
        color: var(--m-text2);
        cursor: pointer;
        border: none;
        background: transparent;
        width: 100%;
        font-weight: 500;
        -webkit-tap-highlight-color: transparent;
    }

    .m-actionsheet-cancel:active {
        background: #f3f4f6;
    }

    /* ===== 高级筛选面板（底部弹出） ===== */
    .m-filter-mask {
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.45);
        z-index: 8000;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s;
    }

    .m-filter-mask.show {
        opacity: 1;
        pointer-events: all;
    }

    .m-filter-panel {
        position: fixed;
        bottom: 0; left: 0; right: 0;
        background: #fff;
        border-radius: 16px 16px 0 0;
        padding: 20px 16px;
        padding-bottom: calc(20px + env(safe-area-inset-bottom));
        z-index: 8001;
        transform: translateY(100%);
        transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
        max-height: 70vh;
        overflow-y: auto;
    }

    .m-filter-mask.show .m-filter-panel {
        transform: translateY(0);
    }

    .m-filter-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 16px;
    }

    .m-filter-title {
        font-size: 16px;
        font-weight: 600;
        color: var(--m-text);
    }

    .m-filter-close {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: #f3f4f6;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border: none;
        color: var(--m-text2);
    }

    .m-filter-group {
        margin-bottom: 14px;
    }

    .m-filter-group label {
        font-size: 13px;
        font-weight: 500;
        color: var(--m-text);
        margin-bottom: 6px;
        display: block;
    }

    .m-filter-group input,
    .m-filter-group select {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid var(--m-border);
        border-radius: var(--m-radius-sm);
        font-size: 13px;
        outline: none;
        color: var(--m-text);
        background: #fff;
        -webkit-appearance: none;
    }

    .m-filter-group input:focus,
    .m-filter-group select:focus {
        border-color: var(--m-primary);
        box-shadow: 0 0 0 3px rgba(79,70,229,0.1);
    }

    .m-filter-actions {
        display: flex;
        gap: 10px;
        margin-top: 18px;
    }

    .m-filter-actions button {
        flex: 1;
        padding: 12px;
        border-radius: var(--m-radius-btn);
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        border: none;
        transition: all 0.2s;
    }

    .m-filter-reset {
        background: #f3f4f6;
        color: var(--m-text2);
    }

    .m-filter-search {
        background: var(--m-primary);
        color: #fff;
    }

    /* ===== 全屏详情页 ===== */
    .m-detail-page {
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: var(--m-bg);
        z-index: 7000;
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .m-detail-page.show {
        transform: translateX(0);
    }

    .m-detail-header {
        background: linear-gradient(135deg, var(--m-primary), #7C3AED);
        padding: 14px 16px;
        padding-top: calc(14px + env(safe-area-inset-top));
        color: #fff;
        display: flex;
        align-items: center;
        gap: 12px;
        position: sticky;
        top: 0;
        z-index: 10;
    }

    .m-detail-back {
        font-size: 18px;
        cursor: pointer;
        padding: 4px;
        border: none;
        background: transparent;
        color: #fff;
        -webkit-tap-highlight-color: transparent;
    }

    .m-detail-title {
        font-size: 16px;
        font-weight: 600;
        flex: 1;
    }

    .m-detail-body {
        padding: 16px;
        padding-bottom: 100px;
    }

    .m-detail-section {
        background: #fff;
        border-radius: var(--m-radius);
        padding: 16px;
        margin-bottom: 12px;
        box-shadow: var(--m-shadow);
    }

    .m-detail-section h3 {
        font-size: 14px;
        font-weight: 600;
        color: var(--m-text);
        margin-bottom: 12px;
        padding-bottom: 8px;
        border-bottom: 2px solid var(--m-primary-bg);
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .m-detail-section h3 i {
        color: var(--m-primary);
        font-size: 13px;
    }

    .m-detail-row {
        display: flex;
        padding: 7px 0;
        font-size: 13px;
    }

    .m-detail-label {
        width: 76px;
        color: var(--m-text3);
        flex-shrink: 0;
        font-size: 13px;
    }

    .m-detail-value {
        color: var(--m-text);
        flex: 1;
        font-size: 13px;
        word-break: break-all;
    }

    /* 详情页底部操作栏 */
    .m-detail-footer {
        position: fixed;
        bottom: 0; left: 0; right: 0;
        background: #fff;
        padding: 10px 16px;
        padding-bottom: calc(10px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--m-border);
        display: flex;
        gap: 10px;
        z-index: 20;
        box-shadow: 0 -4px 12px rgba(0,0,0,0.04);
    }

    .m-detail-footer .m-footer-btn {
        flex: 1;
        padding: 12px;
        border-radius: var(--m-radius-btn);
        font-size: 14px;
        font-weight: 500;
        border: none;
        cursor: pointer;
        transition: all 0.2s;
        -webkit-tap-highlight-color: transparent;
    }

    .m-footer-btn.outline {
        background: #fff;
        border: 1px solid var(--m-primary);
        color: var(--m-primary);
    }

    .m-footer-btn.primary {
        background: var(--m-primary);
        color: #fff;
    }

    .m-footer-btn.danger {
        background: #fff;
        border: 1px solid var(--m-danger);
        color: var(--m-danger);
    }

    /* ===== 底部分页 ===== */
    .m-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 16px;
        background: transparent;
    }

    .m-pagination a,
    .m-pagination span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 34px;
        height: 34px;
        padding: 0 10px;
        border-radius: 8px;
        font-size: 13px;
        text-decoration: none;
        transition: all 0.2s;
        border: none;
    }

    .m-pagination a {
        background: #fff;
        color: var(--m-text2);
        box-shadow: var(--m-shadow);
    }

    .m-pagination a:active {
        transform: scale(0.92);
    }

    .m-pagination span.current {
        background: var(--m-primary);
        color: #fff;
        font-weight: 600;
    }

    .m-pagination .disabled {
        opacity: 0.4;
        pointer-events: none;
    }

    .m-pagination .page-info {
        font-size: 12px;
        color: var(--m-text3);
        margin: 0 6px;
    }

    /* ===== 入离职统计摘要（移动端简化版） ===== */
    .m-summary-bar {
        display: flex;
        gap: 8px;
        padding: 12px 16px;
        background: #fff;
    }

    .m-summary-item {
        flex: 1;
        text-align: center;
        padding: 10px 6px;
        background: #f9fafb;
        border-radius: var(--m-radius-sm);
    }

    .m-summary-item .value {
        font-size: 18px;
        font-weight: 700;
        color: var(--m-primary);
        line-height: 1.2;
    }

    .m-summary-item .label {
        font-size: 11px;
        color: var(--m-text3);
        margin-top: 2px;
    }

    /* ===== 首页看板移动端 ===== */
    /* 跑马灯 */
    .m-marquee {
        background: linear-gradient(90deg, #FEF3C7, #FDE68A);
        padding: 8px 16px;
        display: flex;
        align-items: center;
        gap: 8px;
        overflow: hidden;
    }

    .m-marquee i {
        color: #D97706;
        font-size: 14px;
        flex-shrink: 0;
    }

    .m-marquee-content {
        flex: 1;
        overflow: hidden;
        position: relative;
        height: 18px;
    }

    .m-marquee-track {
        display: flex;
        gap: 60px;
        position: absolute;
        white-space: nowrap;
        animation: m-marquee-scroll 25s linear infinite;
    }

    .m-marquee-track span {
        font-size: 12px;
        color: #92400E;
    }

    @keyframes m-marquee-scroll {
        0% { transform: translateX(0); }
        100% { transform: translateX(-50%); }
    }

    /* 统计卡片 */
    .m-stats-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding: 12px 16px;
    }

    .m-stat-card {
        background: #fff;
        border-radius: var(--m-radius);
        padding: 14px;
        box-shadow: var(--m-shadow);
        position: relative;
        overflow: hidden;
    }

    .m-stat-card .stat-icon {
        width: 32px;
        height: 32px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        color: #fff;
        margin-bottom: 8px;
    }

    .m-stat-card .stat-value {
        font-size: 22px;
        font-weight: 700;
        color: var(--m-text);
        line-height: 1;
    }

    .m-stat-card .stat-label {
        font-size: 12px;
        color: var(--m-text2);
        margin-top: 4px;
    }

    .m-stat-card .stat-change {
        font-size: 11px;
        margin-top: 6px;
        display: flex;
        align-items: center;
        gap: 3px;
    }

    .m-stat-change.up { color: var(--m-success); }
    .m-stat-change.down { color: var(--m-danger); }

    /* 图表容器 */
    .m-chart-box {
        background: #fff;
        border-radius: var(--m-radius);
        margin: 0 16px 12px;
        padding: 16px;
        box-shadow: var(--m-shadow);
    }

    .m-chart-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
    }

    .m-chart-title {
        font-size: 14px;
        font-weight: 600;
        color: var(--m-text);
    }

    .m-chart-subtitle {
        font-size: 11px;
        color: var(--m-text3);
    }

    .m-chart-legend {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 10px;
    }

    .m-legend-item {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: 11px;
        color: var(--m-text2);
    }

    .m-legend-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
    }

    /* Top榜 */
    .m-top-list {
        background: #fff;
        border-radius: var(--m-radius);
        margin: 0 16px 16px;
        padding: 16px;
        box-shadow: var(--m-shadow);
    }

    .m-top-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 14px;
    }

    .m-top-title {
        font-size: 14px;
        font-weight: 600;
        color: var(--m-text);
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .m-top-item {
        display: flex;
        align-items: center;
        padding: 10px 0;
        border-bottom: 1px solid #f3f4f6;
    }

    .m-top-item:last-child { border-bottom: none; }

    .m-rank-badge {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 700;
        margin-right: 10px;
        flex-shrink: 0;
    }

    .m-rank-1 { background: linear-gradient(135deg, #FFD700, #FFA500); color: #fff; }
    .m-rank-2 { background: linear-gradient(135deg, #C0C0C0, #A8A8A8); color: #fff; }
    .m-rank-3 { background: linear-gradient(135deg, #CD7F32, #B8860B); color: #fff; }
    .m-rank-4, .m-rank-5 { background: #f3f4f6; color: var(--m-text2); }

    .m-top-info { flex: 1; }
    .m-top-info .name { font-size: 13px; font-weight: 500; color: var(--m-text); }
    .m-top-info .dept { font-size: 11px; color: var(--m-text3); margin-top: 2px; }
    .m-top-count { font-size: 16px; font-weight: 700; color: var(--m-primary); }
    .m-top-count span { font-size: 11px; font-weight: 400; color: var(--m-text3); }

    /* ===== 空状态 ===== */
    .m-empty {
        text-align: center;
        padding: 40px 20px;
        color: var(--m-text3);
    }

    .m-empty i {
        font-size: 40px;
        margin-bottom: 12px;
        opacity: 0.3;
    }

    .m-empty p {
        font-size: 14px;
        margin: 0;
    }

    /* ===== 页码信息 ===== */
    .m-page-info {
        text-align: center;
        padding: 8px;
        font-size: 12px;
        color: var(--m-text3);
    }

    /* ===== header.php 移动端用户信息横幅（小条） ===== */
    .m-user-bar {
        background: linear-gradient(135deg, var(--m-primary), #7C3AED);
        padding: 12px 16px;
        color: #fff;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .m-user-bar .avatar {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: rgba(255,255,255,0.2);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        border: 2px solid rgba(255,255,255,0.3);
        flex-shrink: 0;
    }

    .m-user-bar .info {
        flex: 1;
    }

    .m-user-bar .info h2 {
        font-size: 15px;
        font-weight: 600;
        margin: 0;
    }

    .m-user-bar .info .role {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        margin-top: 2px;
        padding: 1px 8px;
        background: rgba(255,255,255,0.2);
        border-radius: var(--m-radius-btn);
        font-size: 11px;
    }

    .m-user-bar .actions {
        display: flex;
        gap: 14px;
    }

    .m-user-bar .actions i {
        font-size: 17px;
        cursor: pointer;
        opacity: 0.8;
    }
}

/* ===== 面试名单页面移动端 ===== */

/* 搜索区域（直接展示模式） */
.mobile-view .interview-search-area {
    padding: 12px 16px;
    background: var(--m-card);
    margin-bottom: 8px;
}
.mobile-view .interview-search-area .search-bar {
    display: flex;
    align-items: center;
    background: var(--m-bg);
    border-radius: var(--m-radius-sm);
    padding: 0 12px;
    height: 40px;
    border: 1.5px solid var(--m-border);
    transition: border-color 0.2s;
}
.mobile-view .interview-search-area .search-bar:focus-within {
    border-color: var(--m-primary);
    background: var(--m-primary-bg);
}
.mobile-view .interview-search-area .search-bar > i {
    color: var(--m-text3);
    font-size: 14px;
    margin-right: 8px;
}
.mobile-view .interview-search-area .search-bar input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 14px;
    color: var(--m-text);
    outline: none;
}
.mobile-view .interview-search-area .search-bar input::placeholder { color: var(--m-text3); }
.mobile-view .interview-search-area .search-bar .clear-btn {
    display: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--m-border);
    border: none;
    color: var(--m-text2);
    font-size: 12px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.mobile-view .interview-search-area .search-bar .clear-btn.visible { display: flex; }
.mobile-view .interview-search-area .search-bar .search-submit {
    margin-left: 8px;
    padding: 4px 12px;
    border-radius: 8px;
    background: var(--m-primary);
    color: white;
    border: none;
    font-size: 13px;
    font-weight: 500;
}
.mobile-view .interview-search-area .filter-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    gap: 4px;
    font-size: 12px;
    color: var(--m-primary);
    cursor: pointer;
}
.mobile-view .interview-search-area .filter-toggle i {
    font-size: 10px;
    transition: transform 0.2s;
}
.mobile-view .interview-search-area .filter-toggle.active i {
    transform: rotate(180deg);
}
.mobile-view .interview-search-area .search-advanced {
    display: none;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--m-border);
}
.mobile-view .interview-search-area .search-advanced.active { display: block; }
.mobile-view .interview-search-area .search-advanced .filter-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.mobile-view .interview-search-area .search-advanced .filter-actions {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}
.mobile-view .interview-search-area .search-advanced .filter-actions button {
    flex: 1;
    height: 36px;
    border-radius: 8px;
    border: none;
    font-size: 13px;
    font-weight: 500;
}
.mobile-view .interview-search-area .search-advanced .btn-search {
    background: var(--m-primary);
    color: white;
}
.mobile-view .interview-search-area .search-advanced .btn-reset {
    background: var(--m-bg);
    color: var(--m-text2);
    border: 1px solid var(--m-border);
}

/* 快速筛选标签 */
.mobile-view .interview-quick-filter {
    display: flex;
    gap: 8px;
    padding: 8px 16px;
    background: var(--m-card);
    margin-bottom: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.mobile-view .interview-quick-filter::-webkit-scrollbar {
    display: none;
}

.mobile-view .interview-quick-filter .quick-tag {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border-radius: 16px;
    font-size: 13px;
    white-space: nowrap;
    border: 1px solid var(--m-border);
    background: var(--m-card);
    color: var(--m-text2);
    text-decoration: none;
}

.mobile-view .interview-quick-filter .quick-tag.active {
    background: var(--m-primary);
    color: white;
    border-color: var(--m-primary);
}

.mobile-view .interview-quick-filter .quick-tag.tag-info {
    background: #EFF6FF;
    color: #1E40AF;
    border-color: #BFDBFE;
}

.mobile-view .interview-quick-filter .quick-tag.tag-success {
    background: #F0FDF4;
    color: #166534;
    border-color: #BBF7D0;
}

/* 面试卡片列表 */
.mobile-view .interview-card-list {
    padding: 0 16px 16px;
}

.mobile-view .interview-card {
    background: var(--m-card);
    border-radius: var(--m-radius);
    box-shadow: var(--m-shadow);
    padding: 14px;
    margin-bottom: 10px;
    position: relative;
    transition: transform 0.15s;
}

.mobile-view .interview-card:active {
    transform: scale(0.98);
}

/* 卡片头部：候选人姓名 + 状态标签 */
.mobile-view .interview-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.mobile-view .interview-card .card-header .candidate-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--m-text);
}

.mobile-view .interview-card .card-header .status-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

/* 面试状态颜色 */
.mobile-view .interview-card .status-badge.status-pending {
    background: #FEF3C7;
    color: #92400E;
}

.mobile-view .interview-card .status-badge.status-appointment {
    background: #DBEAFE;
    color: #1E40AF;
}

.mobile-view .interview-card .status-badge.status-no-show {
    background: #FEE2E2;
    color: #991B1B;
}

.mobile-view .interview-card .status-badge.status-interviewed {
    background: #E0E7FF;
    color: #3730A3;
}

.mobile-view .interview-card .status-badge.status-offer {
    background: #F3E8FF;
    color: #6B21A8;
}

.mobile-view .interview-card .status-badge.status-accept {
    background: #D1FAE5;
    color: #065F46;
}

.mobile-view .interview-card .status-badge.status-reject {
    background: #FEE2E2;
    color: #991B1B;
}

.mobile-view .interview-card .status-badge.status-no-entry {
    background: #F3F4F6;
    color: #4B5563;
}

.mobile-view .interview-card .status-badge.status-entry {
    background: #10B981;
    color: white;
}

.mobile-view .interview-card .status-badge.status-left {
    background: #6B7280;
    color: white;
}

/* 卡片主体信息 */
.mobile-view .interview-card .card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mobile-view .interview-card .card-body .info-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
}

.mobile-view .interview-card .card-body .info-row .label {
    color: var(--m-text3);
    min-width: 60px;
}

.mobile-view .interview-card .card-body .info-row .value {
    color: var(--m-text);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-view .interview-card .card-body .info-row .value.company {
    font-weight: 500;
}

.mobile-view .interview-card .card-body .info-row .value.position {
    color: var(--m-primary);
}

/* 卡片底部：日期信息 + 操作按钮 */
.mobile-view .interview-card .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--m-border);
}

.mobile-view .interview-card .card-footer .date-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mobile-view .interview-card .card-footer .date-info .date-item {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--m-text2);
}

.mobile-view .interview-card .card-footer .date-info .date-item i {
    font-size: 11px;
    color: var(--m-text3);
}

.mobile-view .interview-card .card-footer .date-info .date-item.highlight {
    color: var(--m-primary);
    font-weight: 500;
}

.mobile-view .interview-card .card-footer .action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--m-bg);
    border: none;
    color: var(--m-text2);
    font-size: 18px;
}

.mobile-view .interview-card .card-footer .action-btn:active {
    background: var(--m-border);
}

/* 面试详情全屏覆盖层 */
.mobile-view .interview-detail-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--m-bg);
    z-index: 1060;
    animation: slideInRight 0.3s;
    overflow-y: auto;
}

.mobile-view .interview-detail-overlay.active {
    display: block;
}

.mobile-view .interview-detail-overlay .detail-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: var(--m-card);
    border-bottom: 1px solid var(--m-border);
    position: sticky;
    top: 0;
    z-index: 10;
}

.mobile-view .interview-detail-overlay .detail-header .back-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    color: var(--m-primary);
    font-size: 15px;
    padding: 8px 0;
}

.mobile-view .interview-detail-overlay .detail-header .title {
    font-size: 16px;
    font-weight: 600;
    color: var(--m-text);
}

.mobile-view .interview-detail-overlay .detail-header .action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--m-bg);
    border: none;
    color: var(--m-text2);
    font-size: 18px;
}

.mobile-view .interview-detail-overlay .detail-body {
    padding: 16px;
}

.mobile-view .interview-detail-overlay .detail-section {
    background: var(--m-card);
    border-radius: var(--m-radius);
    padding: 14px;
    margin-bottom: 12px;
}

.mobile-view .interview-detail-overlay .detail-section h6 {
    font-size: 14px;
    font-weight: 600;
    color: var(--m-text);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--m-border);
}

.mobile-view .interview-detail-overlay .detail-section .detail-row {
    display: flex;
    align-items: flex-start;
    padding: 8px 0;
}

.mobile-view .interview-detail-overlay .detail-section .detail-row:not(:last-child) {
    border-bottom: 1px dashed var(--m-border);
}

.mobile-view .interview-detail-overlay .detail-section .detail-row .label {
    font-size: 13px;
    color: var(--m-text2);
    min-width: 80px;
}

.mobile-view .interview-detail-overlay .detail-section .detail-row .value {
    font-size: 13px;
    color: var(--m-text);
    flex: 1;
    word-break: break-all;
}

/* 修改弹窗移动端优化 */
.mobile-view .modal-content {
    border-radius: var(--m-radius);
}

.mobile-view .modal-header {
    padding: 14px 16px;
    border-bottom: 1px solid var(--m-border);
}

.mobile-view .modal-header .modal-title {
    font-size: 16px;
    font-weight: 600;
}

.mobile-view .modal-body {
    padding: 16px;
    max-height: 60vh;
    overflow-y: auto;
}

.mobile-view .modal-body .form-label {
    font-size: 13px;
    color: var(--m-text2);
    margin-bottom: 4px;
}

.mobile-view .modal-body .form-control,
.mobile-view .modal-body .form-select {
    padding: 10px 12px;
    border-radius: var(--m-radius-sm);
    font-size: 14px;
}

.mobile-view .modal-footer {
    padding: 12px 16px;
    border-top: 1px solid var(--m-border);
}

.mobile-view .modal-footer .btn {
    padding: 10px 20px;
    border-radius: var(--m-radius-sm);
    font-size: 14px;
    font-weight: 500;
}

/* ===== 通用：修改弹窗覆盖层 ===== */
.mobile-view .modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1080;
    animation: fadeIn 0.2s;
    align-items: center;
    justify-content: center;
}
.mobile-view .modal-overlay.active {
    display: flex;
}
.mobile-view .modal-overlay .modal-content {
    background: var(--m-card);
    border-radius: var(--m-radius);
    width: calc(100% - 32px);
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    animation: slideUp 0.3s;
}
.mobile-view .modal-overlay .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--m-border);
}
.mobile-view .modal-overlay .modal-header .modal-title {
    font-size: 16px;
    font-weight: 600;
}
.mobile-view .modal-overlay .modal-header .close-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--m-bg);
    border: none;
    font-size: 16px;
    color: var(--m-text2);
    display: flex;
    align-items: center;
    justify-content: center;
}
.mobile-view .modal-overlay .modal-body {
    padding: 16px;
}
.mobile-view .modal-overlay .modal-body .form-group {
    margin-bottom: 12px;
}
.mobile-view .modal-overlay .modal-body .form-group label {
    display: block;
    font-size: 13px;
    color: var(--m-text2);
    margin-bottom: 4px;
}
.mobile-view .modal-overlay .modal-body .form-group .required {
    color: var(--m-danger);
}
.mobile-view .modal-overlay .modal-body .form-group input,
.mobile-view .modal-overlay .modal-body .form-group select,
.mobile-view .modal-overlay .modal-body .form-group textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--m-border);
    border-radius: var(--m-radius-sm);
    font-size: 14px;
    background: var(--m-bg);
    outline: none;
}
.mobile-view .modal-overlay .modal-body .form-group textarea {
    resize: vertical;
    min-height: 60px;
}
.mobile-view .modal-overlay .modal-footer {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--m-border);
}
.mobile-view .modal-overlay .modal-footer button {
    flex: 1;
    padding: 10px;
    border-radius: var(--m-radius-sm);
    font-size: 14px;
    font-weight: 500;
    border: none;
    cursor: pointer;
}
.mobile-view .modal-overlay .modal-footer .btn-cancel {
    background: var(--m-bg);
    color: var(--m-text2);
}
.mobile-view .modal-overlay .modal-footer .btn-submit {
    background: var(--m-primary);
    color: white;
}

/* ===== 通用：分页栏 ===== */
.mobile-view .pagination-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 16px;
    background: var(--m-card);
}
.mobile-view .pagination-bar .page-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: 8px;
    background: var(--m-card);
    border: 1px solid var(--m-border);
    font-size: 13px;
    color: var(--m-text);
    text-decoration: none;
}
.mobile-view .pagination-bar .page-btn.active {
    background: var(--m-primary);
    color: white;
    border-color: var(--m-primary);
}
.mobile-view .pagination-bar .page-info {
    font-size: 12px;
    color: var(--m-text3);
    margin: 0 8px;
}

/* ===== 通用：空状态 ===== */
.mobile-view .empty-state {
    text-align: center;
    padding: 48px 16px;
    color: var(--m-text3);
}
.mobile-view .empty-state i {
    font-size: 48px;
    margin-bottom: 12px;
    opacity: 0.4;
}
.mobile-view .empty-state p {
    font-size: 14px;
}

/* ===== 通用：底部占位 ===== */
.mobile-view .bottom-spacer {
    height: calc(56px + env(safe-area-inset-bottom));
}

/* ===== 通用：顶部导航 ===== */
.mobile-view .m-top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: var(--m-card);
    border-bottom: 1px solid var(--m-border);
    position: sticky;
    top: 0;
    z-index: 100;
}
.mobile-view .m-top-nav .m-nav-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--m-text);
}
.mobile-view .m-top-nav .m-nav-right {
    display: flex;
    align-items: center;
    gap: 12px;
}
.mobile-view .m-top-nav .m-nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--m-bg);
    border: none;
    color: var(--m-text2);
    font-size: 16px;
}

/* ===== 通用：搜索输入框 ===== */
.mobile-view .search-input-wrap {
    display: flex;
    align-items: center;
    background: var(--m-bg);
    border-radius: var(--m-radius-sm);
    padding: 0 12px;
    gap: 8px;
}
.mobile-view .search-input-wrap i {
    color: var(--m-text3);
    font-size: 14px;
}
.mobile-view .search-input-wrap input {
    flex: 1;
    border: none;
    background: none;
    padding: 10px 0;
    font-size: 14px;
    outline: none;
}

/* ===== 通用：筛选面板 ===== */
.mobile-view .advanced-filter .filter-panel .panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.mobile-view .advanced-filter .filter-panel .panel-header h6 {
    font-size: 16px;
    font-weight: 600;
}
.mobile-view .advanced-filter .filter-panel .close-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--m-bg);
    border: none;
    font-size: 16px;
    color: var(--m-text2);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ===== 入离职页面移动端 ===== */

/* 统计卡片 2×3 网格（取代横向滚动） */
.mobile-view .m-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 12px 16px;
    background: var(--m-card);
    margin-bottom: 8px;
}
.mobile-view .m-stat-grid .m-stat-card {
    background: var(--m-card);
    border-radius: var(--m-radius-sm);
    padding: 10px 12px;
    border: 1px solid var(--m-border);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 10px;
}
.mobile-view .m-stat-grid .m-stat-card .m-stat-bar {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 3px;
}
.mobile-view .m-stat-grid .m-stat-card.blue .m-stat-bar { background: #3B82F6; }
.mobile-view .m-stat-grid .m-stat-card.green .m-stat-bar { background: #10B981; }
.mobile-view .m-stat-grid .m-stat-card.orange .m-stat-bar { background: #F59E0B; }
.mobile-view .m-stat-grid .m-stat-card.red .m-stat-bar { background: #EF4444; }
.mobile-view .m-stat-grid .m-stat-card.purple .m-stat-bar { background: #7C3AED; }
.mobile-view .m-stat-grid .m-stat-card.teal .m-stat-bar { background: #14B8A6; }
.mobile-view .m-stat-grid .m-stat-card .m-stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.mobile-view .m-stat-grid .m-stat-card.blue .m-stat-icon { background: #EFF6FF; color: #3B82F6; }
.mobile-view .m-stat-grid .m-stat-card.green .m-stat-icon { background: #F0FDF4; color: #10B981; }
.mobile-view .m-stat-grid .m-stat-card.orange .m-stat-icon { background: #FFFBEB; color: #F59E0B; }
.mobile-view .m-stat-grid .m-stat-card.red .m-stat-icon { background: #FEF2F2; color: #EF4444; }
.mobile-view .m-stat-grid .m-stat-card.purple .m-stat-icon { background: #F5F3FF; color: #7C3AED; }
.mobile-view .m-stat-grid .m-stat-card.teal .m-stat-icon { background: #F0FDFA; color: #14B8A6; }
.mobile-view .m-stat-grid .m-stat-card .m-stat-info {
    flex: 1;
    min-width: 0;
}
.mobile-view .m-stat-grid .m-stat-card .m-stat-label {
    font-size: 11px;
    color: var(--m-text3);
    margin-bottom: 2px;
}
.mobile-view .m-stat-grid .m-stat-card .m-stat-number {
    font-size: clamp(14px, 4.5vw, 22px);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.mobile-view .m-stat-grid .m-stat-card.purple .m-stat-number,
.mobile-view .m-stat-grid .m-stat-card.teal .m-stat-number {
    font-size: clamp(13px, 4vw, 20px);
}

/* 入离职搜索区域（直接展示） */
.mobile-view .hire-search-area {
    padding: 12px 16px;
    background: var(--m-card);
    margin-bottom: 8px;
}
.mobile-view .hire-search-area .search-bar {
    display: flex;
    align-items: center;
    background: var(--m-bg);
    border-radius: var(--m-radius-sm);
    padding: 0 12px;
    height: 40px;
    border: 1.5px solid var(--m-border);
    transition: border-color 0.2s;
}
.mobile-view .hire-search-area .search-bar:focus-within {
    border-color: var(--m-primary);
    background: var(--m-primary-bg);
}
.mobile-view .hire-search-area .search-bar > i {
    color: var(--m-text3);
    font-size: 14px;
    margin-right: 8px;
}
.mobile-view .hire-search-area .search-bar input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 14px;
    color: var(--m-text);
    outline: none;
}
.mobile-view .hire-search-area .search-bar input::placeholder { color: var(--m-text3); }
.mobile-view .hire-search-area .search-bar .clear-btn {
    display: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--m-border);
    border: none;
    color: var(--m-text2);
    font-size: 12px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.mobile-view .hire-search-area .search-bar .clear-btn.visible { display: flex; }
.mobile-view .hire-search-area .search-bar .search-submit {
    margin-left: 8px;
    padding: 4px 12px;
    border-radius: 8px;
    background: var(--m-primary);
    color: white;
    border: none;
    font-size: 13px;
    font-weight: 500;
}
/* 高级筛选 */
.mobile-view .hire-search-area .filter-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    gap: 4px;
    font-size: 12px;
    color: var(--m-primary);
    cursor: pointer;
}
.mobile-view .hire-search-area .filter-toggle i {
    font-size: 10px;
    transition: transform 0.2s;
}
.mobile-view .hire-search-area .filter-toggle.active i {
    transform: rotate(180deg);
}
.mobile-view .hire-search-area .search-advanced {
    display: none;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--m-border);
}
.mobile-view .hire-search-area .search-advanced.active { display: block; }
.mobile-view .hire-search-area .search-advanced .filter-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.mobile-view .hire-search-area .search-advanced select {
    flex: 1;
    height: 36px;
    border-radius: 8px;
    border: 1px solid var(--m-border);
    background: var(--m-bg);
    font-size: 13px;
    color: var(--m-text);
    padding: 0 8px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    padding-right: 24px;
}
.mobile-view .hire-search-area .search-advanced .filter-actions {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}
.mobile-view .hire-search-area .search-advanced .filter-actions button {
    flex: 1;
    height: 36px;
    border-radius: 8px;
    border: none;
    font-size: 13px;
    font-weight: 500;
}
.mobile-view .hire-search-area .search-advanced .btn-search {
    background: var(--m-primary);
    color: white;
}
.mobile-view .hire-search-area .search-advanced .btn-reset {
    background: var(--m-bg);
    color: var(--m-text2);
    border: 1px solid var(--m-border);
}

/* 入离职快速标签 */
.mobile-view .hire-quick-tags {
    display: flex;
    gap: 8px;
    padding: 8px 16px;
    background: var(--m-card);
    margin-bottom: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.mobile-view .hire-quick-tags::-webkit-scrollbar { display:none; }
.mobile-view .hire-quick-tags .quick-tag {
    padding: 6px 12px;
    border-radius: 16px;
    font-size: 13px;
    border: 1px solid var(--m-border);
    background: var(--m-card);
    color: var(--m-text2);
    text-decoration: none;
    white-space: nowrap;
}
.mobile-view .hire-quick-tags .quick-tag.active {
    background: var(--m-primary);
    color: white;
    border-color: var(--m-primary);
}
.mobile-view .hire-quick-tags .quick-tag.tag-success {
    background: #F0FDF4;
    color: #166534;
    border-color: #BBF7D0;
}
.mobile-view .hire-quick-tags .quick-tag.tag-warning {
    background: #FFFBEB;
    color: #92400E;
    border-color: #FDE68A;
}

/* 入离职卡片列表 */
.mobile-view .hire-card-list {
    padding: 0 16px 16px;
}
.mobile-view .hire-card {
    background: var(--m-card);
    border-radius: var(--m-radius);
    box-shadow: var(--m-shadow);
    padding: 14px;
    margin-bottom: 10px;
}
.mobile-view .hire-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.mobile-view .hire-card .card-header .name {
    font-size: 16px;
    font-weight: 600;
}
.mobile-view .hire-card .card-header .status {
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}
.mobile-view .hire-card .status-hired { background: #D1FAE5; color: #065F46; }
.mobile-view .hire-card .status-failed { background: #FEE2E2; color: #991B1B; }
.mobile-view .hire-card .status-left { background: #6B7280; color: white; }
.mobile-view .hire-card .card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mobile-view .hire-card .info-row {
    display: flex;
    gap: 6px;
    font-size: 13px;
}
.mobile-view .hire-card .info-row .label {
    color: var(--m-text3);
    min-width: 60px;
}
.mobile-view .hire-card .info-row .value {
    color: var(--m-text);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-view .hire-card .info-row .value.company { font-weight: 500; }
.mobile-view .hire-card .info-row .value.commission { color: #7C3AED; font-weight: 600; }
.mobile-view .hire-card .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--m-border);
}
.mobile-view .hire-card .card-footer .date-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    color: var(--m-text2);
}
.mobile-view .hire-card .m-settled-badge {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    background: #DBEAFE;
    color: #1E40AF;
}
.mobile-view .hire-card .m-pending-badge {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    background: #FEF3C7;
    color: #92400E;
}
.mobile-view .hire-card .m-billing-btn {
    padding: 8px 16px;
    border-radius: 20px;
    background: var(--m-success);
    color: white;
    border: none;
    font-size: 13px;
    font-weight: 500;
}
.mobile-view .hire-card .m-billing-btn:active {
    opacity: 0.8;
}

/* 入离职计费弹窗样式 */
.mobile-view .modal-box {
    background: var(--m-card);
    border-radius: var(--m-radius);
    width: calc(100% - 32px);
    max-width: 400px;
    overflow: hidden;
    animation: slideUp 0.3s;
}
.mobile-view .modal-box .modal-header {
    padding: 14px 16px;
    border-bottom: 1px solid var(--m-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mobile-view .modal-box .modal-header .title {
    font-size: 16px;
    font-weight: 600;
}
.mobile-view .modal-box .modal-header .close-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--m-bg);
    border: none;
    font-size: 16px;
    color: var(--m-text2);
}
.mobile-view .modal-box .modal-body {
    padding: 16px;
}
.mobile-view .modal-box .modal-body .alert-warning {
    padding: 12px;
    border-radius: var(--m-radius-sm);
    margin-bottom: 12px;
    font-size: 13px;
    background: #FFFBEB;
    color: #92400E;
    border: 1px solid #FDE68A;
}
.mobile-view .modal-box .modal-body .alert-info {
    padding: 12px;
    border-radius: var(--m-radius-sm);
    font-size: 13px;
    background: #EFF6FF;
    color: #1E40AF;
    border: 1px solid #BFDBFE;
}
.mobile-view .modal-box .modal-body .info-row {
    margin-bottom: 10px;
}
.mobile-view .modal-box .modal-body .info-row .label {
    font-size: 12px;
    color: var(--m-text2);
    margin-bottom: 2px;
}
.mobile-view .modal-box .modal-body .info-row .value {
    font-size: 15px;
    font-weight: 600;
}
.mobile-view .modal-box .modal-body .info-row .value.amount {
    color: var(--m-success);
}
.mobile-view .modal-box .modal-footer {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--m-border);
}
.mobile-view .modal-box .modal-footer button {
    flex: 1;
    padding: 10px;
    border-radius: var(--m-radius-sm);
    font-size: 14px;
    font-weight: 500;
    border: none;
}
.mobile-view .modal-box .modal-footer .btn-cancel {
    background: var(--m-bg);
    color: var(--m-text2);
}
.mobile-view .modal-box .modal-footer .btn-submit {
    background: var(--m-success);
    color: white;
}

/* ===== 首页看板移动端 ===== */

/* 角色标签 */
.mobile-view .m-role-badge {
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 500;
    color: #fff;
}
.mobile-view .m-role-badge.role-super_admin { background: #7C3AED; }
.mobile-view .m-role-badge.role-admin { background: #EF4444; }
.mobile-view .m-role-badge.role-branch { background: #F59E0B; }
.mobile-view .m-role-badge.role-partner { background: #3B82F6; }
.mobile-view .m-role-badge.role-employee { background: #14B8A6; }
.mobile-view .m-role-badge.role-guest { background: #6b7280; }
.mobile-view .m-view-toggle {
    padding: 4px 10px;
    border-radius: 14px;
    font-size: 11px;
    border: 1px solid var(--m-primary);
    color: var(--m-primary);
    background: transparent;
    text-decoration: none;
}

/* 跑马灯 */
.mobile-view .m-marquee-wrap {
    background: var(--m-card);
    padding: 10px 16px;
    margin-bottom: 8px;
    overflow: hidden;
    position: relative;
}
.mobile-view .m-marquee-wrap::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 40px;
    background: linear-gradient(to right, transparent, var(--m-card));
    z-index: 1;
}
.mobile-view .m-marquee-track {
    display: flex;
    animation: mMarqueeScroll 25s linear infinite;
    white-space: nowrap;
}
.mobile-view .m-marquee-item {
    flex: 0 0 auto;
    padding-right: 40px;
    font-size: 13px;
    color: var(--m-text2);
}
.mobile-view .m-marquee-item .m-hl {
    color: var(--m-primary);
    font-weight: 600;
}
@keyframes mMarqueeScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* 快捷入口 */
.mobile-view .m-quick-entry {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 16px;
    background: var(--m-card);
    margin-bottom: 8px;
}
.mobile-view .m-entry-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--m-text);
    position: relative;
}
.mobile-view .m-entry-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.mobile-view .m-entry-icon.resume { background: #EEF2FF; color: #4F46E5; }
.mobile-view .m-entry-icon.interview { background: #F0FDF4; color: #10B981; }
.mobile-view .m-entry-icon.hire { background: #FFFBEB; color: #F59E0B; }
.mobile-view .m-entry-icon.all { background: #F5F3FF; color: #7C3AED; }
.mobile-view .m-entry-label {
    font-size: 12px;
    color: var(--m-text2);
}

/* 图表区块 */
.mobile-view .m-chart-section {
    padding: 12px 16px;
    background: var(--m-card);
    margin-bottom: 8px;
}
.mobile-view .m-section-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.mobile-view .m-section-title i { font-size: 14px; }
.mobile-view .m-chart-wrap {
    position: relative;
    width: 100%;
    max-height: 200px;
}
.mobile-view .m-chart-wrap canvas {
    max-height: 200px;
    width: 100% !important;
    height: auto !important;
}

/* Top榜 */
.mobile-view .m-top-section {
    padding: 12px 16px;
    background: var(--m-card);
    margin-bottom: 8px;
}
.mobile-view .m-top-list {
    list-style: none;
}
.mobile-view .m-top-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--m-border);
}
.mobile-view .m-top-list li:last-child { border-bottom: none; }
.mobile-view .m-rank-info {
    display: flex;
    align-items: center;
    gap: 10px;
}
.mobile-view .m-rank-badge {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: white;
}
.mobile-view .m-rank-badge.r1 { background: linear-gradient(135deg, #EF4444, #DC2626); }
.mobile-view .m-rank-badge.r2 { background: linear-gradient(135deg, #F59E0B, #D97706); }
.mobile-view .m-rank-badge.r3 { background: linear-gradient(135deg, #8B5CF6, #7C3AED); }
.mobile-view .m-rank-badge.r4,
.mobile-view .m-rank-badge.r5 { background: var(--m-border); color: var(--m-text2); }
.mobile-view .m-rank-name { font-size: 14px; font-weight: 500; }
.mobile-view .m-rank-count { font-size: 14px; font-weight: 600; color: var(--m-primary); }

/* ===== 面试总名单移动端额外样式 ===== */

/* 删除按钮 */
.mobile-view .interview-card .delete-btn {
    padding: 8px 12px;
    border-radius: 20px;
    background: #FEE2E2;
    color: #991B1B;
    border: none;
    font-size: 13px;
    margin-left: 6px;
}
.mobile-view .interview-card .delete-btn:active {
    opacity: 0.8;
}

/* 快速标签中的 info/success 样式（面试总名单用） */
.mobile-view .hire-quick-tags .quick-tag.tag-info {
    background: #EFF6FF;
    color: #1E40AF;
    border-color: #BFDBFE;
}
.mobile-view .hire-quick-tags .quick-tag.tag-info.active {
    background: var(--m-primary);
    color: white;
    border-color: var(--m-primary);
}

/* ===== 面试详情页覆盖层（通用） ===== */
.mobile-view .detail-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
    z-index: 1000;
}
.mobile-view .detail-overlay.active { display: block; }
.mobile-view .detail-panel {
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 85%;
    max-width: 360px;
    background: var(--m-card);
    box-shadow: -4px 0 20px rgba(0,0,0,0.1);
    animation: slideInRight 0.3s;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}
@keyframes slideInRight {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}
.mobile-view .detail-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid var(--m-border);
    position: sticky;
    top: 0;
    background: var(--m-card);
    z-index: 1;
}
.mobile-view .detail-title {
    font-size: 17px;
    font-weight: 600;
    flex: 1;
}
.mobile-view .detail-status {
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}
.mobile-view .detail-close {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--m-bg);
    border: none;
    font-size: 16px;
    color: var(--m-text2);
}
.mobile-view .detail-body {
    flex: 1;
    padding: 0 16px 16px;
}
.mobile-view .detail-section {
    padding: 12px 0;
    border-bottom: 1px solid var(--m-border);
}
.mobile-view .detail-section:last-child { border-bottom: none; }
.mobile-view .detail-section h6 {
    font-size: 13px;
    font-weight: 600;
    color: var(--m-text2);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.mobile-view .detail-section h6 i { font-size: 12px; }
.mobile-view .detail-row {
    display: flex;
    padding: 4px 0;
    font-size: 14px;
}
.mobile-view .detail-row .label {
    color: var(--m-text3);
    min-width: 70px;
    flex-shrink: 0;
}
.mobile-view .detail-row .value {
    color: var(--m-text);
    flex: 1;
}
.mobile-view .detail-row .value.income {
    color: #7C3AED;
    font-weight: 600;
}
.mobile-view .detail-row .value a {
    color: var(--m-primary);
    text-decoration: none;
}
.mobile-view .detail-footer {
    padding: 12px 16px;
    border-top: 1px solid var(--m-border);
    position: sticky;
    bottom: 0;
    background: var(--m-card);
}
.mobile-view .detail-edit-btn {
    width: 100%;
    padding: 12px;
    border-radius: var(--m-radius-sm);
    background: var(--m-primary);
    color: white;
    border: none;
    font-size: 14px;
    font-weight: 500;
}

/* 编辑弹窗内表单样式 */
.mobile-view .modal-form-group {
    margin-bottom: 14px;
}
.mobile-view .modal-form-group label {
    font-size: 12px;
    color: var(--m-text2);
    margin-bottom: 4px;
    display: block;
}
.mobile-view .modal-form-group input,
.mobile-view .modal-form-group select,
.mobile-view .modal-form-group textarea {
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--m-radius-sm);
    border: 1px solid var(--m-border);
    background: var(--m-bg);
    font-size: 14px;
    color: var(--m-text);
    outline: none;
}
.mobile-view .modal-form-group input:focus,
.mobile-view .modal-form-group select:focus,
.mobile-view .modal-form-group textarea:focus {
    border-color: var(--m-primary);
    background: var(--m-primary-bg);
}
.mobile-view .modal-form-group input[readonly] {
    background: #f3f4f6;
    color: var(--m-text3);
}
.mobile-view .modal-form-group textarea {
    resize: vertical;
    min-height: 80px;
}
.mobile-view .modal-form-row {
    display: flex;
    gap: 8px;
}
.mobile-view .modal-form-row .modal-form-group {
    flex: 1;
}
.mobile-view .char-count {
    font-size: 11px;
    color: var(--m-text3);
    text-align: right;
    margin-top: 2px;
}
.mobile-view .char-count.danger {
    color: var(--m-danger);
}

/* ===== 通用搜索辅助函数样式 ===== */
.mobile-view .m-search-row2 {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}
.mobile-view .m-search-input-sm {
    flex: 1;
    height: 36px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 13px;
    color: #1f2937;
    background: #f9fafb;
    transition: border-color 0.2s;
}
.mobile-view .m-search-input-sm:focus {
    outline: none;
    border-color: var(--m-primary);
    background: #fff;
}

/* ===== 项目/企业卡片样式 ===== */
.mobile-view .m-project-card {
    background: #fff;
    border-radius: 14px;
    margin: 10px 14px;
    padding: 14px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.04);
}
.mobile-view .m-project-card .m-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f3f4f6;
}
.mobile-view .m-project-card .m-card-title {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-view .m-project-card .m-card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mobile-view .m-project-card .m-card-row {
    display: flex;
    align-items: center;
    font-size: 13px;
}
.mobile-view .m-project-card .m-card-label {
    color: #9ca3af;
    min-width: 65px;
    flex-shrink: 0;
}
.mobile-view .m-project-card .m-card-value {
    color: #374151;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-view .m-project-card .m-card-value.highlight {
    color: var(--m-primary);
    font-weight: 600;
}
.mobile-view .m-project-card .m-card-value.income {
    color: #f59e0b;
    font-weight: 600;
}
.mobile-view .m-project-card .m-card-footer {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #f3f4f6;
}

/* ===== 状态标签 ===== */
.mobile-view .m-status-tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
}
.mobile-view .m-status-tag.open {
    background: #ecfdf5;
    color: #059669;
}
.mobile-view .m-status-tag.closed {
    background: #f3f4f6;
    color: #6b7280;
}

/* ===== 收藏按钮（企业目录） ===== */
.mobile-view .fav-btn {
    font-size: 18px;
    color: #d1d5db;
    cursor: pointer;
    transition: color 0.2s;
}
.mobile-view .fav-btn.fa-solid {
    color: #f59e0b;
}

/* ===== 基础数据管理卡片（areas/companies/educations/positions） ===== */
.mobile-view .m-basic-card {
    background: #fff;
    border-radius: 14px;
    margin: 10px 14px;
    padding: 14px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.04);
}
.mobile-view .m-basic-card .m-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f3f4f6;
}
.mobile-view .m-basic-card .m-card-title {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
}
.mobile-view .m-basic-card .m-card-badge {
    background: #f3f4f6;
    color: #6b7280;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
}
.mobile-view .m-basic-card .m-card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mobile-view .m-basic-card .m-card-row {
    display: flex;
    font-size: 13px;
}
.mobile-view .m-basic-card .m-card-label {
    color: #9ca3af;
    min-width: 65px;
}
.mobile-view .m-basic-card .m-card-value {
    color: #374151;
}
.mobile-view .m-basic-card .m-card-footer {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #f3f4f6;
}

/* ===== 设置页面表单区块 ===== */
.mobile-view .m-settings-section {
    background: #fff;
    border-radius: 14px;
    padding: 14px;
    margin-top: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.mobile-view .m-section-title {
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f3f4f6;
}
.mobile-view .m-section-title i {
    margin-right: 6px;
}
.mobile-view .m-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.mobile-view .m-form-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mobile-view .m-form-item label {
    font-size: 12px;
    color: #6b7280;
    font-weight: 500;
}
.mobile-view .m-form-input {
    height: 36px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 13px;
    color: #1f2937;
    background: #f9fafb;
}
.mobile-view .m-form-input:focus {
    outline: none;
    border-color: var(--m-primary);
    background: #fff;
}
.mobile-view .m-btn-primary {
    background: var(--m-primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 10px 0;
    font-size: 14px;
    font-weight: 500;
}
.mobile-view .m-btn-danger {
    background: #fef2f2;
    color: var(--m-danger);
    border: 1px solid #fecaca;
    border-radius: 10px;
    padding: 10px 0;
    font-size: 14px;
    font-weight: 500;
}
.mobile-view .m-alert {
    margin: 10px 14px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px;
}
.mobile-view .m-alert-success {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}
.mobile-view .m-alert-danger {
    background: #fef2f2;
    color: var(--m-danger);
    border: 1px solid #fecaca;
}
.mobile-view .m-alert-info {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}


/* ===== 折叠搜索（移动端通用） ===== */
.mobile-view .m-search-trigger {
    display: flex;
    align-items: center;
    width: calc(100% - 28px);
    margin: 10px 14px 0;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    font-size: 14px;
    color: #9ca3af;
    cursor: pointer;
    gap: 8px;
    transition: border-color .2s;
}
.mobile-view .m-search-trigger.has-value {
    border-color: var(--m-primary);
    color: var(--m-primary);
    background: #eff6ff;
}
.mobile-view .m-search-trigger .trigger-text {
    flex: 1;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mobile-view .m-search-trigger .trigger-badge {
    background: var(--m-primary);
    color: #fff;
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 8px;
    white-space: nowrap;
}
.mobile-view .m-search-panel {
    display: none;
    margin: 0 14px;
    padding: 10px 0;
}
.mobile-view .m-search-panel.active {
    display: block;
}

/* ===== 通用缺失样式补全 ===== */

/* m-nav-bar: 页面顶部标题栏 */
.mobile-view .m-nav-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
    position: sticky;
    top: 0;
    z-index: 100;
}
.mobile-view .m-nav-bar .m-nav-title {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a2e;
}

/* m-card-list: 卡片列表容器 */
.mobile-view .m-card-list {
    padding: 8px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* m-search-form: 搜索面板内表单 */
.mobile-view .m-search-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* m-search-bar: 搜索输入行 */
.mobile-view .m-search-bar {
    display: flex;
    align-items: center;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 0 12px;
    height: 42px;
    gap: 8px;
}
.mobile-view .m-search-bar:focus-within {
    border-color: var(--m-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(79,70,229,0.08);
}

/* m-search-icon: 搜索图标 */
.mobile-view .m-search-icon {
    color: #9ca3af;
    font-size: 14px;
    flex-shrink: 0;
}

/* m-search-input: 搜索输入框 */
.mobile-view .m-search-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 14px;
    color: #1a1a2e;
    outline: none;
    min-width: 0;
}
.mobile-view .m-search-input::placeholder {
    color: #9ca3af;
}

/* m-search-input-sm: 次要搜索输入框（多字段第二行） */
.mobile-view .m-search-input-sm {
    flex: 1;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
    color: #1a1a2e;
    outline: none;
    min-width: 0;
}
.mobile-view .m-search-input-sm:focus {
    border-color: var(--m-primary);
    background: #fff;
}

/* m-search-actions: 搜索操作按钮行 */
.mobile-view .m-search-actions {
    display: flex;
    gap: 10px;
    padding-top: 4px;
}

/* m-search-submit: 搜索按钮 */
.mobile-view .m-search-submit {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    background: var(--m-primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}
.mobile-view .m-search-submit:active {
    opacity: 0.85;
}

/* m-search-reset: 重置按钮 */
.mobile-view .m-search-reset {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    padding: 0 16px;
    background: #f3f4f6;
    color: #6b7280;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
}
.mobile-view .m-search-reset:active {
    background: #e5e7eb;
}

/* m-btn: 通用操作按钮 */
.mobile-view .m-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 34px;
    padding: 0 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
}

/* m-btn-edit: 编辑按钮 */
.mobile-view .m-btn-edit {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}
.mobile-view .m-btn-edit:active {
    background: #dbeafe;
}

/* m-btn-delete: 删除按钮 */
.mobile-view .m-btn-delete {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}
.mobile-view .m-btn-delete:active {
    background: #fee2e2;
}

/* m-page-btn: 分页按钮 */
.mobile-view .m-page-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 36px;
    padding: 0 16px;
    background: #fff;
    color: #4F46E5;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.mobile-view .m-page-btn:active {
    background: #f5f3ff;
}
.mobile-view .m-page-btn.disabled {
    opacity: 0.4;
    pointer-events: none;
}

/* bottom-spacer: 底部导航留白 */
.mobile-view .bottom-spacer {
    height: 70px;
}

/* ===== 修复: 详情覆盖层内部元素样式 ===== */
.mobile-view .detail-overlay .detail-header .back-btn {
    background: none;
    border: none;
    font-size: 14px;
    color: var(--m-primary);
    cursor: pointer;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.mobile-view .detail-overlay .detail-header .title {
    flex: 1;
    font-size: 16px;
    font-weight: 600;
    color: var(--m-text);
    text-align: center;
}
.mobile-view .detail-overlay .detail-header .action-btn {
    background: none;
    border: none;
    font-size: 20px;
    color: var(--m-text2);
    cursor: pointer;
    padding: 4px 8px;
}
/* 详情覆盖层内容面板（兼容无 .detail-panel 的结构） */
.mobile-view .detail-overlay .detail-body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* ===== 修改7：面试详情头部 - 名称h2 + 修改按钮 ===== */
.mobile-view .detail-overlay .detail-header .m-detail-name-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--m-text);
    flex: 1;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mobile-view .detail-overlay .detail-header .m-detail-edit-btn {
    background: rgba(79,70,229,0.1);
    color: var(--m-primary);
    border: none;
    padding: 5px 12px;
    border-radius: var(--m-radius-sm);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;
    flex-shrink: 0;
}
.mobile-view .detail-overlay .detail-header .m-detail-edit-btn:active {
    transform: scale(0.95);
    background: rgba(79,70,229,0.2);
}

/* 统计明细弹窗复用 .m-detail-page 的滑入动画 */

/* ===== 修改5：通用状态标签样式（详情覆盖层内通用） ===== */
.mobile-view .status-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}
.mobile-view .status-badge.status-pending { background: #FEF3C7; color: #92400E; }
.mobile-view .status-badge.status-appointment { background: #DBEAFE; color: #1E40AF; }
.mobile-view .status-badge.status-no-show { background: #FEE2E2; color: #991B1B; }
.mobile-view .status-badge.status-interviewed { background: #E0E7FF; color: #3730A3; }
.mobile-view .status-badge.status-offer { background: #F3E8FF; color: #6B21A8; }
.mobile-view .status-badge.status-accept { background: #D1FAE5; color: #065F46; }
.mobile-view .status-badge.status-reject { background: #FEE2E2; color: #991B1B; }
.mobile-view .status-badge.status-no-entry { background: #F3F4F6; color: #4B5563; }
.mobile-view .status-badge.status-entry { background: #10B981; color: white; }
.mobile-view .status-badge.status-left { background: #6B7280; color: white; }
/* 入离职状态 */
.mobile-view .status.status-hired { background: #D1FAE5; color: #065F46; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 500; }
.mobile-view .status.status-failed { background: #FEE2E2; color: #991B1B; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 500; }




/* ===== 移动端搜索下拉面板 ===== */
.m-search-dropdown-wrap {
    position: relative;
}

.m-search-dropdown-panel {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 2000;
    max-height: 200px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--m-border);
    border-radius: var(--m-radius-sm);
    margin-top: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.m-sd-item {
    padding: 12px 14px;
    border-bottom: 1px solid #f5f5f5;
    font-size: 15px;
    color: var(--m-text);
    cursor: pointer;
    transition: background 0.15s;
}

.m-sd-item:active {
    background: var(--m-primary-bg);
}

.m-sd-item:last-child {
    border-bottom: none;
}

/* ===== 移动端弹窗表单优化 ===== */
.m-modal .m-form-group {
    margin-bottom: 14px;
}

.m-modal .m-form-group label {
    font-size: 14px;
    font-weight: 500;
    color: var(--m-text);
    margin-bottom: 6px;
    display: block;
}

.m-modal .m-form-input,
.m-modal .m-form-select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--m-border);
    border-radius: var(--m-radius-sm);
    font-size: 15px;
    color: var(--m-text);
    background: #fff;
    transition: border-color 0.2s;
    -webkit-appearance: none;
    appearance: none;
}

.m-modal .m-form-input:focus,
.m-modal .m-form-select:focus {
    border-color: var(--m-primary-light);
    box-shadow: 0 0 0 3px rgba(129,140,248,0.12);
    outline: none;
}

.m-modal .m-form-textarea {
    min-height: 80px;
    resize: vertical;
}

/* ===== 移动端卡片优化 ===== */
.m-list-cards .m-card {
    background: var(--m-card);
    border-radius: var(--m-radius);
    padding: 16px;
    margin-bottom: 10px;
    box-shadow: var(--m-shadow);
    border: 1px solid rgba(0,0,0,0.03);
}

.m-list-cards .m-card:active {
    transform: scale(0.99);
    transition: transform 0.1s;
}

/* ===== 移动端底部操作按钮优化 ===== */
.m-card-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #f5f5f5;
}

.m-card-actions .m-btn {
    flex: 1;
    font-size: 14px;
    padding: 10px 0;
    border-radius: var(--m-radius-btn);
}

/* ===== 移动端弹窗底部按钮 ===== */
.m-modal-footer {
    display: flex;
    gap: 10px;
    padding: 16px 20px;
    border-top: 1px solid var(--m-border);
}

.m-modal-footer .m-btn {
    flex: 1;
    padding: 13px 0;
    font-size: 16px;
    border-radius: var(--m-radius-btn);
}


/* ===== 项目搜索（PC+移动端通用增强） ===== */
/* PC端报名弹窗项目搜索 */
#interview-project-search:focus {
    border-color: #7c3aed;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1);
    outline: none;
}

#interview-project-dropdown .project-item:hover {
    background: #f0f4ff !important;
}

/* 移动端项目搜索下拉项 */
#intMobileProjectDropdown > div[data-idx]:active {
    background: #f0f4ff;
}

/* 移动端报名弹窗优化 */
#interviewMobileModal .m-modal-body {
    padding: 16px 20px;
}

#interviewMobileModal .m-form-group label {
    font-weight: 500;
    font-size: 13px;
    color: var(--gray-700, #374151);
    margin-bottom: 6px;
}

#intMobileProjectSearch {
    font-size: 15px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

#intMobileProjectSearch:focus {
    border-color: #7c3aed;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1);
    outline: none;
}

/* 移动端项目卡片 */
#intMobileProjectCard {
    animation: fadeInUp 0.2s ease;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* PC端项目卡片 */
#interview-project-card {
    animation: fadeInUp 0.2s ease;
}
