/* 贾维斯工作台 - 移动端适配 */

/* ========== 桌面端隐藏移动端组件 ========== */
.mobile-tab-bar,
.mobile-more-menu {
    display: none;
}

/* ========== 移动端 <=768px ========== */
@media (max-width: 768px) {
    :root {
        --market-panel-width: 100vw;
    }

    /* === 三栏布局 → 单栏 === */
    .market-panel {
        position: fixed !important;
        top: 0;
        right: 0;
        width: 100vw !important;
        height: 100vh !important;
        z-index: 1100;
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        border-left: none;
    }

    .market-panel.mobile-open {
        transform: translateX(0) !important;
        width: 100vw !important;
    }

    .market-panel.collapsed {
        transform: translateX(100%) !important;
    }

    /* 防止水平溢出 */
    .app-layout {
        width: 100vw;
        overflow-x: hidden;
    }

    .main-content {
        padding-bottom: 60px;
    }

    /* === 顶部栏 === */
    .top-bar {
        padding: 0 12px;
        height: 48px;
    }

    .top-bar-date {
        display: none;
    }

    .top-bar-time {
        font-size: var(--text-xs);
    }

    /* === Dashboard 内联Grid === */
    .dash-stats-grid {
        grid-template-columns: 1fr !important;
        padding: 0 12px 12px !important;
    }

    .dash-content-grid {
        grid-template-columns: 1fr !important;
        padding: 0 12px 16px !important;
    }

    .dash-greeting {
        padding: 12px 12px 4px !important;
    }

    .dash-tips {
        padding: 0 12px !important;
    }

    .dash-detail-wrap {
        padding: 0 12px 16px !important;
    }

    /* === 仪表板卡片行wrap === */
    .dash-cards-row {
        flex-wrap: wrap;
        padding: 0 12px 12px;
    }

    /* Featured entries: AI学堂 + 模型先生 — 最前排，大卡片 */
    .dash-cards-row > .dash-entry-card[data-featured="true"] {
        order: -2;
        flex: 1 1 calc(50% - 10px);
        padding: 16px 14px;
        min-height: 72px;
        flex-direction: column;
        gap: 6px;
    }
    .dash-cards-row > .dash-entry-card[data-featured="true"] > div {
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }
    .dash-cards-row > .dash-entry-card[data-featured="true"] i {
        width: 24px !important;
        height: 24px !important;
    }

    /* 其他entry cards — 第二排 */
    .dash-cards-row > .dash-entry-card:not([data-featured]) {
        order: -1;
        flex: 1 1 calc(33% - 10px);
        min-width: 0;
        font-size: var(--text-xs);
    }

    /* mini cards — 保持默认order(0)，在entries之后 */
    .dash-mini-card {
        flex: 1 1 calc(33% - 10px);
        min-width: 0;
    }

    /* NAS卡片移到最后，完整展示 */
    .dash-nas-card {
        order: 99;
        flex: 1 1 100%;
    }

    /* === 洞察内嵌指标Grid移动端2列 === */
    .douyin-metrics-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* === Vault知识库纵向堆叠 === */
    .vault-split-layout {
        flex-direction: column !important;
    }
    .vault-split-layout #vaultTree {
        width: 100% !important;
        min-height: 180px;
    }
    .vault-split-layout input#vaultSearchInput {
        width: 120px !important;
    }

    /* === 所有Grid布局单列化 === */
    .todo-list {
        grid-template-columns: 1fr !important;
    }

    .srv-grid,
    .server-grid {
        grid-template-columns: 1fr !important;
    }

    .charts-grid {
        grid-template-columns: 1fr !important;
    }

    .agent-grid {
        grid-template-columns: 1fr !important;
    }

    .file-list {
        grid-template-columns: 1fr !important;
    }

    .skeleton-loader {
        grid-template-columns: 1fr !important;
    }

    #pptList {
        grid-template-columns: 1fr !important;
    }

    /* === 卡片/区块间距缩减 === */
    .card {
        padding: 12px !important;
    }

    .section {
        padding: 12px !important;
    }

    .tab-toolbar {
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px 12px;
    }

    .toolbar-actions {
        flex-wrap: wrap;
        width: 100%;
        gap: 6px;
    }

    .settings-content {
        padding: 12px !important;
    }

    .setting-group {
        padding: 12px !important;
    }

    /* === 市场面板详情 === */
    .market-detail-stats {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* === Tooltip 底部弹出 === */
    .sparkline-tooltip {
        position: fixed !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-height: 60vh !important;
        border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
        box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.5) !important;
    }

    /* === 模态框全屏化 === */
    .modal-content {
        width: 100% !important;
        max-width: 100% !important;
        max-height: 100vh !important;
        border-radius: 0 !important;
        min-height: 100vh;
    }

    .modal-large {
        max-width: 100% !important;
    }

    .terminal-modal {
        max-width: 100% !important;
        width: 100% !important;
        height: 100vh !important;
    }

    .terminal-container {
        height: calc(100vh - 60px) !important;
    }

    .modal-body {
        padding: 12px !important;
        max-height: 80vh !important;
    }

    /* 表单行纵向 */
    .form-row {
        flex-direction: column !important;
    }

    /* === 登录卡片 === */
    .login-card {
        padding: 24px 16px !important;
        border-radius: var(--radius-lg) !important;
    }

    /* === Toast移到底部Tab上方 === */
    .toast-container {
        top: auto !important;
        bottom: 70px !important;
        right: 8px !important;
        left: 8px !important;
    }

    .toast {
        min-width: auto !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    /* === 财经日历 === */
    .calendar-container {
        padding: 0 8px 12px !important;
    }

    .calendar-grid {
        gap: 1px;
    }

    .calendar-day {
        min-height: 40px;
        aspect-ratio: 1;
        padding: 2px;
    }

    .calendar-day .day-num {
        font-size: 10px;
    }

    .calendar-day .density-count {
        display: none;
    }

    .calendar-header {
        flex-wrap: wrap;
        gap: 8px;
    }

    .calendar-filters {
        order: 3;
        width: 100%;
        justify-content: center;
    }

    .calendar-detail {
        padding: 8px 10px;
    }

    /* === 知识库树形目录 === */
    #vaultTree {
        width: 100% !important;
        min-height: 200px;
    }

    /* === 触摸目标 === */
    .toolbar-btn,
    .toolbar-select,
    .modal-btn,
    .calendar-nav-btn,
    .calendar-filter-btn,
    .btn,
    .setting-btn,
    .market-panel-toggle {
        min-height: 44px;
        min-width: 44px;
    }

    /* 移除hover transform效果 */
    .nav-item:hover,
    .agent-card:hover,
    .todo-card:hover,
    .stat-card:hover,
    .link-card:hover,
    .file-item:hover,
    .market-indicator:hover,
    .todo-item:hover {
        transform: none !important;
        box-shadow: none !important;
    }

    /* === 服务器概览 === */
    .srv-summary-bar {
        gap: 12px;
        justify-content: center;
    }

    /* === PPT列表 === */
    .ppt-content {
        padding: 12px !important;
    }

    /* === 禁止长按选中 === */
    .mobile-tab-bar,
    .mobile-more-content {
        -webkit-user-select: none;
        user-select: none;
    }

    /* === 底部 Tab Bar — iPhone Vibrancy === */
    .mobile-tab-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 56px;
        background: var(--glass-bg);
        border-top: 1px solid var(--glass-border);
        backdrop-filter: var(--glass-filter);
        -webkit-backdrop-filter: var(--glass-filter);
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.2), inset 0 1px 0 var(--glass-highlight);
        z-index: 1000;
        justify-content: space-around;
        align-items: center;
        padding-bottom: env(safe-area-inset-bottom);
        -webkit-user-select: none;
        user-select: none;
    }

    .mobile-tab-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        padding: 4px 0;
        min-width: 48px;
        min-height: 44px;
        color: var(--text-tertiary);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: color 0.15s;
    }

    .mobile-tab-item svg {
        width: 20px;
        height: 20px;
    }

    .mobile-tab-item span {
        font-size: 10px;
    }

    .mobile-tab-item.active {
        color: var(--accent-color);
    }

    /* === 更多菜单 === */
    .mobile-more-menu {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 1200;
    }

    .mobile-more-menu.open {
        display: block;
    }

    .mobile-more-overlay {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
    }

    .mobile-more-content {
        position: absolute;
        bottom: 56px;
        left: 12px;
        right: 12px;
        background: var(--glass-bg);
        border: 1px solid var(--glass-border);
        backdrop-filter: var(--glass-filter);
        -webkit-backdrop-filter: var(--glass-filter);
        border-radius: var(--radius-lg);
        padding: 8px 0;
        max-height: 70vh;
        overflow-y: auto;
    }

    .mobile-more-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 14px 20px;
        color: var(--text-secondary);
        min-height: 44px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-more-item svg {
        width: 18px;
        height: 18px;
    }

    .mobile-more-item span {
        font-size: var(--text-sm);
    }

    .mobile-more-divider {
        height: 1px;
        background: var(--border-subtle);
        margin: 4px 16px;
    }

    .mobile-more-danger {
        color: var(--danger-color);
    }
}

/* ========== 平板端 769-1024px ========== */
@media (min-width: 769px) and (max-width: 1024px) {
    :root {
        --market-panel-width: 280px;
    }

    .market-panel {
        width: 280px;
    }

    /* 平板端Grid微调 */
    .srv-grid {
        grid-template-columns: 1fr !important;
    }

    .charts-grid {
        grid-template-columns: 1fr !important;
    }

    /* Dashboard三列和两列grid在移动端变单列 */
    .dash-triple-grid,
    .dash-double-grid {
        grid-template-columns: 1fr !important;
    }
}
