  * { font-family: 'Noto Sans SC', sans-serif; }
  [x-cloak] { display: none !important; }
  .sidebar-item { transition: all 0.2s cubic-bezier(0.16,1,0.3,1); position: relative; overflow: hidden; }
  .sidebar-item:hover { background: rgba(59,130,246,0.1); transform: translateX(2px); }
  .sidebar-item.active { background: rgba(59,130,246,0.15); border-left: 3px solid #3b82f6; }
  .sidebar-item:active { transform: scale(0.97); }
  .card-hover { transition: all 0.25s cubic-bezier(0.16,1,0.3,1); }
  .card-hover:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
  .btn-primary { background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%); }
  .btn-primary:hover { background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%); }
  .modal-overlay { backdrop-filter: blur(4px); background: rgba(0,0,0,0.4); }
  .modal-box { animation: modalIn 0.3s cubic-bezier(0.16,1,0.3,1); }
  @keyframes modalIn { from { opacity:0; transform: scale(0.95) translateY(8px); } to { opacity:1; transform: scale(1) translateY(0); } }
  .table-row:hover { background: #f8fafc; }
  input:focus, select:focus { outline: none; box-shadow: 0 0 0 3px rgba(59,130,246,0.15); }
  .tab-btn { transition: all 0.2s; border-bottom: 2px solid transparent; }
  .tab-btn.active { border-bottom-color: #3b82f6; color: #3b82f6; }
  ::-webkit-scrollbar { width: 6px; height: 6px; }
  ::-webkit-scrollbar-track { background: #f1f5f9; }
  ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

  /* 可滚动弹窗（新增运动员等内容多的弹窗）
     注意：不对 display 用 !important — 否则 Alpine.js x-show 无法用 display:none 隐藏元素 */
  .modal-scrollable {
    height: 85vh !important;
    max-height: 85vh !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .modal-scrollable-body {
    flex: 1 1 0% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
  }
  .modal-scrollable-footer {
    flex-shrink: 0 !important;
  }

  /* 出场顺序拖拽样式 */
  .order-item { cursor: default; transition: background 0.15s; }
  .order-item:hover { background: #f1f5f9; }
  .order-btn { cursor: pointer; user-select: none; }
  .order-btn:hover { background: #e2e8f0; border-radius: 4px; }

  /* 场地编号徽章 */
  .venue-badge {
    background: linear-gradient(135deg, #3730a3, #4f46e5);
    color: white;
    border-radius: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
  }

