.partner-portal-dialog {
  box-sizing: border-box;
  width: min(960px, calc(100vw - 24px));
  max-height: calc(100dvh - 32px);
  padding: 24px;
  border: 1px solid #dce2ea;
  border-radius: 16px;
  background: #fff;
  color: #253044;
  box-shadow: 0 24px 80px #18243b30;
  overflow: auto;
  font: 14px/1.6 Arial, 'Microsoft YaHei', sans-serif;
}
.partner-portal-dialog::backdrop { background: #15213770; }
.partner-portal-dialog, .partner-portal-dialog * { box-sizing: border-box; }
.partner-portal-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.partner-portal-head h2 { margin: 0; font-size: 21px; }
.partner-portal-section { border-top: 1px solid #e5e9ef; margin-top: 24px; padding-top: 16px; min-width: 0; }
.partner-portal-section h3 { margin: 0 0 12px; font-size: 16px; }
.partner-portal-copy { white-space: pre-wrap; overflow-wrap: anywhere; }
.partner-portal-search, .partner-portal-pages { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.partner-portal-search input { flex: 1; min-width: 120px; }
.partner-portal-table-wrap { overflow-x: auto; max-width: 100%; margin: 12px 0; }
.partner-portal-dialog table { border-collapse: collapse; width: 100%; text-align: left; }
.partner-portal-dialog th, .partner-portal-dialog td { padding: 10px; border-bottom: 1px solid #e5e9ef; overflow-wrap: anywhere; min-width: 80px; max-width: 240px; }
.partner-portal-dialog th { background: #f5f7fa; white-space: nowrap; }
.partner-portal-form { display: grid; gap: 14px; }
.partner-portal-form label { display: grid; gap: 6px; font-weight: 600; }
.partner-portal-dialog input:not([type='checkbox']), .partner-portal-dialog textarea {
  width: 100%; min-width: 0; padding: 10px 12px; font: inherit; color: inherit;
  border: 1px solid #b8c3d1; border-radius: 8px; background: #fff;
}
.partner-portal-dialog input[type='checkbox'] { width: 20px; height: 20px; }
.partner-portal-dialog textarea { min-height: 140px; resize: vertical; }
.partner-portal-dialog .button { min-height: 40px; cursor: pointer; max-width: 100%; white-space: normal; }
.partner-portal-dialog .button:disabled { opacity: .55; cursor: wait; }
.partner-portal-dialog :focus-visible { outline: 3px solid #407ac5; outline-offset: 2px; }
.partner-portal-status { min-height: 24px; margin: 6px 0; overflow-wrap: anywhere; color: #52617a; }
#partner-portal-manage { white-space: nowrap; }
@media (max-width: 600px) {
  .partner-portal-dialog { padding: 16px; width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 12px; }
  .partner-portal-head h2 { font-size: 18px; }
  .partner-portal-dialog th, .partner-portal-dialog td { padding: 8px; }
  .partner-portal-pages { justify-content: space-between; }
  .partner-portal-pages span { width: 100%; order: -1; }
}

.partner-portal-panel { min-width: 0; padding: 24px; overflow: auto; }
.partner-portal-panel[hidden] { display: none; }
.partner-portal-panel table { width: 100%; border-collapse: collapse; text-align: left; }
.partner-portal-panel th, .partner-portal-panel td { padding: 10px; border-bottom: 1px solid #e5e9ef; overflow-wrap: anywhere; }
.partner-portal-panel input { min-width: 0; padding: 10px 12px; font: inherit; border: 1px solid #b8c3d1; border-radius: 8px; }
.partner-portal-panel .button { min-height: 40px; }
@media (max-width: 600px) { .partner-portal-panel { padding: 16px; } .partner-portal-panel th, .partner-portal-panel td { padding: 8px; white-space: nowrap; } }
