:root {
  --gcm-admin-bg: #f9fafb;
  --gcm-admin-surface: #ffffff;
  --gcm-admin-surface-soft: #f2f4f7;
  --gcm-admin-border: #e4e7ec;
  --gcm-admin-border-strong: #d0d5dd;
  --gcm-admin-text: #101828;
  --gcm-admin-muted: #667085;
  --gcm-admin-primary: #465fff;
  --gcm-admin-primary-hover: #3641f5;
  --gcm-admin-success: #039855;
  --gcm-admin-danger: #d92d20;
  --gcm-admin-warning: #dc6803;
  --gcm-admin-radius: 15px;
  --gcm-admin-shadow: 0 1px 3px rgba(16, 24, 40, .10), 0 1px 2px rgba(16, 24, 40, .06);
}

.gcm-admin-shell { min-height: 100vh; display: flex; background: var(--gcm-admin-bg); color: var(--gcm-admin-text); font-family: Outfit, Inter, system-ui, sans-serif; }
.gcm-admin-sidebar { width: 290px; flex: 0 0 290px; background: var(--gcm-admin-surface); border-right: 1px solid var(--gcm-admin-border); padding: 24px 20px; }
.gcm-admin-brand h2 { font-size: 1.1rem; margin: 0; }
.gcm-admin-brand p { margin: 6px 0 18px; color: var(--gcm-admin-muted); font-size: .9rem; }
.gcm-admin-eyebrow { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--gcm-admin-muted); font-weight: 700; }
.gcm-admin-nav { display: grid; gap: 6px; }
.gcm-menu-btn, .gcm-admin-nav a { display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 10px 12px; border-radius: var(--gcm-admin-radius); color: #344054; text-decoration: none; font-weight: 600; }
.gcm-menu-btn:hover, .gcm-admin-nav a:hover { background: #f2f4f7; }
.gcm-menu-btn.active, .gcm-admin-nav a.active { background: #ecf3ff; color: var(--gcm-admin-primary); }
.gcm-admin-main { flex: 1; min-width: 0; padding: 24px; }
.gcm-admin-topbar, .gcm-admin-card { background: var(--gcm-admin-surface); border: 1px solid var(--gcm-admin-border); border-radius: var(--gcm-admin-radius); box-shadow: var(--gcm-admin-shadow); }
.gcm-admin-topbar { padding: 20px 24px; margin-bottom: 24px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.gcm-admin-topbar h1 { margin: 4px 0 0; font-size: 1.5rem; }
.gcm-dashboard-indicators { display: inline-flex; align-items: center; gap: 8px; flex: 0 1 auto; min-width: 0; }
.gcm-dashboard-indicator { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid var(--gcm-admin-border); border-radius: var(--gcm-admin-radius); background: var(--gcm-admin-surface-soft); color: var(--gcm-admin-text); text-decoration: none; }
.gcm-dashboard-indicator:hover { border-color: var(--gcm-admin-primary); color: var(--gcm-admin-primary); }
.gcm-dashboard-indicator:focus-visible { outline: 3px solid var(--gcm-admin-primary); outline-offset: 2px; }
.gcm-dashboard-indicator__badge { position: absolute; top: -6px; right: -6px; display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; border: 2px solid var(--gcm-admin-surface); border-radius: 999px; background: var(--gcm-admin-danger); color: #fff; font-size: 11px; font-weight: 800; line-height: 1; }
.gcm-admin-content { padding: 20px; }
.gcm-admin-btn, .gcm-admin-shell .btn, .gcm-admin-shell button, .gcm-admin-shell input[type="submit"] { border-radius: var(--gcm-admin-radius); min-height: 40px; padding: 9px 14px; font-weight: 700; border: 1px solid var(--gcm-admin-border-strong); box-shadow: var(--gcm-admin-shadow); }
.gcm-admin-shell .btn-primary, .gcm-admin-btn-primary { background: var(--gcm-admin-primary); border-color: var(--gcm-admin-primary); color: #fff; }
.gcm-admin-shell .btn-primary:hover, .gcm-admin-btn-primary:hover { background: var(--gcm-admin-primary-hover); border-color: var(--gcm-admin-primary-hover); }
.gcm-admin-shell .btn-danger { background: var(--gcm-admin-danger); border-color: var(--gcm-admin-danger); color: #fff; }
.gcm-admin-shell .btn-success { background: var(--gcm-admin-success); border-color: var(--gcm-admin-success); color: #fff; }
.gcm-admin-shell .btn-warning { background: var(--gcm-admin-warning); border-color: var(--gcm-admin-warning); color: #fff; }
.gcm-admin-shell input, .gcm-admin-shell select, .gcm-admin-shell textarea { border-radius: var(--gcm-admin-radius); border: 1px solid var(--gcm-admin-border-strong); min-height: 42px; }
.gcm-admin-shell .table, .gcm-admin-table, .gcm-admin-shell table { width: 100%; background: var(--gcm-admin-surface); border-radius: var(--gcm-admin-radius); overflow: hidden; }
.gcm-admin-shell .table thead th, .gcm-admin-table thead th { background: var(--gcm-admin-surface-soft); color: var(--gcm-admin-text); font-weight: 700; }
.gcm-admin-shell .card, .gcm-admin-shell .gcm-admin-card { border-radius: var(--gcm-admin-radius); }
@media (max-width: 980px){ .gcm-admin-shell{flex-direction:column;} .gcm-admin-sidebar{width:100%;flex-basis:auto;border-right:none;border-bottom:1px solid var(--gcm-admin-border);} }

.gcm-admin-form { display:grid; gap:16px; }
.gcm-admin-field { display:grid; gap:6px; }
.gcm-admin-shell .gcm-site-header-menu-bg-preview {
  border: 1px solid var(--gcm-border);
  border-radius: var(--gcm-radius);
  overflow: hidden;
  width: 100%;
}
.gcm-admin-shell .gcm-site-header-menu-bg-preview__bar,
.gcm-admin-shell .gcm-site-header-menu-bg-preview__submenu {
  color: var(--gcm-menu-text);
  min-height: 44px;
  padding: 10px 12px;
}
.gcm-admin-shell .gcm-site-header-menu-bg-preview__submenu {
  background: var(--gcm-submenu-bg);
  color: var(--gcm-submenu-text);
}
.gcm-admin-label { font-size:14px; font-weight:700; color:var(--gcm-admin-text); }
.gcm-admin-input,
.gcm-admin-select,
.gcm-admin-textarea,
.gcm-admin-shell input,
.gcm-admin-shell select,
.gcm-admin-shell textarea { width:100%; min-height:42px; border-radius:var(--gcm-admin-radius); border:1px solid var(--gcm-admin-border-strong); background:#fff; padding:10px 12px; color:var(--gcm-admin-text); }
.gcm-admin-input:focus,.gcm-admin-select:focus,.gcm-admin-textarea:focus,.gcm-admin-shell input:focus,.gcm-admin-shell select:focus,.gcm-admin-shell textarea:focus{outline:none;border-color:var(--gcm-admin-primary);box-shadow:0 0 0 4px rgba(70,95,255,.12)}
.gcm-admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.gcm-admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border-radius:var(--gcm-admin-radius);border:1px solid var(--gcm-admin-border-strong);background:#fff;color:var(--gcm-admin-text);font-weight:700;line-height:1;cursor:pointer;text-decoration:none}
.gcm-admin-btn-primary{background:var(--gcm-admin-primary);border-color:var(--gcm-admin-primary);color:#fff}
.gcm-admin-btn-secondary{background:var(--gcm-admin-surface-soft);border-color:var(--gcm-admin-border);color:var(--gcm-admin-text)}
.gcm-admin-btn-danger{background:var(--gcm-admin-danger);border-color:var(--gcm-admin-danger);color:#fff}
.gcm-admin-btn-success{background:var(--gcm-admin-success);border-color:var(--gcm-admin-success);color:#fff}
.gcm-admin-btn-warning{background:var(--gcm-admin-warning);border-color:var(--gcm-admin-warning);color:#fff}
.gcm-admin-btn-ghost{background:transparent;box-shadow:none}
.gcm-admin-table-wrap{overflow-x:auto;border:1px solid var(--gcm-admin-border);border-radius:var(--gcm-admin-radius);background:#fff}
.gcm-admin-table{width:100%;border-collapse:collapse}
.gcm-admin-table th{background:#f9fafb;color:var(--gcm-admin-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.gcm-admin-table th,.gcm-admin-table td{padding:12px 14px;border-bottom:1px solid var(--gcm-admin-border);vertical-align:middle}
.gcm-admin-table tr:last-child td{border-bottom:0}
.gcm-admin-table-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.gcm-admin-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:var(--gcm-admin-radius);font-size:12px;font-weight:800}
.gcm-admin-badge-success{background:#ecfdf3;color:#027a48}.gcm-admin-badge-warning{background:#fffaeb;color:#b54708}.gcm-admin-badge-danger{background:#fef3f2;color:#b42318}.gcm-admin-badge-muted{background:#f2f4f7;color:#475467}
.gcm-admin-modal .modal-content,.gcm-admin-shell .modal-content{border-radius:var(--gcm-admin-radius);border:1px solid var(--gcm-admin-border);box-shadow:0 20px 50px rgba(16,24,40,.18)}
.gcm-admin-modal .modal-header,.gcm-admin-shell .modal-header{border-bottom:1px solid var(--gcm-admin-border)}
.gcm-admin-modal .modal-footer,.gcm-admin-shell .modal-footer{border-top:1px solid var(--gcm-admin-border)}
.gcm-admin-card-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}
.gcm-admin-card-header h4,.gcm-admin-card-header h3{margin:0}
.gcm-admin-card-header p{margin:4px 0 0;color:var(--gcm-admin-muted)}
.gcm-admin-card-compact{padding:16px}
@media (max-width: 760px){.gcm-admin-main{padding:12px}.gcm-admin-content{padding:12px}.gcm-admin-form .row>[class*='col-']{width:100%}.gcm-admin-table th,.gcm-admin-table td{white-space:nowrap}}
.gcm-admin-shell{overflow-x:hidden}
.gcm-admin-content>*{max-width:100%}
.gcm-admin-shell .gcm-admin-table-wrap,.gcm-admin-shell .table-responsive{max-width:100%;overflow-x:auto}
.gcm-admin-shell .gcm-admin-card,.gcm-admin-shell .card{border-radius:var(--gcm-admin-radius)!important}
.gcm-admin-shell .badge{border-radius:var(--gcm-admin-radius);font-weight:700;padding:4px 10px}
.gcm-admin-shell .badge.bg-success,.gcm-admin-shell .badge.text-bg-success{background:#ecfdf3!important;color:#027a48!important}
.gcm-admin-shell .badge.bg-warning,.gcm-admin-shell .badge.text-bg-warning{background:#fffaeb!important;color:#b54708!important}
.gcm-admin-shell .badge.bg-danger,.gcm-admin-shell .badge.text-bg-danger{background:#fef3f2!important;color:#b42318!important}
.gcm-admin-shell .badge.bg-secondary,.gcm-admin-shell .badge.text-bg-secondary{background:#f2f4f7!important;color:#475467!important}
.gcm-admin-shell .modal-header .btn,.gcm-admin-shell .modal-footer .btn{border-radius:var(--gcm-admin-radius)}
.gcm-admin-shell .gcm-admin-table td:last-child{text-align:right}
.gcm-admin-shell .gcm-admin-table td:last-child .gcm-admin-table-actions{justify-content:flex-end}
@media (max-width: 1024px){
  .gcm-admin-topbar{padding:14px 16px;flex-wrap:wrap}
}
@media (max-width: 760px){
  .gcm-admin-nav{grid-template-columns:1fr 1fr}
  .gcm-admin-topbar h1{font-size:1.2rem}
  .gcm-admin-card{padding:14px}
  .gcm-admin-topbar-actions{min-width:0;gap:8px}
  .gcm-dashboard-indicators{gap:4px;max-width:100%;overflow-x:auto;padding:6px}
  .gcm-dashboard-indicator{flex-basis:36px;width:36px;height:36px}
  .gcm-admin-table-actions{justify-content:flex-start}
}

.gcm-admin-menu-toggle {
  display: none;
  border-radius: var(--gcm-admin-radius);
  border: 1px solid var(--gcm-admin-border);
  background: #fff;
  color: var(--gcm-admin-text);
  min-width: 42px;
  min-height: 42px;
  font-size: 22px;
  font-weight: 800;
}

.gcm-admin-sidebar-overlay {
  position: fixed;
  inset: 0;
  z-index: 998;
  background: rgba(15, 23, 42, .45);
}

@media (max-width: 991px) {
  .gcm-admin-shell {
    display: block;
  }

  .gcm-admin-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .gcm-admin-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: min(320px, 88vw);
    height: 100vh;
    overflow-y: auto;
    transform: translateX(-105%);
    transition: transform .22s ease;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .22);
  }

  .gcm-admin-shell.is-sidebar-open .gcm-admin-sidebar {
    transform: translateX(0);
  }

  .gcm-admin-main {
    padding: 16px;
  }

  .gcm-admin-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
}

/* TailAdmin spacing polish */
.gcm-admin-card { padding: 20px; }
.gcm-admin-form { display: grid; gap: 16px; }
.gcm-admin-form .row,
.gcm-admin-form .gcm-form-grid { margin: 0; }
.gcm-admin-table-wrap { padding: 0; overflow-x: auto; border-radius: var(--gcm-admin-radius); overflow: hidden; }
.gcm-entity-search { padding: 18px 20px; }
.gcm-entity-header { padding: 18px 20px; }

.gcm-admin-table { min-width: 100%; }
.gcm-admin-table th,
.gcm-admin-table td { padding: 14px 16px; }

.gcm-admin-field { display: flex; flex-direction: column; gap: 6px; }
.gcm-admin-input,
.gcm-admin-select,
.gcm-admin-textarea { width: 100%; }

.gcm-admin-actions,
.gcm-table-actions,
.gcm-admin-table-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-start; align-items: center; }

.gcm-admin-btn,
.gcm-admin-shell .btn,
.gcm-admin-shell button { width: auto; flex: 0 0 auto; align-self: flex-start; }

.gcm-admin-form .btn,
.gcm-admin-form button { justify-content: center; }

.gcm-admin-shell input[type="checkbox"],
.gcm-admin-shell input[type="radio"] { width: 16px; height: 16px; min-height: 16px; border-radius: 4px; vertical-align: middle; }

.gcm-admin-shell .form-check { display: flex; align-items: center; gap: 8px; }
.gcm-admin-shell .form-switch input[type="checkbox"] { width: 34px; height: 18px; }

.gcm-capabilities-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 16px; }
.gcm-admin-modules-list .list-group-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gcm-admin-modules-list .form-check-input { margin-top: 0; }

@media (max-width: 760px) {
  .gcm-admin-form .row,
  .gcm-admin-form .gcm-form-grid { row-gap: 12px; }
  .gcm-admin-main,
  .gcm-admin-content { overflow-x: hidden; }
  .gcm-admin-btn,
  .gcm-admin-shell .btn,
  .gcm-admin-shell button { max-width: 100%; }
}

/* Dashboard v1 Roles & Capabilities editor (scoped). */
.gcm-role-capability-editor,
.gcm-role-capability-editor * {
  box-sizing: border-box;
}
.gcm-role-capability-editor {
  width: 100%;
  max-width: none;
}
.gcm-role-capability-editor .gcm-roles-workspace,
.gcm-role-capability-editor .gcm-capability-editor-host,
.gcm-role-capability-editor .gcm-capability-editor {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  overflow: visible;
}
.gcm-role-capability-editor .gcm-role-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(360px, 1fr) auto;
  gap: 16px;
  align-items: end;
  width: 100%;
  margin-bottom: 16px;
}
.gcm-role-capability-editor .gcm-role-search-field {
  min-width: 0;
}
.gcm-role-capability-editor .gcm-capability-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}
.gcm-role-capability-editor .gcm-capability-group {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0 0 1rem;
  padding: .75rem;
  border: 1px solid var(--gcm-admin-border);
  border-radius: var(--gcm-admin-radius);
  background: var(--gcm-admin-surface);
  overflow: hidden;
}
.gcm-role-capability-editor .gcm-capability-group-header {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: flex-start;
  width: 100%;
  margin-bottom: .5rem;
}
.gcm-role-capability-editor .gcm-capability-group-header > div {
  min-width: 0;
}
.gcm-role-capability-editor .gcm-capability-group-header h4 {
  margin: 0;
  font-size: 1.05rem;
}
.gcm-role-capability-editor .gcm-capability-group-header p {
  margin: 4px 0 0;
  color: var(--gcm-admin-muted);
}
.gcm-role-capability-editor .gcm-cap-group-select {
  flex: 0 0 auto;
  white-space: normal;
}
.gcm-role-capability-editor .gcm-capability-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .75rem;
  width: 100%;
  max-width: none;
  min-width: 0;
  align-items: stretch;
}
.gcm-role-capability-editor .gcm-capability-card {
  width: 100%;
  min-width: 0;
  min-height: 0;
  border: 1px solid var(--gcm-admin-border);
  border-radius: 14px;
  background: var(--gcm-admin-bg);
  overflow: hidden;
}
.gcm-role-capability-editor .gcm-capability-card.is-high-risk {
  border-color: #dc3545;
  box-shadow: 0 0 0 1px rgba(220, 53, 69, .12);
}
.gcm-role-capability-editor .gcm-capability-card-label {
  display: flex;
  gap: .75rem;
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: .75rem;
  cursor: pointer;
}
.gcm-role-capability-editor .gcm-capability-card-label:focus-within {
  outline: 3px solid rgba(13, 110, 253, .35);
  outline-offset: 2px;
}
.gcm-role-capability-editor .gcm-capability-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.gcm-role-capability-editor .gcm-capability-title {
  font-weight: 700;
  color: var(--gcm-admin-text);
}
.gcm-role-capability-editor .gcm-capability-description {
  color: var(--gcm-admin-muted);
  line-height: 1.35;
}
.gcm-role-capability-editor .gcm-capability-badges,
.gcm-role-capability-editor .gcm-capability-tech {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.gcm-role-capability-editor .gcm-capability-tech code,
.gcm-role-capability-editor .gcm-capability-aliases code {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gcm-role-capability-editor .gcm-capability-warning {
  display: block;
  width: 100%;
  padding: 8px;
  border-radius: 10px;
  background: #fff3cd;
  color: #6b4e00;
  font-weight: 600;
}
.gcm-role-capability-editor .gcm-capability-aliases summary {
  font-size: .85rem;
  color: var(--gcm-admin-muted);
}
@media (max-width: 900px) {
  .gcm-role-capability-editor .gcm-role-toolbar {
    grid-template-columns: 1fr;
  }
  .gcm-role-capability-editor .gcm-capability-group-header {
    flex-wrap: wrap;
  }
}
@media (max-width: 640px) {
  .gcm-role-capability-editor .gcm-capability-card-grid {
    grid-template-columns: 1fr;
  }
  .gcm-role-capability-editor .gcm-capability-card-label {
    align-items: flex-start;
  }
  .gcm-role-capability-editor .gcm-capability-filters .btn {
    flex: 1 1 auto;
  }
  .gcm-role-capability-editor .gcm-capability-group {
    padding: 12px;
  }
}

/* Dashboard v1 Roles & Capabilities mockup-inspired polish. */
.gcm-role-capability-editor .gcm-role-toolbar {
  grid-template-columns: minmax(220px, 300px) minmax(280px, 1fr) auto;
  align-items: stretch;
  padding: 18px;
  border: 1px solid var(--gcm-admin-border);
  border-radius: 16px;
  background: linear-gradient(135deg, var(--gcm-admin-surface), var(--gcm-admin-bg));
  box-shadow: var(--gcm-admin-shadow);
}
.gcm-role-capability-editor .gcm-role-toolbar-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  color: var(--gcm-admin-muted);
}
.gcm-role-capability-editor .gcm-role-toolbar-copy strong { color: var(--gcm-admin-text); font-size: 1.05rem; }
.gcm-role-capability-editor .gcm-role-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}
.gcm-role-capability-editor .gcm-role-summary-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}
.gcm-role-capability-editor .gcm-role-summary-item {
  display: flex;
  gap: 12px;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--gcm-admin-border);
  border-radius: 16px;
  background: var(--gcm-admin-surface);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}
.gcm-role-capability-editor .gcm-role-summary-item .dashicons {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(13, 110, 253, .1);
  color: var(--gcm-admin-primary);
}
.gcm-role-capability-editor .gcm-role-summary-item div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gcm-role-capability-editor .gcm-summary-label { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--gcm-admin-muted); }
.gcm-role-capability-editor .gcm-role-summary-item strong { color: var(--gcm-admin-text); font-size: 1rem; }
.gcm-role-capability-editor .gcm-role-summary-item small { color: var(--gcm-admin-muted); overflow-wrap: anywhere; }
.gcm-role-capability-editor .gcm-capability-filterbar {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(150px, .7fr)) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--gcm-admin-border);
  border-radius: 16px;
  background: var(--gcm-admin-surface);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.gcm-role-capability-editor .gcm-capability-filters { align-items: flex-end; justify-content: flex-end; }
.gcm-role-capability-editor .gcm-capability-group {
  padding: 20px;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}
.gcm-role-capability-editor .gcm-capability-group-header { padding-bottom: 12px; border-bottom: 1px solid var(--gcm-admin-border); margin-bottom: 16px; }
.gcm-role-capability-editor .gcm-capability-group-header h4 { display: flex; gap: 8px; align-items: center; font-size: 1.12rem; }
.gcm-role-capability-editor .gcm-capability-card-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.gcm-role-capability-editor .gcm-capability-card {
  min-height: 220px;
  border-radius: 16px;
  background: var(--gcm-admin-surface);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.gcm-role-capability-editor .gcm-capability-card:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(15, 23, 42, .1); }
.gcm-role-capability-editor .gcm-capability-card:has(.gcm-cap:checked) { border-color: var(--gcm-admin-primary); box-shadow: 0 0 0 1px rgba(13, 110, 253, .18), 0 14px 28px rgba(15, 23, 42, .08); }
.gcm-role-capability-editor .gcm-capability-card.is-high-risk { background: #fff7f7; border-color: rgba(220, 53, 69, .45); }
.gcm-role-capability-editor .gcm-capability-card-label { position: relative; display: block; padding: 18px 18px 18px 62px; }
.gcm-role-capability-editor .gcm-capability-card-label .gcm-cap { position: absolute; top: 18px; right: 18px; margin: 0; }
.gcm-role-capability-editor .gcm-capability-domain-icon { position: absolute; top: 18px; left: 18px; color: var(--gcm-admin-primary); }
.gcm-role-capability-editor .gcm-capability-card-body { padding-right: 28px; gap: 10px; }
.gcm-role-capability-editor .gcm-capability-title { font-size: 1rem; line-height: 1.25; }
.gcm-role-capability-editor .gcm-capability-description { font-size: .92rem; line-height: 1.5; }
.gcm-role-capability-editor .gcm-capability-tech { font-size: .78rem; color: var(--gcm-admin-muted); }
.gcm-role-capability-editor .gcm-capability-tech code,
.gcm-role-capability-editor .gcm-capability-aliases code { background: rgba(15, 23, 42, .05); color: var(--gcm-admin-muted); }
.gcm-role-capability-editor .gcm-capability-warning { background: #ffe8e8; color: #9f1239; }
@media (max-width: 1100px) {
  .gcm-role-capability-editor .gcm-capability-filterbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gcm-role-capability-editor .gcm-role-summary-panel { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .gcm-role-capability-editor .gcm-role-toolbar { grid-template-columns: 1fr; }
  .gcm-role-capability-editor .gcm-role-toolbar-actions { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .gcm-role-capability-editor .gcm-capability-filterbar { grid-template-columns: 1fr; }
  .gcm-role-capability-editor .gcm-capability-card-label { padding: 18px 16px 18px 54px; }
}
.gcm-role-capability-editor .gcm-role-page-heading {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.gcm-role-capability-editor .gcm-role-page-heading > .dashicons {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: var(--gcm-admin-primary);
  background: rgba(13, 110, 253, .1);
  font-size: 24px;
}
.gcm-role-capability-editor .gcm-role-create-form {
  margin: 0 0 18px;
  padding: 16px;
  border: 1px dashed var(--gcm-admin-border);
  border-radius: 16px;
  background: var(--gcm-admin-bg);
}
.gcm-role-capability-editor .gcm-capability-group-header h4 .badge {
  margin-left: 8px;
  font-size: .72rem;
}
.gcm-role-capability-editor .gcm-cap:disabled {
  cursor: not-allowed;
  opacity: .7;
}
.gcm-role-capability-editor .gcm-cap:disabled + .gcm-capability-card-body,
.gcm-role-capability-editor .gcm-capability-card-label:has(.gcm-cap:disabled) {
  cursor: default;
}

/* Dashboard visual system v1.1 ------------------------------------------------
   Scoped primitives for GestLigas Dashboard only. */
.gcm-admin-shell {
  --gcm-ui-space-1: 4px;
  --gcm-ui-space-2: 8px;
  --gcm-ui-space-3: 12px;
  --gcm-ui-space-4: 16px;
  --gcm-ui-space-5: 20px;
  --gcm-ui-space-6: 24px;
  --gcm-ui-radius-sm: 10px;
  --gcm-ui-radius: var(--gcm-admin-radius);
  --gcm-ui-border: var(--gcm-admin-border);
  --gcm-ui-surface: var(--gcm-admin-surface);
  --gcm-ui-surface-soft: var(--gcm-admin-surface-soft);
  --gcm-ui-shadow: var(--gcm-admin-shadow);
  --gcm-ui-icon-size: 20px;
  --gcm-ui-icon-box: 48px;
}
.gcm-admin-shell .gcm-ui-page { display: grid; gap: var(--gcm-ui-space-5); }
.gcm-admin-shell .gcm-ui-page-header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--gcm-ui-space-4); padding: var(--gcm-ui-space-6); border: 1px solid var(--gcm-ui-border); border-radius: var(--gcm-ui-radius); background: linear-gradient(135deg, #fff 0%, #f8faff 100%); box-shadow: var(--gcm-ui-shadow); }
.gcm-admin-shell .gcm-ui-page-heading { display: flex; align-items: flex-start; gap: var(--gcm-ui-space-4); min-width: 0; }
.gcm-admin-shell .gcm-ui-page-icon { width: var(--gcm-ui-icon-box); height: var(--gcm-ui-icon-box); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 16px; color: var(--gcm-admin-primary); background: #eef4ff; }
.gcm-admin-shell .gcm-ui-page-title { margin: 0; color: var(--gcm-admin-text); font-size: clamp(1.35rem, 2vw, 1.85rem); line-height: 1.15; }
.gcm-admin-shell .gcm-ui-page-description { margin: var(--gcm-ui-space-2) 0 0; max-width: 70ch; color: var(--gcm-admin-muted); }
.gcm-admin-shell .gcm-ui-toolbar { display: flex; align-items: end; justify-content: space-between; gap: var(--gcm-ui-space-4); flex-wrap: wrap; padding: var(--gcm-ui-space-4); border: 1px solid var(--gcm-ui-border); border-radius: var(--gcm-ui-radius); background: var(--gcm-ui-surface); box-shadow: var(--gcm-ui-shadow); }
.gcm-admin-shell .gcm-ui-toolbar-group, .gcm-admin-shell .gcm-ui-actions { display: flex; align-items: center; gap: var(--gcm-ui-space-3); flex-wrap: wrap; }
.gcm-admin-shell .gcm-ui-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--gcm-ui-space-4); }
.gcm-admin-shell .gcm-ui-summary-card, .gcm-admin-shell .gcm-ui-card, .gcm-admin-shell .gcm-ui-section { border: 1px solid var(--gcm-ui-border); border-radius: var(--gcm-ui-radius); background: var(--gcm-ui-surface); box-shadow: var(--gcm-ui-shadow); }
.gcm-admin-shell .gcm-ui-section-header, .gcm-admin-shell .gcm-ui-card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--gcm-ui-space-4); padding: var(--gcm-ui-space-5) var(--gcm-ui-space-5) 0; }
.gcm-admin-shell .gcm-ui-section-title { margin: 0; font-size: 1.1rem; color: var(--gcm-admin-text); }
.gcm-admin-shell .gcm-ui-section-description { margin: var(--gcm-ui-space-1) 0 0; color: var(--gcm-admin-muted); }
.gcm-admin-shell .gcm-ui-section-actions { display: flex; gap: var(--gcm-ui-space-2); flex-wrap: wrap; justify-content: flex-end; }
.gcm-admin-shell .gcm-ui-card-body { padding: var(--gcm-ui-space-5); }
.gcm-admin-shell .gcm-ui-card-footer { padding: var(--gcm-ui-space-4) var(--gcm-ui-space-5); border-top: 1px solid var(--gcm-ui-border); background: var(--gcm-ui-surface-soft); }
.gcm-admin-shell .gcm-ui-form { display: grid; gap: var(--gcm-ui-space-4); max-width: 100%; }
.gcm-admin-shell .gcm-ui-form-grid,
.gcm-admin-shell .gcm-ui-form-section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); column-gap: var(--gcm-ui-space-5); row-gap: var(--gcm-ui-space-4); align-items: start; }
.gcm-admin-shell .gcm-ui-form-grid > [class*="col-"],
.gcm-admin-shell .gcm-ui-form-section-grid > [class*="col-"] { width: 100%; min-width: 0; max-width: 100%; padding-left: 0; padding-right: 0; }
.gcm-admin-shell .gcm-ui-form-grid > .col-md-12,
.gcm-admin-shell .gcm-ui-form-grid > .col-12,
.gcm-admin-shell .gcm-ui-form-section-grid > .col-md-12,
.gcm-admin-shell .gcm-ui-form-section-grid > .col-12 { grid-column: 1 / -1; }
.gcm-admin-shell .gcm-ui-form-grid > :where(.col-md-6,.col-lg-6),
.gcm-admin-shell .gcm-ui-form-section-grid > :where(.col-md-6,.col-lg-6) { grid-column: span 1; }
.gcm-admin-shell .gcm-ui-form-grid > :where(.col-md-3,.col-md-4,.col-lg-3,.col-lg-4),
.gcm-admin-shell .gcm-ui-form-section-grid > :where(.col-md-3,.col-md-4,.col-lg-3,.col-lg-4) { grid-column: span 1; }
.gcm-admin-shell .gcm-ui-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gcm-admin-shell .gcm-ui-field-label { font-weight: 700; color: var(--gcm-admin-text); }
.gcm-admin-shell .gcm-ui-field-help { color: var(--gcm-admin-muted); font-size: .875rem; }
.gcm-admin-shell .gcm-ui-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--gcm-ui-border); border-radius: var(--gcm-ui-radius); background: var(--gcm-ui-surface); box-shadow: var(--gcm-ui-shadow); }
.gcm-admin-shell .gcm-ui-table { min-width: 760px; margin: 0; border-collapse: collapse; }
.gcm-admin-shell .gcm-ui-table th { font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; color: var(--gcm-admin-muted); background: var(--gcm-ui-surface-soft); }
.gcm-admin-shell .gcm-ui-table th, .gcm-admin-shell .gcm-ui-table td { padding: 14px 16px; vertical-align: middle; border-bottom: 1px solid var(--gcm-ui-border); }
.gcm-admin-shell .gcm-ui-empty { display: grid; justify-items: center; gap: var(--gcm-ui-space-2); padding: var(--gcm-ui-space-6); color: var(--gcm-admin-muted); text-align: center; }
.gcm-admin-shell .gcm-ui-notice { border-radius: var(--gcm-ui-radius); border: 1px solid var(--gcm-ui-border); padding: var(--gcm-ui-space-4); margin-bottom: var(--gcm-ui-space-4); }
.gcm-admin-shell .gcm-ui-notice-success { background: #ecfdf3; color: #027a48; border-color: #abefc6; }
.gcm-admin-shell .gcm-ui-notice-danger { background: #fef3f2; color: #b42318; border-color: #fecdca; }
.gcm-admin-shell .gcm-ui-notice-warning { background: #fffaeb; color: #b54708; border-color: #fedf89; }
.gcm-admin-shell .gcm-ui-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 4px 10px; border-radius: 999px; background: var(--gcm-ui-surface-soft); color: #475467; font-size: .78rem; font-weight: 800; }
.gcm-admin-shell .gcm-dashboard-icon { display: inline-flex; width: var(--gcm-ui-icon-size); height: var(--gcm-ui-icon-size); color: currentColor; }
.gcm-admin-shell .gcm-dashboard-icon svg { width: 100%; height: 100%; display: block; }
.gcm-admin-shell :where(.gcm-admin-btn,.btn,a,button,input,select,textarea):focus-visible { outline: 3px solid rgba(70,95,255,.28); outline-offset: 2px; }
@media (max-width: 1024px) {
  .gcm-admin-shell .gcm-ui-form-grid,
  .gcm-admin-shell .gcm-ui-form-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gcm-admin-shell .gcm-ui-field--wide { grid-column: 1 / -1; }
  .gcm-admin-shell .gcm-ui-players-form .gcm-ui-form-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .gcm-admin-shell .gcm-ui-page-header, .gcm-admin-shell .gcm-ui-section-header, .gcm-admin-shell .gcm-ui-card-header { flex-direction: column; align-items: stretch; }
  .gcm-admin-shell .gcm-ui-section-actions, .gcm-admin-shell .gcm-ui-actions { justify-content: stretch; }
  .gcm-admin-shell .gcm-ui-section-actions > *, .gcm-admin-shell .gcm-ui-actions > * { width: 100%; }
  .gcm-admin-shell .gcm-ui-toolbar { display: grid; }
  .gcm-admin-shell .gcm-ui-form-grid, .gcm-admin-shell .gcm-ui-form-section-grid { grid-template-columns: 1fr; }
  .gcm-admin-shell .gcm-ui-field--wide, .gcm-admin-shell .gcm-ui-field--compact { grid-column: 1; width: 100%; max-width: 100%; }
  .gcm-admin-shell .gcm-ui-players-form .gcm-ui-form-section-grid { grid-template-columns: 1fr; }
}

.gcm-admin-shell .gcm-ui-avatar { width: 40px; height: 40px; border-radius: 999px; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; border: 1px solid var(--gcm-ui-border); background: var(--gcm-ui-surface-soft); color: var(--gcm-admin-muted); font-weight: 800; }
.gcm-admin-shell .gcm-ui-identity { display: inline-flex; align-items: center; gap: var(--gcm-ui-space-3); min-width: 0; }
.gcm-admin-shell .gcm-ui-identity-main { color: var(--gcm-admin-text); font-weight: 800; line-height: 1.2; }
.gcm-admin-shell .gcm-ui-identity-secondary { color: var(--gcm-admin-muted); font-size: .85rem; line-height: 1.2; }
.gcm-admin-shell .gcm-notice-card-list { display: grid; gap: var(--gcm-ui-space-4); }
.gcm-admin-shell .gcm-notice-card-meta { display: flex; align-items: center; gap: var(--gcm-ui-space-3); flex-wrap: wrap; color: var(--gcm-admin-muted); font-weight: 700; }
.gcm-admin-shell .gcm-notice-card-message { margin: var(--gcm-ui-space-3) 0; color: var(--gcm-admin-text); }


/* Final Dashboard overview consolidation (1.1.0): scoped home cards and authorized shortcuts. */
.gcm-admin-shell .gcm-overview-module { max-width: 100%; overflow-x: hidden; }
.gcm-admin-shell .gcm-overview-notice-card { box-shadow: none; }
.gcm-admin-shell .gcm-overview-notice-card .gcm-ui-card-body { padding: var(--gcm-ui-space-4); }
.gcm-admin-shell .gcm-overview-action-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.gcm-admin-shell .gcm-overview-action-card { overflow: hidden; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.gcm-admin-shell .gcm-overview-action-card:focus-within, .gcm-admin-shell .gcm-overview-action-card:hover { transform: translateY(-1px); border-color: var(--gcm-admin-primary); }
.gcm-admin-shell .gcm-overview-action-link { display: flex; align-items: center; gap: var(--gcm-ui-space-3); min-height: 100%; padding: var(--gcm-ui-space-4); color: var(--gcm-admin-text); text-decoration: none; }
.gcm-admin-shell .gcm-overview-action-link small { display: block; margin-top: 2px; color: var(--gcm-admin-muted); font-weight: 700; }
.gcm-admin-shell .gcm-overview-action-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 14px; color: var(--gcm-admin-primary); background: #eef4ff; }

/* Dashboard 1.1 workflow primitives: match operational views only. */
.gcm-admin-shell .gcm-ui-workflow { display: grid; gap: var(--gcm-ui-space-5); max-width: 100%; overflow-x: hidden; }
.gcm-admin-shell .gcm-ui-workflow-header { align-items: center; }
.gcm-admin-shell .gcm-ui-match-context { display: grid; gap: var(--gcm-ui-space-3); padding: var(--gcm-ui-space-5); border: 1px solid var(--gcm-ui-border); border-radius: var(--gcm-ui-radius); background: var(--gcm-ui-surface); box-shadow: var(--gcm-ui-shadow); }
.gcm-admin-shell .gcm-ui-match-meta, .gcm-admin-shell .gcm-ui-match-details { color: var(--gcm-admin-muted); font-weight: 700; text-align: center; }
.gcm-admin-shell .gcm-ui-match-line { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--gcm-ui-space-4); }
.gcm-admin-shell .gcm-ui-match-team { display: flex; align-items: center; gap: var(--gcm-ui-space-3); min-width: 0; }
.gcm-admin-shell .gcm-ui-match-team:last-child { justify-content: flex-end; text-align: right; }
.gcm-admin-shell .gcm-ui-match-team-name { min-width: 0; overflow-wrap: anywhere; color: var(--gcm-admin-text); font-size: 1.05rem; }
.gcm-admin-shell .gcm-ui-match-crest { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 999px; object-fit: contain; border: 1px solid var(--gcm-ui-border); background: var(--gcm-ui-surface-soft); display: inline-flex; align-items: center; justify-content: center; font-weight: 900; color: var(--gcm-admin-muted); }
.gcm-admin-shell .gcm-ui-match-center { display: grid; justify-items: center; gap: var(--gcm-ui-space-2); min-width: 72px; }
.gcm-admin-shell .gcm-ui-match-vs { font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--gcm-admin-muted); }
.gcm-admin-shell .gcm-ui-workflow-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gcm-ui-space-5); align-items: start; }
.gcm-admin-shell .gcm-ui-workflow-column { min-width: 0; }
.gcm-admin-shell .gcm-ui-workflow-table-wrap { box-shadow: none; border-left: 0; border-right: 0; border-bottom: 0; border-radius: 0 0 var(--gcm-ui-radius) var(--gcm-ui-radius); }
.gcm-admin-shell .gcm-ui-event-timeline td:first-child { font-weight: 900; color: var(--gcm-admin-primary); }
.gcm-admin-shell .gcm-ui-locked { border: 1px dashed var(--gcm-ui-border); border-radius: var(--gcm-ui-radius); background: var(--gcm-ui-surface-soft); }
.gcm-admin-shell .gcm-callup-team-card .list-group-item { gap: var(--gcm-ui-space-2); flex-wrap: wrap; }
.gcm-admin-shell .gcm-callup-team-card .d-flex.gap-2 { flex-wrap: wrap; }
.gcm-admin-shell .gcm-callup-team-card .gcm-callup-player-select { min-width: min(100%, 240px); flex: 1 1 240px; }
.gcm-admin-shell .gcm-dashboard-icon-clipboard-list::before { content: "☑"; font-weight: 900; }
.gcm-admin-shell .gcm-dashboard-icon-activity::before { content: "↯"; font-weight: 900; }
.gcm-admin-shell .gcm-dashboard-icon-file-text::before { content: "☷"; font-weight: 900; }
.gcm-admin-shell .gcm-dashboard-icon-whistle::before { content: "◌"; font-weight: 900; }
@media (max-width: 782px) {
  .gcm-admin-shell .gcm-ui-match-line { grid-template-columns: 1fr; text-align: center; }
  .gcm-admin-shell .gcm-ui-match-team, .gcm-admin-shell .gcm-ui-match-team:last-child { justify-content: center; text-align: center; }
  .gcm-admin-shell .gcm-ui-workflow-grid { grid-template-columns: 1fr; }
  .gcm-admin-shell .gcm-ui-workflow .gcm-ui-table { min-width: 620px; }
}

/* Dashboard visual regression hotfixes: reusable form and pagination primitives. */
.gcm-admin-shell :where(.gcm-ui-field,.gcm-person-search-field) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea),
.gcm-admin-shell .gcm-ui-field .gcm-ui-control,
.gcm-admin-shell .gcm-person-search-field .gcm-ui-control { display: block; inline-size: 100%; width: 100%; max-width: none; min-width: 0; min-height: 42px; padding: 9px 12px; box-sizing: border-box; justify-self: stretch; align-self: stretch; }
.gcm-admin-shell .gcm-ui-control { max-width: none; }
.gcm-admin-shell .gcm-ui-field input[type="file"] { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.gcm-admin-shell .gcm-ui-textarea, .gcm-admin-shell .gcm-ui-field textarea { inline-size: 100%; width: 100%; max-width: none; min-width: 0; min-height: 132px; box-sizing: border-box; resize: vertical; }
.gcm-admin-shell .gcm-ui-field--full,
.gcm-admin-shell .gcm-ui-field--wide,
.gcm-admin-shell .gcm-ui-form-section,
.gcm-admin-shell .gcm-ui-form-grid > .gcm-tiebreak-editor { grid-column: 1 / -1; }
.gcm-admin-shell .gcm-ui-field--wide { grid-column: span 2; min-width: 0; }
.gcm-admin-shell .gcm-ui-field--half { min-width: 0; }
.gcm-admin-shell .gcm-ui-field--option { align-self: start; }
.gcm-admin-shell .gcm-ui-field .form-text,
.gcm-admin-shell .gcm-person-search-field .form-text,
.gcm-admin-shell .gcm-ui-field-help { display: block; width: 100%; margin: 0; color: var(--gcm-admin-muted); font-size: .875rem; line-height: 1.35; }
.gcm-admin-shell .gcm-ui-players-form .gcm-ui-form-section-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gcm-admin-shell .gcm-ui-players-form [data-gcm-form-section="person"] .gcm-ui-field--wide { grid-column: 1 / -1; }
.gcm-admin-shell .gcm-ui-form-section { display: grid; gap: var(--gcm-ui-space-3); padding: var(--gcm-ui-space-4); border: 1px solid var(--gcm-ui-border); border-radius: var(--gcm-ui-radius-sm); background: var(--gcm-ui-surface-soft); }
.gcm-admin-shell .gcm-ui-form-section-header { display: grid; gap: var(--gcm-ui-space-1); }
.gcm-admin-shell .gcm-ui-form-section-title { margin: 0; font-size: 1rem; font-weight: 800; color: var(--gcm-admin-text); }
.gcm-admin-shell .gcm-ui-form-section-description { margin: 0; color: var(--gcm-admin-muted); }
.gcm-admin-shell .gcm-ui-file-field { align-content: start; }

.gcm-admin-shell .gcm-team-media-picker {
  display: grid;
  gap: .75rem;
  justify-items: start;
}

.gcm-admin-shell .gcm-team-media-preview[hidden],
.gcm-admin-shell .gcm-team-media-remove[hidden] { display: none; }

.gcm-admin-shell .gcm-team-media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.gcm-admin-shell .gcm-team-media-select { margin: 0; }

.gcm-admin-shell .gcm-team-media-file {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.gcm-admin-shell .gcm-ui-check { display: inline-flex; align-items: center; gap: var(--gcm-ui-space-2); min-height: 42px; padding: 10px 12px; border: 1px solid var(--gcm-ui-border); border-radius: var(--gcm-ui-radius-sm); background: var(--gcm-ui-surface-soft); font-weight: 700; color: var(--gcm-admin-text); cursor: pointer; }
.gcm-admin-shell .gcm-ui-check input { flex: 0 0 auto; margin: 0; }
.gcm-admin-shell .gcm-ui-form-actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-start; gap: var(--gcm-ui-space-3); flex-wrap: wrap; padding-top: var(--gcm-ui-space-2); }
.gcm-admin-shell .gcm-ui-pagination { display: flex; justify-content: center; width: 100%; margin: var(--gcm-ui-space-4) 0 0; }
.gcm-admin-shell .gcm-ui-pagination-list { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--gcm-ui-space-2); margin: 0; padding: 0; list-style: none; }
.gcm-admin-shell .gcm-ui-pagination .page-item { margin: 0; }
.gcm-admin-shell .gcm-ui-pagination .page-link, .gcm-admin-shell .gcm-ui-pagination-ellipsis { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 38px; padding: 8px 12px; border-radius: var(--gcm-ui-radius-sm); border: 1px solid var(--gcm-ui-border); background: var(--gcm-ui-surface); color: var(--gcm-admin-text); font-weight: 800; text-decoration: none; line-height: 1; box-shadow: none; }
.gcm-admin-shell .gcm-ui-pagination .page-link:hover, .gcm-admin-shell .gcm-ui-pagination .page-link:focus-visible { border-color: var(--gcm-admin-primary); color: var(--gcm-admin-primary); background: #eef4ff; }
.gcm-admin-shell .gcm-ui-pagination .page-item.active .page-link, .gcm-admin-shell .gcm-ui-pagination .page-link[aria-current="page"] { border-color: var(--gcm-admin-primary); background: var(--gcm-admin-primary); color: #fff; }
.gcm-admin-shell .gcm-ui-pagination .page-item.disabled .page-link { opacity: .55; pointer-events: none; background: var(--gcm-ui-surface-soft); color: var(--gcm-admin-muted); }
.gcm-admin-shell .gcm-ui-pagination-ellipsis { color: var(--gcm-admin-muted); background: transparent; border-color: transparent; cursor: default; }

@media (max-width: 1024px) {
  .gcm-admin-shell .gcm-ui-form-grid,
  .gcm-admin-shell .gcm-ui-form-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gcm-admin-shell .gcm-ui-field--wide { grid-column: 1 / -1; }
  .gcm-admin-shell .gcm-ui-players-form .gcm-ui-form-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .gcm-admin-shell .gcm-ui-form-grid,
  .gcm-admin-shell .gcm-ui-form-section-grid { grid-template-columns: 1fr; }
  .gcm-admin-shell .gcm-ui-field--wide,
  .gcm-admin-shell .gcm-ui-field--compact { grid-column: 1; width: 100%; max-width: 100%; }
  .gcm-admin-shell .gcm-ui-players-form .gcm-ui-form-section-grid { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
  .gcm-admin-shell .gcm-ui-pagination { justify-content: flex-start; }
  .gcm-admin-shell .gcm-ui-pagination-list { justify-content: flex-start; }
}

/* GestLigas 1.1.1 final Dashboard polish: Menu Manager spacing. */
.gcm-admin-shell .gcm-menu-module .gcm-menu-editor-padding,
.gcm-admin-shell .gcm-menu-module .gcm-menu-structure-padding,
.gcm-admin-shell .gcm-menu-module .gcm-menu-preview-padding { padding: var(--gcm-ui-space-5); }
.gcm-admin-shell .gcm-menu-module .gcm-menu-preview-section { background: var(--gcm-ui-surface); }
.gcm-admin-shell .gcm-menu-module #gcm-menu-preview { display: block; white-space: normal; overflow-wrap: anywhere; padding: var(--gcm-ui-space-3); border: 1px solid var(--gcm-ui-border); border-radius: var(--gcm-ui-radius-sm); background: var(--gcm-ui-surface-soft); }
.gcm-admin-shell .gcm-menu-module #gcm-menu-item-form :where(#gcm-menu-quick-params, #gcm-menu-params-builder) { min-width: 0; }
.gcm-admin-shell .gcm-menu-module #gcm-menu-item-form :where(#gcm-menu-quick-params, .gcm-param-row) { flex-wrap: wrap; }
.gcm-admin-shell .gcm-menu-module #gcm-menu-item-form .gcm-param-value-select { flex: 1 1 12rem; min-width: 0; max-width: 100%; }

/* Configurable dashboard design tokens; defaults preserve the established dashboard. */
.gcm-admin-shell { background: var(--gcm-dashboard-workspace-bg, var(--gcm-admin-bg)); color: var(--gcm-dashboard-text, var(--gcm-admin-text)); }
.gcm-admin-sidebar { background: var(--gcm-dashboard-sidebar-bg, var(--gcm-admin-surface)); border-color: var(--gcm-dashboard-sidebar-border, var(--gcm-admin-border)); color: var(--gcm-dashboard-sidebar-text, var(--gcm-admin-text)); }
.gcm-admin-nav a { color: var(--gcm-dashboard-sidebar-text, #344054); }
.gcm-admin-nav a:hover { background: var(--gcm-dashboard-sidebar-hover-bg, var(--gcm-admin-surface-soft)); }
.gcm-admin-nav a.active { background: var(--gcm-dashboard-sidebar-active-bg, #ecf3ff); color: var(--gcm-dashboard-sidebar-active-text, var(--gcm-admin-primary)); }
.gcm-admin-card { background: var(--gcm-dashboard-card-bg, var(--gcm-admin-surface)); border-color: var(--gcm-dashboard-card-border, var(--gcm-admin-border)); }
.gcm-overview-action-card:hover { background: var(--gcm-dashboard-card-hover-bg, var(--gcm-admin-surface-soft)); }
.gcm-overview-action-icon { background: var(--gcm-dashboard-action-bg, #eef4ff) !important; color: var(--gcm-dashboard-action-icon, var(--gcm-admin-primary)) !important; }
.gcm-overview-action-card:hover .gcm-overview-action-icon { background: var(--gcm-dashboard-action-hover-bg, #e0eaff) !important; }
.gcm-theme-token-sections { display: grid; gap: 12px; }
.gcm-theme-token-section > summary { cursor: pointer; display: grid; gap: 3px; list-style-position: inside; }

/* Authorization diagnostic — uses Dashboard/Bootstrap theme tokens only. */
.gcm-authorization-diagnostic > summary { align-items: center; cursor: pointer; display: flex; gap: .75rem; }
.gcm-authorization-diagnostic > summary span:last-child { display: grid; gap: .2rem; }
.gcm-authorization-diagnostic > summary small { color: var(--gcm-admin-muted); font-weight: 400; }
.gcm-advanced-tool-indicator { align-items: center; background: var(--gcm-admin-surface-soft); border-radius: 50%; display: inline-flex; flex: 0 0 2rem; height: 2rem; justify-content: center; }
.gcm-authorization-diagnostic-body { border-top: 1px solid var(--gcm-admin-border); margin-top: 1rem; padding-top: 1rem; }
.gcm-auth-user-results { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.gcm-auth-diagnostic-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.gcm-auth-diagnostic-filters .gcm-admin-input { flex: 1 1 18rem; }
.gcm-auth-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gcm-auth-user-card { min-width: 0; }
.gcm-auth-user-card pre { max-height: 20rem; overflow: auto; }
.gcm-auth-user-card details { margin-top: .75rem; }
.gcm-admin-shell .gcm-ui-badge-row { display: flex; flex-wrap: wrap; gap: .35rem; }
@media (max-width: 767px) {
  .gcm-auth-comparison-grid { grid-template-columns: minmax(0, 1fr); }
  .gcm-auth-diagnostic-filters { align-items: stretch; flex-direction: column; }
}
