:root {
  --ig-readable-small: clamp(11px, .72vw, 13px);
  --ig-readable-body: clamp(13px, .82vw, 15px);
  --ig-readable-control: clamp(12px, .76vw, 14px);
}

body { text-rendering: optimizeLegibility; }

body p { font-size: var(--ig-readable-body); line-height: 1.68; }
body small { font-size: var(--ig-readable-small); line-height: 1.5; }
body label,
body th { font-size: var(--ig-readable-small) !important; line-height: 1.45; }
body td { font-size: var(--ig-readable-control) !important; line-height: 1.55; }
body input,
body select,
body textarea { font-size: var(--ig-readable-control) !important; }

.public-account-link { min-height: 46px; border-radius: 12px; }
.public-account-link > b { max-width: 175px; font-size: 13px; }
.public-account-popover,
.admin-account-popover,
.account-popover { border-radius: 16px; overflow: hidden; }
.public-account-identity b,
.admin-account-identity b { font-size: 14px; }
.public-account-identity small,
.admin-account-identity small,
.public-account-popover small,
.admin-account-popover small,
.account-popover small { color: #9aabb5 !important; font-size: 11px !important; }
.public-account-popover b,
.admin-account-popover b,
.account-popover b { font-size: 13px !important; }
.public-account-popover a,
.public-account-popover button,
.admin-account-popover a,
.admin-account-popover button,
.account-popover a,
.account-popover button { min-height: 58px; }

.admin-page .admin-content :is(p, .admin-loading, .integration-form-copy, .support-message-preview),
.panel-page .panel-content :is(p, .panel-muted) { color: #8fa0aa; }
.admin-page .admin-content small,
.panel-page .panel-content small { font-size: var(--ig-readable-small) !important; }
.admin-page .admin-content :is(button, select, input, textarea),
.panel-page .panel-content :is(button, select, input, textarea) { font-size: var(--ig-readable-control) !important; }
.admin-page .admin-table-wrap { scrollbar-width: thin; scrollbar-color: #ff6a00 #071016; }
.admin-page .admin-table th { color: #a7b4bc; }
.admin-page .admin-table td { color: #d4dde2; }
.admin-page .role-apply.is-danger { border-color: rgba(216,92,82,.42); color: #ff9c93; background: rgba(216,92,82,.08); }
.admin-page .role-apply.is-danger:hover { border-color: #ff7f75; color: #fff; background: rgba(216,92,82,.16); }

.integration-warning,
.sandbox-warning,
.capacity-note,
.config-message,
.legal-warning { border-radius: 12px; font-size: var(--ig-readable-body) !important; }

.igunet-field-error {
  display: block;
  width: 100%;
  margin-top: 7px;
  color: #ff9c93;
  font: 700 var(--ig-readable-small)/1.45 var(--body);
  letter-spacing: 0;
  text-transform: none;
}
.igunet-invalid {
  border-color: #d85c52 !important;
  box-shadow: 0 0 0 3px rgba(216,92,82,.1) !important;
}
.igunet-invalid:focus { box-shadow: 0 0 0 4px rgba(216,92,82,.16) !important; }

.location-management { margin: 22px 0; border: 1px solid rgba(24,168,216,.2); border-radius: 16px; overflow: hidden; background: linear-gradient(145deg,rgba(7,20,28,.96),rgba(3,10,15,.98)); }
.location-management[hidden] { display: none !important; }
.location-management > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 20px 22px; border-bottom: 1px solid rgba(113,145,160,.16); }
.location-management > header small { color: var(--admin-cyan); font: 700 var(--ig-readable-small)/1.3 var(--heading); letter-spacing: .08em; }
.location-management > header h3 { margin: 6px 0; color: #eff5f7; font: 700 23px/1.15 var(--heading); }
.location-management > header p { max-width: 820px; margin: 0; color: #9eb0b9; font-size: max(14px,var(--ig-readable-small)); line-height: 1.6; }
.location-management > header > span { flex: 0 0 auto; padding: 8px 11px; border: 1px solid rgba(56,211,159,.28); border-radius: 999px; color: #8dd9be; background: rgba(56,211,159,.06); font: 700 var(--ig-readable-small)/1 var(--heading); }
.location-management-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding: 20px 22px; border-bottom: 1px solid rgba(113,145,160,.16); }
.location-management-form label { display: grid; align-content: start; gap: 7px; color: #c0ccd1; font: 700 max(13px,var(--ig-readable-small))/1.35 var(--heading); }
.location-management-form label small { color: #7e9099; font: inherit; font-weight: 500; }
.location-management-form :is(input,select) { width: 100%; min-width: 0; min-height: 48px; padding: 11px 13px; border: 1px solid #30434f; border-radius: 10px; outline: none; color: #f2f6f7; background: #040b10; font-size: max(15px,var(--ig-readable-control)); }
.location-management-form :is(input,select):focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,106,0,.1); }
.location-management-form :is(input,select):disabled,
.location-management-form input[readonly] { color: #9fb0b8; background: #071117; cursor: not-allowed; }
.location-management-form [hidden] { display: none !important; }
.custom-location-fields { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; min-width: 0; margin: 0; padding: 16px; border: 1px solid rgba(255,106,0,.28); border-radius: 12px; }
.custom-location-fields legend { padding: 0 8px; color: var(--orange); font: 700 max(13px,var(--ig-readable-small))/1.35 var(--heading); }
.location-management-form > button { align-self: end; min-height: 48px; }
.location-management-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); }
.location-management-card { display: grid; gap: 12px; min-width: 0; padding: 18px 22px; border-right: 1px solid rgba(113,145,160,.14); border-bottom: 1px solid rgba(113,145,160,.14); }
.location-management-card header { display: flex; justify-content: space-between; gap: 12px; }
.location-management-card header b { color: #eff5f7; font: 700 18px/1.2 var(--heading); }
.location-management-card header span { color: #8dd9be; font: 700 var(--ig-readable-small)/1.2 var(--heading); }
.location-management-card p { margin: 0; color: #9eb0b9; font-size: max(14px,var(--ig-readable-small)); line-height: 1.55; overflow-wrap: anywhere; }
.location-management-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.location-management-actions button { min-height: 42px; padding: 0 13px; border: 1px solid #31424d; border-radius: 9px; color: #b8c7ce; background: transparent; font: 700 var(--ig-readable-small)/1 var(--heading); cursor: pointer; }
.location-management-actions button.is-danger { border-color: rgba(216,92,82,.42); color: #e69a92; }

.catalog-game-management { margin: 20px 24px; overflow: hidden; border: 1px solid rgba(255,106,0,.25); border-radius: 16px; background: linear-gradient(145deg,rgba(15,20,23,.98),rgba(4,12,17,.98)); }
.catalog-game-management[hidden] { display: none !important; }
.catalog-game-management > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid rgba(113,145,160,.16); }
.catalog-game-management > header small { color: var(--orange); font: 700 var(--ig-readable-small)/1.3 var(--heading); letter-spacing: .08em; }
.catalog-game-management > header h3 { margin: 6px 0; color: #eff5f7; font: 700 23px/1.15 var(--heading); }
.catalog-game-management > header p { max-width: 900px; margin: 0; color: #9eb0b9; font-size: max(14px,var(--ig-readable-small)); line-height: 1.6; }
.catalog-game-management > header button { flex: 0 0 auto; width: 42px; height: 42px; border: 1px solid #334650; border-radius: 10px; color: #d5e0e4; background: transparent; font-size: 24px; cursor: pointer; }
.catalog-game-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding: 20px 22px; border-bottom: 1px solid rgba(113,145,160,.16); }
.catalog-game-form label { display: grid; align-content: start; gap: 7px; color: #c0ccd1; font: 700 max(13px,var(--ig-readable-small))/1.35 var(--heading); }
.catalog-game-form label small { color: #84959e; font: inherit; font-weight: 500; }
.catalog-game-form :is(input,select,textarea) { width: 100%; min-width: 0; box-sizing: border-box; padding: 11px 13px; border: 1px solid #30434f; border-radius: 10px; outline: none; color: #f2f6f7; background: #040b10; font-size: max(15px,var(--ig-readable-control)); }
.catalog-game-form :is(input,select) { min-height: 48px; }
.catalog-game-form textarea { min-height: 100px; resize: vertical; }
.catalog-game-form :is(input,select,textarea):focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,106,0,.1); }
.catalog-game-form input:disabled { color: #8c9da5; background: #071117; cursor: not-allowed; }
.catalog-game-form .catalog-wide { grid-column: span 3; }
.catalog-form-actions { display: flex; align-items: end; gap: 10px; }
.catalog-game-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); }
.catalog-game-card { display: grid; gap: 11px; padding: 18px 22px; border-right: 1px solid rgba(113,145,160,.14); border-bottom: 1px solid rgba(113,145,160,.14); }
.catalog-game-card header { display: flex; justify-content: space-between; gap: 12px; }
.catalog-game-card h4 { margin: 0; color: #eff5f7; font: 700 18px/1.2 var(--heading); }
.catalog-game-card p { margin: 0; color: #9eb0b9; font-size: max(14px,var(--ig-readable-small)); line-height: 1.55; }
.catalog-game-card .catalog-game-state { color: var(--admin-cyan); font: 700 var(--ig-readable-small)/1.2 var(--heading); }

.checkout-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }

@media (max-width: 720px) {
  :root { --ig-readable-small: 12px; --ig-readable-body: 14px; --ig-readable-control: 13px; }
  .public-account-popover,
  .admin-account-popover,
  .account-popover { width: min(360px, calc(100vw - 20px)); max-height: calc(100dvh - 92px); overflow-y: auto; overscroll-behavior: contain; }
  .public-account-popover a,
  .public-account-popover button,
  .admin-account-popover a,
  .admin-account-popover button,
  .account-popover a,
  .account-popover button { min-height: 62px; }
  .location-management > header { flex-direction: column; padding: 17px 15px; }
  .location-management-form { grid-template-columns: 1fr; padding: 17px 15px; }
  .custom-location-fields { grid-template-columns: 1fr; }
  .catalog-game-management { margin: 15px 10px; }
  .catalog-game-management > header { padding: 17px 15px; }
  .catalog-game-form { grid-template-columns: 1fr; padding: 17px 15px; }
  .catalog-game-form .catalog-wide { grid-column: auto; }
  .catalog-form-actions { align-items: stretch; flex-direction: column; }
  .catalog-form-actions .registry-action { width: 100%; }
  .location-management-card { padding: 17px 15px; }
  .location-management-form > button { width: 100%; }
  .checkout-header-actions { gap: 8px; }
  .checkout-header-actions .checkout-back { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
