.page-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 24px;
    }
    
    .page-title {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    
    .page-title h1 {
      font-size: 1.75rem;
      font-weight: 700;
    }
    
    .instrument-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
      gap: 20px;
    }
    
    .instrument-card {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 20px;
      transition: all 0.2s ease;
    }
    
    .instrument-card:hover {
      border-color: var(--accent-primary);
      box-shadow: var(--shadow-md);
    }
    
    .instrument-header {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      margin-bottom: 16px;
    }
    
    .instrument-name {
      font-size: 1.1rem;
      font-weight: 600;
      color: var(--text-primary);
      margin-bottom: 4px;
    }
    
    .instrument-model {
      font-size: 0.85rem;
      color: var(--text-muted);
    }
    
    .instrument-status {
      padding: 4px 12px;
      border-radius: 20px;
      font-size: 0.8rem;
      font-weight: 500;
    }
    
    .instrument-status.normal { background: var(--accent-secondary-light); color: var(--accent-secondary); }
    .instrument-status.maintenance { background: var(--accent-warning-light); color: var(--accent-warning); }
    .instrument-status.damaged { background: var(--accent-danger-light); color: var(--accent-danger); }
    .instrument-status.in-use { background: var(--accent-primary-light); color: var(--accent-primary); }
    
    .instrument-info {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 16px;
    }
    
    .info-item {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    
    .info-label {
      font-size: 0.75rem;
      color: var(--text-muted);
    }
    
    .info-value {
      font-size: 0.9rem;
      color: var(--text-primary);
    }
    
    .instrument-actions {
      display: flex;
      gap: 8px;
      padding-top: 16px;
      border-top: 1px solid var(--border-color);
    }
    
    .instrument-actions .btn {
      flex: 1;
      font-size: 0.85rem;
    }
    
    .empty-state {
      grid-column: 1 / -1;
      text-align: center;
      padding: 60px 20px;
      color: var(--text-muted);
    }
    
    .empty-state-icon {
      font-size: 64px;
      margin-bottom: 16px;
    }
    
    .filter-section {
      display: flex;
      gap: 12px;
      margin-bottom: 20px;
      flex-wrap: wrap;
    }
    
    .filter-section select {
      min-width: 150px;
    }
    
    .detail-section {
      margin-bottom: 20px;
    }
    
    .detail-section h4 {
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--text-secondary);
      margin-bottom: 12px;
      padding-bottom: 8px;
      border-bottom: 1px solid var(--border-color);
    }
    
    /* 登录模态框样式 */
    .login-form { max-width: 360px; margin: 0 auto; }
    .login-form .form-group { margin-bottom: 20px; }
    .login-hint {
      margin-top: 16px;
      padding: 12px;
      background: var(--bg-tertiary);
      border-radius: 8px;
      font-size: 0.85rem;
      color: var(--text-muted);
    }
    .login-hint code {
      background: var(--bg-input);
      padding: 2px 6px;
      border-radius: 4px;
      font-family: var(--font-mono);
    }
    
    /* 预约/使用记录表格 */
    .record-table { width: 100%; }
    .record-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr auto;
      gap: 8px;
      padding: 10px;
      border-bottom: 1px solid var(--border-color);
      font-size: 0.85rem;
      align-items: center;
    }
    .record-row.header {
      font-weight: 600;
      color: var(--text-muted);
      font-size: 0.8rem;
    }
    .record-row:hover:not(.header) {
      background: var(--bg-card-hover);
    }
    .record-status {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 10px;
      font-size: 0.75rem;
    }
    .record-status.active { background: var(--accent-primary-light); color: var(--accent-primary); }
    .record-status.finished { background: var(--accent-secondary-light); color: var(--accent-secondary); }
    .record-status.cancelled { background: var(--bg-tertiary); color: var(--text-muted); }
