.wkp-app {
  display: grid;
  gap: 16px;
}

.wkp-hero {
  position: relative;
  min-height: 300px;
  padding: 38px 44px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .94) 42%, rgba(255, 255, 255, .55) 70%, rgba(255, 255, 255, .18) 100%),
    url("hero.png?ver=0.6.52") center right / cover no-repeat,
    linear-gradient(135deg, #f9fcff, #dcebf9);
  border: 1px solid #dce7f2;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(14, 55, 100, .10);
}

.wkp-hero-content {
  max-width: 720px;
}

.wkp-hero h1 {
  margin: 0 0 18px;
  color: #052867;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.25;
}

.wkp-hero p {
  margin: 0;
  color: #0d2e68;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.85;
}

.wkp-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  margin-top: -84px;
  padding: 0 14px;
  position: relative;
  z-index: 2;
}

.wkp-action {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 116px;
  padding: 18px 24px;
  background: #fff;
  border: 1px solid #dce6f0;
  border-radius: 8px;
  box-shadow: 0 10px 22px rgba(15, 55, 95, .12);
}

.wkp-action span {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  color: #fff;
  border-radius: 50%;
}

.wkp-action-ai span,
.wkp-stat-head.new i {
  background: linear-gradient(135deg, #13b8b8, #0796a7);
}

.wkp-action-faq span,
.wkp-stat-head.faq i {
  background: linear-gradient(135deg, #0b86de, #005fbd);
}

.wkp-action-knowhow span {
  background: linear-gradient(135deg, #8e65da, #6139b6);
}

.wkp-action-material span,
.wkp-stat-head.material i {
  background: linear-gradient(135deg, #f3a634, #d66f12);
}

.wkp-action-guide span {
  background: linear-gradient(135deg, #5c769a, #2e4f7f);
}

.wkp-action .dashicons,
.wkp-step-icon .dashicons,
.wkp-stat-head .dashicons {
  width: auto;
  height: auto;
  font-size: 34px;
}

.wkp-action strong {
  display: block;
  color: #06275f;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.35;
}

.wkp-action small {
  display: block;
  margin-top: 4px;
  color: #526179;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.wkp-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: 12px;
}

.wkp-card,
.wkp-list-card,
.wkp-question-panel,
.wkp-stat-card {
  background: #fff;
  border: 1px solid #dce6f0;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(14, 55, 100, .08);
}

.wkp-card,
.wkp-list-card,
.wkp-question-panel {
  padding: 20px;
}

.wkp-card h2,
.wkp-list-card h2,
.wkp-question-panel h2 {
  margin: 0;
  color: #06275f;
  font-size: 20px;
  font-weight: 900;
}

.wkp-flow-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-top: 18px;
}

.wkp-step {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.wkp-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 35px;
  right: -12px;
  width: 24px;
  height: 2px;
  background: #0a3574;
}

.wkp-step-icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  color: #0b72d0;
  background: #f3f8fe;
  border: 2px solid #8db9ee;
  border-radius: 50%;
}

.wkp-step b {
  color: #06275f;
  font-size: 15px;
  font-weight: 900;
}

.wkp-step small {
  color: #53627a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.wkp-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.wkp-stat-card {
  min-height: 184px;
  padding: 20px;
}

.wkp-stat-head {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #06275f;
  font-size: 18px;
  font-weight: 900;
}

.wkp-stat-head i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #fff;
  border-radius: 50%;
}

.wkp-stat-head.pending i {
  background: linear-gradient(135deg, #1684df, #0065c0);
}

.wkp-stat-val {
  margin: 18px 0 10px;
  color: #092661;
  font-size: 18px;
  font-weight: 900;
}

.wkp-stat-val strong {
  margin-right: 8px;
  font-size: 44px;
  line-height: 1;
}

.wkp-stat-foot {
  color: #66748d;
  font-size: 13px;
  font-weight: 700;
}

.wk-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.wk-card-header a,
.wk-card-header span {
  color: #006fc9;
  font-size: 13px;
  font-weight: 800;
}

.wkp-guide-page {
  display: grid;
  gap: 16px;
}

.wkp-guide-section {
  display: grid;
  gap: 16px;
}

.wkp-guide-section h2 {
  margin-bottom: 0;
}

.wkp-guide-list {
  display: grid;
  gap: 12px;
}

.wkp-guide-item {
  display: grid;
  gap: 14px;
  align-items: start;
  padding: 16px;
  color: inherit;
  background: #f7fbff;
  border: 1px solid #d9e8f6;
  border-radius: 8px;
}

.wkp-guide-item-head {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.wkp-guide-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  color: #fff;
  background: #0b72d0;
  border-radius: 50%;
}

.wkp-guide-icon .dashicons {
  width: auto;
  height: auto;
  font-size: 24px;
}

.wkp-guide-item h3 {
  margin: 0;
  min-width: 0;
  color: #06275f;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.35;
}

.wkp-guide-item-head p {
  margin: 4px 0 0;
  min-width: 0;
  color: #234466;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.wkp-guide-item-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
  gap: 16px;
  align-items: start;
}

.wkp-guide-copy {
  display: grid;
  gap: 10px;
}

.wkp-guide-copy > strong {
  color: #052867;
  font-size: 14px;
  font-weight: 900;
}

.wkp-guide-copy ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 1.35em;
  color: #17324d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
}

.wkp-guide-copy li::marker {
  color: #0b72d0;
  font-weight: 900;
}

.wkp-guide-caution {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 10px 12px;
  color: #5b4309;
  background: #fff8ea;
  border: 1px solid #f2d49a;
  border-radius: 8px;
}

.wkp-guide-caution .dashicons {
  width: auto;
  height: auto;
  color: #c4740c;
  font-size: 22px;
}

.wkp-guide-caution p {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.6;
}

.wkp-guide-shot {
  overflow: hidden;
  background: #fff;
  border: 1px solid #cbddec;
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(15, 55, 95, .10);
}

.wkp-guide-shot-bar {
  display: grid;
  grid-template-columns: 8px 8px 8px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  color: #052867;
  background: #eaf4ff;
  border-bottom: 1px solid #d2e4f5;
}

.wkp-guide-shot-bar span {
  width: 8px;
  height: 8px;
  background: #8db8df;
  border-radius: 50%;
}

.wkp-guide-shot-bar strong {
  min-width: 0;
  margin-left: 4px;
  overflow: hidden;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wkp-guide-shot-body {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: linear-gradient(180deg, #fafdff 0%, #f3f8fd 100%);
}

.wkp-guide-shot-row {
  min-height: 32px;
  padding: 8px 10px;
  color: #234466;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  background: #fff;
  border: 1px solid #d8e6f2;
  border-radius: 8px;
}

.wkp-guide-shot-row.is-main {
  min-height: 46px;
  color: #063265;
  background: #e8f7f8;
  border-color: #bde3e6;
}

.wkp-guide-note {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  color: #0d2e68;
  background: #fff8ea;
  border: 1px solid #f2d49a;
  border-radius: 8px;
}

.wkp-guide-note .dashicons {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #fff;
  background: #d98314;
  border-radius: 50%;
  font-size: 24px;
}

.wkp-guide-note p {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.7;
}

.wkp-guide-term-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.wkp-guide-term-list article {
  display: grid;
  gap: 8px;
  padding: 14px;
  background: #f7fbff;
  border: 1px solid #d9e8f6;
  border-radius: 8px;
}

.wkp-guide-term-list h3 {
  margin: 0;
  color: #06275f;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
}

.wkp-guide-term-list p {
  margin: 0;
  color: #17324d;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.7;
}

.wkp-guide-term-list small {
  color: #42607a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.55;
}

.wkp-drive-folder-cta {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 12px;
  margin: 0 0 10px;
  padding: 12px;
  background: #f4f9ff;
  border: 1px solid #d7e8f8;
  border-radius: 8px;
}

.wkp-drive-folder-cta strong {
  display: block;
  color: #06275f;
  font-size: 14px;
  font-weight: 900;
}

.wkp-drive-folder-cta p {
  margin: 4px 0 0;
  color: #526179;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.wkp-drive-folder-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  color: #fff;
  background: #0b78d0;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  width: 100%;
}

.wkp-main-columns,
.wkp-list-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.wkp-wide-list,
.wkp-lower-grid {
  margin-top: 0;
}

.wkp-lower-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.wkp-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wkp-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 56px;
  padding: 10px 0;
  border-bottom: 1px solid #edf2f7;
}

.wkp-list li:last-child {
  border-bottom: 0;
}

.wkp-list-link {
  flex: 1 1 auto;
  min-width: 0;
}

.wkp-file-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #fff;
  background: #60718a;
  border-radius: 8px;
}

.wkp-file-icon .dashicons {
  width: auto;
  height: auto;
  font-size: 22px;
}

.wkp-file-icon-pdf {
  background: #d64242;
}

.wkp-file-icon-word {
  background: #2468c9;
}

.wkp-file-icon-excel {
  background: #168a4f;
}

.wkp-file-icon-image {
  background: #0aa8ad;
}

.wkp-list strong {
  display: block;
  overflow: hidden;
  color: #0a2860;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wkp-list small {
  display: block;
  margin-top: 3px;
  color: #66748d;
  font-size: 12px;
  font-weight: 700;
}

.wkp-status {
  flex: 0 0 auto;
  padding: 4px 10px;
  color: #0067bd;
  background: #e9f4ff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.wkp-drive-search-card {
  display: grid;
  gap: 14px;
}

.wkp-sync-form {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 12px;
}

.wkp-sync-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin: 0 0 12px;
}

.wkp-sync-tools .wkp-sync-form {
  order: 2;
  flex: 0 0 auto;
  margin: 0;
}

.wkp-sync-tools .wkp-sync-notice {
  order: 1;
  flex: 1 1 auto;
  margin: 0;
}

.wkp-sync-form button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 14px;
  color: #fff;
  font-weight: 900;
  background: #075dad;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

.wkp-sync-form button:hover {
  background: #064f95;
}

.wkp-sync-form button.is-loading {
  cursor: wait;
  opacity: .88;
}

.wkp-sync-form .dashicons {
  width: 18px;
  height: 18px;
  font-size: 18px;
}

.wkp-sync-form button.is-loading .dashicons {
  animation: wkp-spin 720ms linear infinite;
}

@keyframes wkp-spin {
  to {
    transform: rotate(360deg);
  }
}

.wkp-sync-notice {
  padding: 12px 16px;
  color: #07503e;
  font-weight: 800;
  background: #eaf8f2;
  border: 1px solid #bfe8d7;
  border-radius: 8px;
}

.wkp-sync-notice-error {
  color: #7a1f1f;
  background: #fff1f1;
  border-color: #f1b7b7;
}

.wkp-materials-grid {
  display: grid;
  grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr);
  gap: 16px;
  align-items: start;
}

.wkp-material-search-guide {
  display: grid;
  gap: 10px;
  color: #17324d;
  background: #f7fbff;
  border-color: #d9e8f6;
}

.wkp-material-search-guide h2 {
  margin: 0;
  color: #06275f;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.35;
}

.wkp-material-search-guide div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.wkp-material-search-guide p {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.7;
}

.wkp-material-search-guide strong {
  color: #06275f;
  font-weight: 900;
}

.wkp-question-status-guide {
  display: grid;
  gap: 10px;
  color: #17324d;
  background: #f7fbff;
  border-color: #d9e8f6;
}

.wkp-question-status-guide h2 {
  margin: 0;
  color: #06275f;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.35;
}

.wkp-question-status-guide div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

.wkp-question-status-guide p {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.65;
}

.wkp-question-status-guide strong {
  color: #06275f;
  font-weight: 900;
}

.wkp-admin-page {
  display: grid;
  gap: 16px;
}

.wkp-admin-entry-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wkp-admin-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #e4edf7;
}

.wkp-content-entry-list .wkp-admin-entry-has-icon {
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: start;
}

.wkp-content-entry-list .wkp-file-icon {
  margin-top: 2px;
}

.wkp-admin-entry:last-child {
  border-bottom: 0;
}

.wkp-admin-entry-main {
  min-width: 0;
}

.wkp-admin-entry-main a {
  color: #052867;
  text-decoration: none;
}

.wkp-admin-entry-main strong {
  display: block;
  font-size: 18px;
  line-height: 1.45;
}

.wkp-admin-entry-main small {
  display: block;
  margin-top: 4px;
  color: #496382;
  font-weight: 700;
}

.wkp-admin-entry-main p {
  margin: 10px 0 0;
  color: #183b68;
  font-size: 14px;
  line-height: 1.75;
}

.wkp-admin-entry-side {
  display: grid;
  gap: 10px;
  align-content: start;
  justify-items: end;
}

.wkp-small-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  min-width: 58px;
  padding: 0 12px;
  color: #055cad;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
  background: #eef7ff;
  border: 1px solid #cbe3f7;
  border-radius: 8px;
}

.wkp-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.wkp-setting-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 190px;
  padding: 22px;
  background: #fff;
  border: 1px solid #dbe7f2;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(15, 55, 95, .08);
}

.wkp-setting-card > .dashicons {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #fff;
  font-size: 26px;
  background: linear-gradient(135deg, #0b74d1, #0aa8a8);
  border-radius: 50%;
}

.wkp-setting-card h2 {
  margin: 4px 0 0;
  color: #052867;
  font-size: 20px;
}

.wkp-setting-card p {
  margin: 0;
  color: #234466;
  line-height: 1.75;
}

.wkp-setting-card pre {
  max-width: 100%;
  margin: 0;
  padding: 12px;
  overflow: auto;
  color: #183b68;
  font-size: 12px;
  line-height: 1.6;
  background: #f5f8fb;
  border: 1px solid #e1ebf5;
  border-radius: 8px;
}

.wkp-setting-card-wide {
  grid-column: 1 / -1;
}

.wkp-setting-form {
  display: grid;
  gap: 12px;
}

.wkp-setting-form label {
  display: grid;
  gap: 7px;
  color: #102d66;
  font-size: 14px;
  font-weight: 900;
}

.wkp-setting-form input[type="text"],
.wkp-setting-form input[type="password"] {
  width: 100%;
  padding: 12px 13px;
  color: #102d66;
  background: #fff;
  border: 1px solid #d3deeb;
  border-radius: 8px;
}

.wkp-setting-form .wkp-setting-check {
  display: flex;
  align-items: center;
  gap: 9px;
}

.wkp-setting-form .wkp-setting-check input {
  width: auto;
}

.wkp-setting-form button {
  width: fit-content;
  min-height: 42px;
  padding: 0 16px;
  color: #fff;
  background: #075dad;
  border: 0;
  border-radius: 8px;
  font-weight: 900;
  cursor: pointer;
}

.wkp-setting-form button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.wkp-openai-test-form {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #dbe7f2;
}

.wkp-setting-help {
  margin: 0;
  color: #55718e;
  font-size: 13px;
  line-height: 1.6;
}

.wkp-drive-writeback-status {
  display: inline-block;
  width: fit-content;
  margin: 0;
  padding: 4px 10px;
  border: 1px solid #8fd3b2;
  border-radius: 999px;
  color: #0f5132;
  background: #edfff6;
  font-size: 13px;
  font-weight: 800;
}

.wkp-drive-writeback-status.is-enabled {
  border-color: #e3b341;
  color: #684100;
  background: #fff8e5;
}

.wkp-local-safety-status {
  display: inline-block;
  width: fit-content;
  margin: 0;
  padding: 6px 12px;
  border: 1px solid #8fd3b2;
  border-radius: 999px;
  color: #0f5132;
  background: #edfff6;
  font-weight: 900;
}

.wkp-local-safety-status.is-warning {
  border-color: #e3b341;
  color: #684100;
  background: #fff8e5;
}

.wkp-local-safety-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 4px 0 0;
}

.wkp-local-safety-list div {
  min-width: 0;
  padding: 10px;
  border: 1px solid #cce8d9;
  border-radius: 8px;
  background: #f7fffb;
}

.wkp-local-safety-list div.is-warning {
  border-color: #f0d48a;
  background: #fffaf0;
}

.wkp-local-safety-list dt {
  margin: 0 0 4px;
  color: #55718e;
  font-size: 12px;
  font-weight: 800;
}

.wkp-local-safety-list dd {
  margin: 0;
  color: #17324d;
  font-size: 16px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.wkp-button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 42px;
  padding: 0 16px;
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  background: #075dad;
  border-radius: 8px;
}

.wkp-button-link-secondary {
  color: #075dad;
  background: #eef7ff;
  border: 1px solid #cbe3f7;
}

.wkp-login-card {
  max-width: 720px;
}

.wkp-login-card h2 {
  margin: 0 0 14px;
  color: #052867;
}

.wkp-login-card p {
  color: #234466;
  line-height: 1.8;
}

.wkp-login-card form {
  display: grid;
  gap: 14px;
}

.wkp-login-card label {
  display: grid;
  gap: 7px;
  color: #052867;
  font-weight: 800;
}

.wkp-login-card input[type="text"],
.wkp-login-card input[type="password"] {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  color: #102d66;
  border: 1px solid #d3deeb;
  border-radius: 8px;
  outline: none;
}

.wkp-password-field {
  position: relative;
  display: block;
}

.wkp-password-field input[type="password"],
.wkp-password-field input[type="text"] {
  padding-right: 52px;
}

.wkp-password-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  color: #496382;
  background: #f1f6fb;
  border: 1px solid #d3deeb;
  border-radius: 8px;
  cursor: pointer;
  transform: translateY(-50%);
}

.wkp-password-toggle:hover,
.wkp-password-toggle.is-visible {
  color: #075dad;
  background: #e8f3ff;
  border-color: #b9d8f2;
}

.wkp-password-toggle .dashicons {
  width: 20px;
  height: 20px;
  font-size: 20px;
}

.wkp-login-card .login-remember label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.wkp-login-card input[type="submit"] {
  width: fit-content;
  min-height: 44px;
  padding: 0 18px;
  color: #fff;
  font-weight: 900;
  background: #075dad;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

.wkp-login-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.wkp-login-help {
  margin: 14px 0 0;
  font-size: 13px;
}

.wkp-admin-notice {
  display: grid;
  gap: 12px;
  max-width: 720px;
}

.wkp-admin-notice h1 {
  margin: 0;
  color: #052867;
  font-size: 26px;
}

.wkp-admin-notice p {
  margin: 0;
  color: #234466;
  line-height: 1.8;
}

.wkp-upload-page {
  display: grid;
  gap: 16px;
}

.wkp-upload-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 16px;
  align-items: stretch;
}

.wkp-upload-drop {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 14px;
  min-height: 300px;
  padding: 34px;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(240, 248, 255, .92), rgba(255, 255, 255, .98)),
    repeating-linear-gradient(45deg, rgba(7, 93, 173, .08) 0 10px, transparent 10px 20px);
  border: 2px dashed #8bbbe6;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(15, 55, 95, .08);
}

.wkp-upload-drop > .dashicons {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  color: #fff;
  font-size: 40px;
  background: linear-gradient(135deg, #0b74d1, #0aa8a8);
  border-radius: 50%;
}

.wkp-upload-form {
  display: grid;
  justify-items: center;
  gap: 14px;
  width: 100%;
}

.wkp-upload-form > .dashicons {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  color: #fff;
  font-size: 40px;
  background: linear-gradient(135deg, #0b74d1, #0aa8a8);
  border-radius: 50%;
}

.wkp-upload-drop h2 {
  margin: 0;
  color: #052867;
  font-size: 24px;
}

.wkp-upload-drop p,
.wkp-upload-note p {
  max-width: 620px;
  margin: 0;
  color: #234466;
  line-height: 1.8;
}

.wkp-upload-drop .wkp-upload-limit-note {
  padding: 10px 12px;
  color: #684100;
  background: #fff8e5;
  border: 1px solid #e3b341;
  border-radius: 8px;
  font-weight: 800;
}

.wkp-upload-picker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  color: #052867;
  font-weight: 900;
  background: #fff;
  border: 1px solid #8bbbe6;
  border-radius: 8px;
  cursor: pointer;
}

.wkp-upload-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.wkp-upload-submit {
  min-height: 44px;
  padding: 0 20px;
  color: #fff;
  font-weight: 900;
  background: #075dad;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

.wkp-upload-submit:hover,
.wkp-upload-submit:focus {
  background: #064b8d;
}

.wkp-upload-guide ol {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: upload-steps;
}

.wkp-upload-guide li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  background: #f7fbff;
  border: 1px solid #e0edf8;
  border-radius: 8px;
  counter-increment: upload-steps;
}

.wkp-upload-guide li::before {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #fff;
  font-weight: 900;
  content: counter(upload-steps);
  background: #075dad;
  border-radius: 50%;
  grid-row: span 2;
}

.wkp-upload-guide strong,
.wkp-upload-guide span {
  grid-column: 2;
}

.wkp-upload-guide strong {
  color: #052867;
}

.wkp-upload-guide span {
  color: #496382;
  font-size: 13px;
  line-height: 1.6;
}

.wkp-upload-filetypes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

.wkp-upload-filetypes span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  color: #052867;
  font-weight: 900;
  background: #f0f7ff;
  border: 1px solid #d5e7f6;
  border-radius: 999px;
}

.wkp-upload-filetypes .dashicons {
  color: #075dad;
}

.wkp-one-file-ready {
  border-color: #d5e7f6;
}

.wkp-one-file-ready .wk-card-header {
  align-items: center;
}

.wkp-one-file-ready .wk-card-header span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  color: #075dad;
  font-weight: 900;
  background: #f0f7ff;
  border: 1px solid #d5e7f6;
  border-radius: 999px;
}

.wkp-one-file-ready.is-ready {
  border-color: #8fd3b2;
  background: #f7fffb;
}

.wkp-one-file-ready.is-ready .wk-card-header span {
  color: #0f5132;
  background: #edfff6;
  border-color: #8fd3b2;
}

.wkp-one-file-ready.is-next {
  border-color: #8bbbe6;
  background: #f7fbff;
}

.wkp-one-file-ready.is-warning {
  border-color: #e3b341;
  background: #fffaf0;
}

.wkp-one-file-ready.is-warning .wk-card-header span {
  color: #684100;
  background: #fff8e5;
  border-color: #e3b341;
}

.wkp-one-file-ready-title {
  margin: 0 0 8px;
  color: #052867;
  font-size: 20px;
  font-weight: 900;
}

.wkp-one-file-ready p {
  max-width: 820px;
  margin: 0 0 10px;
  color: #234466;
  line-height: 1.7;
}

.wkp-one-file-ready dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 0;
}

.wkp-one-file-ready dl div {
  min-width: 0;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid rgba(7, 93, 173, .14);
  border-radius: 8px;
}

.wkp-one-file-ready dt {
  margin: 0 0 4px;
  color: #496382;
  font-size: 13px;
  font-weight: 800;
}

.wkp-one-file-ready dd {
  margin: 0;
  color: #052867;
  font-size: 18px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.wkp-one-file-ready .wkp-one-file-ready-note {
  margin-top: 12px;
  color: #496382;
  font-size: 13px;
}

.wkp-upload-pending-card .wk-card-header {
  align-items: center;
}

.wkp-upload-pending-card .wk-card-header span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  color: #075dad;
  font-weight: 900;
  background: #f0f7ff;
  border: 1px solid #d5e7f6;
  border-radius: 999px;
}

.wkp-company-ai-file-badge {
  display: inline-block;
  margin: 4px 4px 0 0;
  padding: 2px 7px;
  color: #052867;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.5;
  background: #eef7ff;
  border: 1px solid #c9dfef;
  border-radius: 999px;
}

.wkp-company-ai-file-badge-warning {
  color: #684100;
  background: #fff8e5;
  border-color: #e3b341;
}

.wkp-drive-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 10px;
  margin-top: 14px;
}

.wkp-drive-search-card {
  overflow: visible;
}

.wkp-company-ai-file-search-form {
  grid-template-columns: minmax(0, 1fr) minmax(136px, 168px) 112px;
}

.wkp-drive-search-form input,
.wkp-drive-search-form select {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  color: #102d66;
  background: #fff;
  border: 1px solid #d3deeb;
  border-radius: 8px;
  outline: none;
}

.wkp-drive-search-form select {
  min-width: 0;
}

.wkp-drive-search-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 46px;
  color: #fff;
  background: #006fc9;
  border: 0;
  border-radius: 8px;
  font-weight: 900;
  cursor: pointer;
}

.wkp-drive-search-form .dashicons {
  width: auto;
  height: auto;
  font-size: 18px;
}

.wkp-drive-search-help {
  margin: 0;
  color: #66748d;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.wkp-company-ai-file-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
  margin-top: 14px;
  color: #12315f;
  font-size: 13px;
}

.wkp-company-ai-file-table th,
.wkp-company-ai-file-table td {
  padding: 10px 8px;
  border-bottom: 1px solid #dde7f2;
  vertical-align: top;
  text-align: left;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.wkp-company-ai-file-table th:nth-child(1),
.wkp-company-ai-file-table td:nth-child(1) {
  width: 46%;
}

.wkp-company-ai-file-table th:nth-child(2),
.wkp-company-ai-file-table td:nth-child(2) {
  width: 9%;
}

.wkp-company-ai-file-table th:nth-child(3),
.wkp-company-ai-file-table td:nth-child(3) {
  width: 13%;
}

.wkp-company-ai-file-table th:nth-child(4),
.wkp-company-ai-file-table td:nth-child(4) {
  width: 10%;
}

.wkp-company-ai-file-table th:nth-child(5),
.wkp-company-ai-file-table td:nth-child(5) {
  width: 14%;
}

.wkp-company-ai-file-table th:nth-child(6),
.wkp-company-ai-file-table td:nth-child(6) {
  width: 8%;
}

.wkp-company-ai-file-table th {
  position: sticky;
  top: 32px;
  z-index: 2;
  background: #fff;
  color: #51627a;
  font-size: 12px;
  font-weight: 900;
}

.wkp-company-ai-file-table small {
  color: #6d7b90;
  font-weight: 700;
}

.wkp-company-ai-file-title-link {
  color: #0a2860;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.wkp-company-ai-file-title-link:hover,
.wkp-company-ai-file-title-link:focus {
  color: #006fc9;
}

.wkp-file-pagination {
  margin-top: 16px;
}

.wkp-file-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wkp-file-pagination .page-numbers a,
.wkp-file-pagination .page-numbers span {
  display: inline-flex;
  min-width: 34px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border: 1px solid #c9d7e8;
  border-radius: 6px;
  background: #fff;
  color: #12315f;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.wkp-file-pagination .page-numbers .current {
  border-color: #006fc9;
  background: #006fc9;
  color: #fff;
}

.wkp-list-more {
  margin: 12px 0 0;
  text-align: right;
}

.wkp-list-more a {
  color: #006fc9;
  font-size: 13px;
  font-weight: 900;
}

.wkp-question-panel {
  scroll-margin-top: 96px;
}

.wkp-ai-chat {
  display: grid;
  gap: 18px;
}

.wkp-chat-thread {
  display: grid;
  gap: 12px;
}

.wkp-chat-message {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.wkp-chat-avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #fff;
  background: linear-gradient(135deg, #0081df, #005eb8);
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(0, 94, 184, .22);
}

.wkp-chat-avatar .dashicons {
  width: 24px;
  height: 24px;
  font-size: 24px;
}

.wkp-chat-bubble {
  max-width: 760px;
  padding: 16px 18px;
  color: #102d66;
  background: #f3f8fd;
  border: 1px solid #d9e7f5;
  border-radius: 8px;
}

.wkp-chat-bubble strong {
  display: block;
  margin-bottom: 6px;
  font-size: 17px;
}

.wkp-chat-bubble p {
  margin: 0;
  color: #445875;
  font-weight: 700;
  line-height: 1.75;
}

.wkp-chat-form {
  padding: 18px;
  background: #fff;
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(14, 55, 100, .08);
}

.wkp-chat-main-input textarea {
  min-height: 160px;
  font-size: 16px;
  line-height: 1.75;
}

.wkp-question-form input::placeholder,
.wkp-question-form textarea::placeholder {
  color: #9aa8ba;
  opacity: 1;
  font-weight: 500;
}

.wkp-input-actions {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: -4px;
  gap: 8px;
  align-items: stretch;
}

.wkp-voice-input {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: #f7fbff;
  border: 1px solid #d9e8f6;
  border-radius: 8px;
}

.wkp-voice-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 142px;
  height: 44px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 8px;
  white-space: nowrap;
  background: linear-gradient(135deg, #7a8492, #4d5968);
  box-shadow: none;
}

.wkp-voice-button .dashicons {
  width: 22px;
  height: 22px;
  font-size: 22px;
}

.wkp-voice-button [data-voice-button-label] {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.wkp-voice-input p {
  display: block;
  margin: 0;
  color: #53647d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.6;
}

.wkp-question-form .wkp-chat-submit {
  position: relative;
  align-self: stretch;
  min-width: 172px;
}

.wkp-question-form .wkp-chat-submit.is-loading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  opacity: .88;
  cursor: progress;
}

.wkp-question-form .wkp-chat-submit.is-loading::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, .5);
  border-top-color: #fff;
  border-radius: 50%;
  animation: wkp-spin .75s linear infinite;
}

.wkp-voice-input.is-listening {
  background: #fff8ea;
  border-color: #f2d49a;
}

.wkp-voice-input.is-listening .wkp-voice-button {
  background: linear-gradient(135deg, #e55324, #b93116);
  box-shadow: 0 0 0 6px rgba(229, 83, 36, .15), 0 10px 24px rgba(229, 83, 36, .25);
}

.wkp-voice-input.is-unavailable {
  background: #f6f8fb;
}

.wkp-voice-input.is-unavailable .wkp-voice-button {
  opacity: 0.55;
  cursor: not-allowed;
}

.wkp-ai-preview {
  padding: 14px 16px;
  color: #143363;
  background: #f7fbff;
  border: 1px solid #d9e7f5;
  border-radius: 8px;
}

.wkp-ai-preview strong {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

.wkp-ai-preview ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 1.2em;
  color: #53647d;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.65;
}

.wkp-form,
.wkp-question-form {
  display: grid;
  gap: 14px;
}

.wkp-form label,
.wkp-question-form label {
  display: grid;
  gap: 7px;
  color: #102d66;
  font-size: 14px;
  font-weight: 900;
}

.wkp-field-help {
  display: block;
  color: #53647d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.6;
}

.wkp-question-tips {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  color: #17324d;
  background: #f7fbff;
  border: 1px solid #d9e8f6;
  border-radius: 8px;
}

.wkp-question-tips strong {
  color: #06275f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.4;
}

.wkp-question-tips ol {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 1.4em;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
}

.wkp-question-tips li::marker {
  color: #0b72d0;
  font-weight: 900;
}

.wkp-form input,
.wkp-form select,
.wkp-form textarea,
.wkp-question-form input,
.wkp-question-form select,
.wkp-question-form textarea {
  width: 100%;
  padding: 13px 14px;
  color: #102d66;
  background: #fff;
  border: 1px solid #d3deeb;
  border-radius: 8px;
  outline: none;
}

.wkp-form textarea,
.wkp-question-form textarea {
  resize: vertical;
}

.wkp-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.wkp-form button,
.wkp-question-form button {
  min-height: 48px;
  padding: 0 22px;
  color: #fff;
  background: linear-gradient(135deg, #0081df, #005eb8);
  border: 0;
  border-radius: 8px;
  font-weight: 900;
  cursor: pointer;
}

.wkp-form button:disabled,
.wkp-question-form button:disabled {
  cursor: progress;
}

.wkp-submit-help {
  margin: -4px 0 0;
  color: #5b4309;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.6;
}

@media (max-width: 720px) {
  .wkp-input-actions {
    grid-template-columns: 1fr;
  }

  .wkp-voice-input {
    grid-template-columns: 1fr;
  }

  .wkp-voice-button {
    width: 100%;
  }

  .wkp-question-form .wkp-chat-submit {
    width: 100%;
  }
}

.wkp-notice {
  padding: 14px 16px;
  color: #07573d;
  background: #e8fff5;
  border: 1px solid #b8f0d7;
  border-radius: 8px;
  font-weight: 800;
}

.wkp-notice-error {
  color: #8a1f11;
  background: #fff1ed;
  border-color: #f4c7bd;
}

.wkp-ai-answer-card {
  display: grid;
  gap: 14px;
  scroll-margin-top: 180px;
  margin: 0 0 18px;
  padding: 18px;
  background: #fff;
  border: 1px solid #d7e6f4;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(12, 45, 89, 0.08);
}

.wkp-submitted-question {
  padding: 14px 16px;
  background: #fffaf2;
  border: 1px solid #f2d7a5;
  border-radius: 8px;
}

.wkp-submitted-question strong {
  display: block;
  color: #6b4a00;
  font-size: 13px;
  font-weight: 900;
}

.wkp-submitted-question p {
  margin: 6px 0 0;
  color: #102f63;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.6;
}

.wkp-submitted-question small {
  display: block;
  margin-top: 6px;
  color: #4e6280;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.wkp-ai-answer-head {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.wkp-ai-answer-head > .dashicons {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  color: #fff;
  background: #0071c8;
  border-radius: 50%;
  font-size: 24px;
}

.wkp-ai-answer-head strong {
  display: block;
  color: #082b66;
  font-size: 18px;
  font-weight: 900;
}

.wkp-ai-answer-head small {
  display: block;
  margin-top: 3px;
  color: #6b7890;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
}

.wkp-ai-answer-body {
  padding: 16px;
  color: #173766;
  background: #f7fbff;
  border: 1px solid #dceaf7;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

.wkp-ai-answer-body p {
  margin: 0 0 10px;
}

.wkp-ai-answer-body p:last-child {
  margin-bottom: 0;
}

.wkp-ai-answer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.wkp-ai-sources {
  padding: 14px 16px;
  color: #173766;
  background: #fffaf0;
  border: 1px solid #f0dfbd;
  border-radius: 8px;
}

.wkp-ai-sources strong {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 900;
}

.wkp-ai-sources ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wkp-ai-sources li {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}

.wkp-ai-sources span {
  padding: 3px 8px;
  color: #805a00;
  background: #fff;
  border: 1px solid #ead8aa;
  border-radius: 999px;
}

.wkp-ai-sources li.wkp-ai-source-rag span {
  color: #075985;
  background: #e0f2fe;
  border-color: #bae6fd;
}

.wkp-ai-sources li small {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}

.wkp-ai-sources a,
.wkp-ai-sources b {
  color: #082b66;
}

.wkp-ai-sources p {
  margin: 0;
  color: #6b4f13;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.7;
}

.wkp-ai-next-step {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  color: #173766;
  background: #f8fafc;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
}

.wkp-ai-next-step.is-pending {
  background: #fff7ed;
  border-color: #fed7aa;
}

.wkp-ai-next-step.is-done {
  background: #ecfdf5;
  border-color: #bbf7d0;
}

.wkp-ai-next-step strong {
  display: block;
  margin-bottom: 3px;
  font-size: 14px;
  font-weight: 900;
}

.wkp-ai-next-step p {
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.6;
}

.wkp-my-question-history {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wkp-my-question-history li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #dde7f2;
}

.wkp-my-question-history li:last-child {
  border-bottom: 0;
}

.wkp-my-question-history strong,
.wkp-my-question-history small {
  display: block;
}

.wkp-my-question-history strong {
  color: #082b66;
}

.wkp-my-question-history small {
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.wkp-my-question-history p {
  margin: 6px 0 0;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

.wkp-tabs {
  display: grid;
  gap: 12px;
}

.wkp-tab-buttons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.wkp-tab-buttons button {
  min-height: 40px;
  color: #526179;
  background: #f0f6fc;
  border: 1px solid #dce6f0;
  border-radius: 8px;
  font-weight: 900;
  cursor: pointer;
}

.wkp-tab-buttons button.is-active {
  color: #fff;
  background: #006fc9;
  border-color: #006fc9;
}

.wkp-tab-panel {
  display: none;
}

.wkp-tab-panel.is-active {
  display: block;
}

.wkp-timeline,
.wkp-task-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wkp-timeline li,
.wkp-task-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf2f7;
}

.wkp-task-list li {
  grid-template-columns: minmax(0, 1fr) auto;
}

.wkp-timeline-tag,
.wkp-task-list em {
  padding: 4px 9px;
  color: #0067bd;
  background: #e9f4ff;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.wkp-timeline strong,
.wkp-task-list span {
  display: block;
  overflow: hidden;
  color: #0a2860;
  font-size: 14px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wkp-timeline small {
  color: #66748d;
  font-size: 12px;
  font-weight: 700;
}

.wkp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wkp-chips span {
  padding: 8px 12px;
  color: #0a2860;
  background: #f0f6fc;
  border: 1px solid #dce6f0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.wkp-empty {
  margin: 0;
  color: #66748d;
  font-weight: 700;
}

body.home .wkp-question-panel,
body.home .wkp-list-grid,
body.home #wkp-knowhow {
  display: none;
}

.wkp-subpage {
  display: grid;
  gap: 16px;
}

.wkp-subpage-hero {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 132px;
  padding: 24px 28px;
  background: linear-gradient(135deg, #fff 0%, #f4f9ff 100%);
  border: 1px solid #dce6f0;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(14, 55, 100, .08);
}

.wkp-subpage-hero > .dashicons {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  color: #fff;
  background: linear-gradient(135deg, #0b86de, #0065c0);
  border-radius: 50%;
  font-size: 34px;
}

.wkp-subpage-hero > .dashicons-format-chat,
.wkp-subpage-hero > .dashicons-backup {
  background: linear-gradient(135deg, #13b8b8, #0796a7);
}

.wkp-subpage-hero > .dashicons-lightbulb {
  background: linear-gradient(135deg, #8e65da, #6139b6);
}

.wkp-subpage-hero > .dashicons-editor-help,
.wkp-subpage-hero > .dashicons-yes-alt {
  background: linear-gradient(135deg, #0b86de, #005fbd);
}

.wkp-subpage-hero > .dashicons-portfolio,
.wkp-subpage-hero > .dashicons-upload {
  background: linear-gradient(135deg, #f3a634, #d66f12);
}

.wkp-subpage-hero > .dashicons-media-text {
  background: linear-gradient(135deg, #60718a, #3f5063);
}

.wkp-subpage-hero h1 {
  margin: 0 0 6px;
  color: #06275f;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.35;
}

.wkp-subpage-hero p {
  margin: 0;
  color: #526179;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}

@media (max-width: 1360px) {
  .wkp-dashboard-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .wkp-actions,
  .wkp-main-columns,
  .wkp-list-grid,
  .wkp-lower-grid {
    grid-template-columns: 1fr 1fr;
  }

  .wkp-actions {
    margin-top: -58px;
  }

  .wkp-guide-item-body {
    grid-template-columns: 1fr;
  }

  .wkp-guide-term-list {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 760px) {
  .wkp-app {
    gap: 12px;
  }

  .wkp-hero {
    min-height: 240px;
    padding: 22px 18px 92px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .88) 54%, rgba(255, 255, 255, .36) 100%),
      url("hero.png?ver=0.6.52") center bottom / cover no-repeat,
      linear-gradient(135deg, #f9fcff, #dcebf9);
  }

  .wkp-hero h1 {
    font-size: 25px;
    line-height: 1.35;
  }

  .wkp-hero p {
    font-size: 14px;
    line-height: 1.75;
  }

  .wkp-actions {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: -70px;
    padding: 0 8px;
  }

  .wkp-action {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 82px;
    padding: 12px 14px;
  }

  .wkp-action span {
    width: 52px;
    height: 52px;
  }

  .wkp-action .dashicons {
    font-size: 28px;
  }

  .wkp-action strong {
    font-size: 17px;
  }

  .wkp-action small {
    font-size: 12px;
  }

  .wkp-card,
  .wkp-list-card,
  .wkp-question-panel {
    padding: 16px;
  }

  .wkp-flow-steps,
  .wkp-guide-item-body,
  .wkp-stats-grid,
  .wkp-main-columns,
  .wkp-list-grid,
  .wkp-lower-grid,
  .wkp-form-row {
    grid-template-columns: 1fr;
  }

  .wkp-drive-folder-cta {
    grid-template-columns: 1fr;
  }

  .wkp-drive-folder-cta a {
    width: 100%;
  }

  .wkp-drive-search-form {
    grid-template-columns: 1fr;
  }

  .wkp-sync-form {
    justify-content: stretch;
    margin: 0 0 12px;
  }

  .wkp-sync-tools {
    align-items: stretch;
    flex-direction: column;
    margin: 0 0 12px;
  }

  .wkp-sync-tools .wkp-sync-form,
  .wkp-sync-tools .wkp-sync-notice {
    order: initial;
  }

  .wkp-sync-form button {
    justify-content: center;
    width: 100%;
  }

  .wkp-materials-grid {
    grid-template-columns: 1fr;
  }

  .wkp-material-search-guide div {
    grid-template-columns: 1fr;
  }

  .wkp-question-status-guide div {
    grid-template-columns: 1fr;
  }

  .wkp-admin-entry,
  .wkp-settings-grid,
  .wkp-local-safety-list,
  .wkp-one-file-ready dl,
  .wkp-upload-layout {
    grid-template-columns: 1fr;
  }

  .wkp-content-entry-list .wkp-admin-entry-has-icon {
    grid-template-columns: 46px minmax(0, 1fr) auto;
  }

  .wkp-admin-entry-side {
    justify-items: end;
  }

  .wkp-flow-steps {
    gap: 10px;
  }

  .wkp-step {
    grid-template-columns: 54px minmax(0, 1fr);
    justify-items: start;
    text-align: left;
  }

  .wkp-step:not(:last-child)::after {
    display: none;
  }

  .wkp-step-icon {
    grid-row: span 2;
    width: 54px;
    height: 54px;
  }

  .wkp-step-icon .dashicons {
    font-size: 28px;
  }

  .wkp-guide-item {
    padding: 14px;
  }

  .wkp-guide-item-head {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .wkp-guide-icon {
    width: 42px;
    height: 42px;
  }

  .wkp-guide-icon .dashicons {
    font-size: 22px;
  }

  .wkp-guide-item h3 {
    font-size: 17px;
  }

  .wkp-guide-shot {
    max-width: 360px;
    width: 100%;
  }

  .wkp-stat-card {
    min-height: auto;
    padding: 16px;
  }

  .wkp-stat-val {
    margin: 10px 0 4px;
  }

  .wkp-stat-val strong {
    font-size: 36px;
  }

  .wkp-list strong,
  .wkp-timeline strong,
  .wkp-task-list span {
    white-space: normal;
  }

  .wkp-tab-buttons {
    grid-template-columns: repeat(2, 1fr);
  }

  .wkp-subpage-hero {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    min-height: auto;
    padding: 18px;
  }

  .wkp-subpage-hero > .dashicons {
    width: 52px;
    height: 52px;
    font-size: 28px;
  }

  .wkp-subpage-hero h1 {
    font-size: 24px;
  }

  .wkp-subpage-hero p {
    font-size: 13px;
  }
}
.wkp-answer-requests-page .wkp-list-card {
  overflow-x: auto;
}

.wkp-answer-request-table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
}

.wkp-answer-request-table th,
.wkp-answer-request-table td {
  padding: 12px;
  border-bottom: 1px solid rgba(15, 23, 42, .12);
  vertical-align: top;
  text-align: left;
}

.wkp-answer-request-table textarea {
  width: 100%;
  min-height: 120px;
}

.wkp-company-ai-answer-request-form {
  display: grid;
  gap: 8px;
  min-width: 280px;
}

.wkp-company-ai-file-cards {
  display: grid;
  gap: 12px;
}

.wkp-company-ai-file-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  background: #fff;
  border: 1px solid #dfe9f4;
  border-radius: 8px;
}

.wkp-company-ai-file-card h3 {
  margin: 0 0 10px;
  color: #06275f;
  font-size: 15px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.wkp-company-ai-file-card h3 a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.wkp-company-ai-file-card dl {
  display: grid;
  gap: 6px;
  margin: 0;
  color: #526179;
  font-size: 12px;
}

.wkp-company-ai-file-card dl div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px;
}

.wkp-company-ai-file-card dt {
  color: #6a7890;
  font-weight: 800;
}

.wkp-company-ai-file-card dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.wkp-company-ai-file-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.wkp-company-ai-file-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 44px;
  padding: 0 12px;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  background: #0073cf;
  border-radius: 8px;
}

.wkp-company-ai-file-open.is-disabled {
  color: #6b778c;
  background: #eef3f8;
}

@media (max-width: 640px) {
  .wkp-ai-next-step,
  .wkp-my-question-history li {
    grid-template-columns: 1fr;
  }

  .wkp-ai-next-step {
    display: grid;
    align-items: stretch;
  }

  .wkp-company-ai-file-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .wkp-company-ai-file-open {
    width: 100%;
  }
}
