/* PE系统全局移动端适配样式 */
/* ===== 通用 ===== */
@media (max-width: 768px) {
  * { -webkit-tap-highlight-color: transparent; }
  body { font-size: 14px !important; }
  
  /* 隐藏桌面端导航 */
  .nav-dropdown, .ai-dropdown, .tools-dropdown { display: none !important; }
  
  /* 移动端汉堡菜单按钮 */
  .mobile-menu-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 8px;
    background: rgba(37,99,235,0.08);
    color: #2563EB;
    cursor: pointer;
    border: none;
  }
  
  /* 移动端抽屉导航 */
  .mobile-drawer {
    position: fixed; top: 0; right: -280px; bottom: 0;
    width: 260px; z-index: 9999;
    background: #fff;
    box-shadow: -4px 0 20px rgba(0,0,0,0.1);
    transition: right 0.3s ease;
    overflow-y: auto;
    padding: 16px;
  }
  .mobile-drawer.open { right: 0; }
  .mobile-drawer-overlay {
    position: fixed; inset: 0; z-index: 9998;
    background: rgba(0,0,0,0.4);
    display: none;
  }
  .mobile-drawer-overlay.open { display: block; }
  .mobile-drawer a {
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    color: #334155;
    text-decoration: none;
    margin-bottom: 4px;
    transition: background 0.15s;
  }
  .mobile-drawer a:hover { background: #EFF6FF; color: #2563EB; }
  .mobile-drawer .drawer-title {
    font-size: 12px; color: #94A3B8; text-transform: uppercase;
    letter-spacing: 1px; padding: 8px 14px; margin-top: 12px; margin-bottom: 4px;
  }
  
  /* 导航栏调整 */
  nav#navbar .max-w-7xl { padding: 0 12px !important; }
  nav#navbar .h-16, nav#navbar .h-20 { height: 52px !important; }
  nav#navbar #nav-logo { height: 32px !important; }
  
  /* 主布局 */
  .main-container {
    flex-direction: column !important;
    padding: 70px 12px 16px 12px !important;
    gap: 12px !important;
  }
  
  /* 侧边栏变抽屉 */
  .sidebar {
    position: fixed !important;
    top: 52px; left: -280px; bottom: 0;
    width: 260px !important;
    z-index: 9990;
    background: #fff;
    box-shadow: 2px 0 16px rgba(0,0,0,0.08);
    transition: left 0.3s ease;
    overflow-y: auto;
  }
  .sidebar.mobile-open { left: 0; }
  .sidebar.collapsed { width: 260px !important; }
  .sidebar-toggle-btn { display: none !important; }
  
  /* 侧边栏遮罩 */
  .sidebar-overlay {
    position: fixed; inset: 0; top: 52px; z-index: 9989;
    background: rgba(0,0,0,0.4);
    display: none;
  }
  .sidebar-overlay.open { display: block; }
  
  /* 内容区域全宽 */
  .content-area { width: 100% !important; }
  
  /* 面板 */
  .panel-header { padding: 10px 14px !important; }
  .panel-header h2 { font-size: 16px !important; }
  .panel-header p { font-size: 12px !important; }
  .panel-body { padding: 12px !important; }
  
  /* 表单和输入 */
  input[type="text"], input[type="tel"], input[type="password"], 
  input[type="email"], input[type="file"], input[type="number"],
  select, textarea {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* 网格变单列 */
  .main-content { grid-template-columns: 1fr !important; }
  
  /* 3D查看器 */
  .plip-viewer-3d, #plipViewer3d, #bdViewer3d {
    width: 100% !important;
    height: 300px !important;
  }
  
  /* 图片容器 */
  .plip-image-2d-container { width: 100% !important; overflow-x: auto; }
  .plip-image-2d-container img { max-width: 100%; height: auto; }
  
  /* 表格水平滚动 */
  .panel-body > div { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table { min-width: 600px; }
  
  /* 卡片和分区 */
  .section-card, .bg-white.rounded-2xl { 
    border-radius: 12px !important; 
    padding: 12px !important;
  }
  
  /* Tech cards */
  .tech-card .tech-desc { 
    position: static !important; 
    display: block !important;
    margin-top: 8px;
  }
  
  /* 隐藏装饰元素 */
  .nav-decoration { display: none !important; }
  .logo-scroll, .logo-scroll-reverse { animation: none !important; }
}

/* 桌面端隐藏移动端元素 */
.mobile-menu-btn { display: none; }
.mobile-drawer { display: none; }
.mobile-drawer-overlay { display: none; }
.sidebar-overlay { display: none; }
@media (max-width: 768px) {
  .mobile-menu-btn { display: flex; }
  .mobile-drawer { display: block; }
}

/* ===== Admin后台移动端适配 ===== */
@media (max-width: 768px) {
  /* Admin侧边栏变抽屉 */
  aside.sidebar-dark {
    position: fixed !important;
    top: 0; left: -260px; bottom: 0;
    width: 240px !important;
    z-index: 9999 !important;
    transition: left 0.3s ease;
  }
  aside.sidebar-dark.mobile-open { left: 0; }
  
  /* Admin主内容全宽 */
  main[style*="margin-left"] {
    margin-left: 0 !important;
    padding: 12px !important;
  }
  
  /* Admin移动端遮罩 */
  .admin-sidebar-overlay {
    position: fixed; inset: 0; z-index: 9998;
    background: rgba(0,0,0,0.4);
    display: none;
  }
  .admin-sidebar-overlay.open { display: block; }
  
  /* Admin汉堡按钮 */
  .admin-menu-btn {
    display: flex !important;
    align-items: center; justify-content: center;
    width: 40px; height: 40px;
    border-radius: 8px;
    background: rgba(37,99,235,0.08);
    color: #2563EB;
    border: none; cursor: pointer;
    position: fixed; top: 10px; left: 10px; z-index: 10000;
  }
  
  /* Admin内容区 */
  .flex.min-h-screen { display: block !important; }
  
  /* Admin表格和表单 */
  main table { min-width: 600px; }
  main .overflow-x-auto { -webkit-overflow-scrolling: touch; }
  
  /* Admin面板和卡片 */
  main .bg-white { border-radius: 12px !important; padding: 12px !important; }
  main h1, main h2, main h3 { font-size: 16px !important; }
  
  /* Admin flex布局 */
  main .flex { flex-wrap: wrap !important; }
  main .flex-1 { flex: 1 1 100% !important; min-width: 100% !important; }
  
  /* Admin grid */
  main .grid { grid-template-columns: 1fr !important; }
  
  /* Admin按钮组 */
  main .flex.gap-2, main .flex.gap-3 { 
    flex-direction: column !important; 
    width: 100%;
  }
  main .flex.gap-2 > *, main .flex.gap-3 > * {
    width: 100%;
  }
}
.admin-menu-btn { display: none; }
@media (max-width: 768px) { .admin-menu-btn { display: flex; } }

/* ===== auth.html 登录页 ===== */
@media (max-width: 768px) {
  .glass-card {
    max-width: 100% !important;
    margin: 0 12px !important;
    padding: 20px !important;
    border-radius: 16px !important;
  }
}
