.order-tool-button {
  min-width: 126px;
  border: 1px solid #6e99c5 !important;
  border-bottom-color: #356b9f !important;
  background: linear-gradient(#ffffff 0%, #e9f3fc 50%, #c9def1 100%) !important;
  color: #174a78 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 2px 0 #8eb3d4, 0 7px 15px rgba(40,91,137,.13) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.order-tool-button:hover {
  filter: brightness(1.025);
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #6f9dc4, 0 10px 18px rgba(40,91,137,.18) !important;
}

.content-hub-view {
  min-width: 0;
  color: #173b5e;
}

.content-hub-header {
  align-items: center;
  border-bottom: 1px solid #c7d9e9;
  background: #f7fbff;
}

.content-hub-header h2 {
  margin: 2px 0 0;
  color: #12395e;
  font-size: 23px;
  letter-spacing: 0;
}

.content-hub-header-actions,
.content-hub-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.content-hub-header-actions strong {
  color: #4c6a84;
  font-size: 13px;
}

.content-primary-button,
.content-reset-button,
.content-row-button,
.content-modal-actions button,
.batch-download-command {
  min-height: 36px;
  border: 1px solid #739dc6;
  border-bottom-color: #3e709f;
  border-radius: 999px;
  background: linear-gradient(#fff 0%, #eaf4fd 52%, #cddff0 100%);
  color: #174a78;
  padding: 0 18px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 2px 0 #92b6d5, 0 7px 14px rgba(39,82,123,.12);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.content-primary-button,
.content-modal-actions .primary,
.batch-download-command {
  border-color: #276ca8;
  border-bottom-color: #164f82;
  background: linear-gradient(#5aa7df 0%, #2f82c2 52%, #1767a3 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 3px 0 #135483, 0 9px 18px rgba(22,83,132,.2);
}

.content-primary-button:hover,
.content-reset-button:hover,
.content-row-button:hover,
.content-modal-actions button:hover,
.batch-download-command:hover {
  filter: brightness(1.04);
  transform: translateY(-2px);
}

.content-row-button.danger {
  border-color: #d59b9b;
  border-bottom-color: #b86969;
  background: linear-gradient(#fff 0%, #fff0f0 52%, #f2cece 100%);
  color: #9a3636;
  box-shadow: inset 0 1px 0 #fff, 0 2px 0 #d59d9d, 0 6px 12px rgba(146,48,48,.1);
}

.content-hub-controls {
  min-height: 58px;
  padding: 10px 16px;
  border-bottom: 1px solid #d4e1ed;
  background: #fff;
}

.content-search-shell {
  width: min(600px, 62vw);
  min-height: 38px;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #9ebbd5;
  border-radius: 5px;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(25,67,106,.05), 0 4px 12px rgba(32,74,112,.06);
}

.content-search-shell > span {
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #b9cede;
  background: #edf5fb;
  color: #315a7d;
  font-size: 12px;
  font-weight: 900;
}

.content-search-shell input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #173b5e;
  padding: 0 13px;
  font-size: 14px;
  font-weight: 700;
}

.content-segmented {
  display: inline-flex;
  padding: 3px;
  border: 1px solid #a8c0d6;
  border-radius: 6px;
  background: #edf4fa;
}

.content-segmented button {
  min-height: 32px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #58728a;
  padding: 0 15px;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.content-segmented button.active {
  background: #fff;
  color: #15558c;
  box-shadow: 0 2px 8px rgba(37,82,124,.15);
}

.content-table-wrap {
  width: 100%;
  overflow: auto;
  background: #fff;
}

.content-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  color: #183c5e;
  font-size: 13px;
}

.content-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 42px;
  border-right: 1px solid #aac2d8;
  border-bottom: 1px solid #8facc6;
  background: linear-gradient(#f8fbfe, #dceaf6);
  color: #294f71;
  padding: 0 12px;
  text-align: left;
  font-size: 12px;
  font-weight: 900;
}

.content-table td {
  min-height: 56px;
  border-right: 1px solid #d6e2ec;
  border-bottom: 1px solid #d6e2ec;
  background: #fff;
  padding: 11px 12px;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.content-table tr:hover td { background: #f6fbff; }
.company-notice-table th:nth-child(1) { width: 94px; }
.company-notice-table th:nth-child(2) { width: 42%; }
.company-notice-table th:nth-child(3) { width: 26%; }
.company-notice-table th:nth-child(4) { width: 150px; }
.company-notice-table th:nth-child(5) { width: 170px; }
.company-file-table th:nth-child(1) { width: 21%; }
.company-file-table th:nth-child(2) { width: 32%; }
.company-file-table th:nth-child(3) { width: 27%; }
.company-file-table th:nth-child(4) { width: 150px; }
.company-file-table th:nth-child(5) { width: 110px; }

.content-title-cell strong {
  display: block;
  color: #123d65;
  font-size: 14px;
  font-weight: 900;
}

.content-snippet {
  display: -webkit-box;
  overflow: hidden;
  color: #526d84;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.content-status {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  border: 1px solid #a9c3d9;
  border-radius: 999px;
  background: #edf5fb;
  color: #356486;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.content-status.unread { border-color: #d2a34c; background: #fff7df; color: #815711; }
.content-status.read { border-color: #79b49b; background: #eaf8f1; color: #246b50; }
.content-status.expired { border-color: #c0c8cf; background: #f3f5f7; color: #687782; }
.content-status.public { border-color: #72a5ce; background: #edf7ff; color: #23618f; }

.content-files {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.content-file-link {
  display: inline-flex;
  min-height: 29px;
  max-width: 100%;
  align-items: center;
  border: 1px solid #b4cadc;
  border-radius: 999px;
  background: #f7fbff;
  color: #1b5f96;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.content-file-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-row-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.content-row-button { min-height: 31px; padding: 0 12px; font-size: 12px; }
.content-empty { height: 150px; color: #7b8e9f; text-align: center; }

.content-pagination {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 15px;
  border-top: 1px solid #d5e2ec;
  background: #f8fbfd;
  color: #526d84;
  font-size: 12px;
  font-weight: 800;
}

.content-pagination div { display: flex; gap: 6px; }
.content-pagination button {
  min-width: 38px;
  min-height: 32px;
  border: 1px solid #a8c0d5;
  border-radius: 4px;
  background: #fff;
  color: #315d80;
  font-weight: 900;
  cursor: pointer;
}
.content-pagination button:disabled { opacity: .45; cursor: default; }

.content-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 4500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(22,48,72,.52);
  backdrop-filter: blur(5px);
}

.content-modal-backdrop.hidden { display: none; }

.content-modal-dialog {
  width: min(900px, 96vw);
  max-height: min(850px, 94vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #88aac7;
  border-top: 4px solid #2e78b5;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(15,41,65,.3), inset 0 1px 0 #fff;
}

.content-modal-head {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid #c7d9e8;
  background: linear-gradient(#fff, #eef6fc);
}

.content-modal-head small { display: block; color: #668097; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.content-modal-head h3 { margin: 3px 0 0; color: #123b61; font-size: 21px; letter-spacing: 0; }
.content-modal-close {
  width: 38px;
  height: 38px;
  border: 1px solid #a8bfd3;
  border-radius: 5px;
  background: linear-gradient(#fff, #e6f0f7);
  color: #315d80;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(33,72,108,.13);
}

.content-modal-body { overflow: auto; padding: 18px 20px 22px; background: #f7fafc; }
.content-modal-actions {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-top: 1px solid #c9d9e6;
  background: #f5f9fc;
}
.content-modal-actions button { min-width: 122px; }

.content-form { display: grid; gap: 15px; }
.content-form-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: start; gap: 14px; }
.content-form-row > span { padding-top: 11px; color: #365b7b; font-size: 13px; font-weight: 900; }
.content-form-row input[type="text"],
.content-form-row select,
.content-form-row textarea {
  width: 100%;
  border: 1px solid #a9c2d8;
  border-radius: 5px;
  background: #fff;
  color: #173b5d;
  padding: 10px 12px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  box-shadow: inset 0 1px 2px rgba(25,68,105,.06);
}
.content-form-row textarea { min-height: 240px; resize: vertical; line-height: 1.7; }

.content-upload-line {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #b7ccdd;
  border-radius: 5px;
  background: #fff;
  padding: 6px;
}
.content-upload-line input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.content-file-trigger {
  min-width: 104px;
  min-height: 35px;
  border: 1px solid #6998c1;
  border-bottom-color: #3c769f;
  border-radius: 4px;
  background: linear-gradient(#fafdff 0%, #d9edf9 48%, #a9cfe8 100%);
  color: #1d547f;
  font-weight: 900;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 2px 0 #77a7c7, 0 5px 10px rgba(28,93,138,.1);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.content-file-trigger:hover { filter: brightness(1.03); box-shadow: inset 0 1px 0 rgba(255,255,255,.98), 0 3px 0 #6398be, 0 8px 14px rgba(28,93,138,.16); transform: translateY(-1px); }
.content-file-trigger:active { box-shadow: inset 0 1px 2px rgba(32,93,135,.2), 0 1px 0 #6398be; transform: translateY(1px); }
.content-file-name { min-width: 0; flex: 1; overflow: hidden; color: #667f94; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 700; }

.content-existing-files { display: flex; flex-wrap: wrap; gap: 8px; }
.content-existing-file { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #b9ccdc; border-radius: 999px; background: #fff; padding: 4px 5px 4px 10px; color: #315f82; font-size: 12px; font-weight: 800; }
.content-existing-file a { color: #245f8d; text-decoration: none; }
.content-existing-file button { width: 24px; height: 24px; border: 0; border-radius: 50%; background: #f4dede; color: #9f3e3e; cursor: pointer; font-weight: 900; }

.notice-reader-dialog { width: min(820px, 95vw); }
.notice-reader-meta { display: flex; justify-content: space-between; gap: 10px; color: #6d8294; font-size: 12px; font-weight: 800; }
.notice-reader-content { min-height: 270px; margin-top: 14px; border: 1px solid #c7d8e6; border-left: 4px solid #2f7db8; background: #fff; padding: 22px; color: #193d5c; line-height: 1.85; white-space: pre-wrap; font-size: 14px; font-weight: 650; box-shadow: 0 10px 22px rgba(35,77,113,.07); }
.notice-reader-files { margin-top: 14px; }

.batch-dialog { width: min(760px, 95vw); }
.batch-mode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.batch-mode-option { position: relative; display: block; cursor: pointer; }
.batch-mode-option input { position: absolute; opacity: 0; }
.batch-mode-option span { min-height: 62px; display: flex; align-items: center; justify-content: center; border: 1px solid #abc2d6; border-radius: 5px; background: #fff; color: #385c7a; font-size: 14px; font-weight: 900; box-shadow: 0 5px 12px rgba(35,76,112,.06); }
.batch-mode-option input:checked + span { border-color: #2c78b5; background: #e9f5fe; color: #155d92; box-shadow: inset 0 0 0 1px #73acd5, 0 7px 15px rgba(35,97,145,.13); }
.batch-upload-zone { margin-top: 14px; border: 1px solid #a9c1d5; border-radius: 5px; background: #fff; padding: 14px; }
.batch-upload-zone p { margin: 0 0 10px; color: #587187; font-size: 12px; font-weight: 700; }
.batch-resolved-list { max-height: 310px; overflow: auto; margin-top: 15px; border: 1px solid #b6cada; background: #fff; }
.batch-resolved-row { min-height: 46px; display: grid; grid-template-columns: 36px 1fr 1fr; align-items: center; border-bottom: 1px solid #d9e4ec; padding: 0 12px; color: #244c6d; font-size: 13px; font-weight: 800; }
.batch-resolved-row:last-child { border-bottom: 0; }

.export-dialog { width: min(860px, 96vw); }
.export-summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; color: #41627e; font-size: 13px; font-weight: 900; }
.export-summary button { border: 0; background: transparent; color: #17649d; font-weight: 900; cursor: pointer; }
.export-field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.export-field-option { min-height: 40px; display: flex; align-items: center; gap: 9px; border: 1px solid #bed0df; border-radius: 4px; background: #fff; padding: 0 11px; color: #315675; font-size: 12px; font-weight: 850; cursor: pointer; }
.export-field-option:has(input:checked) { border-color: #72a4cc; background: #eef8ff; color: #195d90; }

.content-action-error { border: 1px solid #dba7a7; border-left: 4px solid #c34f4f; border-radius: 4px; background: #fff3f3; color: #913c3c; padding: 10px 12px; white-space: pre-wrap; font-size: 13px; font-weight: 800; }
.content-action-error:empty { display: none; }

@media (max-width: 900px) {
  .content-hub-controls { flex-wrap: wrap; }
  .content-search-shell { width: 100%; }
  .content-form-row { grid-template-columns: 1fr; gap: 5px; }
  .content-form-row > span { padding-top: 0; }
  .export-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-modal-backdrop { padding: 10px; }
}

/* 登录后的未读公告提醒沿用客户端公告的列表与信笺式阅读布局。 */
.employee-notice-inbox-layer {
  position: fixed;
  inset: 0;
  z-index: 240;
  background: rgba(19, 34, 48, .20);
}
.employee-notice-inbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(25, 42, 57, .52);
  backdrop-filter: blur(4px) saturate(.88);
}
.employee-notice-inbox-modal {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(1080px, calc(100vw - 72px));
  height: min(720px, calc(100vh - 88px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translate(-50%, -50%);
  border: 1px solid #6f889d;
  border-radius: 7px;
  background: #edf2f6;
  box-shadow: 0 36px 92px rgba(8, 25, 39, .46), 0 14px 32px rgba(8, 25, 39, .24), 0 0 0 4px rgba(255, 255, 255, .64);
}
.employee-notice-inbox-head {
  min-height: 78px;
  display: grid;
  grid-template-columns: 1fr auto 42px;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid #b8c8d4;
  background: #f8fafc;
  padding: 12px 18px 12px 24px;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .9), 0 3px 10px rgba(37, 62, 83, .07);
}
.employee-notice-inbox-head > div > span { display: block; color: #6c8192; font-size: 10px; font-weight: 800; line-height: 1.2; }
.employee-notice-inbox-head h1 { margin: 4px 0 0; color: #1f405c; font-size: 21px; font-weight: 760; letter-spacing: 0; }
.employee-notice-inbox-head > p { margin: 0; border-right: 1px solid #cbd6de; color: #536b7e; padding-right: 18px; font-size: 12px; font-weight: 700; }
.employee-notice-inbox-head > button {
  width: 38px;
  height: 38px;
  border: 1px solid #9fb2c1;
  border-radius: 5px;
  background: #f8fafb;
  color: #536c80;
  font-size: 25px;
  line-height: 1;
  box-shadow: inset 0 1px 0 #fff, 0 2px 0 #8ba0b1, 0 6px 11px rgba(43, 67, 87, .13);
  cursor: pointer;
  transition: transform .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease;
}
.employee-notice-inbox-head > button:hover { border-color: #748fa5; color: #234d6e; transform: translateY(-1px); box-shadow: inset 0 1px 0 #fff, 0 3px 0 #7e96a9, 0 8px 15px rgba(43, 67, 87, .17); }
.employee-notice-inbox-workbench {
  min-height: 0;
  flex: 1;
  display: grid;
  grid-template-columns: 318px minmax(0, 1fr);
  background-color: #dfe8ef;
  background-image: linear-gradient(rgba(59, 86, 108, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(59, 86, 108, .032) 1px, transparent 1px), linear-gradient(180deg, #eef3f7 0%, #e2eaf0 100%);
  background-size: 28px 28px, 28px 28px, 100% 100%;
}
.employee-notice-inbox-sidebar { min-height: 0; display: flex; flex-direction: column; border-right: 1px solid #b8c8d4; background: #f5f8fa; }
.employee-notice-inbox-filters { display: flex; gap: 4px; border-bottom: 1px solid #cbd6de; padding: 13px 14px 11px; }
.employee-notice-inbox-filters button {
  height: 31px;
  min-width: 72px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #657b8d;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.employee-notice-inbox-filters button:hover { border-color: #c3d0da; background: #fff; color: #315675; }
.employee-notice-inbox-filters button.active { border-color: #8da6ba; background: #e5edf3; color: #234e70; box-shadow: inset 3px 0 0 #315f82, inset 0 1px 0 rgba(255, 255, 255, .9); }
.employee-notice-inbox-list { min-height: 0; flex: 1; overflow: auto; padding: 10px 10px 16px; }
.employee-notice-inbox-list-item {
  position: relative;
  width: 100%;
  min-height: 104px;
  display: block;
  margin-bottom: 8px;
  border: 1px solid #d4e0e8;
  border-radius: 6px;
  background: #fff;
  color: #294053;
  padding: 14px 17px 14px 20px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(45, 70, 91, .035);
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.employee-notice-inbox-list-item::before { content: ""; position: absolute; top: 14px; bottom: 14px; left: 0; width: 4px; border-radius: 0 3px 3px 0; background: #245b87; opacity: 0; transition: opacity .16s ease; }
.employee-notice-inbox-list-item:hover { border-color: #adc4d5; background: #f7fafc; box-shadow: 0 5px 12px rgba(42, 71, 95, .10); transform: translateY(-1px); }
.employee-notice-inbox-list-item.active { border-color: #86a9c2; background: #eaf3f9; box-shadow: 0 6px 15px rgba(36, 67, 94, .14), inset 0 1px 0 rgba(255, 255, 255, .90); }
.employee-notice-inbox-list-item.active::before { opacity: 1; }
.employee-notice-inbox-list-item.is-read { color: #536a7b; }
.employee-notice-inbox-list-meta { display: flex; align-items: center; gap: 8px; color: #6d8191; font-size: 10px; font-weight: 650; }
.employee-notice-inbox-list-meta b, .employee-notice-inbox-list-meta i { min-width: 37px; height: 17px; display: inline-grid; place-items: center; border-radius: 3px; padding: 0 6px; font-size: 8px; font-style: normal; font-weight: 800; }
.employee-notice-inbox-list-meta b { border: 1px solid #d7a3a0; background: #f5e3e1; color: #96494b; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72); }
.employee-notice-inbox-list-meta i { border: 1px solid #d5e0e7; background: #eef3f6; color: #667b8c; }
.employee-notice-inbox-list-item > strong { display: -webkit-box; overflow: hidden; margin-top: 9px; font-size: 13px; font-weight: 680; line-height: 1.58; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.employee-notice-inbox-list-item.is-unread > strong { color: #23435e; font-weight: 720; }
.employee-notice-inbox-list-item.active > strong { color: #183d5d; font-weight: 760; }
.employee-notice-inbox-list-item > em { display: block; margin-top: 8px; color: #60778a; font-size: 9px; font-style: normal; font-weight: 650; }
.employee-notice-inbox-list-state { color: #738594; padding: 46px 20px; font-size: 12px; text-align: center; }
.employee-notice-inbox-reader {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  background-color: #e6edf2;
  background-image: linear-gradient(rgba(59, 86, 108, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(59, 86, 108, .032) 1px, transparent 1px), linear-gradient(180deg, rgba(243, 247, 250, .84) 0%, rgba(222, 232, 239, .92) 100%);
  background-size: 28px 28px, 28px 28px, 100% 100%;
  padding: 26px 32px 38px;
  box-shadow: inset 12px 0 24px rgba(48, 73, 92, .055), inset 0 1px 0 rgba(255, 255, 255, .74);
}
.employee-notice-inbox-empty { min-height: 100%; display: grid; place-content: center; gap: 7px; color: #7a8d9b; text-align: center; }
.employee-notice-inbox-empty span { color: #9aabb7; font-size: 11px; font-weight: 800; }
.employee-notice-inbox-empty strong { color: #5a7183; font-size: 14px; }
.employee-notice-inbox-paper {
  position: relative;
  width: min(680px, 100%);
  min-height: 530px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #c8c9c6;
  border-top: 4px solid #315a7d;
  border-radius: 2px;
  background-color: #fffdfa;
  background-image: linear-gradient(90deg, rgba(190, 201, 207, .07) 0%, rgba(255, 255, 255, 0) 11%, rgba(255, 255, 255, 0) 89%, rgba(190, 201, 207, .06) 100%), repeating-linear-gradient(0deg, rgba(72, 88, 99, .018) 0, rgba(72, 88, 99, .018) 1px, transparent 1px, transparent 6px), linear-gradient(180deg, rgba(255, 255, 255, .74) 0%, rgba(252, 249, 244, .46) 100%);
  color: #243746;
  padding: 42px 52px 32px;
  box-shadow: 0 24px 52px rgba(28, 48, 63, .16), 0 7px 18px rgba(38, 53, 64, .08), 0 0 0 6px rgba(255, 255, 255, .27), inset 0 0 0 1px rgba(255, 255, 255, .9);
}
.employee-notice-inbox-paper::before { content: ""; position: absolute; top: 0; bottom: 0; left: 30px; width: 1px; background: #e5d7d5; opacity: .72; }
.employee-notice-inbox-paper.is-loading { opacity: .74; }
.employee-notice-inbox-letterhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; border-bottom: 1px solid #b9c5ce; padding-bottom: 15px; }
.employee-notice-inbox-letterhead > div { display: flex; flex-direction: column; gap: 2px; }
.employee-notice-inbox-letterhead strong { color: #244f72; font-family: Arial, sans-serif; font-size: 17px; font-weight: 800; }
.employee-notice-inbox-letterhead span { color: #768894; font-size: 9px; font-weight: 700; }
.employee-notice-inbox-letterhead time { color: #667b8b; font-size: 11px; font-weight: 650; white-space: nowrap; }
.employee-notice-inbox-paper > h2 { margin: 28px 0 12px; color: #1f3548; font-family: var(--chamshine-ui-font-sc); font-size: 21px; font-weight: 700; line-height: 1.6; text-align: center; }
.employee-notice-inbox-paper-rule { width: 48px; height: 2px; margin: 0 auto 27px; background: #6686a0; }
.employee-notice-inbox-content { min-height: 260px; color: #293b49; font-family: var(--chamshine-ui-font-sc); font-size: 15px; font-weight: 400; line-height: 1.88; overflow-wrap: anywhere; }
.employee-notice-inbox-attachments { margin-top: 28px; border-top: 1px solid #ccd5dc; padding-top: 18px; }
.employee-notice-inbox-attachments h3 { margin: 0 0 10px; color: #526a7c; font-size: 11px; font-weight: 800; }
.employee-notice-inbox-attachments > div { display: grid; gap: 8px; }
.employee-notice-inbox-attachments a { min-height: 38px; display: flex; align-items: center; gap: 10px; border: 1px solid #aebfcb; border-radius: 4px; background: #f4f7f9; color: #294d69; padding: 7px 11px; text-decoration: none; box-shadow: inset 0 1px 0 #fff, 0 2px 4px rgba(43, 67, 85, .08); }
.employee-notice-inbox-attachments a:hover { border-color: #7f9aaf; background: #edf3f7; transform: translateY(-1px); }
.employee-notice-inbox-attachments a > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #315f82; color: #fff; font-size: 13px; }
.employee-notice-inbox-attachments a > strong { font-size: 12px; overflow-wrap: anywhere; }
.employee-notice-inbox-actions { position: relative; display: flex; justify-content: center; padding-top: 28px; }
.employee-notice-inbox-actions button {
  min-width: 158px;
  min-height: 42px;
  border: 1px solid #1d608e;
  border-bottom-color: #10496f;
  border-radius: 999px;
  background: linear-gradient(180deg, #4da5d7 0%, #287fb8 52%, #17699e 100%);
  color: #fff;
  padding: 0 25px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
  text-shadow: 0 1px 0 rgba(7, 54, 87, .42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .38), 0 3px 0 #13547d, 0 8px 16px rgba(25, 93, 138, .23);
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}
.employee-notice-inbox-actions button:hover:not(:disabled) {
  filter: brightness(1.06) saturate(1.04);
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .48), 0 4px 0 #104a70, 0 11px 20px rgba(25, 93, 138, .28);
}
.employee-notice-inbox-actions button:active:not(:disabled) {
  transform: translateY(2px);
  box-shadow: inset 0 2px 4px rgba(7, 53, 85, .32), 0 1px 0 #104a70, 0 4px 9px rgba(25, 93, 138, .18);
}
.employee-notice-inbox-actions button:focus-visible { outline: 3px solid rgba(52, 151, 208, .42); outline-offset: 3px; }
.employee-notice-inbox-actions button:disabled { cursor: wait; filter: grayscale(.36) opacity(.72); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 2px 0 #52748a; }

@media (max-width: 900px) {
  .employee-notice-inbox-modal { width: calc(100vw - 32px); height: calc(100vh - 48px); }
  .employee-notice-inbox-workbench { grid-template-columns: 270px minmax(0, 1fr); }
  .employee-notice-inbox-reader { padding: 20px; }
  .employee-notice-inbox-paper { padding: 34px 34px 28px 43px; }
}
@media (max-width: 640px) {
  .employee-notice-inbox-modal { width: calc(100vw - 16px); height: calc(100vh - 16px); }
  .employee-notice-inbox-head { min-height: 65px; grid-template-columns: 1fr auto 36px; gap: 8px; padding: 9px 10px 9px 14px; }
  .employee-notice-inbox-head h1 { font-size: 17px; }
  .employee-notice-inbox-head > p { padding-right: 8px; font-size: 10px; }
  .employee-notice-inbox-workbench { grid-template-columns: 1fr; grid-template-rows: 210px minmax(0, 1fr); }
  .employee-notice-inbox-sidebar { border-right: 0; border-bottom: 1px solid #b8c8d4; }
  .employee-notice-inbox-list { display: flex; gap: 8px; overflow-x: auto; padding: 8px 10px; }
  .employee-notice-inbox-list-item { min-width: 230px; min-height: 92px; margin: 0; }
  .employee-notice-inbox-reader { padding: 14px; }
  .employee-notice-inbox-paper { min-height: 420px; padding: 28px 22px 26px 31px; }
  .employee-notice-inbox-paper > h2 { font-size: 18px; }
}

/* Batch bill entry methods are exclusive; inactive drafts are retained locally. */
.batch-input-tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin-top: 18px; background: #edf1f6; border-radius: 10px; }
.batch-input-tabs button { border: 0; border-radius: 7px; padding: 8px 18px; color: #647991; background: transparent; font: inherit; cursor: pointer; }
.batch-input-tabs button[aria-selected="true"] { background: #fff; color: #284969; box-shadow: 0 1px 5px #15294218; }
.batch-direct-zone { margin-top: 18px; }
.batch-input-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.batch-input-heading span, .batch-direct-zone p { color: #587187; font-size: 12px; }
.batch-direct-zone textarea { box-sizing: border-box; width: 100%; min-height: 190px; padding: 14px 16px; border: 1px solid #b9cadb; border-radius: 8px; background: #fbfcfe; color: #243449; font: 15px/1.85 ui-monospace, SFMono-Regular, Menlo, monospace; resize: vertical; }

.reconciliation-input { margin-top: 18px; }
.reconciliation-input .batch-input-tabs { display:flex; gap:6px; padding:4px; background:#eef2f6; border-radius:10px; margin-bottom:16px; }
.reconciliation-input [role=tab] { flex:1; border:1px solid transparent; border-radius:8px; padding:10px; color:#64748b; background:transparent; cursor:pointer; }
.reconciliation-input [aria-selected=true] { color:#245a84; background:#fff; border-color:#d9e3ec; box-shadow:0 2px 5px #243b5310; }
.reconciliation-input label { display:grid; gap:8px; color:#334155; }
.reconciliation-input textarea { box-sizing:border-box; width:100%; min-height:144px; resize:vertical; padding:12px; border:1px solid #cbd5e1; border-radius:8px; font:inherit; line-height:1.5; }
.reconciliation-input small { display:block; margin-top:8px; color:#64748b; overflow-wrap:anywhere; }
.reconciliation-input input[type=file] { max-width:100%; }
