:root {
  --system-admin-accent: #1f7a6c;
  --system-admin-accent-dark: #173f38;
  --system-admin-action-bg: #eaf4f7;
  --system-admin-action-border: #a7cbd6;
  --system-admin-action-text: #2c5f6f;
  --system-admin-action-hover-bg: #d8edf3;
  --system-admin-action-hover-border: #8ebdca;
  --system-admin-action-hover-text: #214f5e;
  --system-admin-border: #c8d3db;
  --system-admin-border-soft: #d8e1e7;
  --system-admin-cell-border: #d4dee5;
  --system-admin-danger: #8f3434;
  --system-admin-danger-bg: #f8eeee;
  --system-admin-danger-border: #e3bcbc;
  --system-admin-danger-dark: #7f2f2f;
  --system-admin-danger-hover-bg: #f1dddd;
  --system-admin-danger-hover-border: #d9a6a6;
  --system-admin-field-focus: rgba(31, 122, 108, 0.16);
  --system-admin-header-bg: #eef6f3;
  --system-admin-header-border: #c4d7d1;
  --system-admin-muted: #5b6b76;
  --system-admin-page-max-width: 1320px;
  --system-admin-row-action-icon-size: 16px;
  --system-admin-row-action-size: 30px;
  --system-admin-workbar-neutral: #edf3f6;
  --system-admin-workbar-neutral-border: #c6d5dd;
  --system-admin-workbar-neutral-text: #3f5664;
  --system-admin-workbar-neutral-hover-bg: #e0ebf0;
  --system-admin-workbar-neutral-hover-border: #b4c8d2;
  --system-admin-surface: #ffffff;
  --system-admin-table-header-bg: #f5f8fa;
  --system-admin-text: #22313b;
}

.system-admin-page main[class$="-main"] {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 auto;
  max-width: var(--system-admin-page-max-width);
  min-width: 0;
  padding: 18px 20px 96px;
  width: 100%;
}

.system-admin-page [class$="-workbar"] {
  align-items: center;
  background: var(--system-admin-surface);
  border: 1px solid var(--system-admin-border-soft);
  border-radius: 8px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  min-width: 0;
  padding: 12px;
  width: 100%;
}

.system-admin-page [class$="-workbar"] > [class$="-filters"],
.system-admin-page [class$="-workbar"] > [class$="-actions"],
.system-admin-page [class$="-actions"] > [class$="-summary"] {
  align-items: end;
  display: flex;
  gap: 8px;
  min-width: 0;
}

.system-admin-page [class$="-workbar"] > [class$="-filters"] {
  flex-wrap: wrap;
}

.system-admin-page [class$="-workbar"] > [class$="-actions"] {
  margin-left: auto;
}

.system-admin-page [class$="-actions"] > [class$="-summary"] {
  align-items: center;
  flex: 0 0 auto;
}

.system-admin-page [class$="-metric"] {
  align-items: center;
  background: var(--system-admin-table-header-bg);
  border: 1px solid var(--system-admin-border-soft);
  border-radius: 6px;
  display: flex;
  gap: 10px;
  min-height: 40px;
  padding: 8px 12px;
}

.system-admin-page [class$="-metric"] span,
.system-admin-page [class$="-search"] span,
.system-admin-page [class$="-filter"] span {
  color: var(--system-admin-muted);
  font-size: 12px;
  font-weight: 700;
}

.system-admin-page [class$="-metric"] strong {
  color: #1d2b34;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
}

.system-admin-page [class$="-search"],
.system-admin-page [class$="-filter"] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.system-admin-page [class$="-search"] input,
.system-admin-page [class$="-filter"] input,
.system-admin-page [class$="-filter"] select {
  background: var(--system-admin-surface);
  border: 1px solid var(--system-admin-border);
  border-radius: 6px;
  color: #1f2d36;
  font-size: 14px;
  min-height: 38px;
  padding: 8px 10px;
}

.system-admin-page [class$="-search"] input {
  width: 260px;
}

.system-admin-page [class$="-search"] input:focus,
.system-admin-page [class$="-filter"] input:focus,
.system-admin-page [class$="-filter"] select:focus,
.system-admin-page label[class*="-field"] input:focus,
.system-admin-page label[class*="-field"] select:focus,
.system-admin-page label[class*="-field"] textarea:focus {
  border-color: var(--system-admin-accent);
  box-shadow: 0 0 0 3px var(--system-admin-field-focus);
  outline: none;
}

.system-admin-page [class$="-icon-button"] {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  height: 38px;
  justify-content: center;
  min-height: 38px;
  padding: 0;
  width: 38px;
}

.system-admin-page [class$="-icon-button"] svg,
.system-admin-page [class*="-row-button"] svg,
.system-admin-page [class*="-remove-button"] svg,
.system-admin-page [class$="-dialog-close"] svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.system-admin-page [class$="-icon-button"] svg {
  height: 18px;
  width: 18px;
}

.system-admin-page [data-system-admin-action] {
  border-radius: 6px;
}

.system-admin-page button[data-system-admin-action="create"],
.system-admin-page button[data-system-admin-action="save"] {
  background: var(--system-admin-action-bg) !important;
  border-color: var(--system-admin-action-border) !important;
  color: var(--system-admin-action-text) !important;
}

.system-admin-page button[data-system-admin-action="create"]:hover:not(:disabled),
.system-admin-page button[data-system-admin-action="save"]:hover:not(:disabled) {
  background: var(--system-admin-action-hover-bg) !important;
  border-color: var(--system-admin-action-hover-border) !important;
  color: var(--system-admin-action-hover-text) !important;
}

.system-admin-page button[data-system-admin-action="reload"] {
  background: var(--system-admin-workbar-neutral) !important;
  border-color: var(--system-admin-workbar-neutral-border) !important;
  color: var(--system-admin-workbar-neutral-text) !important;
}

.system-admin-page button[data-system-admin-action="reload"]:hover:not(:disabled) {
  background: var(--system-admin-workbar-neutral-hover-bg) !important;
  border-color: var(--system-admin-workbar-neutral-hover-border) !important;
  color: var(--system-admin-workbar-neutral-text) !important;
}

.system-admin-page button[data-system-admin-action]:disabled {
  background: #a7b2bc;
  border-color: #98a4ae;
  color: #ffffff;
  cursor: not-allowed;
}

.system-admin-page [class$="-table-section"] {
  background: var(--system-admin-surface);
  border: 1px solid var(--system-admin-border);
  border-radius: 8px;
  box-sizing: border-box;
  min-width: 0;
  overflow: hidden;
  width: 100%;
}

.system-admin-page [class$="-section-header"] {
  align-items: center;
  background: var(--system-admin-header-bg);
  border-bottom: 1px solid var(--system-admin-header-border);
  display: flex;
  justify-content: space-between;
  padding: 14px 16px;
}

.system-admin-page [class$="-section-header"] h2 {
  align-items: center;
  color: var(--system-admin-accent-dark);
  display: flex;
  font-size: 17px;
  gap: 8px;
  margin: 0;
}

.system-admin-page [class$="-section-header"] h2::before,
.system-admin-page [class$="-dialog-header"] h2::before {
  background: var(--system-admin-accent);
  border-radius: 999px;
  content: "";
  display: inline-block;
  height: 18px;
  width: 4px;
}

.system-admin-page [class$="-table-wrap"],
.system-admin-page [class$="-lot-table-wrap"] {
  box-sizing: border-box;
  min-width: 0;
  overflow-x: auto;
  width: 100%;
}

.system-admin-page table[class*="system-"][class*="-table"] {
  border-collapse: collapse;
  box-sizing: border-box;
  table-layout: fixed;
  width: 100%;
}

.system-admin-page table[class*="system-"][class*="-table"] th,
.system-admin-page table[class*="system-"][class*="-table"] td {
  border-bottom: 1px solid var(--system-admin-cell-border);
  padding: 10px 12px;
  text-align: center;
  vertical-align: middle;
}

.system-admin-page table[class*="system-"][class*="-table"] th:not(:last-child),
.system-admin-page table[class*="system-"][class*="-table"] td:not(:last-child) {
  border-right: 1px solid var(--system-admin-cell-border);
}

.system-admin-page table[class*="system-"][class*="-table"] th {
  background: var(--system-admin-table-header-bg);
  color: #4f606c;
  font-size: 12px;
  font-weight: 800;
  position: static;
  top: auto;
  white-space: nowrap;
  z-index: auto;
}

.system-admin-page table[class*="system-"][class*="-table"] td {
  color: var(--system-admin-text);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.system-admin-page [class*="-badge"],
.system-admin-page [class*="-chip"] {
  align-items: center;
  background: #eef3f6;
  border: 1px solid #cfdbe3;
  border-radius: 999px;
  color: #41525e;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  min-height: 26px;
  padding: 6px 9px;
  white-space: nowrap;
}

.system-admin-page [class*="-badge"].is-active,
.system-admin-page [class*="-badge"].is-organization,
.system-admin-page [class*="-badge"].is-grade,
.system-admin-page [class*="-badge"].is-holiday,
.system-admin-page [class*="-badge"].is-leave,
.system-admin-page [class*="-badge"].is-probation,
.system-admin-page [class*="-badge"].is-training,
.system-admin-page [class*="-chip"].is-primary,
.system-admin-page [class*="-chip"].is-auth-active {
  background: #e8f5f1;
  border-color: #9ccfc0;
  color: #166657;
}

.system-admin-page [class*="-badge"].is-retired,
.system-admin-page [class*="-badge"].is-inactive,
.system-admin-page [class*="-badge"].is-ended,
.system-admin-page [class*="-chip"].is-auth-inactive {
  background: #f6eeee;
  border-color: #e1bcbc;
  color: #8b3434;
}

.system-admin-page [class*="-badge"].is-special,
.system-admin-page [class*="-badge"].is-work-type {
  background: #eaf2fb;
  border-color: #b7cfe8;
  color: #275b7e;
}

.system-admin-page [class*="-badge"].is-planned,
.system-admin-page [class*="-badge"].is-suspension,
.system-admin-page [class*="-chip"].is-concurrent,
.system-admin-page [class*="-chip"].is-auth-warning {
  background: #fff6df;
  border-color: #e7cf8e;
  color: #7c5b11;
}

.system-admin-page [class*="-row-button"],
.system-admin-page [class*="-remove-button"] {
  align-items: center;
  background: var(--system-admin-action-bg);
  border: 1px solid var(--system-admin-action-border);
  border-radius: 6px;
  box-sizing: border-box;
  color: var(--system-admin-action-text);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  height: var(--system-admin-row-action-size);
  justify-content: center;
  min-height: var(--system-admin-row-action-size);
  padding: 0;
  width: var(--system-admin-row-action-size);
}

.system-admin-page [class*="-row-actions"] {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  justify-content: center;
}

.system-admin-page [class*="-row-button"] svg,
.system-admin-page [class*="-remove-button"] svg {
  height: var(--system-admin-row-action-icon-size);
  width: var(--system-admin-row-action-icon-size);
}

.system-admin-page [class*="-row-button"]:hover:not(:disabled),
.system-admin-page [class*="-remove-button"]:hover:not(:disabled) {
  background: var(--system-admin-action-hover-bg);
  border-color: var(--system-admin-action-hover-border);
  color: var(--system-admin-action-hover-text);
}

.system-admin-page [class*="-row-button"].is-danger,
.system-admin-page [class*="-remove-button"].is-danger {
  background: var(--system-admin-danger-bg);
  border-color: var(--system-admin-danger-border);
  color: var(--system-admin-danger);
}

.system-admin-page [class*="-row-button"].is-danger:hover:not(:disabled),
.system-admin-page [class*="-remove-button"].is-danger:hover:not(:disabled) {
  background: var(--system-admin-danger-hover-bg);
  border-color: var(--system-admin-danger-hover-border);
  color: var(--system-admin-danger-dark);
}

.system-admin-page [class*="-row-button"]:disabled,
.system-admin-page [class*="-remove-button"]:disabled {
  background: #f5f8fa;
  border-color: #e0e7ec;
  color: #9aa8b1;
  cursor: not-allowed;
}

.system-admin-page dialog[class*="-dialog"] {
  border: 1px solid var(--system-admin-border);
  border-radius: 8px;
  box-shadow: 0 22px 70px rgba(24, 36, 44, 0.28);
  color: var(--system-admin-text);
  padding: 0;
}

.system-admin-page dialog[class*="-dialog"]::backdrop {
  background: rgba(18, 28, 35, 0.42);
}

.system-admin-page dialog[class*="-dialog"] form {
  display: flex;
  flex-direction: column;
  margin: 0;
  max-height: min(88vh, 760px);
}

.system-admin-page [class$="-dialog-header"],
.system-admin-page [class$="-dialog-footer"] {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 14px 16px;
}

.system-admin-page [class$="-dialog-header"] {
  background: var(--system-admin-header-bg);
  border-bottom: 1px solid #d3e4df;
  border-radius: 8px 8px 0 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.system-admin-page [class$="-dialog-header"] h2 {
  align-items: center;
  color: var(--system-admin-accent-dark);
  display: flex;
  font-size: 17px;
  gap: 8px;
  margin: 0;
}

.system-admin-page [class$="-dialog-header"] p {
  color: var(--system-admin-muted);
  font-size: 13px;
  margin: 4px 0 0;
}

.system-admin-page [class$="-dialog-close"] {
  align-items: center;
  background: var(--system-admin-workbar-neutral);
  border: 1px solid var(--system-admin-workbar-neutral-border);
  border-radius: 6px;
  color: var(--system-admin-workbar-neutral-text);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  height: 34px;
  justify-content: center;
  min-height: 34px;
  padding: 0;
  width: 34px;
}

.system-admin-page [class$="-dialog-close"]:hover {
  background: var(--system-admin-workbar-neutral-hover-bg);
  border-color: var(--system-admin-workbar-neutral-hover-border);
  color: var(--system-admin-workbar-neutral-text);
}

.system-admin-page [class$="-dialog-close"]:focus-visible {
  border-color: var(--system-admin-workbar-neutral-hover-border);
  box-shadow: 0 0 0 3px rgba(63, 86, 100, 0.16);
  outline: none;
}

.system-admin-page [class$="-dialog-close"] svg {
  height: 17px;
  width: 17px;
}

.system-admin-page [class$="-dialog-footer"] {
  border-top: 1px solid #edf1f4;
  justify-content: flex-end;
}

.system-admin-page [class$="-dialog-footer"] .status,
.system-admin-page [class$="-workbar"] [class$="-actions"] .status {
  align-items: center;
  background: #eef3f6;
  border: 1px solid #cfdbe3;
  border-radius: 999px;
  color: #41525e;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  margin: 0;
  max-width: min(360px, 58vw);
  min-height: 28px;
  overflow: hidden;
  padding: 6px 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.system-admin-page [class$="-dialog-footer"] .status.error,
.system-admin-page [class$="-workbar"] [class$="-actions"] .status.error {
  background: var(--system-admin-danger-bg);
  border-color: var(--system-admin-danger-border);
  color: #9a3027;
}

.system-admin-page [class$="-dialog-body"] {
  overflow: auto;
}

.system-admin-page label[class*="-field"],
.system-admin-page label[class*="-toggle"] {
  color: #4c5965;
  font-size: 12px;
  font-weight: 700;
}

.system-admin-page label[class*="-field"] input,
.system-admin-page label[class*="-field"] select,
.system-admin-page label[class*="-field"] textarea {
  background: var(--system-admin-surface);
  border: 1px solid var(--system-admin-border);
  border-radius: 6px;
  color: #1f2d36;
  font-size: 14px;
  min-height: 38px;
  padding: 8px 10px;
}

.system-admin-page label[class*="-field"] textarea {
  min-height: 92px;
  resize: vertical;
}

@media (max-width: 760px) {
  .system-admin-page main[class$="-main"] {
    padding: 14px 12px 72px;
  }

  .system-admin-page [class$="-workbar"],
  .system-admin-page [class$="-workbar"] > [class$="-filters"],
  .system-admin-page [class$="-workbar"] > [class$="-actions"],
  .system-admin-page [class$="-actions"] > [class$="-summary"] {
    align-items: stretch;
    width: 100%;
  }

  .system-admin-page [class$="-search"] input,
  .system-admin-page [class$="-filter"] input,
  .system-admin-page [class$="-filter"] select {
    width: 100%;
  }
}
