.shop-config-link { margin-right: 16px; }
.shop-config-dialog { width: 1040px; max-width: calc(100vw - 32px); }
.shop-config-owner { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; margin: 20px 0 12px; padding: 16px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
.shop-config-owner dt { color: var(--muted); font-size: 11px; font-weight: 400; }
.shop-config-owner dd { margin: 4px 0 0; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.shop-config-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 20px 0 12px; }
.shop-config-toolbar p { font-size: 12px; }
.shop-config-table-wrap { border: 1px solid var(--line); border-radius: 8px; margin-top: 12px; max-height: 48dvh; overflow: auto; }
.shop-config-table-wrap:focus-visible { outline: 3px solid #508cce; outline-offset: 3px; }
.shop-config-table-wrap table { min-width: 840px; }
.shop-config-table-wrap th, .shop-config-table-wrap td { padding: 13px 14px; }
.shop-config-table-wrap th { border-top: 0; position: sticky; top: 0; z-index: 1; }
.shop-config-table-wrap .shop-config-name { min-width: 140px; max-width: 220px; white-space: normal; overflow-wrap: anywhere; font-weight: 600; }
.shop-config-table-wrap .shop-config-id { min-width: 100px; max-width: 180px; white-space: normal; overflow-wrap: anywhere; }
.shop-config-table-wrap .shop-config-key { min-width: 200px; width: 260px; max-width: 320px; white-space: normal; }
.shop-config-key-value { display: block; margin-bottom: 8px; padding: 0; background: transparent; color: inherit; font-family: Consolas, monospace; font-size: 12px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-all; user-select: text; }
.shop-config-copy { white-space: nowrap; }
.shop-config-copy-message { margin-top: 12px; color: var(--green); font-size: 12px; }
.shop-config-copy-message.error { color: #a23730; }
.shop-config-caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.shop-config-dialog .form-error { margin-bottom: 16px; }
.shop-config-dialog .empty-state { border: 1px dashed var(--line); border-radius: 8px; margin-top: 12px; padding: 36px 16px; }
@media (max-width: 760px) {
  .shop-config-dialog { max-width: calc(100vw - 24px); padding: 20px 16px; }
  .shop-config-owner { grid-template-columns: 1fr; gap: 12px; padding: 12px; }
  .shop-config-toolbar { align-items: flex-start; gap: 10px; }
  .shop-config-toolbar p { padding-top: 5px; }
}
