* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: Microsoft YaHei, sans-serif;
    }

    body {
      background: var(--bg);
      padding: 20px;
    }

    .container {
      max-width: 1300px;
      margin: 0 auto;
      background: var(--bg);
      border-radius: 10px;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      padding: 20px;
    }

    .header {
      text-align: center;
      margin-bottom: 20px;
      color: var(--text);
    }

    .bar {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 15px;
      align-items: center;
    }

    input,
    select,
    button {
      padding: 8px 12px;
      border: 1px solid #ddd;
      border-radius: 6px;
    }

    button {
      background: #409eff;
      color: var(--text);
      border: none;
      cursor: pointer;
    }

    button.danger {
      background: #f56c6c;
    }

    button.gray {
      background: #909399;
    }

    button.success {
      background: #67c23a;
    }

    button:hover {
      opacity: .9;
    }

    .table-box {
      overflow-x: auto;
    }

    table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 10px;
    }

    th,
    td {
      padding: 10px;
      text-align: center;
      border: 1px solid #eee;
    }

    th {
      background: var(--bg);
      color: var(--text);
    }

    tr:hover {
      background: var(--btn-hover);
    }

    .subject-check {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .empty {
      text-align: center;
      padding: 30px;
      color: var(--text);
    }

    .modal {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);

      display: none;
      justify-content: center;
      align-items: center;
      z-index: 99;
    }

    .modal-content {
      background: #eee;
      padding: 20px;
      border-radius: 10px;
      width: 90%;
      max-width: 520px;
    }

    .modal h3 {
      margin-bottom: 15px;
    }

    .modal .form-item {
      margin-bottom: 10px;
    }

    .modal label {
      display: inline-block;
      width: 70px;
    }

    .modal .btns {
      display: flex;
      gap: 10px;
      justify-content: flex-end;
      margin-top: 20px;
    }

    .import-area {
      width: 100%;
      height: 120px;
      margin-top: 10px;
      border: 1px solid #ddd;
      border-radius: 6px;
      padding: 8px;
    }