* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top, rgba(67, 114, 171, 0.20), transparent 34rem),
    #10131a;
  color: #e8edf5;
  font-family: Arial, Helvetica, sans-serif;
}

.site-header {
  background: #171c26;
  border-bottom: 2px solid #3f6ea5;
  padding: 24px;
  text-align: center;
}

.header-inner h1 {
  margin: 0;
  font-size: 34px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.header-inner p {
  margin: 10px 0 0;
  color: #aeb8c7;
  font-size: 16px;
}

.page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px;
}

.control-panel {
  background: rgba(23, 28, 38, 0.96);
  border: 1px solid #2b3548;
  border-radius: 12px;
  padding: 22px;
  margin-bottom: 24px;
}

.control-panel h2 {
  margin: 0 0 4px;
}

.panel-note {
  margin-top: 0;
  color: #aeb8c7;
}

.controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

label {
  display: block;
  font-weight: bold;
  margin-bottom: 6px;
  color: #d7deea;
}

select,
button {
  width: 100%;
  padding: 12px;
  border-radius: 7px;
  border: 1px solid #3a465a;
  background: #0f131c;
  color: #e8edf5;
  font-size: 15px;
}

button {
  cursor: pointer;
  background: #2c5f9e;
  border: none;
  font-weight: bold;
  transition: background 0.2s ease, transform 0.1s ease;
}

button:hover {
  background: #3778c8;
}

button:active {
  transform: translateY(1px);
}

button.secondary {
  background: #263244;
}

button.secondary:hover {
  background: #34445c;
}

.button-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.sheet {
  background: #f4f1e8;
  color: #151515;
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.35);
}

.sheet-header {
  border-bottom: 3px solid #151515;
  margin-bottom: 18px;
  padding-bottom: 12px;
}

.sheet-header h2 {
  margin: 0;
  font-size: 30px;
  text-transform: uppercase;
}

.sheet-header p {
  margin: 6px 0 0;
  color: #444;
  font-style: italic;
}

.grid-two {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}

.section {
  border: 1px solid #b8b2a5;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 18px;
  background: #fffaf0;
}

.section h3 {
  margin-top: 0;
  border-bottom: 1px solid #b8b2a5;
  padding-bottom: 6px;
  text-transform: uppercase;
  font-size: 17px;
}

.section h4 {
  margin: 18px 0 6px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #6b6355;
}

.section h4:first-of-type {
  margin-top: 4px;
}

.field {
  margin: 8px 0;
}

.field strong {
  display: inline-block;
  min-width: 140px;
}

.warning {
  border-left: 5px solid #9e2c2c;
  padding-left: 10px;
  color: #5d1717;
  font-weight: bold;
}

.success {
  border-left: 5px solid #2f7d42;
  padding-left: 10px;
  color: #1f5b2e;
  font-weight: bold;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
  font-size: 14px;
}

th,
td {
  border: 1px solid #b8b2a5;
  padding: 8px;
  text-align: left;
  vertical-align: top;
}

th {
  background: #ddd4c1;
}

.background-text {
  line-height: 1.5;
  white-space: pre-line;
}

.small-note {
  color: #4d4d4d;
  font-size: 13px;
  margin-top: 8px;
}

@media print {
  body {
    background: white;
  }

  .site-header,
  .control-panel {
    display: none;
  }

  .page {
    padding: 0;
    max-width: none;
  }

  .sheet {
    box-shadow: none;
    border-radius: 0;
  }
}

.regen-panel {
  border-top: 1px solid #2b3548;
  margin-top: 18px;
  padding-top: 16px;
}

.regen-panel h3 {
  margin: 0 0 10px;
  color: #d7deea;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.button-row.compact {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.edit-form {
  background: #f4f1e8;
  color: #151515;
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.35);
}

.edit-form h2 {
  margin-top: 0;
  text-transform: uppercase;
  border-bottom: 3px solid #151515;
  padding-bottom: 12px;
}

.edit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.edit-field {
  margin-bottom: 14px;
}

.edit-field label {
  color: #151515;
}

.edit-field input,
.edit-field select,
.edit-field textarea {
  width: 100%;
  padding: 11px;
  border-radius: 7px;
  border: 1px solid #b8b2a5;
  background: #fffaf0;
  color: #151515;
  font-size: 15px;
  font-family: Arial, Helvetica, sans-serif;
}

.edit-field textarea {
  min-height: 170px;
  resize: vertical;
}

.edit-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.edit-actions button {
  color: #e8edf5;
}

@media print {
  .edit-form {
    display: none;
  }
}

.skill-builder {
  background: #f4f1e8;
  color: #151515;
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.35);
}

.skill-builder h2 {
  margin-top: 0;
  text-transform: uppercase;
  border-bottom: 3px solid #151515;
  padding-bottom: 12px;
}

.skill-builder-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.skill-stat {
  border: 1px solid #b8b2a5;
  border-radius: 8px;
  background: #fffaf0;
  padding: 12px;
}

.skill-stat strong {
  display: block;
  font-size: 13px;
  text-transform: uppercase;
  color: #555;
  margin-bottom: 4px;
}

.skill-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
}

.skill-actions label {
  color: #151515;
}

.skill-actions select {
  background: #fffaf0;
  color: #151515;
  border: 1px solid #b8b2a5;
}

.skill-actions button {
  min-width: 140px;
}

.locked-skill {
  color: #555;
  font-style: italic;
}

.remove-skill-button {
  width: auto;
  min-width: 90px;
  padding: 8px 10px;
  background: #8b2f2f;
}

.remove-skill-button:hover {
  background: #a83b3b;
}

.skill-builder-footer {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.empty-list-note {
  color: #555;
  font-style: italic;
}

@media print {
  .skill-builder {
    display: none;
  }
}

.skill-filter-row {
  display: grid;
  grid-template-columns: minmax(180px, 240px) 1fr auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 14px;
}

.skill-filter-row label {
  color: #151515;
}

.skill-filter-row select {
  background: #fffaf0;
  color: #151515;
  border: 1px solid #b8b2a5;
}

.skill-builder-note {
  margin-top: 0;
  color: #4d4d4d;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .skill-filter-row {
    grid-template-columns: 1fr;
  }
}


/* Sticky top control panel */
.control-panel {
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}

@media print {
  .control-panel {
    position: static;
    box-shadow: none;
  }
}

/* V7 gear builder tweaks */
.skill-builder .edit-grid {
  margin-bottom: 18px;
}

/* Unified augment slot system */
.augment-slot-note {
  color: #4d4d4d;
  font-size: 13px;
}

/* V7.5.1 Core Stats 2x2 layout */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(145px, 1fr));
  gap: 12px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.stat-box {
  min-width: 0;
  border: 2px solid #151515;
  border-radius: 8px;
  background: #fffaf0;
  padding: 12px 10px;
  text-align: center;
  box-sizing: border-box;
  overflow: hidden;
}

.stat-box strong {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  color: #4d4d4d;
  margin-bottom: 7px;
  line-height: 1.15;
  overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
}

.stat-box span {
  display: block;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
}

.stat-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(145px, 1fr));
  gap: 14px;
}

.stat-range-note {
  margin-top: 8px;
  color: #4d4d4d;
  font-size: 13px;
}

@media (max-width: 520px) {
  .stats-grid,
  .stat-edit-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  .stats-grid {
    grid-template-columns: repeat(2, minmax(135px, 1fr));
    gap: 8px;
  }

  .stat-box {
    padding: 9px 8px;
  }

  .stat-box strong {
    font-size: 10px;
  }

  .stat-box span {
    font-size: 24px;
  }
}


.stat-box em {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.35px;
  color: #6b4b00;
}


.rank-pill {
  display: inline-block;
  padding: 4px 8px;
  border: 1px solid #151515;
  border-radius: 999px;
  background: #fffaf0;
  font-size: 12px;
  font-weight: bold;
}


/* V9 Table Sheet View */
.table-sheet {
  background: #fffaf0;
  border: 2px solid #151515;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.table-sheet-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  border-bottom: 2px solid #151515;
  padding-bottom: 10px;
  margin-bottom: 12px;
}

.table-sheet-header h2 {
  margin: 0 0 4px 0;
}

.table-sheet-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.muted {
  color: #4d4d4d;
  font-size: 13px;
}

.table-grid {
  display: grid;
  gap: 10px;
  margin-bottom: 10px;
}

.table-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.table-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.table-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.table-card,
.table-section {
  border: 1.5px solid #151515;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
  box-sizing: border-box;
}

.table-card strong {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #4d4d4d;
  font-size: 11px;
  margin-bottom: 5px;
}

.table-card span {
  display: block;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.1;
}

.table-card small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: #4d4d4d;
}

.stat-card {
  text-align: center;
}

.stat-card span {
  font-size: 30px;
}

.table-section h3 {
  margin: 0 0 8px 0;
  border-bottom: 1px solid #151515;
  padding-bottom: 5px;
}

.table-section table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.table-section th,
.table-section td {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #dddddd;
  padding: 5px 4px;
}

.table-section th {
  width: 34%;
  color: #4d4d4d;
}

.compact-list {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
}

.compact-list li {
  margin-bottom: 5px;
}

.table-note {
  font-size: 13px;
  color: #333333;
  margin-top: 6px;
}

.table-background {
  font-size: 13px;
  line-height: 1.35;
}

@media (max-width: 820px) {
  .table-grid-4,
  .table-grid-3,
  .table-grid-2 {
    grid-template-columns: 1fr;
  }

  .table-sheet-header {
    display: block;
  }

  .table-sheet-actions {
    justify-content: flex-start;
    margin-top: 10px;
  }
}

@media print {
  body {
    background: #ffffff;
  }

  .control-panel {
    display: none !important;
  }

  .table-sheet {
    border: none;
    box-shadow: none;
    padding: 0;
  }

  .table-sheet-actions {
    display: none !important;
  }

  .table-grid {
    gap: 6px;
    margin-bottom: 6px;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .table-card,
  .table-section {
    padding: 7px;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .table-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .table-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .table-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .table-card span {
    font-size: 14px;
  }

  .stat-card span {
    font-size: 24px;
  }

  .table-section h3 {
    font-size: 13px;
  }

  .table-section table,
  .compact-list,
  .table-note,
  .table-background {
    font-size: 11px;
  }
}


/* V9.5 Saved Operative Library */
.library-panel {
  background: #fffaf0;
  border: 2px solid #151515;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.library-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  border-bottom: 2px solid #151515;
  padding-bottom: 10px;
  margin-bottom: 12px;
}

.library-header h2 {
  margin: 0 0 6px 0;
}

.library-header-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.library-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.library-table-wrap {
  overflow-x: auto;
}

.library-table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  border: 1.5px solid #151515;
  border-radius: 8px;
  overflow: hidden;
}

.library-table th,
.library-table td {
  text-align: left;
  vertical-align: top;
  padding: 8px;
  border-bottom: 1px solid #dddddd;
  font-size: 13px;
}

.library-table th {
  background: #151515;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.35px;
  font-size: 11px;
}

.library-actions-cell {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

@media (max-width: 760px) {
  .library-header {
    display: block;
  }

  .library-header-actions {
    justify-content: flex-start;
    margin-top: 10px;
  }

  .library-summary {
    grid-template-columns: 1fr;
  }
}

@media print {
  .library-panel {
    border: none;
    box-shadow: none;
    padding: 0;
  }

  .library-header-actions,
  .library-actions-cell,
  .library-panel .skill-builder-footer {
    display: none !important;
  }
}


/* V10.2 Two Line Title */
.title-subline {
  display: inline-block;
  font-size: 0.48em;
  font-weight: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin-top: 4px;
}


/* V10.4 Help / Guide Page */
.guide-shell {
  max-width: 1100px;
  margin: 0 auto;
}

.guide-top {
  position: sticky;
  top: 0;
  z-index: 20;
}

.guide-page {
  padding-bottom: 40px;
}

.guide-page .section {
  margin-bottom: 18px;
}

.guide-page h2 {
  margin-top: 0;
}

.guide-page h3 {
  margin-bottom: 6px;
}

.guide-page p {
  line-height: 1.45;
}

.guide-page pre {
  white-space: pre-wrap;
  background: rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 8px;
  padding: 10px;
  line-height: 1.35;
  overflow-x: auto;
}

@media print {
  .guide-top .controls {
    display: none !important;
  }

  .guide-top {
    position: static;
  }

  .guide-page .section {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}


/* V10.5 Help Button Placement */
.title-help-row {
  display: flex;
  justify-content: center;
  margin-top: 8px;
  margin-bottom: 10px;
}

.title-help-row button {
  width: auto;
}


/* V10.5 Guide Page Readability Fix */
.guide-page,
.guide-page *,
.guide-page .section,
.guide-page .section *,
.guide-page p,
.guide-page h2,
.guide-page h3,
.guide-page pre,
.guide-page strong {
  color: #000000 !important;
}

.guide-page .section {
  background: #ffffff !important;
}

.guide-page pre {
  background: #f2f2f2 !important;
  border-color: #333333 !important;
}

.guide-top,
.guide-top *,
.guide-top h1,
.guide-top .title-subline {
  color: #000000 !important;
}

.guide-top {
  background: #ffffff !important;
}


/* V10.8.9 Compact Main Header Layout */
.site-header {
  padding: 10px 18px;
}

.header-inner h1 {
  font-size: 24px;
  line-height: 1.08;
}

.title-subline {
  font-size: 13px;
  letter-spacing: 0.4px;
}

.title-help-row {
  margin-top: 6px;
  margin-bottom: 0;
}

.title-help-row button {
  padding: 7px 10px;
  font-size: 12px;
  min-height: 0;
}

.control-panel {
  padding: 12px;
  margin-bottom: 16px;
}

.control-panel h2 {
  margin-top: 0;
  margin-bottom: 4px;
  font-size: 19px;
}

.panel-note {
  margin: 0 0 10px;
  font-size: 13px;
}

.generation-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 230px);
  gap: 10px;
  align-items: end;
  margin-bottom: 10px;
}

.controls.compact-controls {
  grid-template-columns: repeat(4, minmax(145px, 1fr));
  gap: 10px;
  margin-bottom: 0;
}

.controls.compact-controls label {
  font-size: 12px;
  margin-bottom: 4px;
}

select,
button {
  padding: 8px 10px;
  font-size: 13px;
  border-radius: 6px;
}

.generate-action {
  display: flex;
  align-items: end;
}

button.primary-action {
  background: #2f80d0;
  border-color: #4f9beb;
  color: #ffffff;
  font-weight: 700;
  min-height: 36px;
}

button.primary-action:hover {
  background: #3d8fe1;
}

.main-button-groups {
  display: grid;
  gap: 8px;
}

.button-group {
  border-top: 1px solid #2b3548;
  padding-top: 8px;
}

.button-group-label {
  color: #aeb8c7;
  font-size: 11px;
  line-height: 1;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  font-weight: 700;
}

.button-row.compact.main-only {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 7px;
}

.button-row.compact.main-only button {
  padding: 7px 9px;
  font-size: 12px;
  min-height: 32px;
}

button.faction-button {
  background: #9a4f16;
  border-color: #c26b22;
  color: #fff3e8;
}

button.faction-button:hover {
  background: #b6611e;
}

button.library-button {
  background: #215c39;
  border-color: #2d7a4d;
  color: #ecfff3;
}

button.library-button:hover {
  background: #2b7548;
}

.regen-panel {
  margin-top: 0;
  padding-top: 8px;
}

.regen-panel h3 {
  display: none;
}

@media (max-width: 900px) {
  .generation-strip {
    grid-template-columns: 1fr;
  }

  .controls.compact-controls {
    grid-template-columns: repeat(2, minmax(145px, 1fr));
  }
}

@media (max-width: 560px) {
  .site-header {
    padding: 8px 10px;
  }

  .header-inner h1 {
    font-size: 19px;
  }

  .controls.compact-controls {
    grid-template-columns: 1fr;
  }

  .button-row.compact.main-only {
    grid-template-columns: 1fr 1fr;
  }
}


/* V10.9.0 Main Button Color Groups */
button.edit-button {
  background: #56308c;
  border-color: #764bb3;
  color: #f4edff;
}

button.edit-button:hover {
  background: #6840a6;
}

button.regen-button {
  background: #8a7218;
  border-color: #b89624;
  color: #fff7d1;
}

button.regen-button:hover {
  background: #a3881e;
}


/* V10.9.2 How To Use Guide Top Button Readability */
.guide-top .guide-close-button {
  background: #e4e6eb;
  border-color: #b9bec8;
  color: #151515;
  font-weight: 700;
}

.guide-top .guide-close-button:hover {
  background: #f1f2f5;
  color: #151515;
}

.guide-top .guide-print-button {
  background: #8a7218;
  border-color: #b89624;
  color: #fff7d1;
  font-weight: 700;
}

.guide-top .guide-print-button:hover {
  background: #a3881e;
  color: #fff7d1;
}


/* V10.9.2 How To Use Guide Print Fix */
@media print {
  .guide-top {
    display: none !important;
  }

  .guide-shell,
  .guide-page,
  #characterSheet {
    display: block !important;
  }
}


/* V10.9.2 Window Shade Controls */
.control-panel {
  transition: padding 0.18s ease, box-shadow 0.18s ease;
}

.control-shade-body {
  overflow: hidden;
  max-height: 1200px;
  opacity: 1;
  transition: max-height 0.22s ease, opacity 0.16s ease, margin 0.18s ease;
}

.control-shade-footer {
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid #2b3548;
  margin-top: 8px;
  padding-top: 8px;
}

.control-shade-toggle {
  width: auto;
  min-width: 138px;
  padding: 7px 10px;
  font-size: 12px;
  background: #215c39;
  border-color: #2d7a4d;
  color: #ecfff3;
  font-weight: 700;
}

.control-shade-toggle:hover {
  background: #2b7548;
}

.control-panel.controls-collapsed {
  padding-top: 8px;
  padding-bottom: 8px;
}

.control-panel.controls-collapsed h2 {
  margin-bottom: 0;
  font-size: 16px;
}

.control-panel.controls-collapsed .control-shade-body {
  max-height: 0;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}

.control-panel.controls-collapsed .control-shade-footer {
  border-top: none;
  margin-top: 6px;
  padding-top: 0;
}

.control-panel.controls-collapsed .control-shade-toggle {
  min-width: 148px;
}

@media print {
  .control-shade-footer {
    display: none !important;
  }

  .control-panel.controls-collapsed .control-shade-body {
    max-height: none;
    opacity: 1;
    pointer-events: auto;
  }
}

@media (max-width: 560px) {
  .control-shade-footer {
    justify-content: stretch;
  }

  .control-shade-toggle {
    width: 100%;
  }
}


/* V10.9.5 Window Shade Button Blue */
.control-shade-toggle {
  background: #2f80d0;
  border-color: #4f9beb;
  color: #ffffff;
}

.control-shade-toggle:hover {
  background: #3d8fe1;
  color: #ffffff;
}


/* V10.9.7 Table Sheet Regular Skills */
.table-sheet .table-section h3 {
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: 0.5px;
  color: #ffffff;
  border-bottom: 2px solid #4f9beb;
  padding-bottom: 5px;
  margin-bottom: 10px;
}

.table-sheet .table-regular-skills h3 {
  font-size: 23px;
  color: #ffffff;
  border-bottom: 3px solid #4f9beb;
}

.table-section-full {
  width: 100%;
}

.table-sheet-skills {
  width: 100%;
  table-layout: auto;
  border-collapse: collapse;
}

.table-sheet-skills th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  white-space: nowrap;
}

.table-sheet-skills td {
  vertical-align: top;
}

.table-sheet-skills td:nth-child(1) {
  font-weight: 700;
  min-width: 120px;
}

.table-sheet-skills td:nth-child(8) {
  min-width: 260px;
}

@media print {
  .table-sheet .table-section h3 {
    font-size: 16pt;
    color: #000000 !important;
    border-bottom: 2px solid #000000;
  }

  .table-sheet .table-regular-skills h3 {
    font-size: 18pt;
    color: #000000 !important;
    border-bottom: 3px solid #000000;
  }

  .table-sheet-skills th {
    font-size: 8pt;
  }

  .table-sheet-skills td {
    font-size: 8.5pt;
  }
}


/* V10.9.8 Table Sheet Skills Widths */
.table-sheet .table-section h3,
.table-sheet .table-regular-skills h3 {
  color: #111111;
}

.table-sheet-skills {
  table-layout: fixed;
}

.table-sheet-skills th:nth-child(1),
.table-sheet-skills td:nth-child(1) {
  width: 15%;
}

.table-sheet-skills th:nth-child(2),
.table-sheet-skills td:nth-child(2) {
  width: 5%;
  text-align: center;
}

.table-sheet-skills th:nth-child(3),
.table-sheet-skills td:nth-child(3) {
  width: 9%;
}

.table-sheet-skills th:nth-child(4),
.table-sheet-skills td:nth-child(4) {
  width: 8%;
}

.table-sheet-skills th:nth-child(5),
.table-sheet-skills td:nth-child(5) {
  width: 10%;
}

.table-sheet-skills th:nth-child(6),
.table-sheet-skills td:nth-child(6) {
  width: 6%;
  text-align: center;
}

.table-sheet-skills th:nth-child(7),
.table-sheet-skills td:nth-child(7) {
  width: 7%;
  text-align: center;
}

.table-sheet-skills th:nth-child(8),
.table-sheet-skills td:nth-child(8) {
  width: 40%;
  min-width: 0;
}

.table-sheet-skills th,
.table-sheet-skills td {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media print {
  .table-sheet .table-section h3,
  .table-sheet .table-regular-skills h3 {
    color: #000000 !important;
  }

  .table-sheet-skills th:nth-child(1),
  .table-sheet-skills td:nth-child(1) {
    width: 15%;
  }

  .table-sheet-skills th:nth-child(2),
  .table-sheet-skills td:nth-child(2) {
    width: 5%;
  }

  .table-sheet-skills th:nth-child(3),
  .table-sheet-skills td:nth-child(3) {
    width: 9%;
  }

  .table-sheet-skills th:nth-child(4),
  .table-sheet-skills td:nth-child(4) {
    width: 8%;
  }

  .table-sheet-skills th:nth-child(5),
  .table-sheet-skills td:nth-child(5) {
    width: 10%;
  }

  .table-sheet-skills th:nth-child(6),
  .table-sheet-skills td:nth-child(6) {
    width: 6%;
  }

  .table-sheet-skills th:nth-child(7),
  .table-sheet-skills td:nth-child(7) {
    width: 7%;
  }

  .table-sheet-skills th:nth-child(8),
  .table-sheet-skills td:nth-child(8) {
    width: 40%;
  }
}


/* V10.9.9 Table Sheet Slots Role Fix */
.table-sheet-skills th:nth-child(7),
.table-sheet-skills td:nth-child(7) {
  width: 6%;
}
.table-sheet-skills th:nth-child(8),
.table-sheet-skills td:nth-child(8) {
  width: 41%;
}


/* V10.10.0 Table Sheet Full Width Sections */
.table-human-skills,
.table-augments {
  width: 100%;
}

.table-sheet-augments {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.table-sheet-augments th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  white-space: nowrap;
}

.table-sheet-augments td {
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: normal;
}

.table-sheet-augments th:nth-child(1),
.table-sheet-augments td:nth-child(1) {
  width: 16%;
  font-weight: 700;
}

.table-sheet-augments th:nth-child(2),
.table-sheet-augments td:nth-child(2) {
  width: 6%;
  text-align: center;
}

.table-sheet-augments th:nth-child(3),
.table-sheet-augments td:nth-child(3) {
  width: 6%;
  text-align: center;
}

.table-sheet-augments th:nth-child(4),
.table-sheet-augments td:nth-child(4) {
  width: 43%;
}

.table-sheet-augments th:nth-child(5),
.table-sheet-augments td:nth-child(5) {
  width: 29%;
}

@media print {
  .table-sheet-augments th {
    font-size: 8pt;
  }

  .table-sheet-augments td {
    font-size: 8.5pt;
  }
}


/* V10.10.1 Table Sheet Faction Skills */
.table-faction-skills {
  width: 100%;
}

.table-bottom-grid {
  align-items: stretch;
}

.table-bottom-grid .table-section {
  min-height: 160px;
}

.table-bottom-grid .table-background div {
  font-size: 13px;
  line-height: 1.35;
}

@media print {
  .table-bottom-grid .table-background div {
    font-size: 8.5pt;
    line-height: 1.25;
  }
}


/* V10.10.2 Table Sheet Human Inherent Removal */
/* Human inherent skills remain in the Regular Skills table and no longer render as a duplicate Table Sheet section. */


/* V10.10.4 Table Sheet Print Widths */
@media print {
  @page {
    margin: 0.35in;
  }

  .table-sheet-skills th:nth-child(2),
  .table-sheet-skills td:nth-child(2) {
    width: 6%;
    text-align: center;
  }

  .table-sheet-skills th:nth-child(6),
  .table-sheet-skills td:nth-child(6) {
    width: 8%;
    text-align: center;
  }

  .table-sheet-skills th:nth-child(8),
  .table-sheet-skills td:nth-child(8) {
    width: 38%;
  }

  .table-sheet-augments th:nth-child(2),
  .table-sheet-augments td:nth-child(2) {
    width: 7%;
    text-align: center;
  }

  .table-sheet-augments th:nth-child(4),
  .table-sheet-augments td:nth-child(4) {
    width: 42%;
  }
}


/* V10.10.5 Table Sheet Slots Width */
.table-sheet-skills th:nth-child(2),
.table-sheet-skills td:nth-child(2) {
  width: 4%;
  text-align: center;
}

.table-sheet-skills th:nth-child(7),
.table-sheet-skills td:nth-child(7) {
  width: 8%;
  text-align: center;
}

.table-sheet-skills th:nth-child(8),
.table-sheet-skills td:nth-child(8) {
  width: 39%;
}

.table-sheet-augments th:nth-child(2),
.table-sheet-augments td:nth-child(2) {
  width: 5%;
  text-align: center;
}

.table-sheet-augments th:nth-child(3),
.table-sheet-augments td:nth-child(3) {
  width: 8%;
  text-align: center;
}

@media print {
  .table-sheet-skills th:nth-child(2),
  .table-sheet-skills td:nth-child(2) {
    width: 4%;
  }

  .table-sheet-skills th:nth-child(7),
  .table-sheet-skills td:nth-child(7) {
    width: 8%;
  }

  .table-sheet-skills th:nth-child(8),
  .table-sheet-skills td:nth-child(8) {
    width: 39%;
  }

  .table-sheet-augments th:nth-child(2),
  .table-sheet-augments td:nth-child(2) {
    width: 5%;
  }

  .table-sheet-augments th:nth-child(3),
  .table-sheet-augments td:nth-child(3) {
    width: 8%;
  }
}


/* V10.10.6 Table Sheet Logo + Name */
.table-sheet-identity {
  flex: 1 1 auto;
  min-width: 0;
}

.table-sheet-header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

.table-sheet-brand {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.table-sheet-brand img {
  display: block;
  max-width: 220px;
  width: 220px;
  height: auto;
}

.table-sheet-header h2 {
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: 0.2px;
}

.table-sheet-codename {
  font-size: 14px;
}

@media print {
  .table-sheet-actions {
    display: none !important;
  }

  .table-sheet {
    box-shadow: none;
    border-radius: 0;
  }

  .table-sheet-header {
    align-items: flex-start;
    gap: 10px;
  }

  .table-sheet-header h2 {
    font-size: 44px;
    line-height: 1;
    margin-bottom: 6px;
  }

  .table-sheet-codename {
    font-size: 14pt;
  }

  .table-sheet-brand img {
    max-width: 180px;
    width: 180px;
  }
}


/* V10.10.7 Table Sheet Logo Placement */
.table-sheet-header {
  align-items: center;
}

.table-sheet-identity {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

.table-sheet-codename {
  white-space: nowrap;
  font-size: 14px;
}

.table-sheet-header-right {
  align-items: flex-end;
  gap: 6px;
}

.table-sheet-brand img {
  max-width: 110px;
  width: 110px;
}

@media print {
  .table-sheet-header {
    align-items: center;
    gap: 12px;
  }

  .table-sheet-identity {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
  }

  .table-sheet-header h2 {
    font-size: 42px;
    line-height: 0.95;
    margin-bottom: 0;
  }

  .table-sheet-codename {
    font-size: 12pt;
    white-space: nowrap;
  }

  .table-sheet-brand img {
    max-width: 90px;
    width: 90px;
  }
}


/* V10.10.8 Table Sheet Header Layout */
.table-sheet-header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}

.table-sheet-toprow {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.table-sheet-toprow .table-sheet-actions {
  flex: 1 1 auto;
}

.table-sheet-toprow .table-sheet-brand {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.table-sheet-identity-stacked {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.table-sheet-identity-stacked h2 {
  margin-bottom: 0;
}

.table-sheet-identity-stacked .table-sheet-codename {
  white-space: normal;
}

@media print {
  .table-sheet-header {
    gap: 8px;
  }

  .table-sheet-toprow {
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0;
  }

  .table-sheet-toprow .table-sheet-actions {
    display: none !important;
  }

  .table-sheet-toprow .table-sheet-brand {
    width: 100%;
    justify-content: flex-end;
  }

  .table-sheet-identity-stacked {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .table-sheet-identity-stacked h2 {
    margin: 0;
  }

  .table-sheet-identity-stacked .table-sheet-codename {
    margin: 0;
  }
}


/* V10.10.8 Logo Size Increase */
.table-sheet-brand img {
  max-width: 165px;
  width: 165px;
}

@media print {
  .table-sheet-brand img {
    max-width: 135px;
    width: 135px;
  }
}


/* V10.10.9 Table Sheet Box Spacing */
.table-sheet > .table-grid,
.table-sheet > .table-section {
  margin-top: 12px;
}

.table-sheet > .table-grid:first-of-type,
.table-sheet > .table-section:first-of-type {
  margin-top: 0;
}

.table-sheet .table-grid {
  gap: 12px;
}

.table-sheet .table-section {
  box-sizing: border-box;
}

@media print {
  .table-sheet > .table-grid,
  .table-sheet > .table-section {
    margin-top: 10px;
  }

  .table-sheet .table-grid {
    gap: 10px;
  }
}


/* V10.11.0 Table Sheet Light Box Fill */
.table-sheet .table-card,
.table-sheet .table-section {
  background: #f5f5f5;
}

.table-sheet .table-section table,
.table-sheet .table-section tbody,
.table-sheet .table-section thead,
.table-sheet .table-section tr,
.table-sheet .table-sheet-skills,
.table-sheet .table-sheet-augments {
  background: transparent;
}

.table-sheet {
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

@media print {
  .table-sheet .table-card,
  .table-sheet .table-section {
    background: #f5f5f5 !important;
  }
}


/* V10.11.1 Table Sheet White Background */
.table-sheet {
  background: #ffffff;
}

.table-sheet-header,
.table-sheet-toprow,
.table-sheet-identity,
.table-sheet-identity-stacked,
.table-sheet-header-right,
.table-sheet-brand,
.table-sheet .table-grid,
.table-sheet .table-bottom-grid {
  background: #ffffff;
}

@media print {
  html,
  body,
  .page,
  .sheet,
  #characterSheet,
  .table-sheet {
    background: #ffffff !important;
  }

  .table-sheet-header,
  .table-sheet-toprow,
  .table-sheet-identity,
  .table-sheet-identity-stacked,
  .table-sheet-header-right,
  .table-sheet-brand,
  .table-sheet .table-grid,
  .table-sheet .table-bottom-grid {
    background: #ffffff !important;
  }

  .table-sheet .table-card,
  .table-sheet .table-section {
    background: #f5f5f5 !important;
  }
}


/* V10.15.0 Table Sheet Column Width Fixes */

/* Fix: the Augments table gained a CP Cost column (V10.13.0) but its column
   widths were never updated, so the old "Description" width (43%) was
   silently landing on "Slots" instead, making Slots far too wide. This
   block is the authoritative width set for all 6 current columns:
   Augment | Level | CP | Slots | Description | Side Effect. Slots now
   matches Level and CP, as requested, freeing that space for the two text
   columns. */
.table-sheet-augments th:nth-child(1),
.table-sheet-augments td:nth-child(1) {
  width: 15%;
}

.table-sheet-augments th:nth-child(2),
.table-sheet-augments td:nth-child(2) {
  width: 5%;
  text-align: center;
}

.table-sheet-augments th:nth-child(3),
.table-sheet-augments td:nth-child(3) {
  width: 6%;
  text-align: center;
}

.table-sheet-augments th:nth-child(4),
.table-sheet-augments td:nth-child(4) {
  width: 6%;
  text-align: center;
}

.table-sheet-augments th:nth-child(5),
.table-sheet-augments td:nth-child(5) {
  width: 39%;
}

.table-sheet-augments th:nth-child(6),
.table-sheet-augments td:nth-child(6) {
  width: 29%;
}

@media print {
  .table-sheet-augments th:nth-child(1),
  .table-sheet-augments td:nth-child(1) {
    width: 15%;
  }

  .table-sheet-augments th:nth-child(2),
  .table-sheet-augments td:nth-child(2) {
    width: 5%;
  }

  .table-sheet-augments th:nth-child(3),
  .table-sheet-augments td:nth-child(3) {
    width: 6%;
  }

  .table-sheet-augments th:nth-child(4),
  .table-sheet-augments td:nth-child(4) {
    width: 6%;
  }

  .table-sheet-augments th:nth-child(5),
  .table-sheet-augments td:nth-child(5) {
    width: 39%;
  }

  .table-sheet-augments th:nth-child(6),
  .table-sheet-augments td:nth-child(6) {
    width: 29%;
  }
}

/* Special Gear table: Item | Qty | Category | Effect | Use | Duration.
   Item, Qty, and Category are narrowed substantially so Effect gets most
   of the row. */
.table-sheet-specialgear {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.table-sheet-specialgear th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  white-space: nowrap;
}

.table-sheet-specialgear td {
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: normal;
}

.table-sheet-specialgear th:nth-child(1),
.table-sheet-specialgear td:nth-child(1) {
  width: 12%;
  font-weight: 700;
}

.table-sheet-specialgear th:nth-child(2),
.table-sheet-specialgear td:nth-child(2) {
  width: 5%;
  text-align: center;
}

.table-sheet-specialgear th:nth-child(3),
.table-sheet-specialgear td:nth-child(3) {
  width: 10%;
}

.table-sheet-specialgear th:nth-child(4),
.table-sheet-specialgear td:nth-child(4) {
  width: 48%;
}

.table-sheet-specialgear th:nth-child(5),
.table-sheet-specialgear td:nth-child(5) {
  width: 5%;
  text-align: center;
}

.table-sheet-specialgear th:nth-child(6),
.table-sheet-specialgear td:nth-child(6) {
  width: 20%;
}

@media print {
  .table-sheet-specialgear th {
    font-size: 8pt;
  }

  .table-sheet-specialgear td {
    font-size: 8.5pt;
  }
}

/* Shield table: Shield | Shield HP | Description (Chip ID column removed).
   Shield and Shield HP are narrowed so Description gets most of the row. */
.table-sheet-shield {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.table-sheet-shield th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  white-space: nowrap;
}

.table-sheet-shield td {
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: normal;
}

.table-sheet-shield th:nth-child(1),
.table-sheet-shield td:nth-child(1) {
  width: 15%;
  font-weight: 700;
}

.table-sheet-shield th:nth-child(2),
.table-sheet-shield td:nth-child(2) {
  width: 10%;
  text-align: center;
}

.table-sheet-shield th:nth-child(3),
.table-sheet-shield td:nth-child(3) {
  width: 75%;
}

@media print {
  .table-sheet-shield th {
    font-size: 8pt;
  }

  .table-sheet-shield td {
    font-size: 8.5pt;
  }
}


/* V10.16.0 Table Sheet Weapon/Armor Column Width Fixes */

/* Weapon table: Weapon | Type | Damage | Damage Type | Shots | Range |
   Description. Was pure auto-layout (no width rules existed at all), which
   let short-header columns like Type and Damage Type balloon. Description
   is now clearly the widest column. */
.table-sheet-weapon {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.table-sheet-weapon th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  white-space: nowrap;
}

.table-sheet-weapon td {
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: normal;
}

.table-sheet-weapon th:nth-child(1),
.table-sheet-weapon td:nth-child(1) {
  width: 12%;
  font-weight: 700;
}

.table-sheet-weapon th:nth-child(2),
.table-sheet-weapon td:nth-child(2) {
  width: 7%;
  text-align: center;
}

.table-sheet-weapon th:nth-child(3),
.table-sheet-weapon td:nth-child(3) {
  width: 8%;
  text-align: center;
}

.table-sheet-weapon th:nth-child(4),
.table-sheet-weapon td:nth-child(4) {
  width: 9%;
  text-align: center;
}

.table-sheet-weapon th:nth-child(5),
.table-sheet-weapon td:nth-child(5) {
  width: 5%;
  text-align: center;
}

.table-sheet-weapon th:nth-child(6),
.table-sheet-weapon td:nth-child(6) {
  width: 7%;
  text-align: center;
}

.table-sheet-weapon th:nth-child(7),
.table-sheet-weapon td:nth-child(7) {
  width: 52%;
}

@media print {
  .table-sheet-weapon th {
    font-size: 8pt;
  }

  .table-sheet-weapon td {
    font-size: 8.5pt;
  }
}

/* Armor table: Armor | Type | DR | Move Penalty | Dodge Mod | Description.
   Same fix: was pure auto-layout, letting Type/DR/Move Penalty/Dodge Mod
   crowd out Description. Description is now clearly the widest column. */
.table-sheet-armor {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.table-sheet-armor th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  white-space: nowrap;
}

.table-sheet-armor td {
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: normal;
}

.table-sheet-armor th:nth-child(1),
.table-sheet-armor td:nth-child(1) {
  width: 14%;
  font-weight: 700;
}

.table-sheet-armor th:nth-child(2),
.table-sheet-armor td:nth-child(2) {
  width: 9%;
  text-align: center;
}

.table-sheet-armor th:nth-child(3),
.table-sheet-armor td:nth-child(3) {
  width: 6%;
  text-align: center;
}

.table-sheet-armor th:nth-child(4),
.table-sheet-armor td:nth-child(4) {
  width: 10%;
  text-align: center;
}

.table-sheet-armor th:nth-child(5),
.table-sheet-armor td:nth-child(5) {
  width: 8%;
  text-align: center;
}

.table-sheet-armor th:nth-child(6),
.table-sheet-armor td:nth-child(6) {
  width: 53%;
}

@media print {
  .table-sheet-armor th {
    font-size: 8pt;
  }

  .table-sheet-armor td {
    font-size: 8.5pt;
  }
}


/* V10.17.0 Full Table Sheet Column Width Audit */

/* Full re-audit of every table on the Table Sheet, per explicit request:
   Weapon, Armor, Shield, Special Gear, Augments were already fixed in
   V10.15.0/V10.16.0. This pass found one more real bug: Faction Skills
   (6 columns) was still sharing Regular Skills' class (8 columns), which
   silently squeezed Faction Skills' Description column down to 6% width
   (it was inheriting the width meant for Regular Skills' "CP Cost" column).
   Faction Skills now gets its own fully independent class instead of
   sharing one, matching every other table on the sheet. Regular Skills'
   own widths (below) are also cleaned up to sum to an exact 100%. */

.table-sheet-factionskills {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.table-sheet-factionskills th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  white-space: nowrap;
}

.table-sheet-factionskills td {
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: normal;
}

.table-sheet-factionskills th:nth-child(1),
.table-sheet-factionskills td:nth-child(1) {
  width: 15%;
  font-weight: 700;
}

.table-sheet-factionskills th:nth-child(2),
.table-sheet-factionskills td:nth-child(2) {
  width: 5%;
  text-align: center;
}

.table-sheet-factionskills th:nth-child(3),
.table-sheet-factionskills td:nth-child(3) {
  width: 12%;
}

.table-sheet-factionskills th:nth-child(4),
.table-sheet-factionskills td:nth-child(4) {
  width: 14%;
}

.table-sheet-factionskills th:nth-child(5),
.table-sheet-factionskills td:nth-child(5) {
  width: 6%;
  text-align: center;
}

.table-sheet-factionskills th:nth-child(6),
.table-sheet-factionskills td:nth-child(6) {
  width: 48%;
}

@media print {
  .table-sheet-factionskills th {
    font-size: 8pt;
  }

  .table-sheet-factionskills td {
    font-size: 8.5pt;
  }
}

/* Regular Skills: final authoritative widths (Skill | LVL | Type | State |
   Source | CP Cost | Slots | Description), replacing the scattered partial
   overrides from V10.9.8 through V10.10.5 with one set that sums cleanly
   to 100%. Description remains the clearly largest column. This class is
   now used only by Regular Skills. */
.table-sheet-skills th:nth-child(1),
.table-sheet-skills td:nth-child(1) {
  width: 15%;
}

.table-sheet-skills th:nth-child(2),
.table-sheet-skills td:nth-child(2) {
  width: 4%;
  text-align: center;
}

.table-sheet-skills th:nth-child(3),
.table-sheet-skills td:nth-child(3) {
  width: 9%;
}

.table-sheet-skills th:nth-child(4),
.table-sheet-skills td:nth-child(4) {
  width: 8%;
}

.table-sheet-skills th:nth-child(5),
.table-sheet-skills td:nth-child(5) {
  width: 10%;
}

.table-sheet-skills th:nth-child(6),
.table-sheet-skills td:nth-child(6) {
  width: 6%;
  text-align: center;
}

.table-sheet-skills th:nth-child(7),
.table-sheet-skills td:nth-child(7) {
  width: 8%;
  text-align: center;
}

.table-sheet-skills th:nth-child(8),
.table-sheet-skills td:nth-child(8) {
  width: 40%;
}

@media print {
  .table-sheet-skills th:nth-child(1),
  .table-sheet-skills td:nth-child(1) {
    width: 15%;
  }

  .table-sheet-skills th:nth-child(2),
  .table-sheet-skills td:nth-child(2) {
    width: 4%;
  }

  .table-sheet-skills th:nth-child(3),
  .table-sheet-skills td:nth-child(3) {
    width: 9%;
  }

  .table-sheet-skills th:nth-child(4),
  .table-sheet-skills td:nth-child(4) {
    width: 8%;
  }

  .table-sheet-skills th:nth-child(5),
  .table-sheet-skills td:nth-child(5) {
    width: 10%;
  }

  .table-sheet-skills th:nth-child(6),
  .table-sheet-skills td:nth-child(6) {
    width: 6%;
  }

  .table-sheet-skills th:nth-child(7),
  .table-sheet-skills td:nth-child(7) {
    width: 8%;
  }

  .table-sheet-skills th:nth-child(8),
  .table-sheet-skills td:nth-child(8) {
    width: 40%;
  }
}


/* V10.19.0 How To Use Guide Refresh */
.guide-intro {
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 4px;
}

.guide-toc {
  background: #f7f5ee !important;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}

.guide-toc h2 {
  margin-top: 0;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.guide-toc-columns {
  columns: 2;
  column-gap: 28px;
}

.guide-toc-columns a {
  display: block;
  padding: 3px 0;
  color: #1a3d8f !important;
  text-decoration: none;
  break-inside: avoid;
  font-size: 13px;
}

.guide-toc-columns a:hover {
  text-decoration: underline;
}

.guide-page h2 {
  border-bottom: 2px solid #1a3d8f;
  padding-bottom: 6px;
}

.guide-chapter-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b6355 !important;
  margin-bottom: 2px;
}

.guide-callout {
  border-left: 4px solid #1a3d8f;
  background: #eef2fb !important;
  border-radius: 6px;
  padding: 10px 14px;
  margin: 10px 0;
}

.guide-callout p:last-child,
.guide-warning p:last-child {
  margin-bottom: 0;
}

.guide-warning {
  border-left: 4px solid #9e2c2c;
  background: #fbecec !important;
  border-radius: 6px;
  padding: 10px 14px;
  margin: 10px 0;
}

.guide-badge {
  display: inline-block;
  background: #1a3d8f !important;
  color: #ffffff !important;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  border-radius: 999px;
  margin-left: 6px;
  vertical-align: middle;
}

.guide-back-to-top {
  display: inline-block;
  margin-top: 10px;
  font-size: 12px;
  color: #1a3d8f !important;
  text-decoration: none;
}

.guide-back-to-top:hover {
  text-decoration: underline;
}

.guide-rank-ladder {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0;
}

.guide-rank-ladder th,
.guide-rank-ladder td {
  border: 1px solid rgba(0, 0, 0, 0.18);
  padding: 6px 10px;
  text-align: left;
  font-size: 13px;
}

.guide-rank-ladder th {
  background: #f2f2f2 !important;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.03em;
}

@media print {
  .guide-toc {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .guide-callout,
  .guide-warning,
  .guide-rank-ladder {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .guide-callout {
    border-left-color: #000000 !important;
  }

  .guide-warning {
    border-left-color: #000000 !important;
  }

  .guide-back-to-top {
    display: none;
  }
}
