@charset "UTF-8";
        /* 基础表格样式 */
        .pt-table {
          width: 99%;
          border-collapse: collapse;
          margin: 1rem 0;
          font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
          color: #333;
          box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
          transition: all 0.3s cubic-bezier(.25,.8,.25,1);
      }
      
      .pt-table:hover {
          box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
      }
      
      /* 表头样式 */
      .pt-table thead {
          background-color: #f5f5f5;
      }
      
      .pt-table th {
          padding: 1rem;
          text-align: left;
          font-weight: 600;
          border-bottom: 2px solid #ddd;
      }
      
      /* 表格内容样式 */
      .pt-table td {
          padding: 1rem;
          border-bottom: 1px solid #eee;
          transition: all 0.2s;
      }
      
      .pt-table tbody tr:last-child td {
          border-bottom: none;
      }
      
      /* 斑马条纹样式 */
      .pt-table.pt-zebra tbody tr:nth-child(even) {
          background-color: #f9f9f9;
      }
      
      /* 悬停效果 */
      .pt-table.pt-hover tbody tr:hover {
          background-color: #f5f7fa;
      }
      
      /* 边框样式 */
      .pt-table.pt-bordered th,
      .pt-table.pt-bordered td {
          border: 1px solid #ddd;
      }
      
      /* 紧凑样式 */
      .pt-table.pt-compact th,
      .pt-table.pt-compact td {
          padding: 0.5rem;
      }
      
      /* 颜色主题 */
      .pt-table.pt-primary thead {
          background-color: #2196F3;
          color: white;
      }
      
      .pt-table.pt-secondary thead {
          background-color: #607D8B;
          color: white;
      }
      
      .pt-table.pt-success thead {
          background-color: #4CAF50;
          color: white;
      }
      
      .pt-table.pt-warning thead {
          background-color: #FFC107;
          color: #333;
      }
      
      .pt-table.pt-danger thead {
          background-color: #F44336;
          color: white;
      }
      
      /* 响应式处理 - 移动端 */
      @media (max-width: 768px) {
          /* 表格容器 */
          .pt-responsive {
              overflow-x: auto;
              -webkit-overflow-scrolling: touch;
              box-shadow: 0 2px 5px rgba(0,0,0,0.1);
          }
          
          /* 表头固定 */
          .pt-fixed-header thead {
              position: sticky;
              top: 0;
              z-index: 10;
          }
          
          /* 移动端优化：垂直滚动表格 */
          .pt-table.pt-mobile-stack {
              display: block;
              width: 100%;
          }
          
          .pt-table.pt-mobile-stack thead,
          .pt-table.pt-mobile-stack tbody,
          .pt-table.pt-mobile-stack th,
          .pt-table.pt-mobile-stack td,
          .pt-table.pt-mobile-stack tr {
              display: block;
          }
          
          .pt-table.pt-mobile-stack thead tr {
              position: absolute;
              top: -9999px;
              left: -9999px;
          }
          
          .pt-table.pt-mobile-stack tr {
              border: 1px solid #ccc;
              margin-bottom: 0.5rem;
          }
          
          .pt-table.pt-mobile-stack td {
              border: none;
              border-bottom: 1px solid #eee;
              position: relative;
              padding-left: 50%;
          }
          
          .pt-table.pt-mobile-stack td:before {
              position: absolute;
              left: 6px;
              width: 45%;
              padding-right: 10px;
              white-space: nowrap;
              font-weight: bold;
              content: attr(data-label);
          }
      }
      
      /* 排序指示器 */
      .pt-sortable {
          cursor: pointer;
          position: relative;
      }
      
      .pt-sortable:after {
          content: "\f0dc";
          font-family: "FontAwesome";
          font-size: 0.8rem;
          margin-left: 0.5rem;
          color: #999;
      }
      
      .pt-sortable.pt-asc:after {
          content: "\f0de";
          color: #333;
      }
      
      .pt-sortable.pt-desc:after {
          content: "\f0dd";
          color: #333;
      }
      
      /* 表格加载状态 */
      .pt-loading {
          position: relative;
      }
      
      .pt-loading:before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: rgba(255, 255, 255, 0.8);
          z-index: 20;
          border-radius: 4px;
      }
      
      .pt-loading:after {
          content: "\f110";
          font-family: "FontAwesome";
          font-size: 2rem;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          z-index: 21;
          animation: spin 1s linear infinite;
          color: #2196F3;
      }
      
      @keyframes spin {
          0% { transform: translate(-50%, -50%) rotate(0deg); }
          100% { transform: translate(-50%, -50%) rotate(360deg); }
      }
      
      /* 竖向表格样式 */
      .pt-table.pt-vertical th {
          background-color: rgba(6, 59, 133, 0.1);
          border-right: 1px solid #ddd;
          width: 15%;
      }
      
      .pt-table.pt-vertical td {
          border-left: 1px solid #ddd;
      }
      
      .pt-table.pt-vertical tr td:first-child,
      .pt-table.pt-vertical tr th:first-child {
          border-left: none;
      }
      
      .pt-table.pt-vertical tr td:last-child,
      .pt-table.pt-vertical tr th:last-child {
          border-right: none;
      }
      
      /* 竖向表格在移动端的优化 */
      @media (max-width: 768px) {
          .pt-table.pt-vertical {
              display: block;
              width: 100%;
          }
          
          .pt-table.pt-vertical thead,
          .pt-table.pt-vertical tbody,
          .pt-table.pt-vertical th,
          .pt-table.pt-vertical td,
          .pt-table.pt-vertical tr {
              display: block;
          }
          
          .pt-table.pt-vertical th {
              width: 100%;
              border-right: none;
              border-bottom: 1px solid #ddd;
          }
          
          .pt-table.pt-vertical td {
              border-left: none;
              border-top: none;
          }
          
          .pt-table.pt-vertical tr {
              margin-bottom: 1rem;
              border: 1px solid #ddd;
          }
      }