/* GIM Components — canonical reusable component layer.
 * Owner: theme. Plugin may only consume these classes/tokens.
 * UTF-8 without BOM.
 */

:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,[data-ui="app-shell"],[data-ui="admin-shell"]){
  font-family:var(--gim-font-base);
  color:var(--gim-text-primary);
  font-size:var(--gim-font-md);
}

.gim-btn,.gcm-btn,[data-ui="button"],button.gim-action,
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host) :where(button.button,a.button){
  appearance:none;
  align-items:center;
  justify-content:center;
  gap:var(--gim-space-2);
  max-inline-size:100%;
  min-inline-size:0;
  border:1px solid color-mix(in srgb,var(--gim-accent) 42%,var(--gim-border));
  background:var(--gim-color-surface-interactive,var(--gim-surface));
  color:var(--gim-text-primary);
  border-radius:var(--gim-radius-control);
  min-height:var(--gim-density-control-height);
  padding:8px 12px;
  font-family:var(--gim-font-base);
  font-size:var(--gim-font-sm);
  font-weight:var(--gim-font-weight-medium);
  line-height:var(--gim-line-tight);
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  cursor:pointer;
  transition:background var(--gim-transition),border-color var(--gim-transition),box-shadow var(--gim-transition),color var(--gim-transition);
}
/* Canonical visibility contract: component presentation must never override
   the native hidden state. This keeps responsive/header lifecycle authoritative. */
.gim-btn:not([hidden]),
.gcm-btn:not([hidden]),
[data-ui="button"]:not([hidden]),
button.gim-action:not([hidden]),
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host) :where(button.button,a.button):not([hidden]){
  display:inline-flex;
}
.gim-btn:hover,.gcm-btn:hover,[data-ui="button"]:hover,button.gim-action:hover,
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host) :where(button.button,a.button):hover{background:var(--gim-surface-2);}
.gim-btn:focus-visible,.gcm-btn:focus-visible,[data-ui="button"]:focus-visible,
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host) :where(button.button,a.button):focus-visible{outline:none;box-shadow:var(--gim-focus-ring);border-color:var(--gim-accent);}
.gim-btn[disabled],.gcm-btn[disabled],[data-ui="button"][disabled],
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host) :where(button.button,a.button)[disabled]{opacity:.55;cursor:not-allowed;}


/* R9 — canonical auto-enriched action contract.
 * JS only annotates/augments action anatomy; visual ownership remains here.
 */
:where(button,a.button,.gcm-btn,.gim-btn,.gcm-subscription-btn).gim-action-has-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--gim-space-1);
  min-inline-size:0;
}
:where(button,a.button,.gcm-btn,.gim-btn,.gcm-subscription-btn).gim-action-has-icon > .gim-table-action-icon{
  order:0;
}
:where(button,a.button,.gcm-btn,.gim-btn,.gcm-subscription-btn).gim-action-has-icon > .gim-action-label{
  order:1;
  min-inline-size:0;
}
:where(button,a.button,.gcm-btn,.gim-btn,.gcm-subscription-btn).gim-action-has-icon > svg{
  inline-size:var(--gim-icon-action-size);
  block-size:var(--gim-icon-action-size);
  flex:0 0 var(--gim-icon-action-size);
  display:block;
}

@media (max-width:768px){
  :where(.gcm-page-header__actions,.gim-reference-action-group,[data-ui="page-actions"]){
    min-inline-size:0;
  }
}



/* Canonical Search / Refresh utility action. */
#gcm-app :where(button,a.button,.button,.gcm-btn,.gim-btn,input[type="submit"],input[type="button"])[data-gim-utility-action],
#gcm-spa-root :where(button,a.button,.button,.gcm-btn,.gim-btn,input[type="submit"],input[type="button"])[data-gim-utility-action],
#gcm-admin-app :where(button,a.button,.button,.gcm-btn,.gim-btn,input[type="submit"],input[type="button"])[data-gim-utility-action],
#gcm-modal :where(button,a.button,.button,.gcm-btn,.gim-btn,input[type="submit"],input[type="button"])[data-gim-utility-action]{
  inline-size:var(--gim-touch-target-min);
  min-inline-size:var(--gim-touch-target-min);
  max-inline-size:var(--gim-touch-target-min);
  block-size:var(--gim-touch-target-min);
  min-block-size:var(--gim-touch-target-min);
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  border:1px solid color-mix(in srgb,var(--gim-accent) 42%,var(--gim-border));
  border-radius:var(--gim-radius-control);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  box-shadow:none;
  font-size:0;
  line-height:1;
}
#gcm-app [data-gim-utility-action] :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]),
#gcm-spa-root [data-gim-utility-action] :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]),
#gcm-admin-app [data-gim-utility-action] :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]),
#gcm-modal [data-gim-utility-action] :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]){display:none;}
#gcm-app [data-gim-utility-action]:hover,
#gcm-spa-root [data-gim-utility-action]:hover,
#gcm-admin-app [data-gim-utility-action]:hover,
#gcm-modal [data-gim-utility-action]:hover{
  background:var(--gim-color-surface-selected);
  border-color:color-mix(in srgb,var(--gim-accent) 32%,var(--gim-border));
  color:var(--gim-accent);
}
#gcm-app [data-gim-utility-action]:focus-visible,
#gcm-spa-root [data-gim-utility-action]:focus-visible,
#gcm-admin-app [data-gim-utility-action]:focus-visible,
#gcm-modal [data-gim-utility-action]:focus-visible{outline:none;box-shadow:var(--gim-focus-ring);}
#gcm-app [data-gim-utility-action] :where(svg,.gim-table-action-icon,.gim-action-icon),
#gcm-spa-root [data-gim-utility-action] :where(svg,.gim-table-action-icon,.gim-action-icon),
#gcm-admin-app [data-gim-utility-action] :where(svg,.gim-table-action-icon,.gim-action-icon),
#gcm-modal [data-gim-utility-action] :where(svg,.gim-table-action-icon,.gim-action-icon){
  inline-size:var(--gim-icon-action-size);
  block-size:var(--gim-icon-action-size);
  flex:0 0 var(--gim-icon-action-size);
}

/* Canonical page quick-actions strip.
 * Page-level important actions have one shared visual owner.
 */
.gim-quick-actions{
  container-type:inline-size;
  inline-size:100%;
  min-inline-size:0;
  display:grid;
  gap:var(--gim-space-2);
  padding:var(--gim-space-2) var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-lg);
  background:var(--gim-surface);
  box-shadow:var(--gim-shadow-xs);
  box-sizing:border-box;
}
.gim-quick-actions__head{
  min-inline-size:0;
  display:flex;
  align-items:baseline;
  gap:var(--gim-space-1);
  line-height:1.45;
  white-space:nowrap;
}
.gim-quick-actions__title{
  flex:0 0 auto;
  color:var(--gim-text-primary);
  font-size:13px;
  font-weight:var(--gim-font-weight-semibold);
}
.gim-quick-actions__separator,
.gim-quick-actions__description{
  color:var(--gim-text-secondary);
  font-size:12px;
}
.gim-quick-actions__description{
  min-inline-size:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gim-quick-actions__row{
  inline-size:100%;
  min-inline-size:0;
  display:flex;
  flex-flow:row nowrap;
  align-items:center;
  justify-content:flex-start;
  direction:rtl;
  text-align:start;
  gap:6px;
  overflow-x:auto;
  overflow-y:visible;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}
.gim-quick-actions__row::-webkit-scrollbar{display:none;}
.gim-quick-actions__action{
  position:relative;
  flex:0 0 auto;
  inline-size:auto;
  min-inline-size:0;
  min-block-size:40px;
  padding-inline:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
}
#gcm-app .gim-quick-actions__row .gim-quick-actions__action,
#gcm-spa-root .gim-quick-actions__row .gim-quick-actions__action{
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  border-color:color-mix(in srgb,var(--gim-accent) 42%,var(--gim-border));
  box-shadow:none;
}
#gcm-app .gim-quick-actions__row .gim-quick-actions__action:hover,
#gcm-spa-root .gim-quick-actions__row .gim-quick-actions__action:hover{
  background:var(--gim-color-surface-selected);
  color:var(--gim-text-primary);
  border-color:color-mix(in srgb,var(--gim-accent) 28%,var(--gim-border));
}
#gcm-app .gim-quick-actions__row .gim-quick-actions__action[data-page-primary-action="true"],
#gcm-spa-root .gim-quick-actions__row .gim-quick-actions__action[data-page-primary-action="true"]{
  color:var(--gim-accent);
  border-color:color-mix(in srgb,var(--gim-accent) 42%,var(--gim-border));
}
.gim-quick-actions__action :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]){display:inline;}
.gim-quick-actions__action::after{content:none;}

@media (max-width:1024px){
  .gim-quick-actions[data-action-density="compact"] .gim-quick-actions__description,
  .gim-quick-actions[data-action-density="compact"] .gim-quick-actions__separator{display:none;}
  .gim-quick-actions[data-action-density="compact"] .gim-quick-actions__action{
    inline-size:var(--gim-touch-target-min);
    min-inline-size:var(--gim-touch-target-min);
    block-size:var(--gim-touch-target-min);
    min-block-size:var(--gim-touch-target-min);
    padding-inline:0;
  }
  .gim-quick-actions[data-action-density="compact"] .gim-quick-actions__action :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]){display:none;}
  .gim-quick-actions[data-action-density="compact"] .gim-quick-actions__action[data-gim-action-label]::after{
    content:attr(data-gim-action-label);
    position:absolute;
    inset-block-end:calc(100% + 7px);
    inset-inline-start:50%;
    z-index:var(--gim-layer-popover,1100);
    padding:5px 8px;
    border-radius:var(--gim-radius-sm);
    background:var(--gim-text-primary);
    color:var(--gim-surface);
    font-size:11px;
    line-height:1.4;
    white-space:nowrap;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(50%);
  }
  @media (hover:hover){
    .gim-quick-actions[data-action-density="compact"] .gim-quick-actions__action[data-gim-action-label]:hover::after{opacity:1;visibility:visible;}
  }
  .gim-quick-actions[data-action-density="compact"] .gim-quick-actions__action[data-gim-action-label]:focus-visible::after{opacity:1;visibility:visible;}
}

@media (max-width:640px){
  .gim-quick-actions{gap:6px;padding:8px 10px;}
  .gim-quick-actions__description,.gim-quick-actions__separator{display:none;}
  .gim-quick-actions__action{
    inline-size:var(--gim-touch-target-min);
    min-inline-size:var(--gim-touch-target-min);
    block-size:var(--gim-touch-target-min);
    min-block-size:var(--gim-touch-target-min);
    padding-inline:0;
  }
  .gim-quick-actions__action :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]){display:none;}
  .gim-quick-actions__action[data-gim-action-label]::after{
    content:attr(data-gim-action-label);
    position:absolute;
    inset-block-end:calc(100% + 7px);
    inset-inline-start:50%;
    z-index:var(--gim-layer-popover,1100);
    padding:5px 8px;
    border-radius:var(--gim-radius-sm);
    background:var(--gim-text-primary);
    color:var(--gim-surface);
    font-size:11px;
    line-height:1.4;
    white-space:nowrap;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(50%);
  }
  @media (hover:hover){
    .gim-quick-actions__action[data-gim-action-label]:hover::after{opacity:1;visibility:visible;}
  }
  .gim-quick-actions__action[data-gim-action-label]:focus-visible::after{opacity:1;visibility:visible;}
}



/* Canonical operational status strip: one visual source for page-level status cards. */
.gim-status-strip{
  inline-size:100%;
  min-inline-size:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.gim-status-strip__grid{
  display:flex;
  flex-flow:row nowrap;
  align-items:stretch;
  gap:7px;
  min-inline-size:0;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}
.gim-status-strip__grid::-webkit-scrollbar{display:none;}
.gim-status-card{
  --gim-status-tone:var(--gim-text-secondary);
  position:relative;
  flex:1 1 124px;
  min-inline-size:108px;
  max-inline-size:180px;
  min-block-size:64px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:7px 12px;
  border:1px solid var(--gim-border);
  border-inline-start:5px solid var(--gim-accent);
  border-radius:12px;
  background:var(--gim-surface-2,var(--gim-surface));
  box-shadow:none;
  overflow:hidden;
  text-align:start;
}
.gim-status-card::after{
  content:"";
  position:absolute;
  inset-block:7px;
  inset-inline-end:6px;
  inline-size:5px;
  border-radius:999px;
  background:var(--gim-status-tone);
}
.gim-status-card.is-success{--gim-status-tone:var(--gim-success,#16a36a);}
.gim-status-card.is-warning{--gim-status-tone:var(--gim-warning,#d99400);}
.gim-status-card.is-danger{--gim-status-tone:var(--gim-danger,#dc4343);}
.gim-status-card.is-info{--gim-status-tone:var(--gim-info,var(--gim-accent,#2563eb));}
.gim-status-card__value{
  display:block;
  min-inline-size:0;
  color:var(--gim-text-primary);
  font-size:19px;
  font-weight:800;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gim-status-card__label{
  display:block;
  min-inline-size:0;
  color:var(--gim-text-secondary);
  font-size:12px;
  font-weight:600;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:640px){
  .gim-status-strip__grid{
    flex-wrap:wrap;
    overflow:visible;
  }
  .gim-status-card{
    flex:1 1 92px;
    min-inline-size:92px;
    max-inline-size:none;
    min-block-size:60px;
    padding:6px 10px;
  }
  .gim-status-card__value{font-size:17px;}
  .gim-status-card__label{font-size:11px;}
}


/* Canonical action anatomy. */

:where(.gim-btn,.gcm-btn,[data-ui="button"],button.gim-action,.button) :where(.gim-action-icon,.gim-table-action-icon,[data-ui="button-icon"]){
  inline-size:var(--gim-icon-action-size);
  block-size:var(--gim-icon-action-size);
  flex:0 0 var(--gim-icon-action-size);
  display:inline-grid;
  place-items:center;
  color:currentColor;
  pointer-events:none;
}
:where(.gim-btn,.gcm-btn,[data-ui="button"],button.gim-action,.button) :where(.gim-action-icon,.gim-table-action-icon,[data-ui="button-icon"]) svg{
  inline-size:100%;
  block-size:100%;
  display:block;
}
:where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]){
  min-inline-size:0;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}
:where(.gim-icon-btn,.gcm-icon-button,.gcm-btn--icon,[data-ui="icon-button"]){
  inline-size:var(--gim-touch-target-min);
  block-size:var(--gim-touch-target-min);
  min-inline-size:var(--gim-touch-target-min);
  min-block-size:var(--gim-touch-target-min);
  padding:0;
  display:inline-grid;
  place-items:center;
  border-radius:var(--gim-radius-control);
}
@media (max-width:768px){
  :where([data-gim-collapse-label="tablet"],[data-gim-collapse-label="always"]){
    inline-size:var(--gim-touch-target-min);
    min-inline-size:var(--gim-touch-target-min);
    padding-inline:0!important;
  }
  :where([data-gim-collapse-label="tablet"],[data-gim-collapse-label="always"]) :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]){
    position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
  }
}
@media (max-width:430px){
  :where([data-gim-collapse-label="mobile"]){
    inline-size:var(--gim-touch-target-min);
    min-inline-size:var(--gim-touch-target-min);
    padding-inline:0!important;
  }
  :where([data-gim-collapse-label="mobile"]) :where(.gim-action-label,.gcm-page-header__action-label,[data-ui="button-label"]){
    position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
  }
}


/* Canonical semantic button contract.
 * Preserve legacy .button-primary/.button-secondary while mapping GCM semantic variants
 * to the same shared visual language. Specific semantic selectors intentionally carry
 * !important only where the later feature compatibility layer applies generic !important
 * geometry to all buttons.
 */
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--primary,.gcm-btn--primary,.button.button-primary,[data-ui="button"][data-variant="primary"]){
  min-height:var(--gim-density-control-height)!important;
  padding:8px 12px!important;
  border-color:var(--gim-button-primary-bg)!important;
  background:var(--gim-button-primary-bg)!important;
  color:var(--gim-button-primary-text)!important;
  font-size:var(--gim-font-sm)!important;
  font-weight:var(--gim-font-weight-semibold)!important;
}
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--primary,.gcm-btn--primary,.button.button-primary,[data-ui="button"][data-variant="primary"]):hover{
  border-color:var(--gim-button-primary-bg-hover)!important;
  background:var(--gim-button-primary-bg-hover)!important;
  color:var(--gim-button-primary-text)!important;
}
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--primary,.gcm-btn--primary,.button.button-primary,[data-ui="button"][data-variant="primary"]):active{
  border-color:var(--gim-button-primary-bg-active)!important;
  background:var(--gim-button-primary-bg-active)!important;
}

:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--secondary,.gcm-btn--secondary,.button.button-secondary,[data-ui="button"][data-variant="secondary"],[data-ui="button"][data-variant="ghost"]){
  min-height:var(--gim-density-control-height)!important;
  padding:8px 12px!important;
  border-color:color-mix(in srgb,var(--gim-accent) 55%,var(--gim-button-secondary-border))!important;
  background:var(--gim-button-secondary-bg)!important;
  color:var(--gim-button-secondary-text)!important;
  font-size:var(--gim-font-sm)!important;
  font-weight:var(--gim-font-weight-medium)!important;
}
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--secondary,.gcm-btn--secondary,.button.button-secondary,[data-ui="button"][data-variant="secondary"],[data-ui="button"][data-variant="ghost"]):hover{
  border-color:var(--gim-accent)!important;
  background:color-mix(in srgb,var(--gim-accent) 7%,var(--gim-surface))!important;
  color:var(--gim-accent)!important;
}

:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--danger,.gcm-btn--danger,[data-ui="button"][data-variant="danger"]){
  min-height:var(--gim-density-control-height)!important;
  padding:8px 12px!important;
  border-color:var(--gim-danger)!important;
  background:var(--gim-danger)!important;
  color:#fff!important;
  font-size:var(--gim-font-sm)!important;
  font-weight:var(--gim-font-weight-semibold)!important;
}
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--danger,.gcm-btn--danger,[data-ui="button"][data-variant="danger"]):hover{
  border-color:var(--gim-color-danger-strong,var(--gim-danger))!important;
  background:var(--gim-color-danger-strong,var(--gim-danger))!important;
  color:#fff!important;
}

:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--ghost,.gcm-btn--ghost,[data-ui="button"][data-variant="tertiary"]){
  min-height:var(--gim-density-control-height)!important;
  padding:8px 12px!important;
  border-color:color-mix(in srgb,var(--gim-accent) 38%,var(--gim-border))!important;
  background:transparent!important;
  color:var(--gim-text-secondary)!important;
  font-size:var(--gim-font-sm)!important;
  font-weight:var(--gim-font-weight-medium)!important;
}
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--ghost,.gcm-btn--ghost,[data-ui="button"][data-variant="tertiary"]):hover{
  border-color:var(--gim-accent)!important;
  background:var(--gim-surface-2)!important;
  color:var(--gim-text-primary)!important;
}

:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--primary,.gcm-btn--primary,.gim-btn--secondary,.gcm-btn--secondary,.gim-btn--danger,.gcm-btn--danger,.gim-btn--ghost,.gcm-btn--ghost,.button.button-primary,.button.button-secondary,[data-ui="button"][data-variant]):focus-visible{
  outline:none!important;
  box-shadow:var(--gim-focus-ring)!important;
}
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--primary,.gcm-btn--primary,.gim-btn--secondary,.gcm-btn--secondary,.gim-btn--danger,.gcm-btn--danger,.gim-btn--ghost,.gcm-btn--ghost,.button.button-primary,.button.button-secondary,[data-ui="button"][data-variant])[disabled],
:where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal) 
:is(.gim-btn--primary,.gcm-btn--primary,.gim-btn--secondary,.gcm-btn--secondary,.gim-btn--danger,.gcm-btn--danger,.gim-btn--ghost,.gcm-btn--ghost,.button.button-primary,.button.button-secondary,[data-ui="button"][data-variant])[aria-disabled="true"]{
  opacity:.55!important;
  cursor:not-allowed!important;
}

@media (max-width:640px){
  :where(.gim-app-shell,.gcm-app-shell,#gcm-app,#club-panel,#gcm-acc-host,#gcm-spa-root,#app-content,.gim-page-host,.gcm-modal)
  :is(.gim-btn--primary,.gcm-btn--primary,.gim-btn--secondary,.gcm-btn--secondary,.gim-btn--danger,.gcm-btn--danger,.gim-btn--ghost,.gcm-btn--ghost,.button.button-primary,.button.button-secondary,[data-ui="button"][data-variant]){
    min-height:var(--gim-touch-target-min)!important;
  }
}



/* ==========================================================================
   Content Card Contract — canonical content-container component
   --------------------------------------------------------------------------
   Markup API:
     data-ui="content-card"
     data-card-type="text|fields|table|mixed|action|metric|list|choice"
     data-density="compact|standard|comfortable"
     data-card-header="framed"
     data-card-part="header|heading|title|description|actions|body|field-grid|footer|metric"

   Ownership:
   - Plugin/renderers declare semantic type, density and anatomy.
   - Theme owns visual presentation.
   - Legacy .gcm-card / [data-ui="card"] remain compatibility-only until migration.
   - Quick Actions and Status/Notification cards are intentionally excluded.
   ========================================================================== */
[data-ui="content-card"]{
  /* Canonical geometry token is owned by gim-design-system.css. */
  /* --gim-content-card-accent-block */
  --gim-content-card-padding:var(--gim-content-card-padding-standard);
  --gim-content-card-gap:var(--gim-content-card-gap-standard);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-inline-size:0;
  max-inline-size:100%;
  color:var(--gim-text-primary);
  text-align:start;
  background:var(--gim-color-surface-interactive,var(--gim-surface));
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  box-shadow:var(--gim-shadow-none);
  overflow:clip;
}
[data-ui="content-card"][data-span="full"]{
  inline-size:100%;
  grid-column:1 / -1;
}
[data-ui="content-card"][data-elevation="raised"]{box-shadow:var(--gim-shadow-raised);}
[data-ui="content-card"][data-density="compact"]{
  --gim-content-card-padding:var(--gim-content-card-padding-compact);
  --gim-content-card-gap:var(--gim-content-card-gap-compact);
}
[data-ui="content-card"][data-density="comfortable"]{
  --gim-content-card-padding:var(--gim-content-card-padding-comfortable);
  --gim-content-card-gap:var(--gim-content-card-gap-comfortable);
}

[data-ui="content-card"] > [data-card-part="header"]{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--gim-content-card-gap);
  min-inline-size:0;
  min-block-size:var(--gim-content-card-header-min-block);
  /* The title is a section of the main card, never a nested card. */
  margin:0;
  padding:var(--gim-content-card-header-padding-block) var(--gim-content-card-header-padding-inline);
  border:0;
  border-block-end:1px solid var(--gim-content-card-title-frame-border);
  border-start-start-radius:var(--gim-radius-surface);
  border-start-end-radius:var(--gim-radius-surface);
  background:var(--gim-content-card-title-frame-surface);
  box-sizing:border-box;
}
[data-ui="content-card"] > [data-card-part="header"]::before{
  content:"";
  position:absolute;
  inset-block-start:-1px;
  /* RTL canonical corner: physical top-right (logical inline-start). */
  inset-inline-start:-1px;
  inset-inline-end:auto;
  inline-size:var(--gim-content-card-accent-inline);
  /* The shared L-path needs the full accent block for its vertical leg. */
  block-size:var(--gim-content-card-accent-block);
  background:transparent;
  /* One continuous L-shaped stroke: top edge + right edge share one corner. */
  border-block-start:var(--gim-content-card-accent-thickness) solid var(--gim-content-card-accent-color);
  border-right:var(--gim-content-card-accent-thickness) solid var(--gim-content-card-accent-color);
  border-top-right-radius:var(--gim-radius-surface);
  box-sizing:border-box;
  z-index:1;
  pointer-events:none;
}
[data-ui="content-card"] [data-card-part="heading"]{
  display:grid;
  gap:var(--gim-space-1);
  min-inline-size:0;
}
[data-ui="content-card"] [data-card-part="title"]{
  margin:0;
  color:var(--gim-text-primary);
  font-size:var(--gim-content-card-title-size);
  font-weight:var(--gim-font-weight-semibold);
  line-height:var(--gim-line-snug,1.55);
  overflow-wrap:break-word;
}
[data-ui="content-card"] [data-card-part="description"]{
  max-inline-size:var(--gim-content-card-text-measure);
  margin:0;
  color:var(--gim-text-secondary);
  font-size:var(--gim-content-card-description-size);
  line-height:var(--gim-line-relaxed,1.75);
  overflow-wrap:break-word;
}
[data-ui="content-card"] [data-card-part="actions"]{
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:var(--gim-space-2);
  min-inline-size:0;
}

[data-ui="content-card"] > [data-card-part="body"]{
  display:grid;
  align-content:start;
  gap:var(--gim-content-card-gap);
  min-inline-size:0;
  padding:var(--gim-content-card-padding);
}
[data-ui="content-card"] > [data-card-part="header"] + [data-card-part="body"]{
  padding-block-start:var(--gim-content-card-padding);
}
[data-ui="content-card"]:not(:has(> [data-card-part="body"])):not(:has(> [data-card-part="footer"])) > [data-card-part="header"]{
  margin-block-end:0;
}
[data-ui="content-card"] > [data-card-part="header"] + [data-card-part="footer"]{
  margin-block-start:var(--gim-content-card-gap);
}
[data-ui="content-card"] > [data-card-part="body"] > :first-child{margin-block-start:0;}
[data-ui="content-card"] > [data-card-part="body"] > :last-child{margin-block-end:0;}
[data-ui="content-card"] > [data-card-part="body"] :where(p,li,dd){
  overflow-wrap:break-word;
}

[data-ui="content-card"] [data-card-part="field-grid"]{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--gim-content-card-field-min)),1fr));
  gap:var(--gim-density-grid-gap);
  align-items:start;
  min-inline-size:0;
}
[data-ui="content-card"] [data-card-part="field-grid"] > *{min-inline-size:0;}

[data-ui="content-card"] > [data-card-part="footer"]{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:var(--gim-space-2);
  min-inline-size:0;
  padding:var(--gim-content-card-gap) var(--gim-content-card-padding);
  border-block-start:1px solid var(--gim-border);
  background:var(--gim-content-card-footer-surface);
  border-end-start-radius:inherit;
  border-end-end-radius:inherit;
}

[data-ui="content-card"][data-card-type="text"] > [data-card-part="body"]{
  justify-items:start;
}
[data-ui="content-card"][data-card-type="text"] > [data-card-part="body"] > :where(p,ul,ol){
  max-inline-size:var(--gim-content-card-text-measure);
}
[data-ui="content-card"][data-card-type="fields"] > [data-card-part="body"],
[data-ui="content-card"][data-card-type="choice"] > [data-card-part="body"],
[data-ui="content-card"][data-card-type="mixed"] > [data-card-part="body"],
[data-ui="content-card"][data-card-type="list"] > [data-card-part="body"],
[data-ui="content-card"][data-card-type="action"] > [data-card-part="body"]{
  gap:var(--gim-content-card-gap);
}
[data-ui="content-card"][data-card-type="table"] > [data-card-part="body"]{
  min-inline-size:0;
}
[data-ui="content-card"][data-card-type="table"] :where(.gcm-table-wrap,.gim-table-wrap,[data-ui="table-wrap"]){
  inline-size:100%;
  max-inline-size:100%;
  margin:0;
}
[data-ui="content-card"][data-card-type="metric"] [data-card-part="metric"]{
  color:var(--gim-text-primary);
  font-size:var(--gim-font-2xl);
  font-weight:var(--gim-font-weight-bold);
  line-height:var(--gim-line-tight);
}
[data-ui="content-card"][data-card-type="action"] > [data-card-part="footer"]{
  justify-content:flex-start;
}

@media (max-width:640px){
  [data-ui="content-card"]{
    --gim-content-card-padding:var(--gim-space-3);
  }
  [data-ui="content-card"] > [data-card-part="header"]{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  [data-ui="content-card"] [data-card-part="actions"]{
    justify-content:flex-start;
  }
  [data-ui="content-card"] [data-card-part="field-grid"]{
    grid-template-columns:minmax(0,1fr);
  }
  [data-ui="content-card"][data-card-type="action"] > [data-card-part="footer"] > :where(button,.button,[data-ui="button"]){
    flex:1 1 100%;
  }
}

.gim-card,.gcm-card,[data-ui="card"]{
  background:var(--gim-color-surface-interactive,var(--gim-surface));
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  box-shadow:var(--gim-shadow-none);
  padding:var(--gim-density-card-padding);
  min-width:0;
}
:where(.gim-card,.gcm-card,[data-ui="card"])[data-elevation="raised"]{box-shadow:var(--gim-shadow-raised);}
:where(.gim-card,.gcm-card,[data-ui="card"])[data-density="compact"]{padding:var(--gim-space-3);}
:where(.gim-card,.gcm-card,[data-ui="card"])[data-density="comfortable"]{padding:var(--gim-space-4);}

.gim-card-title,.gcm-card-title,[data-ui="card-title"]{margin:0 0 var(--gim-space-2);font-size:var(--gim-font-lg);font-weight:var(--gim-font-weight-semibold);line-height:var(--gim-line-tight);color:var(--gim-text-primary);}
.gim-card-desc,.gcm-subtitle,.gim-muted,[data-ui="muted"]{color:var(--gim-text-secondary);font-size:var(--gim-font-sm);line-height:var(--gim-line-normal);}

:where(.gim-kpi-grid,[data-ui="kpi-grid"],.gim-status-grid,[data-ui="status-grid"]){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--gim-grid-kpi-min)),1fr));
  gap:var(--gim-space-3);
  align-items:stretch;
}
.gim-kpi-card,[data-ui="kpi"]{
  position:relative;
  display:grid;
  align-content:start;
  gap:var(--gim-space-1);
  min-block-size:0;
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-color-surface-interactive,var(--gim-surface));
  box-shadow:none;
}
.gim-kpi-card [data-kpi-title],.gim-kpi-title,[data-ui="kpi-title"]{font-size:var(--gim-font-sm);font-weight:var(--gim-font-weight-medium);color:var(--gim-text-secondary);}
.gim-kpi-card [data-kpi-value],.gim-kpi-value,[data-ui="kpi-value"]{font-size:var(--gim-font-2xl);line-height:var(--gim-line-tight);font-weight:var(--gim-font-weight-bold);color:var(--gim-text-primary);}
:where(.gim-notice,[data-ui="notice"]){
  display:inline-grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:start;
  gap:var(--gim-space-2);
  max-inline-size:100%;
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
:where(.gim-task-card,[data-ui="task-card"]){
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--gim-space-3);
  inline-size:fit-content;
  max-inline-size:100%;
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
}
@media (max-width:430px){
  :where(.gim-kpi-grid,[data-ui="kpi-grid"],.gim-status-grid,[data-ui="status-grid"]){grid-template-columns:repeat(2,minmax(0,1fr));}
  :where(.gim-notice,[data-ui="notice"]){grid-template-columns:auto minmax(0,1fr);}
  :where(.gim-notice,[data-ui="notice"])>[data-ui="notice-action"]{grid-column:1 / -1;}
}


/* Canonical transient audience feedback.
   Behavior is owned by GIMShell in assets/app.js; Theme owns presentation. */
.gim-toast-root{
  position:fixed;
  z-index:var(--gim-feedback-z-toast);
  inset-block-start:var(--gim-feedback-top-offset,72px);
  inset-inline-start:clamp(12px,1.5vw,24px);
  inline-size:fit-content;
  max-inline-size:calc(100vw - 24px);
  pointer-events:none;
  direction:rtl;
}
.gim-toast{
  --gim-toast-tone:var(--gim-accent);
  pointer-events:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--gim-space-3);
  inline-size:max-content;
  min-inline-size:max(320px,30vw);
  max-inline-size:72vw;
  min-block-size:3.25rem;
  padding:12px 14px 12px 12px;
  border:1px solid color-mix(in srgb,var(--gim-toast-tone) 38%,var(--gim-border));
  border-inline-start:4px solid var(--gim-toast-tone);
  border-radius:var(--gim-radius-md);
  background:color-mix(in srgb,var(--gim-surface) 92%,var(--gim-toast-tone) 8%);
  color:var(--gim-text-primary);
  box-shadow:var(--gim-shadow-lg,0 18px 50px rgba(15,23,42,.22));
  opacity:1;
  transform:translateX(0);
  animation:gim-toast-enter 280ms cubic-bezier(.2,.8,.2,1) both;
  transition:transform 110ms ease-out,opacity 110ms ease-out;
  will-change:transform,opacity;
}
.gim-toast--success{--gim-toast-tone:var(--gim-success,#16a34a);}
.gim-toast--warning{--gim-toast-tone:var(--gim-warning,#d97706);}
.gim-toast--error{--gim-toast-tone:var(--gim-danger,#dc2626);}
.gim-toast--info{--gim-toast-tone:var(--gim-accent);}
.gim-toast__body{
  min-inline-size:0;
  font-size:15px;
  font-weight:650;
  line-height:1.9;
  direction:rtl;
  text-align:left;
  overflow-wrap:anywhere;
}
.gim-toast__close{
  align-self:center;
  justify-self:end;
  inline-size:36px;
  block-size:36px;
  min-inline-size:36px;
  min-block-size:36px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border:1px solid color-mix(in srgb,var(--gim-toast-tone) 26%,var(--gim-border));
  border-radius:var(--gim-radius-control);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  font:inherit;
  font-size:21px;
  line-height:1;
  cursor:pointer;
}
.gim-toast__close:hover{background:color-mix(in srgb,var(--gim-toast-tone) 8%,var(--gim-surface));}
.gim-toast__close:focus-visible{outline:2px solid var(--gim-focus-ring,var(--gim-accent));outline-offset:2px;}
.gim-toast.is-anticipating{
  animation:none;
  transform:translateX(10px);
  opacity:1;
}
.gim-toast.is-closing{
  animation:none;
  transform:translateX(115%);
  opacity:0;
  transition-duration:280ms;
  transition-timing-function:cubic-bezier(.4,0,1,1);
}
@keyframes gim-toast-enter{
  from{opacity:0;transform:translateX(115%);}
  to{opacity:1;transform:translateX(0);}
}
@media (max-width:782px){
  .gim-toast-root{
    inset-block-start:calc(var(--gim-feedback-top-offset,72px) + 4px);
    inset-inline-start:12px;
    inline-size:calc(100vw - 24px);
    max-inline-size:calc(100vw - 24px);
  }
  .gim-toast{
    inline-size:100%;
    min-inline-size:0;
    max-inline-size:none;
    padding:11px 12px 11px 10px;
  }
  .gim-toast__body{font-size:14px;}
}
@media (prefers-reduced-motion:reduce){
  .gim-toast,
  .gim-toast.is-anticipating,
  .gim-toast.is-closing{
    animation:none;
    transition:none;
    transform:none;
  }
  .gim-toast.is-closing{opacity:0;}
}

/* Shared feedback and access states. Legacy classes remain supported. */
.gcm-state,[data-ui="state"],.gim-empty,.gcm-empty,[data-ui="empty-state"],.gim-error,[data-ui="error-state"],.gim-success,[data-ui="success-state"],.gim-access-state{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:var(--gim-state-gap);
  min-width:0;
  padding:var(--gim-state-padding);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-md);
  background:var(--gim-surface-2);
  color:var(--gim-text-primary);
  line-height:1.8;
  text-align:right;
}
.gcm-state--compact{--gim-state-padding:10px;--gim-state-gap:9px;}
.gcm-state__icon{display:grid;place-items:center;flex:0 0 var(--gim-state-icon-size);inline-size:var(--gim-state-icon-size);block-size:var(--gim-state-icon-size);border-radius:999px;background:var(--gim-surface);border:1px solid var(--gim-border);font-weight:var(--gim-font-weight-semibold);}
.gcm-state__body{display:grid;gap:4px;min-width:0;max-width:100%;}
.gcm-state__title{margin:0;color:var(--gim-text-primary);font-size:var(--gim-font-md);font-weight:var(--gim-font-weight-semibold);line-height:1.5;}
.gcm-state__message{margin:0;max-inline-size:var(--gim-state-max-message);color:var(--gim-text-secondary);}
.gcm-state__details{display:block;color:var(--gim-text-secondary);font-size:var(--gim-font-xs);}
.gcm-state__actions,[data-ui="state-actions"]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block-start:6px;}
.gcm-state--loading,.gcm-state[data-state="loading"],[data-ui="state"][data-state="loading"],[data-ui="loading"]{border-style:dashed;color:var(--gim-text-secondary);}
.gcm-state--loading::before,.gcm-state[data-state="loading"]::before,[data-ui="state"][data-state="loading"]::before,[data-ui="loading"]::before{content:"";flex:0 0 18px;inline-size:18px;block-size:18px;margin-block-start:3px;border:2px solid color-mix(in srgb,var(--gim-accent) 22%,transparent);border-block-start-color:var(--gim-accent);border-radius:50%;animation:gim-state-spin .75s linear infinite;}
.gcm-state--empty,.gcm-state[data-state="empty"],[data-ui="state"][data-state="empty"]{border-style:dashed;}
.gcm-state--error,.gcm-state[data-state="error"],[data-ui="state"][data-state="error"],.gcm-state--timeout,.gcm-state[data-state="timeout"],[data-ui="state"][data-state="timeout"],.gim-error,[data-ui="error-state"]{border-color:color-mix(in srgb,var(--gim-danger) 45%,var(--gim-border));background:color-mix(in srgb,var(--gim-danger) 8%,var(--gim-surface));}
.gcm-state--success,.gcm-state[data-state="success"],[data-ui="state"][data-state="success"],.gim-success,[data-ui="success-state"]{border-color:color-mix(in srgb,var(--gim-success) 45%,var(--gim-border));background:color-mix(in srgb,var(--gim-success) 8%,var(--gim-surface));}
.gcm-state--permission,.gcm-state[data-state="permission"],[data-ui="state"][data-state="permission"],.gcm-state--scope,.gcm-state[data-state="scope"],[data-ui="state"][data-state="scope"],.gim-access-state{border-color:color-mix(in srgb,var(--gim-warning) 42%,var(--gim-border));background:color-mix(in srgb,var(--gim-warning) 8%,var(--gim-surface));}
.gcm-state--readonly,.gcm-state[data-state="readonly"],[data-ui="state"][data-state="readonly"],.gcm-state--stale,.gcm-state[data-state="stale"],[data-ui="state"][data-state="stale"],.gcm-state--partial,.gcm-state[data-state="partial"],[data-ui="state"][data-state="partial"]{border-color:color-mix(in srgb,var(--gim-accent) 25%,var(--gim-border));}
.gcm-state--upgrade,.gcm-state[data-state="upgrade"],[data-ui="state"][data-state="upgrade"]{border-color:color-mix(in srgb,var(--gim-accent) 40%,var(--gim-border));background:color-mix(in srgb,var(--gim-accent) 7%,var(--gim-surface));}
@keyframes gim-state-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.gcm-state--loading::before,.gcm-state[data-state="loading"]::before,[data-ui="state"][data-state="loading"]::before,[data-ui="loading"]::before{animation:none;border-color:var(--gim-accent);opacity:.65;}}
@media (max-width:640px){.gcm-state,[data-ui="state"],.gim-empty,.gcm-empty,[data-ui="empty-state"],.gim-error,[data-ui="error-state"],.gim-success,[data-ui="success-state"],.gim-access-state{padding:12px;}.gcm-state__actions,[data-ui="state-actions"]{width:100%;}.gcm-state__actions>.button,.gcm-state__actions>.gcm-btn,.gcm-state__actions>.gim-btn{flex:1 1 auto;}}

input.gim-input,select.gim-input,textarea.gim-input,.gim-field input,.gim-field select,.gim-field textarea,[data-ui="input"],[data-ui="select"],[data-ui="textarea"]{
  width:100%;
  min-width:0;
  border:1px solid var(--gim-border);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  border-radius:var(--gim-radius-control);
  min-height:var(--gim-density-control-height);
  padding:8px 12px;
  font-family:var(--gim-font-base);
  font-size:var(--gim-font-sm);
  line-height:1.4;
}
input.gim-input:focus,select.gim-input:focus,textarea.gim-input:focus,.gim-field input:focus,.gim-field select:focus,.gim-field textarea:focus,[data-ui="input"]:focus,[data-ui="select"]:focus,[data-ui="textarea"]:focus{outline:none;box-shadow:var(--gim-focus-ring);border-color:var(--gim-accent);}

/* Shared form-control states. These rules annotate current controls and do not replace
 * feature validation, value, permission or submission behavior.
 */
:where(input.gim-input,select.gim-input,textarea.gim-input,.gim-field input,.gim-field select,.gim-field textarea,[data-ui="input"],[data-ui="select"],[data-ui="textarea"]):disabled{
  cursor:not-allowed;
  opacity:.68;
  background:var(--gim-surface-2);
  color:var(--gim-text-secondary);
}
:where(input.gim-input,textarea.gim-input,.gim-field input,.gim-field textarea,[data-ui="input"],[data-ui="textarea"])[readonly]{
  cursor:default;
  background:color-mix(in srgb,var(--gim-surface-2) 72%,var(--gim-surface));
  color:var(--gim-text-primary);
}
.gcm-state[hidden],[data-ui="state"][hidden]{display:none!important;}
:where(textarea.gim-input,.gim-field textarea,[data-ui="textarea"]){
  min-block-size:96px;
  resize:vertical;
}
:where(input[type="checkbox"],input[type="radio"]):is(.gim-input,.gcm-input,[data-ui="input"]),
.gcm-field :where(input[type="checkbox"],input[type="radio"]),
[data-ui="field"] :where(input[type="checkbox"],input[type="radio"]){
  accent-color:var(--gim-accent);
}
.gcm-field :where(input[type="checkbox"],input[type="radio"]):focus-visible,
[data-ui="field"] :where(input[type="checkbox"],input[type="radio"]):focus-visible{
  outline:2px solid transparent;
  box-shadow:var(--gim-focus-ring);
}
@media (max-width:640px){
  :where(input.gim-input,select.gim-input,.gim-field input,.gim-field select,[data-ui="input"],[data-ui="select"]){
    min-height:var(--gim-touch-target-min);
  }
}


/* Canonical form contract. It annotates existing markup; it does not replace feature forms. */
.gcm-form,[data-ui="form"]{min-width:0;}
:where(.gcm-form-grid,.gim-form-grid,[data-ui="form-grid"]){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--gim-form-field-min)),1fr));gap:var(--gim-form-grid-gap);align-items:start;}
.gcm-field,[data-ui="field"],.gcm-form-row,.gim-form-row{display:grid;align-content:start;gap:var(--gim-form-field-gap);min-width:0;margin:0;}
.gcm-field__label,[data-ui="field-label"]{display:block;margin:0;color:var(--gim-text-primary);font-size:var(--gim-font-sm);font-weight:var(--gim-font-weight-medium);line-height:1.6;}
.gcm-field__label[data-required="true"]::after,[data-ui="field-label"][data-required="true"]::after{content:"\00a0*";color:var(--gim-danger);font-weight:var(--gim-font-weight-semibold);}
.gcm-field-help,[data-ui="field-help"]{display:block;color:var(--gim-text-secondary);font-size:var(--gim-font-xs);line-height:1.7;}
.gcm-field-error,[data-ui="field-error"],.gim-admin-field-error,.gim-s4-field-error{display:block;margin:0;color:var(--gim-danger);font-size:var(--gim-form-error-size);font-weight:var(--gim-font-weight-medium);line-height:1.7;}
.gcm-field[data-field-state="invalid"] :where(input,select,textarea),[data-ui="field"][data-field-state="invalid"] :where(input,select,textarea),:where(input,select,textarea)[aria-invalid="true"]{border-color:var(--gim-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--gim-danger) 12%,transparent);}
.gcm-form[aria-busy="true"],[data-ui="form"][aria-busy="true"]{cursor:progress;}
.gcm-form[aria-busy="true"] :where(input,select,textarea,button),[data-ui="form"][aria-busy="true"] :where(input,select,textarea,button){cursor:progress;}
.gcm-form[data-dirty="true"],[data-ui="form"][data-dirty="true"]{--gim-form-dirty-state:1;}
.gcm-form-row--compact{max-inline-size:none;}
.gcm-form-row--full{grid-column:1/-1;max-inline-size:none;}
@media (max-width:640px){:where(.gcm-form-grid,.gim-form-grid,[data-ui="form-grid"]){grid-template-columns:minmax(0,1fr);}.gcm-form-row--compact{max-inline-size:none;}}


/* Canonical form layout bridge.
 * Density comes from the grid; labels are never forced into narrow nowrap columns.
 */
:where(.gcm-form-grid,.gim-form-grid,[data-ui="form-grid"],.gim-me-fields-grid,.gcm-person-field-grid){
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--gim-grid-form-min)),1fr));
  gap:var(--gim-space-3) var(--gim-space-4);
}
:where(.gcm-field,.gim-field,.gcm-form-row,.gim-form-row,[data-ui="field"],[data-ui="form-row"]):not([data-gim-form-row="inline"]){
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
  min-inline-size:0;
}
:where(.gcm-field,.gim-field,.gcm-form-row,.gim-form-row,[data-ui="field"],[data-ui="form-row"]) > :where(label,.gim-label,.gcm-label,.form-label){
  inline-size:auto;
  max-inline-size:100%;
  margin:0;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  line-height:var(--gim-line-normal);
  font-size:var(--gim-font-sm);
  font-weight:var(--gim-font-weight-medium);
  color:var(--gim-text-primary);
}
:where([data-gim-form-row="inline"]){
  display:grid;
  grid-template-columns:fit-content(14rem) minmax(0,1fr);
  align-items:center;
  column-gap:6px;
  row-gap:4px;
}
:where(.gcm-option-row,[data-ui="option-row"],label.gender-option,.gim-settings-check){
  display:inline-flex;
  align-items:center;
  gap:var(--gim-space-2);
  min-block-size:var(--gim-touch-target-min);
  max-inline-size:100%;
  white-space:normal;
}

/* Canonical Checkbox / Radio. Visual control stays compact; row/label owns touch target. */
:where(#gcm-app,#gcm-spa-root,#app-content,#club-panel,#gcm-admin-app,.gcm-admin-wrap,.gim-app-shell,.gim-page-host,#gcm-modal,.gcm-modal,.gim-modal,.gim-dashboard-builder,.woocommerce)
:where(input[type="checkbox"],input[type="radio"],[data-ui="choice"]){
  -webkit-appearance:auto;
  appearance:auto;
  inline-size:16px;
  block-size:16px;
  min-inline-size:16px;
  min-block-size:16px;
  max-inline-size:16px;
  max-block-size:16px;
  flex:0 0 16px;
  margin:0;
  padding:0;
  border-radius:initial;
  transform:none;
  accent-color:var(--gim-accent);
  vertical-align:middle;
  box-sizing:border-box;
}
:where(#gcm-app,#gcm-spa-root,#app-content,#club-panel,#gcm-admin-app,.gcm-admin-wrap,.gim-app-shell,.gim-page-host,#gcm-modal,.gcm-modal,.gim-modal,.gim-dashboard-builder,.woocommerce)
:where(input[type="checkbox"],input[type="radio"],[data-ui="choice"]):focus-visible{
  outline:2px solid transparent;
  outline-offset:2px;
  box-shadow:var(--gim-focus-ring);
}
:where(.gcm-option-row,[data-ui="option-row"],label.gender-option,.gim-settings-check,
       label:has(> input[type="checkbox"]),label:has(> input[type="radio"])){
  min-block-size:32px;
}
@media (max-width:640px){
  :where([data-gim-form-row="inline"]){grid-template-columns:1fr;align-items:stretch;}
  :where(.gcm-form-grid,.gim-form-grid,[data-ui="form-grid"],.gim-me-fields-grid,.gcm-person-field-grid){grid-template-columns:1fr;}
}

:where([data-gim-form-row="inline"].gcm-form-row--compact) >
:where(input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"],input[type="week"],input[type="number"],input[type="color"],.gcm-jdp-wrap){
  inline-size:min(100%,13rem);
  max-inline-size:13rem;
  min-inline-size:0;
  justify-self:start;
}
@media (max-width:640px){
  :where([data-gim-form-row="inline"].gcm-form-row--compact) >
  :where(input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"],input[type="week"],input[type="number"],input[type="color"],.gcm-jdp-wrap){
    inline-size:100%;
    max-inline-size:none;
    justify-self:stretch;
  }
}

/* Canonical in-page header. Context is retained before actions. */
.gcm-page-header,[data-ui="page-header"]{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(var(--gim-page-header-content-min),1fr) auto;
  align-items:center;
  gap:16px;
  min-width:0;
  margin:0 0 14px;
  padding:var(--gim-page-header-padding-block) var(--gim-page-header-padding-inline);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-lg);
  overflow:hidden;
  background:var(--gim-surface);
  box-shadow:var(--gim-shadow-sm);
  text-align:right;
}
.gcm-page-header:before,[data-ui="page-header"]:before,
.gcm-page-header:after,[data-ui="page-header"]:after{content:none;}
.gcm-page-header__content,.gcm-page-header>div:first-child{position:relative;z-index:1;display:grid;gap:3px;min-width:0;max-width:none;}
.gcm-page-header__eyebrow{display:block;color:var(--gim-accent);font-size:var(--gim-font-xs);font-weight:var(--gim-font-weight-semibold);line-height:1.5;}
.gcm-page-header__title,.gcm-page-header :where(h1,h2,h3){margin:0;color:var(--gim-text-primary);font-size:clamp(18px,2vw,23px);font-weight:var(--gim-font-weight-semibold);line-height:1.45;}
.gcm-page-header__subtitle,.gcm-page-header__content>p,.gcm-page-header>div:first-child>p{display:block;margin:2px 0 0;max-inline-size:var(--gim-page-header-subtitle-max);color:var(--gim-text-secondary);font-size:var(--gim-font-sm);line-height:1.65;}
.gcm-page-header__meta,[data-ui="page-context"]{display:flex;align-items:center;gap:var(--gim-page-header-meta-gap);flex-wrap:wrap;margin-block-start:5px;}
.gcm-page-header__meta-item{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border:1px solid color-mix(in srgb,var(--gim-accent) 18%,var(--gim-border));border-radius:999px;background:color-mix(in srgb,var(--gim-accent) 5%,var(--gim-surface));color:var(--gim-text-secondary);font-size:var(--gim-font-xs);line-height:1.4;}
.gcm-page-header__actions,[data-ui="page-actions"]{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-start;gap:var(--gim-page-header-actions-gap);min-width:0;flex-wrap:wrap;margin:0;}
.gcm-page-header__action{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;white-space:nowrap;}
.gcm-page-header__action .gim-table-action-icon{display:inline-grid;place-items:center;inline-size:18px;block-size:18px;flex:0 0 18px;}
.gcm-page-header__action .gim-table-action-icon svg{display:block;inline-size:100%;block-size:100%;}
.gcm-page-header__action-label{display:inline;line-height:1.3;}
@media (max-width:768px){.gcm-page-header,[data-ui="page-header"]{grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--gim-space-3);}.gcm-page-header__actions,[data-ui="page-actions"]{width:100%;}}
@media (max-width:640px){.gcm-page-header,[data-ui="page-header"]{gap:var(--gim-space-2);padding:var(--gim-space-3);border-radius:var(--gim-radius-surface);}.gcm-page-header__subtitle,.gcm-page-header__content>p,.gcm-page-header>div:first-child>p{font-size:var(--gim-font-xs);}.gcm-page-header__actions,[data-ui="page-actions"]{display:flex;align-items:center;gap:var(--gim-space-2);flex-wrap:wrap;}.gcm-page-header__actions>.gim-btn,.gcm-page-header__actions>.gcm-btn,.gcm-page-header__actions>.button,[data-ui="page-actions"]>.button{width:auto;max-width:100%;min-height:var(--gim-touch-target-min);}}


/* Canonical tabs presentation. GCM_UI.Tabs remains the behavior owner. */
:where(.gcm-tabs,.gim-tabs,[data-ui="tabs"]){min-inline-size:0;}
:where(.gcm-tabs__list,.gim-tabs__list,[data-ui="tabs-list"]){
  display:flex;align-items:center;gap:var(--gim-space-1);min-inline-size:0;overflow-x:auto;scrollbar-width:thin;
  padding:var(--gim-space-1);border:1px solid var(--gim-border);border-radius:var(--gim-radius-control);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
:where(.gcm-tabs__tab,.gim-tabs__tab,[role="tab"][data-ui="tab"]){
  flex:0 0 auto;min-block-size:36px;padding:7px 11px;border:1px solid transparent;
  border-radius:calc(var(--gim-radius-control) - 2px);background:transparent;color:var(--gim-text-secondary);
  font:inherit;font-size:var(--gim-font-sm);font-weight:var(--gim-font-weight-medium);white-space:nowrap;cursor:pointer;
}
:where(.gcm-tabs__tab,.gim-tabs__tab,[role="tab"][data-ui="tab"])[aria-selected="true"]{
  border-color:var(--gim-border);background:var(--gim-surface);color:var(--gim-text-primary);
  font-weight:var(--gim-font-weight-semibold);box-shadow:var(--gim-shadow-surface);
}
:where(.gcm-tabs__tab,.gim-tabs__tab,[role="tab"][data-ui="tab"]):focus-visible{outline:none;box-shadow:var(--gim-focus-ring);}
:where(.gcm-tabs__panel,.gim-tabs__panel,[role="tabpanel"]){min-inline-size:0;}
@media (max-width:640px){:where(.gcm-tabs__tab,.gim-tabs__tab,[role="tab"][data-ui="tab"]){min-block-size:var(--gim-touch-target-min);}}


/* Canonical modal shell. Feature variants own content, never a second shell. */
.gcm-modal-root,.gim-modal-root,[data-ui="modal-root"]{
  position:fixed;inset:0;z-index:var(--gim-layer-modal,1000);display:grid;place-items:center;padding:var(--gim-space-4);
}
.gcm-modal-root[hidden],.gim-modal-root[hidden],[data-ui="modal-root"][hidden]{display:none!important;}
.gcm-modal-backdrop,.gim-modal-backdrop,[data-ui="modal-backdrop"]{position:absolute;inset:0;background:var(--gim-color-overlay);}
.gcm-modal,.gim-modal,[data-ui="modal"]{
  position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  inline-size:min(100%,640px);max-block-size:min(88dvh,900px);overflow:hidden;
  border:1px solid var(--gim-border);border-radius:var(--gim-radius-overlay);
  background:var(--gim-surface);box-shadow:var(--gim-shadow-overlay);color:var(--gim-text-primary);
}
.gcm-modal[data-modal-size="sm"]{inline-size:min(100%,440px);}
.gcm-modal[data-modal-size="md"]{inline-size:min(100%,640px);}
.gcm-modal[data-modal-size="lg"]{inline-size:min(100%,880px);}
.gcm-modal[data-modal-size="xl"]{inline-size:min(100%,1180px);}
:where(.gcm-modal__header,.gim-modal__header,[data-ui="modal-header"]){
  display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gim-space-3);
  min-block-size:0;padding:var(--gim-space-4);border-block-end:1px solid var(--gim-border);background:var(--gim-surface);
}
.gcm-modal__heading{display:grid;gap:var(--gim-space-1);min-inline-size:0;}
:where(.gcm-modal__title,.gim-modal__title,[data-ui="modal-title"]){margin:0;font-size:var(--gim-font-xl);line-height:var(--gim-line-tight);font-weight:var(--gim-font-weight-bold);}
:where(.gcm-modal__description,.gim-modal__description,[data-ui="modal-description"]){margin:0;color:var(--gim-text-secondary);font-size:var(--gim-font-sm);line-height:var(--gim-line-normal);}
:where(.gcm-modal__close,.gim-modal__close){
  inline-size:var(--gim-touch-target-min);block-size:var(--gim-touch-target-min);min-inline-size:var(--gim-touch-target-min);
  padding:0;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:var(--gim-radius-control);
  background:transparent;color:var(--gim-text-secondary);font-size:var(--gim-font-xl);line-height:1;cursor:pointer;
}
:where(.gcm-modal__close,.gim-modal__close):hover{background:var(--gim-surface-2);color:var(--gim-text-primary);}
:where(.gcm-modal__close,.gim-modal__close):focus-visible{outline:none;box-shadow:var(--gim-focus-ring);}
:where(.gcm-modal__body,.gim-modal__body,[data-ui="modal-body"]){min-block-size:0;overflow:auto;padding:var(--gim-space-4);}
:where(.gcm-modal__footer,.gim-modal__footer,[data-ui="modal-footer"]){
  display:flex;align-items:center;justify-content:flex-end;gap:var(--gim-space-2);
  min-block-size:0;padding:var(--gim-space-3) var(--gim-space-4);border-block-start:1px solid var(--gim-border);background:var(--gim-surface);
}
.gcm-modal__guard{padding:var(--gim-space-3) var(--gim-space-4);border-block-start:1px solid color-mix(in srgb,var(--gim-warning) 30%,var(--gim-border));background:color-mix(in srgb,var(--gim-warning) 7%,var(--gim-surface));}
.gcm-modal__guard-actions{display:flex;gap:var(--gim-space-2);flex-wrap:wrap;margin-block-start:var(--gim-space-2);}
@media (max-width:640px){
  .gcm-modal-root,.gim-modal-root,[data-ui="modal-root"]{padding:0;place-items:stretch;}
  .gcm-modal,.gim-modal,[data-ui="modal"]{inline-size:100%!important;block-size:100dvh;max-block-size:100dvh;border:0;border-radius:0;}
  :where(.gcm-modal__footer,.gim-modal__footer,[data-ui="modal-footer"]){padding-block-end:max(var(--gim-space-3),env(safe-area-inset-bottom));}
}



/* Canonical navigation family: main, accounting/module and reports share anatomy. */
:where(.gim-nav,.gcm-module-nav,.gcm-acc-nav,.gcm-reports-nav,[data-ui="nav"],[data-ui="subnav"]){
  display:flex;
  flex-direction:column;
  gap:2px;
  min-inline-size:0;
  direction:rtl;
  text-align:start;
}
:where(.gim-nav .gim-nav-item,.gcm-module-nav-item,.gcm-acc-nav-item,.gcm-reports-nav-item,[data-ui="nav-item"],[data-ui="subnav-item"]){
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  min-block-size:var(--gim-density-nav-item-height);
  max-inline-size:100%;
  padding:5px 8px;
  border:1px solid transparent;
  border-inline-start:4px solid transparent;
  border-radius:var(--gim-radius-control);
  background:transparent;
  color:var(--gim-text-secondary);
  font:inherit;
  font-size:var(--gim-font-sm);
  font-weight:var(--gim-font-weight-medium);
  line-height:var(--gim-line-tight);
  text-align:start;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}
:where(.gim-nav .gim-nav-item,.gcm-module-nav-item,.gcm-acc-nav-item,.gcm-reports-nav-item,[data-ui="nav-item"],[data-ui="subnav-item"]):hover{
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
  color:var(--gim-text-primary);
}
:where(.gim-nav .gim-nav-item,.gcm-module-nav-item,.gcm-acc-nav-item,.gcm-reports-nav-item,[data-ui="nav-item"],[data-ui="subnav-item"]):focus-visible{
  outline:none;
  box-shadow:var(--gim-focus-ring);
}
:where(.gim-nav .gim-nav-item.active,.gim-nav .gim-nav-item[aria-current="page"],.gcm-module-nav-item.is-active,.gcm-module-nav-item.active,.gcm-acc-nav-item.is-active,.gcm-acc-nav-item[aria-current="page"],.gcm-reports-nav-item.is-active,.gcm-reports-nav-item[aria-current="page"],[data-ui="nav-item"][aria-current="page"],[data-ui="subnav-item"][aria-current="page"]){
  border-color:color-mix(in srgb,var(--gim-accent) 28%,var(--gim-border));
  border-inline-start-color:var(--gim-accent);
  background:var(--gim-color-surface-selected);
  color:var(--gim-text-primary);
  font-weight:var(--gim-font-weight-semibold);
}
:where(.gim-nav-icon,.gim-nav .gim-nav-item .ico,.gcm-subnav__icon,[data-ui="nav-icon"]){
  inline-size:var(--gim-icon-nav-size);
  block-size:var(--gim-icon-nav-size);
  flex:0 0 var(--gim-icon-nav-size);
  display:inline-grid;
  place-items:center;
  color:currentColor;
}
:where(.gim-nav-icon,.gim-nav .gim-nav-item .ico,.gcm-subnav__icon,[data-ui="nav-icon"]) svg{
  inline-size:100%;
  block-size:100%;
  display:block;
}

:where(.gim-ui-nav-item__title,.gcm-module-nav-item__title,.gcm-subnav__label){
  flex:1 1 auto;
  min-inline-size:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:start;
}
:where(.gcm-subnav__lock,.gcm-module-nav-item__lock){
  inline-size:var(--gim-icon-nav-size);
  block-size:var(--gim-icon-nav-size);
  flex:0 0 var(--gim-icon-nav-size);
  display:inline-grid;
  place-items:center;
  margin-inline-start:auto;
  color:currentColor;
}
:where(.gcm-subnav__lock,.gcm-module-nav-item__lock) svg{
  inline-size:100%;
  block-size:100%;
  display:block;
}
:where(.gim-nav__sep,.gcm-module-nav__sep,.gcm-acc-nav__sep,.gcm-reports-nav__sep,[data-ui="nav-separator"]){
  block-size:1px;
  margin:3px 6px;
  background:var(--gim-border);
}
:where(.gcm-module-nav-item[aria-disabled="true"],.gcm-acc-nav-item[aria-disabled="true"],.gcm-reports-nav-item[aria-disabled="true"],[data-ui="nav-item"][aria-disabled="true"],.gim-nav-item[aria-disabled="true"],.gim-bottomnav-item[aria-disabled="true"]){
  opacity:.58;
  cursor:not-allowed;
}
.gim-nav-item.is-locked{
  opacity:.72;
}
.gim-nav-item.is-locked .gim-nav-lock{
  margin-inline-start:auto;
  inline-size:var(--gim-icon-nav-size);
  block-size:var(--gim-icon-nav-size);
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
}
.gim-nav-item.is-locked .gim-nav-lock svg{
  inline-size:100%;
  block-size:100%;
  display:block;
}
@media (max-width:1200px){
  :where(.gim-nav .gim-nav-item,.gcm-module-nav-item,.gcm-acc-nav-item,.gcm-reports-nav-item,[data-ui="nav-item"],[data-ui="subnav-item"]){
    min-block-size:var(--gim-touch-target-min);
    padding-block:7px;
  }
}

.gim-table-wrap,.gcm-table-wrap,[data-ui="table-wrap"]{width:100%;overflow:auto;border:1px solid var(--gim-border);border-radius:var(--gim-radius-surface);background:var(--gim-surface);box-shadow:none;}
.gim-table-wrap table,.gcm-table-wrap table,[data-ui="table-wrap"] table{width:100%;border-collapse:collapse;min-width:0;}
.gim-table-wrap th,.gim-table-wrap td,.gcm-table-wrap th,.gcm-table-wrap td,[data-ui="table-wrap"] th,[data-ui="table-wrap"] td{padding:var(--gim-table-cell-py,8px) var(--gim-table-cell-px,8px);border-bottom:1px solid var(--gim-border);text-align:right;vertical-align:middle;font-size:var(--gim-font-sm);}
.gim-table-wrap thead th,.gcm-table-wrap thead th,[data-ui="table-wrap"] thead th{background:var(--gim-surface-2);font-weight:var(--gim-font-weight-semibold);color:var(--gim-text-secondary);}



:where(.gim-table-wrap,.gcm-table-wrap,[data-ui="table-wrap"]) tbody tr:hover{background:var(--gim-color-surface-sunken,var(--gim-surface-2));}
:where(.gim-table-actions-inline,.gcm-table-actions,[data-ui="table-actions"]){display:inline-flex;align-items:center;gap:var(--gim-table-action-gap);min-inline-size:max-content;}
:where(.gim-table-action-btn,.gcm-table-action-btn,[data-ui="table-action"]){
  inline-size:var(--gim-table-action-size);block-size:var(--gim-table-action-size);
  min-inline-size:var(--gim-table-action-size);min-block-size:var(--gim-table-action-size);
  padding:0;display:inline-grid;place-items:center;border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);background:var(--gim-surface);color:var(--gim-text-secondary);
}
:where(.gim-table-action-btn,.gcm-table-action-btn,[data-ui="table-action"]):hover{background:var(--gim-surface-2);color:var(--gim-text-primary);}
:where(.gim-table-action-btn,.gcm-table-action-btn,[data-ui="table-action"]):focus-visible{outline:none;box-shadow:var(--gim-focus-ring);}
@media (max-width:640px){
  :where(.gim-table-action-btn,.gcm-table-action-btn,[data-ui="table-action"]){
    inline-size:var(--gim-touch-target-min);block-size:var(--gim-touch-target-min);
    min-inline-size:var(--gim-touch-target-min);min-block-size:var(--gim-touch-target-min);
  }
}

[data-ui-tooltip]{position:relative;}
[data-ui-tooltip]:not(.gim-nav-item):not(.gim-bottomnav-item):is(:hover,:focus-visible)::after{content:attr(data-ui-tooltip);position:absolute;z-index:var(--gim-layer-tooltip);inset-block-end:calc(100% + 8px);inset-inline-start:0;max-width:260px;padding:8px 10px;border-radius:var(--gim-radius-sm);background:var(--gim-text-primary);color:var(--gim-surface);font-size:var(--gim-font-xs);line-height:1.8;box-shadow:var(--gim-shadow-md);white-space:normal;}

/* P3 — canonical status, pager and state contracts for existing feature markup. */
:where(.gcm-badge,[data-ui="badge"],.gim-status-pill,.gcm-status-chip,.gcm-status-badge){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-block-size:24px;
  max-inline-size:100%;
  padding:2px 8px;
  border:1px solid var(--gim-border);
  border-radius:999px;
  background:var(--gim-surface-2);
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-xs);
  font-weight:var(--gim-font-weight-semibold);
  line-height:1.4;
  overflow-wrap:anywhere;
  text-align:center;
}
:where(.gcm-badge-success,.gim-status-pill.is-success,.gcm-status-chip.is-success,.gcm-status-badge.is-success){
  border-color:color-mix(in srgb,var(--gim-success) 42%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-success) 10%,var(--gim-surface));
  color:var(--gim-success);
}
:where(.gcm-badge-danger,.gim-status-pill.is-danger,.gcm-status-chip.is-danger,.gcm-status-badge.is-danger){
  border-color:color-mix(in srgb,var(--gim-danger) 42%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-danger) 10%,var(--gim-surface));
  color:var(--gim-danger);
}
:where(.gcm-badge-warning,.gim-status-pill.is-warning,.gcm-status-chip.is-warning,.gcm-status-badge.is-warning){
  border-color:color-mix(in srgb,var(--gim-warning) 42%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-warning) 10%,var(--gim-surface));
  color:var(--gim-warning);
}
/* Active server-status aliases: presentation only; labels and state authority remain feature/backend-owned. */
:where(.gim-status-pill.gcm-status-active,.gim-status-pill.gcm-status-approved,.gim-status-pill.gcm-status-paid){
  border-color:color-mix(in srgb,var(--gim-success) 42%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-success) 10%,var(--gim-surface));
  color:var(--gim-success);
}
:where(.gim-status-pill.gcm-status-pending,.gim-status-pill.gcm-status-pending_verification){
  border-color:color-mix(in srgb,var(--gim-info) 42%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-info) 10%,var(--gim-surface));
  color:var(--gim-info);
}
:where(.gim-status-pill.gcm-status-rejected,.gim-status-pill.gcm-status-removed){
  border-color:color-mix(in srgb,var(--gim-danger) 42%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-danger) 10%,var(--gim-surface));
  color:var(--gim-danger);
}
:where(.gim-status-pill.gcm-status-released,.gim-status-pill.is-muted){
  border-color:var(--gim-border);
  background:var(--gim-surface-2);
  color:var(--gim-text-secondary);
}
/* Active feature markup previously forced a light neutral background; retain its semantics while using the canonical surface token. */
.gim-app-shell .gim-status-pill.is-muted{
  border-color:var(--gim-border)!important;
  background:var(--gim-surface-2)!important;
  color:var(--gim-text-secondary)!important;
}
:where(.gcm-pagination,[data-ui="pagination"],.gcm-table-pager){
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-2,10px);
  flex-wrap:wrap;
  min-width:0;
  margin-block-start:var(--gim-space-2,10px);
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-sm);
}
:where(.gcm-empty-state,.gcm-empty-state-compact,.gcm-empty-inline,.gcm-module-loading){
  display:grid;
  gap:var(--gim-space-1,6px);
  min-width:0;
  padding:var(--gim-state-padding);
  border:1px dashed var(--gim-border);
  border-radius:var(--gim-radius-md);
  background:var(--gim-surface-2);
  color:var(--gim-text-secondary);
  line-height:1.8;
  text-align:right;
}
:where(.gcm-empty-state,.gcm-empty-state-compact,.gcm-empty-inline,.gcm-module-loading) :where(h3,h4,p){margin:0;}

/* ==========================================================================
   Canonical data-table sorting contract.
   Header cells keep native columnheader semantics. Sorting is opt-in through
   data-gim-sort-mode plus per-column data-gim-sortable metadata.
   ========================================================================== */
:where(.gim-table-wrap,.gcm-table-wrap,[data-ui="table-wrap"],.wp-list-table,.widefat,.gcm-table) th.gim-sortable-th{
  position:relative;
  padding:0;
}
.gim-table-sort-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  inline-size:100%;
  min-block-size:var(--gim-touch-target-min);
  padding:var(--gim-table-cell-py,8px) var(--gim-table-cell-px,8px);
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  text-align:start;
  cursor:pointer;
}
.gim-table-sort-button:hover{
  background:color-mix(in srgb,var(--gim-accent) 7%,transparent);
}
.gim-table-sort-button:focus-visible{
  position:relative;
  z-index:1;
  outline:0;
  box-shadow:inset 0 0 0 2px var(--gim-accent);
}
.gim-table-sort-button__label{min-inline-size:0;}
.gim-table-sort-button__indicator{
  display:inline-grid;
  place-items:center;
  inline-size:18px;
  block-size:18px;
  flex:0 0 18px;
  color:var(--gim-text-secondary);
  font-size:12px;
  line-height:1;
}
th.gim-sortable-th:is(.is-sorted-asc,.is-sorted-desc) .gim-table-sort-button__indicator{
  color:var(--gim-accent);
}
:where(th[data-gim-column="actions"],td[data-gim-column="actions"],.gim-table-actions-cell){
  min-inline-size:calc((var(--gim-table-action-size) * 3) + (var(--gim-table-action-gap) * 2) + 12px);
  white-space:nowrap;
  text-align:center;
}
.gim-table-actions-inline{
  display:inline-flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:var(--gim-table-action-gap);
  inline-size:max-content;
  max-inline-size:none;
  min-inline-size:0;
}
.gim-table-action-btn[data-gim-action-icon]{
  display:inline-grid!important;
  place-items:center!important;
  inline-size:var(--gim-table-action-size)!important;
  block-size:var(--gim-table-action-size)!important;
  min-inline-size:var(--gim-table-action-size)!important;
  min-block-size:var(--gim-table-action-size)!important;
  max-inline-size:var(--gim-table-action-size)!important;
  max-block-size:var(--gim-table-action-size)!important;
  padding:0!important;
  margin:0!important;
  border-radius:10px!important;
  font-size:0!important;
  line-height:0!important;
  overflow:hidden!important;
}
.gim-table-action-icon{display:grid!important;place-items:center!important;inline-size:var(--gim-table-action-icon-size)!important;block-size:var(--gim-table-action-icon-size)!important;color:currentColor!important;pointer-events:none!important;}
.gim-table-action-icon svg{display:block!important;inline-size:100%!important;block-size:100%!important;}
.gim-table-action-label{position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.gim-admin-clubs-table{display:table;width:100%;max-width:100%;min-width:0;box-sizing:border-box;table-layout:auto;}
.gim-admin-clubs-table :where(th[data-gim-column="club"],td[data-gim-column="club"],th[data-gim-column="manager"],td[data-gim-column="manager"]){min-width:0;overflow-wrap:anywhere;white-space:normal;}
.gim-admin-clubs-table col[data-gim-column="club"]{inline-size:34%;}
.gim-admin-clubs-table col[data-gim-column="manager"]{inline-size:26%;}
.gim-admin-clubs-table col[data-gim-column="stats"]{inline-size:18%;}
.gim-admin-clubs-table col[data-gim-column="status"],.gim-admin-clubs-table col[data-gim-column="actions"]{inline-size:1%;}
.gim-admin-clubs-table :where(th[data-gim-column="status"],td[data-gim-column="status"],th[data-gim-column="actions"],td[data-gim-column="actions"]){white-space:nowrap;}
@media (max-width:640px){
  :where(th[data-gim-column="actions"],td[data-gim-column="actions"],.gim-table-actions-cell){
    min-inline-size:calc((var(--gim-table-action-size) * 2) + var(--gim-table-action-gap) + 8px)!important;
    max-inline-size:calc((var(--gim-table-action-size) * 2) + var(--gim-table-action-gap) + 10px)!important;
  }
  .gim-table-actions-inline{
    inline-size:calc((var(--gim-table-action-size) * 2) + var(--gim-table-action-gap))!important;
    max-inline-size:calc((var(--gim-table-action-size) * 2) + var(--gim-table-action-gap))!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
  }
}

/* UI Canonicalization Sprint — shared toolbar/pager/page-action primitives. */
:where([data-ui="toolbar"],.gcm-list-toolbar,.gcm-classes-filterbar){
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:var(--gim-space-2,10px);
  flex-wrap:wrap;
  margin-block:0 var(--gim-space-3,12px);
}
:where([data-ui="toolbar"]) > *{min-width:0;}
:where([data-ui="pager"],.gcm-table-pager){
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-2,10px);
  flex-wrap:wrap;
  margin-block-start:var(--gim-space-2,10px);
}
.gim-me-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:var(--gim-space-2,10px);
  flex-wrap:wrap;
}

/* Sprint 2 — canonical feature layout utilities. */
.gcm-u-m-0{margin:0!important;}
.gcm-u-mt-1{margin-top:6px!important;}
.gcm-u-mt-2{margin-top:10px!important;}
.gcm-u-mt-3{margin-top:12px!important;}
.gcm-u-mb-2{margin-bottom:10px!important;}
.gcm-u-full{grid-column:1 / -1!important;}
.gcm-u-muted{opacity:.75;color:var(--gim-muted,var(--gim-text-muted,#64748b));}
.gcm-u-danger{color:var(--gim-danger,#ef4444)!important;}
.gcm-u-warning{color:var(--gim-warning,#f59e0b)!important;}
.gcm-u-success{color:var(--gim-success,#10b981)!important;}
.gcm-u-bold{font-weight:700!important;}
.gcm-toolbar,.gcm-section-header,[data-ui="toolbar"]{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:var(--gim-space-3);
  margin-block-end:var(--gim-space-3);
  min-inline-size:0;
}
.gcm-inline-toolbar,.gcm-filter-row{
  display:flex;
  align-items:end;
  justify-content:flex-start;
  gap:var(--gim-space-2);
  flex-wrap:wrap;
  margin-block-end:var(--gim-space-3);
  min-inline-size:0;
}
.gcm-toolbar__group,.gcm-inline-actions,.gcm-button-row,.gcm-search-row,[data-ui="toolbar-actions"]{
  display:flex;
  align-items:center;
  gap:var(--gim-space-2);
  flex-wrap:wrap;
  min-width:0;
}
:where(.gcm-filter-grid,[data-ui="filter-grid"]){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:var(--gim-space-2) var(--gim-space-3);
  align-items:end;
  min-inline-size:0;
}
@media (max-width:640px){
  .gcm-toolbar,.gcm-section-header,[data-ui="toolbar"]{grid-template-columns:1fr;align-items:stretch;}
  .gcm-toolbar__group,.gcm-inline-actions,.gcm-button-row,[data-ui="toolbar-actions"]{justify-content:flex-start;}
  :where(.gcm-filter-grid,[data-ui="filter-grid"]){grid-template-columns:1fr 1fr;}
  :where(.gcm-filter-grid,[data-ui="filter-grid"]) > :where([data-span="full"],.is-full){grid-column:1 / -1;}
}
@media (max-width:390px){
  :where(.gcm-filter-grid,[data-ui="filter-grid"]){grid-template-columns:1fr;}
}
.gcm-search-row{flex-wrap:nowrap;}
.gcm-search-row > input,.gcm-search-row > select{min-inline-size:220px;max-inline-size:360px;flex:1 1 260px;}
.gcm-field-min{min-inline-size:220px;}
.gcm-field-lg{min-inline-size:260px;flex:1 1 360px;}
.gcm-panel-section{margin-block-start:var(--gim-space-3,12px);}
.gcm-card--full{grid-column:1 / -1;}
.gcm-card--compact{padding:0;overflow:hidden;}
.gcm-avatar-thumb{width:35px;height:35px;border-radius:50%;vertical-align:middle;margin-inline-end:0;margin-inline-start:8px;object-fit:cover;}
.gcm-cell-check{inline-size:28px;text-align:center;}
.gcm-message-min{min-height:20px;}
.gcm-search-results{margin-top:8px;max-height:160px;overflow:auto;border:1px solid var(--gim-border,rgba(148,163,184,.35));border-radius:10px;background:var(--gim-surface,#fff);}
.gcm-search-item,.gcm-att-search-item,.gcm-att-spa-item{padding:8px;border:1px solid var(--gim-border,rgba(148,163,184,.25));border-radius:10px;margin:6px 0;cursor:pointer;background:var(--gim-surface,#fff);}
.gcm-search-item:hover,.gcm-att-search-item:hover,.gcm-att-spa-item:hover,.gcm-att-search-item.selected{background:var(--gim-accent-soft-15,var(--gim-accent-weak,rgba(59,74,90,.12)));}
.gcm-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--gim-grid-kpi-min)),1fr));gap:var(--gim-space-3);align-items:stretch;}
.gcm-kpi-row > .gcm-card{min-inline-size:0;}
@media (max-width:640px){.gcm-search-row{flex-wrap:wrap;}.gcm-search-row > input,.gcm-search-row > select,.gcm-field-min,.gcm-field-lg{min-inline-size:0;inline-size:100%;}}
.gcm-stack{display:grid;gap:var(--gim-space-2,10px);}
.gcm-acc-table[data-min-width="700"]{min-inline-size:700px;}
.gcm-acc-table[data-min-width="800"]{min-inline-size:800px;}
.gcm-acc-table[data-min-width="900"]{min-inline-size:900px;}
.gcm-acc-table[data-min-width="1000"]{min-inline-size:1000px;}
.gcm-acc-table[data-min-width="1100"]{min-inline-size:1100px;}
.gcm-skeleton-line--short{width:70%;}
.gcm-small{font-size:12px;}.gcm-u-mb-3{margin-bottom:18px!important;}.gcm-kpi-card{min-inline-size:0;}.gcm-auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--gim-grid-kpi-min)),1fr));gap:var(--gim-space-3);}.gcm-qr-video{width:100%;max-height:360px;border-radius:12px;background:#000;}
.gcm-u-mis-2{margin-inline-start:8px;}.gcm-field-compact{min-inline-size:150px;}.gcm-choice-inline{display:inline-flex;align-items:center;gap:4px;margin-inline-end:10px;white-space:nowrap;}
.gcm-divider{margin:14px 0;border:0;border-top:1px solid var(--gim-border,rgba(148,163,184,.35));}.gcm-card--soft{background:color-mix(in srgb,var(--gim-surface,#fff) 95%,#000 5%);box-shadow:none;border:1px solid var(--gim-border,rgba(0,0,0,.06));padding:12px;}.gcm-ltr-cell{text-align:left;direction:ltr;}.gcm-actions-width{width:180px;}
/* Sprint 2 — extended canonical utilities for legacy feature cleanup. */
.gcm-card--center{text-align:center;}
.gcm-p-2{padding:10px!important;}
.gcm-p-3{padding:16px!important;}
.gcm-u-mb-1{margin-bottom:6px!important;}
.gcm-line-loose{line-height:1.8;}
.gcm-nowrap{white-space:nowrap!important;}
.gcm-overflow-auto{overflow:auto;}
.gcm-stack--xs{gap:6px;}
.gcm-field-min-xs{min-inline-size:120px;}
.gcm-field-min-sm{min-inline-size:160px;}
.gcm-width-90{inline-size:90px;}
.gcm-width-120{inline-size:120px;}
.gcm-width-140{inline-size:140px;}
.gcm-width-180{inline-size:180px;}
.gcm-u-block-full{inline-size:100%;}
.gcm-kpi-value{font-weight:800;font-size:18px;}

@media (max-width:640px){.gim-page-host:not(:empty){padding:0;border-radius:0;}.gim-page-host>.gcm-page-header:first-child{margin:1px 1px 9px;}.gcm-page-header__actions,[data-ui="page-actions"]{margin:0;}}


/* R3 — opt-in responsive data contract for renderer migrations. */
@media (max-width:1024px){
  [data-responsive-table="priority"] :where(th,td)[data-priority="detail"]{display:none;}
}
@media (max-width:768px){
  [data-responsive-table="priority"] :where(th,td)[data-priority="secondary"]{display:none;}
}
:where([data-ui="compact-grid"],.gcm-compact-grid){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--gim-grid-kpi-min)),1fr));
  gap:var(--gim-space-3);
  align-items:start;
}
@media (max-width:430px){
  :where([data-ui="compact-grid"],.gcm-compact-grid){grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* ==========================================================================
   R5 — Reference page composition.
   These are shared page-template patterns, not feature-local design systems.
   ========================================================================== */
.gim-reference-page{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
  min-inline-size:0;
  inline-size:100%;
}
.gim-reference-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
  min-inline-size:0;
  inline-size:100%;
}
.gim-reference-workspace__main,
.gim-reference-data-region,
.gim-reference-page-section{
  min-inline-size:0;
  inline-size:100%;
}
.gim-reference-workspace__main{
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
  box-shadow:none;
}
.gim-reference-summary{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,2fr) auto;
  align-items:center;
  gap:var(--gim-space-3);
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
  box-shadow:none;
}
.gim-reference-action-group{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--gim-space-2);
  flex-wrap:wrap;
  min-inline-size:0;
}
.gim-reference-toolbar{
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
  box-shadow:none;
}
.gim-reference-table{
  table-layout:auto;
}
.gim-reference-table tbody tr{
  min-block-size:56px;
}
.gim-reference-table td,
.gim-reference-table th{
  vertical-align:middle;
}
@media (max-width:1024px){
  .gim-reference-summary{
    grid-template-columns:minmax(220px,1fr) minmax(0,2fr);
  }
  .gim-reference-summary > :last-child{
    grid-column:1 / -1;
  }
}
@media (max-width:768px){
  .gim-reference-page,
  .gim-reference-workspace{gap:var(--gim-space-2);}
  .gim-reference-summary{
    grid-template-columns:1fr;
    align-items:stretch;
    padding:var(--gim-space-3);
  }
  .gim-reference-summary > :last-child{grid-column:auto;}
  .gim-reference-workspace__main{padding:var(--gim-space-2);}
}
@media (max-width:430px){
  .gim-reference-summary [data-ui="kpi-grid"]{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* ==========================================================================
   R6 — high-risk operational page composition.
   Reuses canonical R1-R5 components; no parallel visual system.
   ========================================================================== */




.gim-reference-page--crm .gcm-notify-reference-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
  align-items:start;
  inline-size:100%;
  min-inline-size:0;
}
.gim-reference-page--crm :where(.gcm-notify-reference-main,.gcm-notify-tabs-host,.gcm-notify-panel){
  inline-size:100%;
  max-inline-size:100%;
  min-inline-size:0;
}
.gim-reference-page--crm .gcm-notify-panel{
  margin:0;
  overflow:hidden;
}

.gim-reference-page--club-users .gcm-club-users-top-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:var(--gim-space-3);align-items:start;}
.gim-reference-page--club-users :where(.gcm-club-user-panel,.gcm-branch-assignment-form){min-inline-size:0;}
.gim-reference-page--access-matrix .gim-access-matrix-note{grid-template-columns:minmax(0,1fr);padding:var(--gim-space-3);}
.gim-reference-page--access-matrix .gim-access-matrix-note p{margin:var(--gim-space-1) 0 0;color:var(--gim-text-secondary);}

.gim-reference-workspace--attendance{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
  align-items:start;
  inline-size:100%;
  min-inline-size:0;
}
.gim-reference-workspace--attendance .gcm-attendance-today,
.gim-reference-workspace--attendance .gcm-attendance-tabs-card{
  grid-column:1;
  inline-size:100%;
  min-inline-size:0;
}
.gim-reference-workspace--attendance .gcm-attendance-tabs-card{
  padding:0;
  overflow:hidden;
}
.gim-reference-workspace--attendance .gcm-attendance-workspace{
  display:grid;
  gap:var(--gim-space-3);
  inline-size:100%;
  min-inline-size:0;
}
.gim-reference-workspace--attendance :where(.gcm-attendance-filter-card,.gcm-attendance-members-card){
  inline-size:100%;
  min-inline-size:0;
  margin:0;
}
.gim-reference-workspace--attendance .gcm-attendance-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--gim-space-3);
  margin:0 0 var(--gim-space-3);
}
.gim-reference-workspace--attendance .gcm-attendance-section-head h3{
  margin:0;
  font-size:16px;
  line-height:1.55;
}
.gim-reference-workspace--attendance .gcm-attendance-section-head p{
  margin:4px 0 0;
  max-inline-size:72ch;
  color:var(--gim-text-secondary);
  font-size:12px;
  line-height:1.7;
}
.gim-reference-workspace--attendance .gcm-attendance-field{
  min-inline-size:0;
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  margin:0;
  align-content:end;
}
.gim-reference-workspace--attendance .gcm-attendance-field>label{
  margin:0;
  color:var(--gim-text-secondary);
  font-size:11px;
  font-weight:700;
  line-height:1.5;
}
.gim-reference-workspace--attendance .gcm-attendance-filter-grid{
  display:grid;
  grid-template-columns:minmax(240px,1.25fr) repeat(3,minmax(170px,1fr));
  gap:var(--gim-space-2);
  align-items:end;
  inline-size:100%;
}
.gim-reference-workspace--attendance .gcm-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
}
.gim-reference-workspace--attendance :where(input,select,.gcm-jdp-wrap){
  inline-size:100%;
  min-inline-size:0;
}
.gim-reference-workspace--attendance .gcm-attendance-selection-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--gim-space-2);
  align-items:center;
  margin-block-start:var(--gim-space-2);
}
.gim-reference-workspace--attendance .gcm-attendance-session-context{
  margin:0;
  min-block-size:42px;
  align-items:center;
}
.gim-reference-workspace--attendance .gcm-attendance-session-utilities{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--gim-space-2);
  flex-wrap:wrap;
}
.gim-reference-workspace--attendance .gcm-attendance-toolbar{
  position:static;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.gim-reference-workspace--attendance .gcm-attendance-session-state{
  color:var(--gim-text-secondary);
  font-size:11px;
  line-height:1.55;
}
.gim-reference-workspace--attendance .gcm-attendance-members-head{
  align-items:end;
}
.gim-reference-workspace--attendance .gcm-attendance-search-members{
  inline-size:min(360px,100%);
  flex:0 1 360px;
}
.gim-reference-workspace--attendance .gcm-attendance-draftbar,
.gim-reference-workspace--attendance .gcm-attendance-submitbar{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  padding:9px 10px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
.gim-reference-workspace--attendance .gcm-attendance-draftbar{
  margin-block-end:var(--gim-space-2);
}
.gim-reference-workspace--attendance .gcm-attendance-draftbar>span,
.gim-reference-workspace--attendance .gcm-attendance-submitbar>span{
  margin-inline-end:auto;
  color:var(--gim-text-secondary);
  font-size:11px;
}
.gim-reference-workspace--attendance .gcm-attendance-submitbar{
  justify-content:flex-end;
  margin-block-start:var(--gim-space-2);
}
.gim-reference-workspace--attendance .gcm-attendance-table-scroll{
  inline-size:100%;
  min-inline-size:0;
  overflow:auto;
}
.gim-reference-workspace--attendance .gcm-attendance-log-filters{
  display:grid;
  grid-template-columns:minmax(170px,.8fr) minmax(170px,.8fr) minmax(240px,1.5fr) auto;
  gap:var(--gim-space-2);
  align-items:end;
  inline-size:100%;
}
.gim-reference-workspace--attendance .gcm-attendance-log-action{
  align-self:end;
}
@media (max-width:1024px){
  .gim-reference-workspace--attendance .gcm-attendance-filter-grid,
  .gim-reference-workspace--attendance .gcm-attendance-log-filters{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gim-reference-workspace--attendance .gcm-attendance-selection-footer{
    grid-template-columns:1fr;
  }
  .gim-reference-workspace--attendance .gcm-attendance-session-utilities{
    justify-content:flex-start;
  }
  .gim-reference-workspace--attendance .gcm-attendance-log-action{
    grid-column:1/-1;
  }
}
@media (max-width:640px){
  .gim-reference-workspace--attendance{
    gap:var(--gim-space-2);
  }
  .gim-reference-workspace--attendance .gcm-attendance-filter-grid,
  .gim-reference-workspace--attendance .gcm-attendance-log-filters{
    grid-template-columns:1fr;
  }
  .gim-reference-workspace--attendance .gcm-attendance-section-head{
    display:grid;
    gap:var(--gim-space-2);
  }
  .gim-reference-workspace--attendance .gcm-attendance-search-members{
    inline-size:100%;
  }
  .gim-reference-workspace--attendance .gcm-attendance-draftbar .button{
    flex:1 1 auto;
  }
  .gim-reference-workspace--attendance .gcm-attendance-submitbar{
    align-items:stretch;
  }
  .gim-reference-workspace--attendance .gcm-attendance-submitbar .button{
    inline-size:100%;
  }
}

.gim-reference-page--reports{--gim-reports-gap:var(--gim-space-3);min-inline-size:0;}
.gim-reference-page--reports .gcm-reports-content{min-inline-size:0;inline-size:100%;}
.gim-reference-page--reports .gcm-reports-workspace-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--gim-space-2) var(--gim-space-3);min-inline-size:0;padding:0 0 var(--gim-space-2);border:0;border-block-end:1px solid var(--gim-border);border-radius:0;background:transparent;box-shadow:none;}
.gim-reference-page--reports .gcm-reports-workspace-head__copy{min-inline-size:0;}
.gim-reference-page--reports .gcm-reports-workspace-head__meta{display:flex;flex-wrap:wrap;gap:4px var(--gim-space-2);align-items:center;margin-block-end:2px;color:var(--gim-text-secondary);font-size:11px;}
.gim-reference-page--reports .gcm-reports-workspace-head h2{margin:0;color:var(--gim-text-primary);font-size:18px;line-height:1.5;}
.gim-reference-page--reports .gcm-reports-workspace-head p{max-inline-size:72ch;margin:2px 0 0;color:var(--gim-text-secondary);font-size:12px;line-height:1.65;}
.gim-reference-page--reports .gcm-reports-workspace-head__actions{display:flex;align-items:center;justify-content:flex-start;gap:6px;}
.gim-reference-page--reports .gcm-reports-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 12px;min-inline-size:0;inline-size:100%;margin-block:var(--gim-space-2) var(--gim-space-3);padding:10px 12px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-surface);background:var(--gim-surface);box-shadow:none;}
.gim-reference-page--reports .gcm-reports-filters{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:flex-end;gap:8px 10px;min-inline-size:0;}
.gim-reference-page--reports .gcm-reports-filter-field{display:grid;gap:4px;flex:0 1 auto;min-inline-size:0;}
.gim-reference-page--reports .gcm-reports-filter-field label{margin:0;color:var(--gim-text-secondary);font-size:11px;line-height:1.4;}
.gim-reference-page--reports .gcm-reports-filter-field :where(input,select){inline-size:100%;max-inline-size:100%;min-inline-size:0;}
.gim-reference-page--reports .gcm-reports-filter-field.is-xs{inline-size:128px;max-inline-size:148px;}
.gim-reference-page--reports .gcm-reports-filter-field.is-sm{inline-size:176px;max-inline-size:196px;}
.gim-reference-page--reports .gcm-reports-filter-field.is-md{inline-size:210px;max-inline-size:230px;}
.gim-reference-page--reports .gcm-reports-filter-field.is-date{inline-size:auto;max-inline-size:none;}
.gim-reference-page--reports .gcm-reports-filter-field.is-date>.gcm-jdp-wrap{inline-size:auto;}
.gim-reference-page--reports .gcm-reports-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-start;gap:6px;min-inline-size:0;}
.gim-reference-page--reports .gcm-reports-filter-count{color:var(--gim-text-secondary);font-size:11px;white-space:nowrap;}
.gim-reference-page--reports .gcm-reports-apply{inline-size:auto;min-inline-size:0;padding-inline:14px;white-space:nowrap;}
.gim-reference-page--reports .gcm-reports-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gim-reports-gap);min-inline-size:0;inline-size:100%;align-items:start;}
.gim-reference-page--reports .gcm-reports-body>*{grid-column:1/-1;min-inline-size:0;}
.gim-reference-page--reports .gcm-report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--gim-space-2);}
.gim-reference-page--reports .gcm-report-kpi-grid .gim-status-card{min-inline-size:0;}
.gim-reference-page--reports .gcm-report-table-section{overflow:hidden;}
.gim-reference-page--reports .gcm-report-table-section__head{padding:10px 12px;border-block-end:1px solid var(--gim-border);background:var(--gim-color-surface-sunken,var(--gim-surface-2));}
.gim-reference-page--reports .gcm-report-table-section__head h3{margin:0;font-size:14px;}
.gim-reference-page--reports .gcm-report-table-section__head p{margin:2px 0 0;color:var(--gim-text-secondary);font-size:11px;}
.gim-reference-page--reports .gcm-report-table-section .gcm-table-wrap{border:0;border-radius:0;box-shadow:none;}
.gim-reference-page--reports .gcm-report-trend-card{min-inline-size:0;}
.gim-reference-page--reports .gcm-report-trend-row{display:grid;gap:5px;}
.gim-reference-page--reports .gcm-report-trend-row__head{display:flex;align-items:center;justify-content:space-between;gap:var(--gim-space-2);min-inline-size:0;font-size:12px;}
.gim-reference-page--reports .gcm-report-trend-row__head strong{min-inline-size:0;overflow-wrap:anywhere;}
.gim-reference-page--reports .gcm-report-trend-row__bars{display:grid;gap:4px;}
.gim-reference-page--reports .gcm-report-progress{display:block;inline-size:100%;block-size:8px;overflow:hidden;border:0;border-radius:999px;background:var(--gim-color-surface-sunken,var(--gim-surface-2));appearance:none;}
.gim-reference-page--reports .gcm-report-progress::-webkit-progress-bar{background:var(--gim-color-surface-sunken,var(--gim-surface-2));border-radius:999px;}
.gim-reference-page--reports .gcm-report-progress.is-primary::-webkit-progress-value{background:var(--gim-accent);border-radius:999px;}
.gim-reference-page--reports .gcm-report-progress.is-secondary::-webkit-progress-value{background:color-mix(in srgb,var(--gim-accent) 35%,var(--gim-surface));border-radius:999px;}
.gim-reference-page--reports .gcm-report-progress.is-primary::-moz-progress-bar{background:var(--gim-accent);border-radius:999px;}
.gim-reference-page--reports .gcm-report-progress.is-secondary::-moz-progress-bar{background:color-mix(in srgb,var(--gim-accent) 35%,var(--gim-surface));border-radius:999px;}
.gim-reference-page--reports .gcm-report-empty-surface .gcm-state{margin:0;}
@media (max-width:1024px){.gim-reference-page--reports .gcm-reports-workspace-head{grid-template-columns:minmax(0,1fr);align-items:start;}.gim-reference-page--reports .gcm-reports-toolbar{align-items:stretch;flex-wrap:wrap;}.gim-reference-page--reports .gcm-reports-actions{inline-size:100%;justify-content:flex-start;}}
@media (max-width:782px){.gim-reference-page--reports{--gim-reports-gap:var(--gim-space-2);}.gim-reference-page--reports .gcm-reports-toolbar{display:grid;grid-template-columns:minmax(0,1fr);padding:10px;}.gim-reference-page--reports .gcm-reports-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;}.gim-reference-page--reports .gcm-reports-filter-field.is-xs,.gim-reference-page--reports .gcm-reports-filter-field.is-sm,.gim-reference-page--reports .gcm-reports-filter-field.is-md{inline-size:100%;max-inline-size:none;}.gim-reference-page--reports .gcm-reports-filter-field.is-date{min-inline-size:0;}.gim-reference-page--reports .gcm-reports-actions{overflow:auto hidden;flex-wrap:nowrap;scrollbar-width:thin;}.gim-reference-page--reports .gcm-report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:430px){.gim-reference-page--reports .gcm-reports-filters{grid-template-columns:minmax(0,1fr);}}

/* Wallet / settlement canonical presentation.
   Theme owns page composition; Plugin owns data, permissions and mutations. */
.gim-reference-page--wallet .gcm-wallet-workspace{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gim-space-3);
  align-items:stretch;
}
.gim-reference-page--wallet :where(.gcm-wallet-task-card,.gcm-wallet-history-card){
  min-inline-size:0;
  margin:0;
}
.gim-reference-page--wallet .gcm-wallet-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--gim-space-2);
  margin-block-end:var(--gim-space-3);
}
.gim-reference-page--wallet .gcm-wallet-section-head h3{line-height:1.45;}
.gim-reference-page--wallet .gcm-wallet-section-head p{
  margin:5px 0 0;
  color:var(--gim-text-secondary);
  font-size:.86rem;
  line-height:1.75;
}
.gim-reference-page--wallet .gcm-form-row{margin-block-end:13px;}
.gim-reference-page--wallet .gcm-form-row > label,
.gim-reference-page--wallet .gcm-form-row > span:first-child{
  display:block;
  margin-block-end:6px;
  color:var(--gim-text);
  font-size:.86rem;
  font-weight:650;
}
.gim-reference-page--wallet :where(input,textarea,select){
  inline-size:100%;
  min-block-size:44px;
}
.gim-reference-page--wallet textarea{min-block-size:96px;resize:vertical;}
.gim-reference-page--wallet :where([dir="ltr"],input[name="iban"],input[name="card_number"],input[name="account_number"]){
  direction:ltr;
  text-align:start;
}
.gim-reference-page--wallet .gcm-wallet-form-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:var(--gim-space-2);
}
.gim-reference-page--wallet .gcm-wallet-bank-status{
  color:var(--gim-text-secondary);
  font-size:12px;
  line-height:1.6;
}
.gim-reference-page--wallet .gcm-wallet-readonly-note{
  margin-block-start:0;
  color:var(--gim-text-secondary);
}
.gim-reference-page--wallet .gcm-wallet-form-warning{
  margin-block-end:0;
  color:var(--gim-warning-text,#b45309);
}
.gim-reference-page--wallet .gcm-wallet-history-card{margin-block-start:var(--gim-space-3);}

@media (max-width:1024px){
  .gim-reference-page--crm .gcm-notify-reference-layout{grid-template-columns:minmax(0,1fr) 240px;}
  .gim-reference-page--club-users .gcm-club-users-top-grid{grid-template-columns:1fr;}
  .gim-reference-page--wallet .gcm-wallet-workspace{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:768px){


  .gim-reference-page--wallet .gcm-wallet-section-head{align-items:stretch;}
}
@media (max-width:430px){
  .gim-reference-page--club-users .gcm-club-users-summary__metrics,
  }


/* ==========================================================================
   R7 — remaining page groups.
   Shared composition only; feature behavior/data remains Plugin-owned.
   ========================================================================== */
.gim-reference-page--club-info #gcm-club-info-host,
.gim-reference-page--club-info #gcm-club-info-tabs-host,
.gim-reference-page--me-profile .gim-me-profile-main,
.gim-reference-page--support,
.gim-reference-page--notifications,
.gim-reference-page--referral,
.gim-reference-page--coaches,
.gim-reference-page--classes,
.gim-reference-page--reception,
.gim-reference-page--builder{
  min-inline-size:0;
}
.gim-reference-page--club-info :where(#gcm-club-info-host,#gcm-club-info-tabs-host){
  inline-size:100%;
  max-inline-size:100%;
}

/* Club info / Profile */
.gim-reference-page--club-info .gim-me-profile-layout,
.gim-reference-page--me-profile .gim-me-profile-layout,
.gcm-modal[data-modal-variant="club"] .gim-club-info-form > .gim-me-profile-layout{
  display:grid;
  grid-template-columns:minmax(190px,240px) minmax(0,1fr);
  gap:var(--gim-space-3);
  align-items:start;
  inline-size:100%;
  max-inline-size:100%;
  min-inline-size:0;
}
.gim-reference-page--club-info :where(.gim-me-media-card,.gim-club-media-card),
.gim-reference-page--me-profile .gim-me-media-card,
.gcm-modal[data-modal-variant="club"] .gim-club-info-form > .gim-me-profile-layout > .gim-club-media-card{
  position:sticky;
  inset-block-start:var(--gim-space-3);
  inline-size:100%;
  max-inline-size:240px;
  min-inline-size:0;
  justify-self:start;
}
.gim-reference-page--club-info :where(.gim-club-profile-panel,.gim-me-panel),
.gim-reference-page--me-profile .gim-me-panel,
.gcm-modal[data-modal-variant="club"] .gim-club-profile-main,
.gcm-modal[data-modal-variant="club"] .gim-club-profile-panel{
  min-inline-size:0;
}
.gim-reference-page--club-info :where(.gim-club-profile-panel,.gim-me-panel),
.gim-reference-page--me-profile .gim-me-panel,
.gcm-modal[data-modal-variant="club"] .gim-club-profile-panel{
  inline-size:100%;
  max-inline-size:100%;
}
.gim-reference-page--me-profile .gcm-self-service-context{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--gim-space-2);
}
.gim-reference-page--me-profile .gim-me-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--gim-space-2);
  flex-wrap:wrap;
  margin-block-start:var(--gim-space-3);
}

/* Notifications */
.gim-reference-page--notifications .gim-notification-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  gap:var(--gim-space-2);
}
.gim-reference-page--notifications .gim-notification-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--gim-space-3);
  align-items:start;
  min-inline-size:0;
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
  box-shadow:none;
}
.gim-reference-page--notifications .gim-notification-item.is-unread{
  border-color:color-mix(in srgb,var(--gim-accent) 32%,var(--gim-border));
  background:var(--gim-color-surface-selected);
}
.gim-reference-page--notifications .gim-notification-item__actions{
  display:flex;align-items:center;gap:var(--gim-space-1);flex-wrap:wrap;
}

/* Referral */
.gim-reference-page--referral .gcm-referral-v2__workspace{display:grid;gap:var(--gim-space-3);}
.gim-reference-page--referral .gcm-referral-v2__overview{min-inline-size:0;}
.gim-reference-page--referral .gcm-referral-v2__metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gim-space-2);
}
.gim-reference-page--referral .gcm-referral-v2__primary-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
  gap:var(--gim-space-3);
  align-items:start;
}

/* Coaches */
.gim-reference-page--coaches .gcm-management-workspace__body{gap:var(--gim-space-3);}
.gim-reference-page--coaches .gim-ops-tabs-surface{box-shadow:none;}

/* Classes/teams */
.gim-reference-page--classes .gcm-management-workspace{gap:var(--gim-space-3);}
.gim-reference-page--classes .gcm-classes-command-surface{box-shadow:none;}
.gim-reference-page--classes .gcm-classes-today{display:grid;gap:var(--gim-space-3);}
.gim-reference-page--classes .gcm-today-session-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:var(--gim-space-2);
}
.gim-reference-page--classes .gcm-today-session-card{
  min-inline-size:0;
  border-radius:var(--gim-radius-surface);
  box-shadow:none;
}

/* Service reception */
.gim-reference-page--reception{
  gap:var(--gim-space-3);
}
.gim-reference-page--reception .gcm-reception-primary-workspace{
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
}
.gim-reference-page--reception .gcm-reception-pulse.gim-reference-summary{
  grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);
  padding:var(--gim-space-3);
}
.gim-reference-page--reception .gcm-reception-queue-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap:var(--gim-space-2);
}

/* Support */
.gim-reference-page--support .gcm-support-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:var(--gim-space-3);
  margin-block-end:var(--gim-space-3);
}
.gim-reference-page--support .gcm-support-head h2{margin:0;}

/* Builder */
.gim-reference-page--builder.gcm-builder{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-2);
  min-inline-size:0;
}
.gim-reference-page--builder .gcm-builder-header,
.gim-reference-page--builder .gcm-publication-bar,
.gim-reference-page--builder .gcm-builder-toolbar{
  border-radius:var(--gim-radius-surface);
  box-shadow:none;
}
.gim-reference-page--builder .gcm-builder-workspace{
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  gap:var(--gim-space-3);
  min-inline-size:0;
}
.gim-reference-page--builder .gcm-builder-navigator,
.gim-reference-page--builder .gcm-builder-preview-pane{
  min-inline-size:0;
  border-radius:var(--gim-radius-surface);
  box-shadow:none;
}
.gim-reference-page--builder .gcm-builder-publish-bar{
  gap:var(--gim-space-3);
}

@media (max-width:1024px){
  .gim-reference-page--club-info .gim-me-profile-layout,
  .gim-reference-page--me-profile .gim-me-profile-layout,
  .gcm-modal[data-modal-variant="club"] .gim-club-info-form > .gim-me-profile-layout{
    grid-template-columns:200px minmax(0,1fr);
  }
  .gim-reference-page--me-profile .gcm-self-service-context{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gim-reference-page--referral .gcm-referral-v2__primary-grid{grid-template-columns:1fr 1fr;}
  .gim-reference-page--builder .gcm-builder-workspace{grid-template-columns:minmax(200px,240px) minmax(0,1fr);}
}
@media (max-width:768px){
  .gim-reference-page--club-info .gim-me-profile-layout,
  .gim-reference-page--me-profile .gim-me-profile-layout,
  .gcm-modal[data-modal-variant="club"] .gim-club-info-form > .gim-me-profile-layout,
  .gim-reference-page--referral .gcm-referral-v2__primary-grid,
  .gim-reference-page--builder .gcm-builder-workspace{
    grid-template-columns:1fr;
  }
  .gim-reference-page--club-info :where(.gim-me-media-card,.gim-club-media-card),
  .gim-reference-page--me-profile .gim-me-media-card,
  .gcm-modal[data-modal-variant="club"] .gim-club-info-form > .gim-me-profile-layout > .gim-club-media-card{
    position:static;
    max-inline-size:100%;
    justify-self:stretch;
  }
  .gim-reference-page--referral .gcm-referral-v2__metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-reference-page--reception .gcm-reception-pulse.gim-reference-summary{grid-template-columns:1fr;}
}
@media (max-width:430px){
  .gim-reference-page--notifications .gim-notification-list{grid-template-columns:1fr;}
  .gim-reference-page--notifications .gim-notification-item{grid-template-columns:1fr;}
  .gim-reference-page--me-profile .gcm-self-service-context{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-reference-page--referral .gcm-referral-v2__metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Canonical shell/action icon presentation. SVG markup is owned by GCM_UI. */
.gim-page-title-row,
.gim-page-title{
  display:flex;
  align-items:center;
  gap:8px;
}
.gim-page-title-row .gim-page-title{margin:0;}
.gim-page-title__icon,
.gim-nav-icon,
.gim-bottomnav-icon{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
}
.gim-page-title__icon .gim-table-action-icon,
.gim-page-title__icon svg,
.gim-nav-icon .gim-table-action-icon,
.gim-nav-icon svg,
.gim-bottomnav-icon .gim-table-action-icon,
.gim-bottomnav-icon svg{
  inline-size:20px;
  block-size:20px;
}
/* Sprint 7 — canonical operational context shared by attendance, reception and finance. */
.gcm-operational-context{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:var(--gim-space-2,8px);
  align-items:stretch;
  min-width:0;
  padding:var(--gim-space-2,10px);
  border:1px solid color-mix(in srgb,var(--gim-accent,#4f46e5) 18%,var(--gim-border,rgba(148,163,184,.35)));
  border-radius:var(--gim-radius-md,12px);
  background:color-mix(in srgb,var(--gim-accent,#4f46e5) 5%,var(--gim-surface,#fff));
}
.gcm-operational-context>span{display:grid;gap:2px;min-width:0;}
.gcm-operational-context small{font-size:11px;line-height:1.35;color:var(--gim-muted,#64748b);}
.gcm-operational-context strong{font-size:13px;line-height:1.5;color:var(--gim-text,#111827);overflow-wrap:anywhere;}
[data-operational-primary="1"]{min-block-size:var(--gim-touch-target-min,44px);}
@media (max-width:640px){
  .gcm-operational-context{grid-template-columns:1fr 1fr;padding:8px;}
  .gcm-operational-context>span:last-child:nth-child(odd){grid-column:1 / -1;}
}
@media (max-width:390px){
  .gcm-operational-context{grid-template-columns:1fr;}
  .gcm-operational-context>span:last-child:nth-child(odd){grid-column:auto;}
}

/* Sprint 8 — management and self-service workspace contracts. */
.gcm-management-workspace,
.gcm-self-service-workspace{
  display:grid;
  gap:var(--gim-space-3,12px);
  min-width:0;
}
.gcm-management-workspace__body{min-width:0;}
.gcm-management-toolbar{
  align-items:end;
  padding-block-end:var(--gim-space-2,8px);
  border-block-end:1px solid var(--gim-border,rgba(148,163,184,.35));
}
.gcm-list-search__field{
  display:grid;
  gap:4px;
  min-inline-size:min(100%,280px);
  font-size:12px;
  font-weight:700;
  color:var(--gim-text-secondary,var(--gim-muted,#64748b));
}
.gcm-list-search__field>input{min-block-size:var(--gim-touch-target-min,44px);}
.gcm-list-summary{
  display:flex;
  align-items:center;
  min-block-size:var(--gim-touch-target-min,44px);
  padding-inline:var(--gim-space-2,10px);
  border-radius:var(--gim-radius-md,12px);
  background:var(--gim-surface-2,#f8fafc);
  color:var(--gim-text-secondary,var(--gim-muted,#64748b));
  font-size:12px;
  line-height:1.6;
}
.gcm-management-list{min-width:0;}
.gcm-self-service-context{margin-block:0 var(--gim-space-3,12px);}
.gcm-self-service-filter{
  display:flex;
  align-items:end;
  justify-content:flex-start;
  gap:var(--gim-space-2,10px);
  flex-wrap:wrap;
}
.gcm-self-service-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--gim-grid-kpi-min)),1fr));
  gap:var(--gim-space-3);
  margin-block:0;
}
.gcm-self-service-section{
  display:grid;
  gap:var(--gim-space-2,10px);
  min-width:0;
}
.gcm-self-service-section>h3{margin:0;}
.gcm-self-service-action-queue{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-3,12px);
  flex-wrap:wrap;
  padding:var(--gim-space-3,14px);
  border:1px solid color-mix(in srgb,var(--gim-accent,#4f46e5) 22%,var(--gim-border,rgba(148,163,184,.35)));
  border-radius:var(--gim-radius-lg,16px);
  background:color-mix(in srgb,var(--gim-accent,#4f46e5) 6%,var(--gim-surface,#fff));
}
.gcm-self-service-action-queue.is-complete{
  border-color:color-mix(in srgb,var(--gim-success,#16a34a) 22%,var(--gim-border,rgba(148,163,184,.35)));
  background:color-mix(in srgb,var(--gim-success,#16a34a) 5%,var(--gim-surface,#fff));
}
.gcm-self-service-action-queue h3,
.gcm-self-service-action-queue p{margin:0;}
.gcm-self-service-action-queue p{margin-block-start:4px;color:var(--gim-muted,#64748b);}
.gcm-self-service-action-form{display:grid;gap:var(--gim-space-2,10px);}

@media (max-width:640px){
  .gcm-management-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .gcm-management-toolbar>.gcm-list-search,
  .gcm-management-toolbar>.gcm-list-summary,
  .gcm-management-toolbar>.gcm-table-pager{
    inline-size:100%;
  }
  .gcm-management-toolbar .gcm-list-search__field{
    inline-size:100%;
    min-inline-size:0;
  }
  .gcm-management-toolbar .gcm-list-search{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .gcm-management-toolbar .gcm-list-search__field{
    grid-column:1 / -1;
  }
  .gcm-management-toolbar .button{min-block-size:var(--gim-touch-target-min,44px);}
  .gcm-self-service-action-queue{
    align-items:stretch;
    flex-direction:column;
  }
  .gcm-self-service-action-queue>.button{inline-size:100%;min-block-size:var(--gim-touch-target-min,44px);}
  [data-gcm-mobile-list="cards"] table,
  [data-gcm-mobile-list="cards"] tbody{
    display:block;
    inline-size:100%;
  }
  [data-gcm-mobile-list="cards"] thead{
    position:absolute;
    inline-size:1px;
    block-size:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  [data-gcm-mobile-list="cards"] tbody tr{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin-block-end:var(--gim-space-2);
    border:1px solid var(--gim-border);
    border-radius:var(--gim-radius-surface);
    background:var(--gim-surface);
    overflow:hidden;
  }
  [data-gcm-mobile-list="cards"] tbody td{
    display:grid;
    grid-template-columns:1fr;
    align-content:start;
    gap:2px;
    inline-size:auto;
    min-inline-size:0;
    padding:var(--gim-space-2) var(--gim-space-3);
    border:0;
    border-block-end:1px solid var(--gim-border);
    text-align:start;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
  }
  [data-gcm-mobile-list="cards"] tbody td:nth-child(odd):not(:first-child):not([data-label="عملیات"]){
    border-inline-end:1px solid var(--gim-border);
  }
  [data-gcm-mobile-list="cards"] tbody td:first-child,
  [data-gcm-mobile-list="cards"] tbody td[colspan],
  [data-gcm-mobile-list="cards"] tbody td[data-label="عملیات"]{
    grid-column:1 / -1;
  }
  [data-gcm-mobile-list="cards"] tbody td::before{
    content:attr(data-label);
    color:var(--gim-text-secondary);
    font-size:var(--gim-font-xs);
    font-weight:var(--gim-font-weight-semibold);
    line-height:var(--gim-line-tight);
  }
  [data-gcm-mobile-list="cards"] tbody td[colspan]{display:block;text-align:center;}
  [data-gcm-mobile-list="cards"] tbody td[colspan]::before{content:none;}
  [data-gcm-mobile-list="cards"] tbody td[data-label="عملیات"]{
    display:flex;
    align-items:center;
    gap:var(--gim-space-1);
    flex-wrap:wrap;
  }
  [data-gcm-mobile-list="cards"] tbody td[data-label="عملیات"]::before{
    flex:0 0 100%;
    margin-block-end:var(--gim-space-1);
  }
}


/* R5 reference people workspace — shared between athlete/coach migrations. */



.gcm-people-overview__actions[data-ui="actions"]{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--gim-space-2);
  flex-wrap:wrap;
}
@media (max-width:768px){
  .gcm-people-overview__actions[data-ui="actions"]{justify-content:flex-start;}
}



/* Branch repair workspace — Theme is the single presentation owner. */
.gcm-branch-repair-workspace{display:grid;gap:var(--gim-space-3);min-inline-size:0;}
.gcm-branch-repair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gim-space-2);}
.gcm-branch-repair-card{
  --gim-repair-tone:var(--gim-text-secondary);
  position:relative;
  min-inline-size:0;
  min-block-size:106px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  grid-template-areas:"count content" "severity content";
  align-items:center;
  gap:7px 12px;
  padding:12px 14px;
  border:1px solid var(--gim-border);
  border-inline-start:4px solid var(--gim-accent);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  text-align:start;
  box-shadow:none;
  cursor:pointer;
}
.gcm-branch-repair-card::after{
  content:"";position:absolute;inset-block:10px;inset-inline-end:7px;inline-size:4px;border-radius:999px;background:var(--gim-repair-tone);
}
.gcm-branch-repair-card[data-repair-severity="critical"]{--gim-repair-tone:var(--gim-danger,#dc4343);}
.gcm-branch-repair-card[data-repair-severity="high"]{--gim-repair-tone:var(--gim-warning,#d99400);}
.gcm-branch-repair-card[data-repair-severity="medium"]{--gim-repair-tone:var(--gim-info,var(--gim-accent));}
.gcm-branch-repair-card[data-repair-severity="low"]{--gim-repair-tone:var(--gim-success,#16a36a);}
.gcm-branch-repair-card:hover{background:var(--gim-color-surface-selected);border-color:color-mix(in srgb,var(--gim-accent) 32%,var(--gim-border));}
.gcm-branch-repair-card:focus-visible{outline:none;box-shadow:var(--gim-focus-ring);}
.gcm-branch-repair-card__count{grid-area:count;min-inline-size:42px;font-size:26px;font-weight:800;line-height:1;text-align:center;}
.gcm-branch-repair-card__content{grid-area:content;min-inline-size:0;display:grid;gap:4px;}
.gcm-branch-repair-card__content strong{font-size:13px;line-height:1.55;overflow-wrap:anywhere;}
.gcm-branch-repair-card__content small{color:var(--gim-text-secondary);font-size:11px;}
.gcm-branch-repair-card__severity{grid-area:severity;justify-self:center;min-inline-size:42px;max-inline-size:88px;}
.gcm-branch-repair-card:not(.has-items){opacity:.72;}
.gcm-branch-repair-workspace pre{
  max-block-size:260px;overflow:auto;padding:12px;direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));border:1px solid var(--gim-border);border-radius:var(--gim-radius-md);
}
@media (max-width:760px){.gcm-branch-repair-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:480px){.gcm-branch-repair-grid{grid-template-columns:1fr;}}



/* Current-user profile — one responsive layout contract. */
#gcm-app .gim-reference-page--me-profile .gim-me-profile-layout{
  grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:var(--gim-space-3);align-items:start;
}
#gcm-app .gim-reference-page--me-profile :where(.gim-me-profile-main,.gim-me-tabs-host,.gim-me-panel,form){
  inline-size:100%;min-inline-size:0;max-inline-size:none;
}
#gcm-app .gim-reference-page--me-profile .gim-me-profile-fields{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;
}
#gcm-app .gim-reference-page--me-profile .gim-me-profile-fields :where([data-me-field="address"],[data-me-field="bio"]){grid-column:span 2;}
#gcm-app .gim-reference-page--me-profile .gim-me-security-grid{
  display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px 12px;inline-size:100%;
}
#gcm-app .gim-reference-page--me-profile .gim-me-security-grid input{inline-size:100%;min-inline-size:0;}
#gcm-app .gim-reference-page--me-profile .gim-me-photo-actions{inline-size:100%;display:grid;grid-template-columns:1fr;gap:6px;}
#gcm-app .gim-reference-page--me-profile .gim-me-photo-actions :where(.gim-me-photo-upload,.gim-me-photo-remove){inline-size:100%;min-inline-size:0;justify-content:center;}
#gcm-app .gim-reference-page--me-profile .gim-me-photo-remove{color:var(--gim-danger,#dc4343);}
@media (max-width:1100px){
  #gcm-app .gim-reference-page--me-profile :where(.gim-me-profile-fields,.gim-me-security-grid){grid-template-columns:repeat(2,minmax(0,1fr));}
  #gcm-app .gim-reference-page--me-profile .gim-me-profile-fields :where([data-me-field="address"],[data-me-field="bio"]){grid-column:1 / -1;}
}
@media (max-width:780px){
  #gcm-app .gim-reference-page--me-profile .gim-me-profile-layout{grid-template-columns:1fr;}
  #gcm-app .gim-reference-page--me-profile .gim-me-media-card{
    position:static;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:stretch;
  }
  #gcm-app .gim-reference-page--me-profile :where(.gim-me-photo-box,.gim-me-qr-box){justify-self:center;}
}
@media (max-width:640px){
  #gcm-app .gim-reference-page--me-profile :where(.gim-me-profile-fields,.gim-me-security-grid){grid-template-columns:1fr;}
  #gcm-app .gim-reference-page--me-profile .gim-me-profile-fields :where([data-me-field="address"],[data-me-field="bio"]){grid-column:auto;}
  #gcm-app .gim-reference-page--me-profile .gim-me-media-card{grid-template-columns:1fr;}
}


/* Me profile fields — canonical Theme-owned anatomy. */
#gcm-app .gim-reference-page--me-profile .gim-me-profile-fields > .gcm-form-row,
#gcm-app .gim-reference-page--me-profile .gim-me-security-grid > .gcm-form-row{
  display:flex;flex-direction:column;align-items:stretch;gap:6px;min-inline-size:0;inline-size:100%;max-inline-size:none;margin:0;
}
#gcm-app .gim-reference-page--me-profile .gim-me-profile-fields > .gcm-form-row > label,
#gcm-app .gim-reference-page--me-profile .gim-me-security-grid > .gcm-form-row > label{
  inline-size:auto;max-inline-size:100%;margin:0;white-space:normal;text-align:start;justify-self:auto;
}
#gcm-app .gim-reference-page--me-profile .gim-me-profile-fields > .gcm-form-row > :where(input,select,textarea,.gim-me-value),
#gcm-app .gim-reference-page--me-profile .gim-me-security-grid > .gcm-form-row > :where(input,select,textarea){
  inline-size:100%;min-inline-size:0;max-inline-size:none;justify-self:stretch;box-sizing:border-box;
}
#gcm-app .gim-reference-page--me-profile .gim-me-profile-fields .gim-me-value{
  min-block-size:40px;display:flex;align-items:center;padding:8px 10px;border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}

/* Canonical image/document media control. */
.gim-media-control{inline-size:100%;min-inline-size:0;display:grid;gap:8px;justify-items:stretch;}
.gim-media-control__preview{
  inline-size:100%;min-inline-size:0;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
.gim-media-control__preview > :where(img,svg){inline-size:100%;block-size:100%;display:block;object-fit:cover;}
.gim-media-control{
  --gim-media-preview-inline-size:min(12rem,100%);
}
.gim-media-control__preview{
  inline-size:var(--gim-media-preview-inline-size);
  justify-self:center;
}
.gim-media-control__actions{
  inline-size:var(--gim-media-preview-inline-size);
  justify-self:center;
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
.gim-media-control__actions > :where(.button,.gcm-file-label,[data-ui="button"]){
  inline-size:100%;
  min-inline-size:0;
  max-inline-size:none;
  justify-self:stretch;
}
.gim-media-control__upload,.gim-media-control__remove{
  position:relative;min-block-size:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;
}
.gim-media-control__upload input[type="file"]{position:absolute;inset:0;inline-size:100%;block-size:100%;opacity:0;cursor:pointer;}
.gim-media-control__remove{color:var(--gim-danger,#dc4343);}
.gim-media-control__meta{color:var(--gim-text-secondary);font-size:11px;line-height:1.5;text-align:center;}
.gim-media-control--document{--gim-media-preview-inline-size:min(15rem,100%);}
.gim-media-control--document .gim-media-control__preview{aspect-ratio:1.58/1;}


/* Canonical operational modal workspace — shared by finance and service reception. */
.gim-modal-workspace{inline-size:100%;min-inline-size:0;display:grid;gap:var(--gim-space-3);}
.gim-modal-workspace :where(.gcm-card,.gcm-acc-card,.gcm-reception-operation-panel,.gcm-reception-athlete-context,.gcm-reception-athlete-header){
  min-inline-size:0;margin:0;border:1px solid var(--gim-border);border-radius:var(--gim-radius-surface);background:var(--gim-surface);box-shadow:none;
}
.gim-modal-workspace :where(.gcm-operational-context,.gcm-reception-athlete-metrics){
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-inline-size:0;
}
.gim-modal-workspace .gcm-operational-context>span,
.gim-modal-workspace .gcm-reception-athlete-metrics>div{
  min-inline-size:0;display:grid;gap:2px;padding:9px 10px;border:1px solid var(--gim-border);
  border-inline-start:4px solid var(--gim-accent);border-radius:var(--gim-radius-control);background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
.gim-modal-workspace .gcm-operational-context small,.gim-modal-workspace .gcm-reception-athlete-metrics small{color:var(--gim-text-secondary);font-size:11px;}
.gim-modal-workspace .gcm-operational-context strong,.gim-modal-workspace .gcm-reception-athlete-metrics strong{
  min-inline-size:0;color:var(--gim-text-primary);font-size:14px;overflow-wrap:anywhere;
}
.gim-modal-workspace :where(.gcm-form-grid,.gcm-acc-filters,.gcm-reception-operation-form){
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;min-inline-size:0;
}
.gim-modal-workspace :where(input,select,textarea){inline-size:100%;min-inline-size:0;max-inline-size:none;box-sizing:border-box;}
.gim-modal-workspace :where(.gcm-table-wrap,.gcm-acc-tablewrap,[data-ui="table-wrap"]){inline-size:100%;max-inline-size:100%;overflow:auto;overscroll-behavior-inline:contain;}
.gim-modal-workspace table{inline-size:100%;border-collapse:separate;border-spacing:0;}
.gim-modal-workspace :where(th,td){padding:9px 10px;border-block-end:1px solid var(--gim-border);vertical-align:middle;text-align:start;}
.gim-modal-workspace th{color:var(--gim-text-secondary);font-size:11px;font-weight:700;background:var(--gim-color-surface-sunken,var(--gim-surface-2));}
.gim-modal-workspace td{color:var(--gim-text-primary);font-size:12px;}
.gim-modal-workspace--finance .gcm-acc-quick-grid--top{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:var(--gim-space-3);
  align-items:start;
}
.gim-modal-workspace--finance .gcm-acc-quick-grid--lists{display:grid;grid-template-columns:1fr;gap:var(--gim-space-3);}
.gim-modal-workspace--services .gcm-services-modal-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,32%);gap:var(--gim-space-3);align-items:start;}
.gim-modal-workspace--services .gcm-reception-submit-row{grid-column:1/-1;display:flex;justify-content:flex-start;}
@media (max-width:980px){
  .gim-modal-workspace :where(.gcm-operational-context,.gcm-reception-athlete-metrics){grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-modal-workspace--finance :where(.gcm-acc-quick-grid--top,.gcm-acc-quick-grid--lists),
  .gim-modal-workspace--services .gcm-services-modal-workspace{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .gim-modal-workspace{gap:10px;}
  .gim-modal-workspace :where(.gcm-form-grid,.gcm-acc-filters,.gcm-reception-operation-form){grid-template-columns:1fr;}
}

/* R9.9 — canonical athlete modal refinements. */
.gim-modal-workspace--services .gcm-reception-operation-choices.gim-quick-actions__row{
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:6px;
}
.gim-modal-workspace--services .gcm-reception-operation-choices .gim-quick-actions__action{
  flex:0 0 auto;
}
.gim-modal-workspace--services .gcm-reception-athlete-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(280px,5fr);
  gap:var(--gim-space-2);
  margin-block-start:var(--gim-space-2);
}
.gim-modal-workspace--services .gcm-reception-athlete-detail-grid.is-single{
  grid-template-columns:1fr;
}
.gim-modal-workspace--services .gcm-reception-athlete-detail-grid > section{
  min-inline-size:0;
  inline-size:100%;
  padding:var(--gim-space-2);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
}
.gim-modal-workspace--services .gcm-reception-entitlements{
  inline-size:100%;
}




@media (min-width:1180px){
  
}
@media (max-width:980px){
  .gim-modal-workspace--services .gcm-reception-athlete-detail-grid{
    grid-template-columns:1fr;
  }
}


/* Canonical operation summary — shared by Services and Finance. */
.gim-operation-summary{
  min-inline-size:0;
  border:2px solid var(--gim-accent);
  border-radius:var(--gim-radius-surface);
  background:color-mix(in srgb,var(--gim-accent) 4%,var(--gim-surface));
  box-shadow:0 8px 24px color-mix(in srgb,var(--gim-accent) 12%,transparent);
}
.gim-operation-summary:not([data-ui="content-card"]){
  display:grid;
  gap:10px;
  padding:var(--gim-space-3);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
.gim-operation-summary__head{
  display:grid;
  gap:2px;
}
.gim-operation-summary__eyebrow{
  color:var(--gim-accent);
  font-size:11px;
  font-weight:800;
}
.gim-operation-summary:not([data-ui="content-card"]) :where(h3,h4){
  margin:0;
  color:var(--gim-text-primary);
  font-size:15px;
}
.gim-operation-summary__body>p{
  margin:0 0 8px;
  color:var(--gim-text-secondary);
  font-size:12px;
  line-height:1.75;
}
.gim-operation-summary__rows{
  display:grid;
  gap:0;
  border-block-start:1px solid var(--gim-border);
}
.gim-operation-summary__row{
  min-inline-size:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-block:8px;
  border-block-end:1px solid var(--gim-border);
  font-size:12px;
}
.gim-operation-summary__row>span{
  flex:0 0 auto;
  color:var(--gim-text-secondary);
}
.gim-operation-summary__row>strong{
  min-inline-size:0;
  max-inline-size:68%;
  text-align:end;
  overflow-wrap:anywhere;
}
.gim-operation-summary__notice{
  display:grid;
  gap:3px;
  padding:9px;
  border-inline-start:3px solid var(--gim-accent);
  background:var(--gim-surface);
  color:var(--gim-text-secondary);
  font-size:11px;
  line-height:1.65;
}

/* Finance modal — title/value pairs use field-like rows, not statistic cards. */
.gim-modal-workspace--finance :where(.gim-finance-context-list,.gim-finance-field-list){
  margin:0;
  min-inline-size:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:0;
}
.gim-modal-workspace--finance .gim-finance-context-list{
  padding:10px 12px;
  border-block:1px solid var(--gim-border);
}
.gim-modal-workspace--finance .gim-finance-field-row{
  min-inline-size:0;
  display:grid;
  grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr);
  align-items:center;
  gap:10px;
  min-block-size:40px;
  padding-block:7px;
  border-block-end:1px solid var(--gim-border);
}
.gim-modal-workspace--finance .gim-finance-field-row:nth-last-child(-n+2){
  border-block-end:0;
}
.gim-modal-workspace--finance .gim-finance-field-row dt{
  margin:0;
  color:var(--gim-text-secondary);
  font-size:12px;
  font-weight:600;
}
.gim-modal-workspace--finance .gim-finance-field-row dd{
  margin:0;
  min-inline-size:0;
  color:var(--gim-text-primary);
  font-size:13px;
  font-weight:700;
  text-align:start;
  overflow-wrap:anywhere;
}
.gim-modal-workspace--finance .gcm-acc-quick-grid--lists > .gcm-acc-card{
  inline-size:100%;
  min-inline-size:0;
}
.gim-modal-workspace--finance .gcm-acc-quick-grid--lists :where(.gcm-acc-tablewrap,[data-ui="table-wrap"]){
  inline-size:100%;
  max-inline-size:100%;
}
@media (max-width:760px){
  .gim-modal-workspace--finance :where(.gim-finance-context-list,.gim-finance-field-list){
    grid-template-columns:1fr;
  }
  .gim-modal-workspace--finance .gim-finance-field-row:nth-last-child(-n+2){
    border-block-end:1px solid var(--gim-border);
  }
  .gim-modal-workspace--finance .gim-finance-field-row:last-child{
    border-block-end:0;
  }
}
@media (max-width:480px){
  .gim-operation-summary__row{
    gap:10px;
  }
  .gim-operation-summary__row>strong{
    max-inline-size:62%;
  }
  .gim-modal-workspace--finance .gim-finance-field-row{
    grid-template-columns:minmax(82px,.75fr) minmax(0,1.25fr);
  }
}



.gim-modal-workspace--finance .gim-finance-primary-stack{
  min-inline-size:0;
  display:grid;
  gap:var(--gim-space-3);
}
.gim-modal-workspace--finance .gim-finance-card{
  overflow:hidden;
}
.gim-modal-workspace--finance .gim-finance-card .gcm-acc-card__head{
  padding:11px 13px;
  border-block-end:1px solid var(--gim-border);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
.gim-modal-workspace--finance .gim-finance-card .gcm-acc-card__title{
  color:var(--gim-text-primary);
  font-size:14px;
  font-weight:800;
}
.gim-modal-workspace--finance .gim-finance-card .gcm-acc-card__subtitle{
  margin-block-start:2px;
  color:var(--gim-text-secondary);
  font-size:11px;
}
.gim-modal-workspace--finance .gim-finance-card .gcm-acc-card__body{
  padding:12px 13px;
}
.gim-modal-workspace--finance .gcm-acc-quick-grid--top > [data-gcm-quick-payment-review]{
  min-inline-size:0;
}
.gim-modal-workspace--finance .gcm-acc-quick-grid--top > [data-gcm-quick-payment-review] > .gim-operation-summary{
  block-size:auto;
  min-block-size:100%;
  align-content:start;
}
@media (max-width:900px){
  .gim-modal-workspace--finance .gcm-acc-quick-grid--top{
    grid-template-columns:1fr;
  }
  .gim-modal-workspace--finance .gcm-acc-quick-grid--top > [data-gcm-quick-payment-review]{
    order:2;
  }
}



/* Canonical table-card heading spacing. */
:where(.gcm-acc-card--table,.gcm-table-card,[data-ui="table-section"]) > :where(.gcm-acc-card__head,.gcm-table-card__head,[data-ui="table-header"]){
  padding:12px 14px;
  min-block-size:48px;
  display:flex;
  align-items:center;
  gap:10px;
  border-block-end:1px solid var(--gim-border);
}
:where(.gcm-acc-card--table,.gcm-table-card,[data-ui="table-section"]) > :where(.gcm-acc-card__head,.gcm-table-card__head,[data-ui="table-header"]) :where(.gcm-acc-card__title,.gcm-table-card__title,[data-ui="table-title"]){
  margin:0;
  line-height:1.5;
}


.gim-modal__entity-name{
  color:var(--gim-accent);
  font-weight:800;
}
.gim-operation-summary__actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:6px;
  margin-block-start:10px;
  padding-block-start:10px;
  border-block-start:1px solid var(--gim-border);
}
.gim-operation-summary__actions > :where(.button,.gcm-btn,[data-ui="button"]){
  inline-size:auto;
  min-inline-size:0;
}
.gim-modal-workspace--finance .gim-finance-card--invoice .gcm-acc-card__actions{
  display:flex;
  align-items:center;
}
.gim-modal-workspace--finance .gim-finance-invoice-form .gcm-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (max-width:640px){
  .gim-modal-workspace--finance .gim-finance-invoice-form .gcm-form-grid{
    grid-template-columns:1fr;
  }
  .gim-operation-summary__actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gim-operation-summary__actions > :where(.button,.gcm-btn,[data-ui="button"]){
    inline-size:100%;
  }
}


.gim-media-control__preview img,
.gcm-avatar-thumb[data-gim-media-preview="1"],
img[data-gim-media-preview-ready="1"]{cursor:zoom-in;}
.gim-media-control__preview img:focus-visible,
.gcm-avatar-thumb[data-gim-media-preview="1"]:focus-visible,
img[data-gim-media-preview-ready="1"]:focus-visible{outline:none;box-shadow:var(--gim-focus-ring);}
.gim-media-preview-body{
  min-block-size:min(70vh,720px);display:grid;place-items:center;padding:var(--gim-space-2);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));border-radius:var(--gim-radius-surface);
}
.gim-media-preview-body img{display:block;max-inline-size:100%;max-block-size:76vh;inline-size:auto;block-size:auto;object-fit:contain;}
.gim-modal{position:relative;}
.gim-modal-media-preview{
  position:absolute;inset:0;z-index:calc(var(--gim-layer-modal,1000) + 2);display:grid;place-items:center;padding:var(--gim-space-3);
  background:transparent;border-radius:inherit;
}
.gim-modal-media-preview__stage{position:relative;inline-size:auto;block-size:auto;max-inline-size:92%;max-block-size:88%;min-inline-size:0;min-block-size:0;display:grid;place-items:center;padding:calc(var(--gim-space-4) + 28px) var(--gim-space-3) var(--gim-space-3);border:1px solid var(--gim-border);border-radius:var(--gim-radius-surface);background:var(--gim-surface);box-shadow:var(--gim-shadow-lg,0 18px 50px rgba(15,23,42,.18));}
.gim-modal-media-preview__stage img{display:block;max-inline-size:min(82vw,900px);max-block-size:72vh;inline-size:auto;block-size:auto;object-fit:contain;}
.gim-modal-media-preview__close{position:absolute;inset-block-start:var(--gim-space-2);inset-inline-end:var(--gim-space-2);z-index:2;inline-size:36px;block-size:36px;min-inline-size:36px;min-block-size:36px;display:inline-grid;place-items:center;padding:0;background:var(--gim-surface);color:var(--gim-text-primary);border:1px solid color-mix(in srgb,var(--gim-accent) 45%,var(--gim-border));}
.gim-modal-media-preview__close svg{inline-size:18px;block-size:18px;display:block;fill:none;stroke:currentColor;}



.gim-modal-workspace--finance > .gim-finance-card--invoice{inline-size:100%;min-inline-size:0;}
.gim-modal-workspace--finance .gim-finance-invoice-inline{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto;align-items:end;gap:var(--gim-space-2);
}
.gim-modal-workspace--finance .gim-finance-invoice-inline__field{
  min-inline-size:0;margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;
}
.gim-modal-workspace--finance .gim-finance-invoice-inline__field :where(label,.gcm-field__label){margin:0;white-space:nowrap;}
.gim-modal-workspace--finance .gim-finance-invoice-inline__field :where(input,select){inline-size:100%;min-inline-size:0;}
.gim-modal-workspace--finance .gim-finance-invoice-inline__submit{align-self:center;justify-self:end;}
@media (max-width:900px){
  .gim-modal-workspace--finance .gim-finance-invoice-inline{grid-template-columns:1fr 1fr;}
  .gim-modal-workspace--finance .gim-finance-invoice-inline__submit{grid-column:1/-1;justify-self:start;}
}
@media (max-width:640px){
  .gim-modal-workspace--finance .gim-finance-invoice-inline{grid-template-columns:1fr;}
  .gim-modal-workspace--finance .gim-finance-invoice-inline__field{grid-template-columns:1fr;}
  .gim-modal-workspace--finance .gim-finance-invoice-inline__submit{grid-column:auto;inline-size:100%;}
}



.gim-modal-workspace--coach-profile{display:grid;gap:var(--gim-space-3);}
.gim-modal-workspace--coach-profile .gcm-coach-profile-editor__status{
  display:flex;align-items:center;justify-content:space-between;gap:var(--gim-space-2);flex-wrap:wrap;
  padding:var(--gim-space-2) var(--gim-space-3);border:1px solid var(--gim-border);border-radius:var(--gim-radius-control);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
.gim-modal-workspace--coach-profile .gcm-coach-profile-editor__status>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.gim-modal-workspace--coach-profile .gcm-coach-profile-editor__layout{
  display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.72fr);align-items:start;gap:var(--gim-space-3);
}
.gim-modal-workspace--coach-profile :where(.gcm-coach-profile-editor__main,.gcm-coach-profile-editor__aside){
  min-inline-size:0;display:grid;gap:var(--gim-space-3);
}
.gim-modal-workspace--coach-profile .gcm-coach-profile-editor__aside{position:sticky;inset-block-start:0;}
.gim-modal-workspace--coach-profile .gcm-card{margin:0;padding:var(--gim-space-3);}
.gim-modal-workspace--coach-profile .gcm-card>h3{
  margin:0 0 var(--gim-space-2);padding-block-end:var(--gim-space-2);border-block-end:1px solid var(--gim-border);font-size:14px;
}
.gim-modal-workspace--coach-profile .gim-me-fields-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gim-space-2);
}
.gim-modal-workspace--coach-profile .gim-me-fields-grid .gcm-form-row{min-inline-size:0;}
.gim-modal-workspace--coach-profile .gim-me-fields-grid .gcm-form-row.is-full{grid-column:1/-1;}
.gim-modal-workspace--coach-profile .gcm-coach-profile-editor__checks{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
}
.gim-modal-workspace--coach-profile .gcm-coach-profile-editor__check{
  display:flex;align-items:center;gap:6px;min-block-size:40px;padding:7px 9px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-control);
}
.gim-modal-workspace--coach-profile .gcm-coach-profile-editor__aside ul{display:grid;gap:4px;margin:0;padding-inline-start:18px;}
.gim-modal-workspace--coach-profile #gcm-coach-public-live-preview{
  display:grid;gap:6px;padding:var(--gim-space-2);border:1px dashed var(--gim-border);border-radius:var(--gim-radius-control);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}
@media (max-width:900px){
  .gim-modal-workspace--coach-profile .gcm-coach-profile-editor__layout{grid-template-columns:1fr;}
  .gim-modal-workspace--coach-profile .gcm-coach-profile-editor__aside{position:static;}
}
@media (max-width:640px){
  .gim-modal-workspace--coach-profile .gim-me-fields-grid,
  .gim-modal-workspace--coach-profile .gcm-coach-profile-editor__checks{grid-template-columns:1fr;}
}



.gcm-people-toolbar{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
}
.gcm-people-toolbar__meta{
  min-block-size:40px;
  align-self:end!important;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  white-space:nowrap;
}
.gcm-people-toolbar .gcm-list-summary{
  min-block-size:36px;
  display:inline-flex;
  align-items:center;
  padding-inline:8px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
  color:var(--gim-text-secondary);
  font-size:11px;
}
.gcm-people-toolbar .gcm-table-pager{
  min-block-size:40px;
  align-items:center;
}
@media (max-width:900px){
  .gcm-people-toolbar{
    grid-template-columns:1fr!important;
  }
  .gcm-people-toolbar__meta{
    justify-content:space-between;
  }
}



.gim-reference-page--crm #gcm-notify-v2-root{
  inline-size:100%;
  max-inline-size:100%;
  min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-compose-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gim-space-2) var(--gim-space-3);
  align-items:start;
  inline-size:100%;
}
.gim-reference-page--crm #gcm-notify-v2-root :where(.gcm-notify-field,.gcm-notify-audience-column){
  min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-channel-checks{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 12px;
  min-block-size:40px;
  padding:7px 9px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);
  background:var(--gim-surface);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-channel-checks label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-block-size:32px;
  margin:0;
  white-space:nowrap;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters{
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,.7fr)) repeat(2,minmax(200px,1fr)) auto;
  gap:var(--gim-space-2);
  align-items:end;
  inline-size:100%;
  min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters>*{
  min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-table-viewport{
  inline-size:100%;
  max-inline-size:100%;
  min-inline-size:0;
  overflow:auto;
}
.gim-reference-page--crm #gcm-notify-v2-root :where(.gcm-notify-system-inline-row,.gcm-notify-template-title-group,.gcm-notify-section-head){
  min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-system-inline-row{
  display:flex;
  align-items:center;
  gap:8px 12px;
  flex-wrap:wrap;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-system-inline-row>label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root :where(.gcm-card,.gcm-notify-system-card){
  max-inline-size:100%;
  min-inline-size:0;
}
@media (max-width:1024px){
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-filter-action{
    grid-column:1/-1;
  }
}
@media (max-width:700px){
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-compose-grid,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters{
    grid-template-columns:1fr;
  }
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-filter-action{
    grid-column:auto;
  }
}



#gcm-modal[data-modal-variant="media-preview"]{
  inline-size:max-content;
  max-inline-size:min(92vw,960px);
  block-size:auto;
  max-block-size:90vh;
}
#gcm-modal[data-modal-variant="media-preview"] .gcm-modal__body{
  inline-size:auto;
  max-inline-size:90vw;
  max-block-size:78vh;
  padding:var(--gim-space-2);
  overflow:auto;
}
#gcm-modal[data-modal-variant="media-preview"] .gim-media-preview-body{
  min-block-size:0;
  padding:0;
  background:transparent;
}
#gcm-modal[data-modal-variant="media-preview"] .gim-media-preview-body img{
  max-inline-size:min(88vw,920px);
  max-block-size:72vh;
}
.gim-modal-media-preview{
  padding:var(--gim-space-4);
}
.gim-modal-media-preview__stage img{
  max-inline-size:min(82vw,900px);
  max-block-size:72vh;
}



/* Notification workspace — canonical form rhythm and field ownership. */
.gim-reference-page--crm #gcm-notify-v2-root :where(.gcm-notify-field,[data-ui="form-row"]){min-inline-size:0;}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-compose-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gim-space-2) var(--gim-space-3);align-items:start;inline-size:100%;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-template-schedule-row{
  grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gim-space-2);align-items:start;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-channels-field{
  grid-column:1/-1;display:grid;grid-template-columns:fit-content(9rem) minmax(0,1fr);align-items:center;column-gap:6px;row-gap:4px;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-channels-field>label{margin:0;inline-size:auto;white-space:nowrap;}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-channel-checks{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-block-size:38px;padding:5px 8px;
  border:1px solid var(--gim-border);border-radius:var(--gim-radius-control);background:var(--gim-surface);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-channel-checks label{
  display:inline-flex;align-items:center;gap:5px;min-block-size:30px;margin:0;white-space:nowrap;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters{
  display:grid;grid-template-columns:minmax(120px,.65fr) minmax(120px,.65fr) minmax(210px,1fr) minmax(210px,1fr) auto;
  gap:var(--gim-space-2);align-items:end;inline-size:100%;min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters :where(.gcm-notify-field,[data-ui="form-row"]){min-inline-size:0;}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters :where(input,select,.gcm-jdp-wrap){
  inline-size:100%;max-inline-size:none;min-inline-size:0;
}
@media (max-width:1024px){
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-compose-grid,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-filter-action{grid-column:1/-1;}
}
@media (max-width:700px){
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-compose-grid,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-template-schedule-row,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-log-filters,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-channels-field{grid-template-columns:1fr;}
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-filter-action{grid-column:auto;}
}




/* Sprint D — Notification Media UX.
   Extends the existing notification workspace; no parallel form/card system. */
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-field,
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview{
  grid-column:1/-1;
  min-inline-size:0;
  margin:0;
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);
  background:var(--gim-surface);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-field[hidden]{
  display:none!important;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-field>legend{
  padding-inline:4px;
  color:var(--gim-text);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-controls{
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto auto;
  gap:var(--gim-space-2);
  align-items:center;
  min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-label{
  margin:0;
  white-space:nowrap;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-input{
  inline-size:100%;
  min-inline-size:0;
  min-block-size:40px;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-field progress{
  display:block;
  inline-size:100%;
  block-size:10px;
  margin-block-start:var(--gim-space-2);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-summary{
  margin-block-start:var(--gim-space-2);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-summary dl,
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gim-space-2);
  margin:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-summary dl>div,
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__meta>div{
  min-inline-size:0;
  padding:var(--gim-space-2);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);
  background:var(--gim-surface-2);
}
.gim-reference-page--crm #gcm-notify-v2-root :where(.gcm-notify-media-summary,.gcm-notify-preview__meta) dt{
  margin-block-end:4px;
  color:var(--gim-text-secondary);
  font-size:12px;
}
.gim-reference-page--crm #gcm-notify-v2-root :where(.gcm-notify-media-summary,.gcm-notify-preview__meta) dd{
  margin:0;
  overflow-wrap:anywhere;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-status{
  min-block-size:22px;
  margin-block-start:var(--gim-space-2);
  color:var(--gim-text-secondary);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-status[data-tone="error"]{color:var(--gim-danger);}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-status[data-tone="warning"]{color:var(--gim-warning);}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-status[data-tone="success"]{color:var(--gim-success);}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview{
  display:grid;
  gap:var(--gim-space-2);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-2);
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__head h3{
  margin:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__message{
  display:grid;
  gap:6px;
  min-inline-size:0;
}
.gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__message>div{
  min-block-size:48px;
  padding:var(--gim-space-2);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);
  background:var(--gim-surface-2);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
@media (max-width:1024px){
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-controls{
    grid-template-columns:minmax(0,1fr) auto auto;
  }
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-label{
    grid-column:1/-1;
  }
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-summary dl,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:700px){
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-field,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview{
    padding:var(--gim-space-2);
  }
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-controls,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-summary dl,
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__meta{
    grid-template-columns:1fr;
  }
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-media-controls :where(button,input){
    inline-size:100%;
    min-block-size:44px;
  }
  .gim-reference-page--crm #gcm-notify-v2-root .gcm-notify-preview__head{
    align-items:flex-start;
  }
}

/* Date/time field relationship — label stays visually attached to the picker. */
:where([data-gim-form-row="inline"].gcm-form-row--compact){
  justify-content:start;
}
:where([data-gim-form-row="inline"].gcm-form-row--compact) >
:where(.gcm-jdp-wrap,input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"],input[type="week"]){
  margin-inline:0;
}
:where([data-gim-form-row="inline"].gcm-form-row--compact) >
:where(label,.gim-label,.gcm-label,.form-label){
  margin-inline:0;
}


/* ==========================================================================
   Accounting Phase C — shared workspace composition.
   Business/data stay in Plugin; Theme owns layout, density and responsive
   recomposition. These rules extend existing Canonical page/card/table/state
   components and do not introduce a second component system.
   ========================================================================== */

.gim-reference-page--accounting{
  min-inline-size:0;
}

.gim-reference-page--accounting > .gim-accounting-status-state{
  inline-size:100%;
  min-inline-size:0;
}

.gim-reference-page--accounting > .gim-accounting-status-state > .gcm-state{
  margin:0;
}

#gcm-acc-root{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
  min-inline-size:0;
  inline-size:100%;
}

#gcm-acc-root > *,
.gcm-acc-overview,
.gcm-acc-panel,
.gcm-acc-panel__body{
  min-inline-size:0;
  max-inline-size:100%;
}

.gim-accounting-overview__grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);
  gap:var(--gim-space-3);
  align-items:start;
  inline-size:100%;
}

.gim-accounting-overview__queue,
.gim-accounting-overview__recent{
  margin:0;
  min-inline-size:0;
}

.gim-accounting-overview__queue .gcm-acc-panel__body,
.gim-accounting-overview__recent .gcm-acc-panel__body{
  min-block-size:120px;
}

.gim-accounting-queue-table{
  inline-size:100%;
  max-inline-size:100%;
  overflow:auto;
}

#gcm-acc-root[data-accounting-workspace="operational"]{
  align-content:start;
}

#gcm-acc-root[data-accounting-workspace="review"] .gcm-acc-filters,
#gcm-acc-root[data-accounting-workspace="professional"] .gcm-acc-filters{
  min-inline-size:0;
}

@media (max-width:1100px){
  .gim-accounting-overview__grid{
    grid-template-columns:minmax(0,1fr);
  }

  .gim-accounting-overview__queue,
  .gim-accounting-overview__recent{
    inline-size:100%;
  }
}

@media (max-width:782px){
  #gcm-acc-root{
    gap:var(--gim-space-2);
  }

  .gim-accounting-overview__grid{
    gap:var(--gim-space-2);
  }

  .gim-accounting-overview__queue .gcm-acc-panel__body,
  .gim-accounting-overview__recent .gcm-acc-panel__body{
    min-block-size:0;
  }

  .gim-reference-page--accounting :where(.gcm-acc-panel__head,.gcm-section-header){
    min-inline-size:0;
  }
}

@media (max-width:430px){
  .gim-accounting-overview__grid{
    grid-template-columns:minmax(0,1fr);
  }

  .gim-accounting-overview__queue,
  .gim-accounting-overview__recent{
    border-radius:var(--gim-radius-surface);
  }
}

/* Accounting Phase G — responsive/accessibility foundation.
 * Extends the existing accounting workspace and canonical touch token.
 * No second mobile renderer and no page-wide horizontal-scroll fallback.
 */
@media (max-width:1200px){
  [data-accounting-workspace] :where(
    .button,
    .gim-btn,
    .gcm-btn,
    [data-ui="button"],
    input:not([type="hidden"]),
    select
  ){
    min-block-size:var(--gim-touch-target-min);
  }

  [data-accounting-workspace] :where(.gcm-acc-pager__actions,.gcm-actions){
    gap:var(--gim-space-2);
  }
}

@media (max-width:782px){
  [data-accounting-workspace] .gcm-acc-pager{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:var(--gim-space-2);
    align-items:stretch;
  }

  [data-accounting-workspace] .gcm-acc-pager__actions{
    display:flex;
    flex-wrap:wrap;
  }

  [data-accounting-workspace] .gcm-acc-pager__actions > :where(.button,.gim-btn,.gcm-btn,[data-ui="button"]){
    flex:1 1 auto;
  }
}

@media (max-width:640px){
  .gim-modal-workspace--finance [data-gcm-quick-finance-lists]{
    min-inline-size:0;
  }

  .gim-modal-workspace--finance [data-gcm-quick-finance-lists] :where(.gcm-acc-tablewrap,[data-ui="table-wrap"]){
    max-inline-size:100%;
  }
}

/* Accounting Phase D — operational task composition.
 * Theme owns layout/density; Plugin keeps finance/data/permission logic.
 */
.gcm-acc-person-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
  min-inline-size:0;
}
.gcm-acc-person-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-3);
  padding:var(--gim-space-3);
}
.gcm-acc-person-context__identity{
  display:flex;
  align-items:baseline;
  gap:var(--gim-space-2);
  min-inline-size:0;
}
.gcm-acc-person-context__identity strong{color:var(--gim-accent);}
.gcm-acc-coach-stages{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
}
.gcm-acc-task-stage{
  display:grid;
  grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);
  gap:var(--gim-space-3);
  align-items:start;
}
.gcm-acc-stage-label{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  padding-block:var(--gim-space-3);
}
.gcm-acc-stage-label span{
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-size-sm);
}
.gcm-acc-task-card{margin:0;min-inline-size:0;}
.gcm-acc-expense-form .gcm-card__actions{justify-content:flex-start;}
.gcm-acc-decision-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gim-space-3);
}
.gcm-acc-decision-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
  margin:0;
}
.gcm-acc-decision-card__title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-2);
}
.gcm-acc-decision-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gim-space-2);
}
@media (max-width:960px){
  .gcm-acc-decision-list{grid-template-columns:minmax(0,1fr);}
  .gcm-acc-task-stage{grid-template-columns:minmax(0,1fr);gap:var(--gim-space-2);}
  .gcm-acc-stage-label{padding-block:0;}
}
@media (max-width:640px){
  .gcm-acc-person-context{align-items:flex-start;flex-direction:column;}
  .gcm-acc-person-context__identity{width:100%;justify-content:space-between;}
  .gcm-acc-decision-card__actions > :where(.button,.gim-btn,.gcm-btn,[data-ui="button"]){flex:1 1 auto;}
}


.gcm-acc-transfer-review{min-inline-size:0;}

/* ==========================================================================
   Accounting Phase E — review/professional workspace composition.
   Theme remains presentation owner. Existing Card/Table/Status/Form systems
   are reused; these rules only compose accounting-specific workspaces.
   ========================================================================== */
.gcm-acc-parties-search,.gcm-acc-review-card,.gcm-acc-professional-card{min-inline-size:0;}
.gcm-acc-parties-search__filters{min-inline-size:min(100%,560px);}
.gcm-acc-parties-workspace{
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.6fr);
  gap:var(--gim-space-3);
  align-items:start;
  min-inline-size:0;
}
.gcm-acc-parties-list-card,.gcm-acc-party-detail-stack{min-inline-size:0;}
.gcm-acc-party-detail-stack,.gcm-acc-review-stack{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-3);
}
.gcm-acc-partyitems{display:grid;gap:var(--gim-space-1);}
.gcm-acc-partyitem{
  inline-size:100%;
  min-block-size:var(--gim-touch-target-min);
  display:grid;
  gap:2px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:var(--gim-radius-control);
  background:transparent;
  color:var(--gim-text-primary);
  text-align:start;
  cursor:pointer;
}
.gcm-acc-partyitem:hover{background:color-mix(in srgb,var(--gim-accent) 6%,var(--gim-surface));}
.gcm-acc-partyitem.is-selected,.gcm-acc-partyitem[aria-pressed="true"]{
  border-color:color-mix(in srgb,var(--gim-accent) 36%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-accent) 9%,var(--gim-surface));
}
.gcm-acc-partyitem__title{font-weight:750;}
.gcm-acc-partyitem__meta{color:var(--gim-text-secondary);font-size:12px;}
.gcm-acc-party-period{margin-block-start:var(--gim-space-2);}
.gcm-acc-review-card > .gcm-section-header,.gcm-acc-professional-card > .gcm-section-header{margin-block-end:0;}
.gcm-acc-journal-line{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(120px,160px) minmax(120px,160px);
  gap:var(--gim-space-2);
  align-items:center;
}
.gcm-acc-section-grow{min-inline-size:240px;flex:1 1 auto;}
.gcm-acc-pager-side{min-inline-size:200px;text-align:end;}
.gcm-u-full{inline-size:100%;}
@media (max-width:1000px){
  .gcm-acc-parties-workspace{grid-template-columns:minmax(0,1fr);}
  .gcm-acc-parties-list-card{max-block-size:360px;overflow:auto;}
}
@media (max-width:782px){
  .gcm-acc-journal-line{grid-template-columns:minmax(0,1fr) minmax(110px,.55fr) minmax(110px,.55fr);}
  .gcm-acc-section-grow,.gcm-acc-pager-side{min-inline-size:0;inline-size:100%;}
}
@media (max-width:520px){.gcm-acc-journal-line{grid-template-columns:minmax(0,1fr);}}

/* ==========================================================================
   Accounting R9.28 — A–G program source closure.
   Extends existing canonical components only.
   ========================================================================== */

.gcm-acc-followup-list{
  display:grid;
  gap:var(--gim-space-2);
}

.gcm-acc-followup-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-2);
  padding-block:var(--gim-space-2);
  border-block-end:1px solid var(--gim-border);
  min-inline-size:0;
}

.gcm-acc-followup-row:last-child{
  border-block-end:0;
}

.gcm-acc-followup-row__main{
  display:grid;
  gap:2px;
  min-inline-size:0;
}

.gcm-acc-operational-links{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gim-space-2);
  align-items:center;
}

.gcm-acc-selector-row{
  align-items:center;
}

.gcm-acc-label-options{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gim-space-2);
  align-items:end;
}

.gcm-acc-label-options > .gcm-form-row{
  min-inline-size:140px;
}

@media (max-width:782px){
  .gcm-acc-followup-row{
    align-items:stretch;
  }

  .gcm-acc-followup-row > :where(.button,.gim-btn,.gcm-btn,[data-ui="button"]){
    flex:0 0 auto;
  }

  .gcm-acc-operational-links{
    flex-wrap:nowrap;
    overflow:auto hidden;
    scrollbar-width:thin;
  }
}

@media (max-width:520px){
  .gcm-acc-followup-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }

  .gcm-acc-label-options{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  .gcm-acc-label-options > .gcm-form-row{
    min-inline-size:0;
  }
}

/* ==========================================================================
   Accounting R9.29 — canonical visual workspace.
   Root fix: Theme owns accounting presentation. Existing GCM Card, Button,
   Form, Table, State and finance-modal patterns are reused; no page patch
   and no second component system.
   ========================================================================== */

.gim-reference-page--accounting{
  --gim-acc-section-gap:var(--gim-space-3);
  --gim-acc-card-pad:12px 14px;
}

.gim-reference-page--accounting #gcm-acc-root{
  gap:var(--gim-acc-section-gap);
  align-content:start;
}

.gim-reference-page--accounting .gcm-acc-card{
  inline-size:100%;
  min-inline-size:0;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
  box-shadow:none;
  opacity:1;
}

.gim-reference-page--accounting .gcm-acc-card__head{
  min-inline-size:0;
  min-block-size:52px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--gim-space-3);
  padding:10px 14px;
  border-block-end:1px solid var(--gim-border);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}

.gim-reference-page--accounting .gcm-acc-card__head-titles{
  min-inline-size:0;
  display:grid;
  gap:2px;
}

.gim-reference-page--accounting .gcm-acc-card__title{
  margin:0;
  color:var(--gim-text-primary);
  font-size:14px;
  font-weight:800;
  line-height:1.55;
}

.gim-reference-page--accounting .gcm-acc-card__subtitle{
  margin:0;
  max-inline-size:72ch;
  color:var(--gim-text-secondary);
  font-size:11px;
  line-height:1.65;
}

.gim-reference-page--accounting .gcm-acc-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:6px;
  min-inline-size:0;
}

.gim-reference-page--accounting .gcm-acc-card__body{
  min-inline-size:0;
  padding:var(--gim-acc-card-pad);
}

.gim-reference-page--accounting .gcm-acc-card__footer{
  min-inline-size:0;
  padding:10px 14px;
  border-block-start:1px solid var(--gim-border);
  background:color-mix(in srgb,var(--gim-surface-2) 54%,var(--gim-surface));
}

.gim-reference-page--accounting .gcm-acc-card--table .gcm-acc-card__body{
  padding:0;
}

.gim-reference-page--accounting .gcm-acc-card--table .gcm-acc-card__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-2);
}

/* Overview copies the proven finance-modal card hierarchy. */
.gim-reference-page--accounting .gcm-acc-panel{
  min-inline-size:0;
  margin:0;
  overflow:hidden;
}

.gim-reference-page--accounting .gcm-acc-panel__head{
  min-block-size:54px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--gim-space-3);
  padding:10px 14px;
  border-block-end:1px solid var(--gim-border);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}

.gim-reference-page--accounting .gcm-acc-panel__title{
  color:var(--gim-text-primary);
  font-size:14px;
  font-weight:800;
  line-height:1.5;
}

.gim-reference-page--accounting .gcm-acc-panel__sub{
  margin-block-start:2px;
  color:var(--gim-text-secondary);
  font-size:11px;
  line-height:1.6;
}

.gim-reference-page--accounting .gcm-acc-panel__body{
  min-block-size:0;
}

.gim-reference-page--accounting .gim-accounting-overview__grid{
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.78fr);
  gap:var(--gim-acc-section-gap);
  align-items:start;
}

.gim-reference-page--accounting .gcm-acc-followup-row{
  min-block-size:52px;
  padding-block:8px;
}

.gim-reference-page--accounting .gcm-acc-followup-row__main strong{
  font-size:13px;
}

.gim-reference-page--accounting .gcm-acc-followup-row__main .gcm-u-muted{
  font-size:11px;
}

/* Desktop filters are an inline compact grid. Mobile/tablet use the existing
   accessible filter-sheet behavior from gcm-public-accounting.js. */
.gim-reference-page--accounting .gcm-acc-filter-shell{
  position:relative;
  min-inline-size:0;
  inline-size:100%;
}

.gim-reference-page--accounting .gcm-acc-filters{
  inline-size:100%;
  max-inline-size:none;
  min-inline-size:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));
  gap:8px 10px;
  align-items:end;
}

.gim-reference-page--accounting .gcm-acc-filters > :where(
  .gcm-form-row,
  label,
  input:not([type="hidden"]),
  select,
  .gcm-jdp-wrap
){
  min-inline-size:0;
  inline-size:100%;
  max-inline-size:none;
}

.gim-reference-page--accounting .gcm-acc-filters > :where(button,[data-ui="button"]){
  inline-size:auto;
  justify-self:start;
}

.gim-reference-page--accounting .gcm-acc-filter-sheet-head,
.gim-reference-page--accounting .gcm-acc-filter-sheet-apply,
.gim-reference-page--accounting .gcm-acc-mobile-filter-trigger,
.gim-reference-page--accounting .gcm-acc-filter-backdrop{
  display:none;
}

.gim-reference-page--accounting .gcm-acc-selector-card .gcm-acc-card__body{
  padding-block:10px;
}

.gim-reference-page--accounting .gcm-acc-selector-card .gcm-acc-filters{
  grid-template-columns:minmax(260px,1fr) auto;
  align-items:end;
}

.gim-reference-page--accounting .gcm-acc-selector-filter{
  max-inline-size:560px;
}

.gim-reference-page--accounting :where(
  .gcm-acc-filters,
  .gcm-form-grid,
  .gcm-acc-task-card,
  .gcm-card
) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  min-inline-size:0;
  max-inline-size:none;
  box-sizing:border-box;
}

/* Forms: same dense two-column rhythm used by finance modal. */
.gim-reference-page--accounting .gcm-acc-task-card .gcm-form-grid,
.gim-reference-page--accounting .gcm-acc-expense-form .gcm-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  align-items:start;
}

.gim-reference-page--accounting .gcm-acc-task-card .gcm-form-row--wide,
.gim-reference-page--accounting .gcm-acc-expense-form .gcm-form-row--wide{
  grid-column:1 / -1;
}

.gim-reference-page--accounting .gcm-acc-task-card .gcm-card__actions,
.gim-reference-page--accounting .gcm-acc-expense-form .gcm-card__actions{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:6px;
  padding-block-start:10px;
  border-block-start:1px solid var(--gim-border);
}

/* Operational context matches the finance-modal status/context cells. */
.gim-reference-page--accounting .gcm-operational-context{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
}

.gim-reference-page--accounting .gcm-operational-context > span{
  min-inline-size:0;
  display:grid;
  gap:2px;
  padding:9px 10px;
  border:1px solid var(--gim-border);
  border-inline-start:4px solid var(--gim-accent);
  border-radius:var(--gim-radius-control);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}

.gim-reference-page--accounting .gcm-operational-context small{
  color:var(--gim-text-secondary);
  font-size:11px;
}

.gim-reference-page--accounting .gcm-operational-context strong{
  color:var(--gim-text-primary);
  font-size:13px;
  overflow-wrap:anywhere;
}

/* Core two-column accounting workspaces. */
.gim-reference-page--accounting .gcm-acc-grid2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gim-acc-section-gap);
  align-items:start;
  min-inline-size:0;
}

.gim-reference-page--accounting .gcm-acc-grid2 > .gcm-card{
  min-inline-size:0;
  margin:0;
}

.gim-reference-page--accounting .gcm-summary-list > div{
  min-block-size:40px;
  align-items:center;
  padding-block:7px;
}

.gim-reference-page--accounting .gcm-summary-list dt{
  color:var(--gim-text-secondary);
  font-size:12px;
}

.gim-reference-page--accounting .gcm-summary-list dd{
  color:var(--gim-text-primary);
  font-size:13px;
  font-weight:700;
}

/* Coach stages become real paired cards on wide desktop instead of long stacked
   bands. The same canonical forms remain inside. */
.gim-reference-page--accounting .gcm-acc-coach-stages{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}

.gim-reference-page--accounting .gcm-acc-task-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  padding:0;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
  overflow:hidden;
}

.gim-reference-page--accounting .gcm-acc-task-stage > .gcm-acc-stage-label{
  padding:10px 14px;
  border-block-end:1px solid var(--gim-border);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}

.gim-reference-page--accounting .gcm-acc-task-stage > .gcm-acc-card{
  border:0;
  border-radius:0;
}

.gim-reference-page--accounting .gcm-acc-person-context{
  padding:10px 14px;
  border:1px solid var(--gim-border);
  border-inline-start:4px solid var(--gim-accent);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}

/* Tables: compact and full useful width. */
.gim-reference-page--accounting .gcm-acc-tablewrap{
  inline-size:100%;
  max-inline-size:100%;
  overflow:auto hidden;
  overscroll-behavior-inline:contain;
}

.gim-reference-page--accounting .gcm-acc-table{
  inline-size:100%;
  border-collapse:separate;
  border-spacing:0;
}

.gim-reference-page--accounting .gcm-acc-table :where(th,td){
  padding:9px 10px;
  vertical-align:middle;
  text-align:start;
  border-block-end:1px solid var(--gim-border);
}

.gim-reference-page--accounting .gcm-acc-table th{
  color:var(--gim-text-secondary);
  font-size:11px;
  font-weight:700;
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
}

.gim-reference-page--accounting .gcm-acc-table td{
  color:var(--gim-text-primary);
  font-size:12px;
}

/* Pagination/action alignment. */
.gim-reference-page--accounting .gcm-acc-pager{
  min-inline-size:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-2);
}

.gim-reference-page--accounting .gcm-acc-pager__actions{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:6px;
}

/* Filter/refresh icon buttons stay compact; accessible text remains via
   aria-label/title and the canonical action decorator. */
.gim-reference-page--accounting .gcm-acc-filter-icon-action{
  min-inline-size:var(--gim-touch-target-min);
}

/* Tablet and Mobile: actual recomposition, not desktop shrink. */
@media (max-width:1100px){
  .gim-reference-page--accounting .gim-accounting-overview__grid{
    grid-template-columns:minmax(0,1fr);
  }

  .gim-reference-page--accounting .gcm-acc-coach-stages{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:782px){
  body.gcm-acc-filter-sheet-open{
    overflow:hidden;
  }

  .gim-reference-page--accounting{
    --gim-acc-section-gap:var(--gim-space-2);
    --gim-acc-card-pad:10px 12px;
  }

  .gim-reference-page--accounting .gcm-acc-mobile-filter-trigger{
    display:inline-flex;
  }

  .gim-reference-page--accounting .gcm-acc-filter-backdrop{
    position:fixed;
    inset:0;
    z-index:calc(var(--gim-layer-modal,1000) - 2);
    inline-size:100%;
    block-size:100%;
    border:0;
    background:rgba(15,23,42,.34);
    opacity:0;
    pointer-events:none;
  }

  .gim-reference-page--accounting .gcm-acc-filters{
    position:fixed;
    inset-block:0;
    inset-inline-end:0;
    z-index:calc(var(--gim-layer-modal,1000) - 1);
    inline-size:min(360px,92vw);
    max-inline-size:none;
    block-size:100dvh;
    display:none;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    gap:10px;
    padding:14px;
    overflow:auto;
    background:var(--gim-surface);
    border-inline-start:1px solid var(--gim-border);
    box-shadow:var(--gim-shadow-raised);
  }

  .gim-reference-page--accounting .gcm-acc-filter-shell.is-open .gcm-acc-filters{
    display:grid;
  }

  .gim-reference-page--accounting .gcm-acc-filter-shell.is-open .gcm-acc-filter-backdrop{
    display:block;
    opacity:1;
    pointer-events:auto;
  }

  .gim-reference-page--accounting .gcm-acc-filter-sheet-head{
    position:sticky;
    inset-block-start:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--gim-space-2);
    padding-block-end:10px;
    border-block-end:1px solid var(--gim-border);
    background:var(--gim-surface);
  }

  .gim-reference-page--accounting .gcm-acc-filter-sheet-apply{
    display:inline-flex;
    position:sticky;
    inset-block-end:0;
    inline-size:100%;
    background:var(--gim-accent);
    color:var(--gim-on-accent,#fff);
  }

  .gim-reference-page--accounting .gcm-acc-selector-card .gcm-acc-filters{
    grid-template-columns:minmax(0,1fr);
  }

  .gim-reference-page--accounting .gcm-acc-grid2{
    grid-template-columns:minmax(0,1fr);
  }

  .gim-reference-page--accounting .gcm-acc-task-card .gcm-form-grid,
  .gim-reference-page--accounting .gcm-acc-expense-form .gcm-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gim-reference-page--accounting .gcm-acc-card__head,
  .gim-reference-page--accounting .gcm-acc-panel__head{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
  }
}

@media (max-width:520px){
  .gim-reference-page--accounting .gcm-acc-task-card .gcm-form-grid,
  .gim-reference-page--accounting .gcm-acc-expense-form .gcm-form-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .gim-reference-page--accounting .gcm-acc-card__head,
  .gim-reference-page--accounting .gcm-acc-panel__head{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
  }

  .gim-reference-page--accounting .gcm-acc-card__actions{
    justify-content:flex-start;
  }

  .gim-reference-page--accounting .gcm-acc-card--table .gcm-acc-card__footer,
  .gim-reference-page--accounting .gcm-acc-pager{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  .gim-reference-page--accounting .gcm-acc-pager__actions{
    justify-content:flex-start;
  }

  .gim-reference-page--accounting .gcm-operational-context{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:390px){
  .gim-reference-page--accounting .gcm-operational-context{
    grid-template-columns:minmax(0,1fr);
  }
}

/* ==========================================================================
   Accounting R9.30 — route-complete visual harmonization.
   One accounting presentation owner in Theme; no route-specific CSS forks.
   ========================================================================== */

/* Raw accounting cards still used by cashbox/transfer/professional routes now
   share the same header anatomy as accCard + redesigned finance modal. */
.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child{
  min-inline-size:0;
  min-block-size:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px 14px;
  margin:0;
  margin-block-end:var(--gim-space-2);
  padding:10px 12px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);
  background:var(--gim-color-surface-sunken,var(--gim-surface-2));
  box-sizing:border-box;
}
.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child > *{
  min-inline-size:0;
}

.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child h3,
.gim-reference-page--accounting .gcm-card > h3:first-child{
  margin:0;
  color:var(--gim-text-primary);
  font-size:14px;
  font-weight:800;
  line-height:1.5;
}

.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child p,
.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child .gcm-u-muted{
  margin-block-start:2px;
  color:var(--gim-text-secondary);
  font-size:11px;
  line-height:1.6;
}

.gim-reference-page--accounting .gcm-acc-grid2 > .gcm-card > h3:first-child,
.gim-reference-page--accounting section.gcm-card[data-span="full"] > h3:first-child{
  margin:0 0 10px;
  padding-block-end:8px;
  border-block-end:1px solid var(--gim-border);
  background:transparent;
}

/* Canonical icon-only utility action. */
.gim-reference-page--accounting [data-gim-utility-action]{
  flex:0 0 var(--gim-touch-target-min);
}

/* Period/filter actions stay in one row while useful width exists. */
.gim-reference-page--accounting .gcm-acc-compact-toolbar{
  inline-size:100%;
  display:flex;
  flex-flow:row wrap;
  align-items:end;
  justify-content:flex-start;
  gap:8px;
}

.gim-reference-page--accounting .gcm-acc-compact-toolbar > :where(
  input:not([type="hidden"]),
  select
){
  flex:0 1 190px;
  inline-size:min(190px,100%);
  min-inline-size:150px;
  max-inline-size:220px;
}
.gim-reference-page--accounting .gcm-acc-compact-toolbar > .gcm-jdp-wrap{
  flex:0 0 auto;
}

.gim-reference-page--accounting .gcm-acc-compact-toolbar > .gcm-acc-party-select{
  flex:1 1 280px;
  min-inline-size:220px;
  max-inline-size:440px;
}

.gim-reference-page--accounting .gcm-acc-compact-toolbar > :where(.button,[data-ui="button"]){
  inline-size:auto;
  flex:0 0 auto;
}

.gim-reference-page--accounting .gcm-acc-compact-toolbar > .button-primary{
  min-inline-size:0;
  padding-inline:14px;
}

/* Generic professional/tool header actions. */
.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child .gcm-inline-actions{
  min-inline-size:0;
  display:flex;
  flex-flow:row wrap;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
}

.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child
  .gcm-inline-actions > :where(input:not([type="checkbox"]):not([type="radio"]),select,.gcm-jdp-wrap){
  flex:0 1 190px;
  min-inline-size:140px;
  max-inline-size:240px;
}

/* Old workspaces no longer reserve visual height for empty/disabled content. */
.gim-reference-page--accounting #acc-transfer-form-body,
.gim-reference-page--accounting #acc-transfer-list-body,
.gim-reference-page--accounting #acc-coa-table,
.gim-reference-page--accounting #acc-jrn-table,
.gim-reference-page--accounting #acc-inv-table{
  min-block-size:0;
}

.gim-reference-page--accounting #acc-transfer-form-body .gcm-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}

.gim-reference-page--accounting #acc-transfer-form-body .gcm-actions{
  display:flex;
  justify-content:flex-start;
  margin-block-start:10px;
}

/* Table/result surfaces stay directly adjacent to their controls. */
.gim-reference-page--accounting :where(
  #acc-transfer-list-body,
  #acc-coa-table,
  #acc-jrn-table,
  #acc-inv-table,
  #acc-inv-mv-table,
  #acc-inv-stockrep-table
){
  margin-block-start:0;
}

@media (max-width:782px){
  .gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:8px;
  }

  .gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child .gcm-inline-actions{
    inline-size:100%;
    flex-wrap:nowrap;
    overflow:auto hidden;
    scrollbar-width:thin;
  }

  .gim-reference-page--accounting .gcm-acc-compact-toolbar{
    flex-wrap:nowrap;
    overflow:auto hidden;
    scrollbar-width:thin;
    padding-block-end:2px;
  }

  .gim-reference-page--accounting .gcm-acc-compact-toolbar > :where(
    input:not([type="hidden"]),
    select,
    .gcm-jdp-wrap
  ){
    flex:0 0 170px;
    min-inline-size:170px;
  }

  .gim-reference-page--accounting #acc-transfer-form-body .gcm-form-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:520px){
  .gim-reference-page--accounting .gcm-acc-compact-toolbar > .gcm-acc-party-select{
    flex-basis:220px;
    min-inline-size:220px;
  }
}

/* ==========================================================================
   R9.31 — canonical RTL quick-actions and compact labeled accounting filters.
   ========================================================================== */

/* Accounting filters: visible labels stay close to their field.
   Date filters remain self-describing through the Jalali placeholder. */
.gim-reference-page--accounting .gcm-acc-filters{
  grid-template-columns:none;
  display:flex;
  flex-flow:row wrap;
  align-items:end;
  justify-content:flex-start;
  gap:8px;
}

.gim-reference-page--accounting .gcm-acc-filters > .gcm-acc-filter-field{
  flex:0 1 auto;
  inline-size:auto;
  min-inline-size:0;
  gap:4px;
}

.gim-reference-page--accounting .gcm-acc-filter-field--xs{
  flex-basis:130px;
  inline-size:130px;
  max-inline-size:150px;
}

.gim-reference-page--accounting .gcm-acc-filter-field--sm{
  flex-basis:155px;
  inline-size:155px;
  max-inline-size:175px;
}

.gim-reference-page--accounting .gcm-acc-filter-field--person{
  flex-basis:210px;
  inline-size:210px;
  max-inline-size:250px;
}

.gim-reference-page--accounting .gcm-acc-filter-field--date{
  flex-basis:175px;
  inline-size:175px;
  max-inline-size:195px;
}

.gim-reference-page--accounting .gcm-acc-filter-date{
  flex:0 1 auto;
  inline-size:auto;
  min-inline-size:0;
  max-inline-size:none;
}
.gim-reference-page--accounting .gcm-acc-filters > .gcm-jdp-wrap{
  flex:0 0 auto;
}

.gim-reference-page--accounting .gcm-acc-filter-field > :where(select,input){
  inline-size:100%;
  max-inline-size:100%;
}

.gim-reference-page--accounting .gcm-acc-filter-field .gcm-form-row__label{
  margin:0;
  font-size:11px;
  line-height:1.4;
  color:var(--gim-text-secondary);
}

@media (max-width:782px){
  .gim-reference-page--accounting .gcm-acc-filters{
    display:none;
  }

  .gim-reference-page--accounting .gcm-acc-filter-shell.is-open .gcm-acc-filters{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  .gim-reference-page--accounting .gcm-acc-filter-field--xs,
  .gim-reference-page--accounting .gcm-acc-filter-field--sm,
  .gim-reference-page--accounting .gcm-acc-filter-field--person,
  .gim-reference-page--accounting .gcm-acc-filter-field--date{
    inline-size:100%;
    max-inline-size:none;
    min-inline-size:0;
  }
  .gim-reference-page--accounting .gcm-acc-filter-date,
  .gim-reference-page--accounting .gcm-acc-filters > .gcm-jdp-wrap{
    min-inline-size:0;
  }
}

/* R9.34 — accounting legacy-card convergence.
   Old page renderers may still emit gcm-section-header/gcm-card__header, but
   presentation is now one canonical Theme path and cannot escape the card. */
.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child
  :where(.gcm-inline-actions,.gcm-filter-grid){
  min-inline-size:0;
  max-inline-size:100%;
}
.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child
  :where(h2,h3,p,.gcm-u-muted){
  overflow-wrap:anywhere;
}
.gim-reference-page--accounting .gcm-card > :is(.gcm-section-header,.gcm-card__header):first-child
  .gcm-inline-actions{
  justify-content:flex-start;
}
.gim-reference-page--accounting .gcm-acc-review-stack,
.gim-reference-page--accounting .gcm-acc-stack{
  min-inline-size:0;
}



/* Reports R-E final hardening: keeps existing foundations, improves reflow ownership. */
.gim-reference-page--reports .gcm-reports-content,
.gim-reference-page--reports .gcm-reports-body,
.gim-reference-page--reports .gcm-reports-toolbar,
.gim-reference-page--reports .gcm-reports-filters{min-width:0;}
.gim-reference-page--reports .gcm-reports-actions [data-ui="button"]{flex:0 0 auto;}
@media (max-width:782px){
    .gim-reference-page--reports .gcm-reports-actions{max-width:100%;overflow-x:auto;}
    .gim-reference-page--reports .gcm-reports-filter-field{min-width:0;}
    .gim-reference-page--reports .gcm-report-table-section{overflow-x:auto;}
}


/* P2-B — Reports responsive/RTL/accessibility hardening.
 * Uses the canonical Modal, responsive-table and mobile-card contracts.
 */
.gim-reference-page--reports .gcm-reports-mobile-filter-trigger{display:none;}
.gim-reference-page--reports .gcm-report-responsive-table{min-inline-size:0;max-inline-size:100%;}
.gim-reference-page--reports .gcm-bidi-isolate{unicode-bidi:isolate;direction:ltr;text-align:start;}
.gim-reference-page--reports .gcm-report-trend-row__values{display:flex;align-items:center;justify-content:flex-start;gap:4px 10px;flex-wrap:wrap;color:var(--gim-text-secondary);font-size:11px;}
.gim-reference-page--reports .gcm-report-trend-row__values>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}
.gim-reference-page--reports .gcm-report-trend-key{inline-size:8px;block-size:8px;flex:0 0 8px;border-radius:999px;background:var(--gim-accent);}
.gim-reference-page--reports .gcm-report-trend-key.is-secondary{background:color-mix(in srgb,var(--gim-accent) 35%,var(--gim-surface));border:1px solid color-mix(in srgb,var(--gim-accent) 55%,var(--gim-border));}
.gcm-modal[data-modal-variant="filter"] .gcm-reports-filter-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;min-inline-size:0;}
.gcm-modal[data-modal-variant="filter"] .gcm-reports-filter-field{display:grid;gap:4px;min-inline-size:0;}
.gcm-modal[data-modal-variant="filter"] .gcm-reports-filter-field label{margin:0;color:var(--gim-text-secondary);font-size:12px;font-weight:var(--gim-font-weight-semibold);line-height:1.45;}
.gcm-modal[data-modal-variant="filter"] .gcm-reports-filter-field :where(input,select,.gcm-jdp-wrap){inline-size:100%;max-inline-size:100%;min-inline-size:0;}

@media (max-width:782px){
  .gim-reference-page--reports .gcm-reports-toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;}
  .gim-reference-page--reports .gcm-reports-filters--inline{display:none;}
  .gim-reference-page--reports .gcm-reports-mobile-filter-trigger{display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--gim-touch-target-min,44px);}
  .gim-reference-page--reports .gcm-reports-actions{display:flex;inline-size:100%;align-items:center;gap:6px;overflow:visible;flex-wrap:wrap;}
  .gim-reference-page--reports .gcm-reports-actions .gcm-reports-apply,
  .gim-reference-page--reports .gcm-reports-actions [data-action="reset_filters"]{display:none;}
  .gim-reference-page--reports .gcm-reports-filter-count{order:-1;flex:1 1 auto;}
  .gim-reference-page--reports .gcm-reports-mobile-filter-trigger{flex:0 0 auto;}
}

@media (max-width:640px){
  .gcm-modal[data-modal-variant="filter"] .gcm-reports-filter-sheet{grid-template-columns:minmax(0,1fr);}
  .gim-reference-page--reports [data-gcm-mobile-list="cards"] [data-responsive-table="priority"] tbody td[data-priority="secondary"],
  .gim-reference-page--reports [data-gcm-mobile-list="cards"] [data-responsive-table="priority"] tbody td[data-priority="detail"]{display:grid;}
  .gim-reference-page--reports [data-gcm-mobile-list="cards"] [data-responsive-table="priority"] tbody td[data-label="عملیات"][data-priority="secondary"],
  .gim-reference-page--reports [data-gcm-mobile-list="cards"] [data-responsive-table="priority"] tbody td[data-label="عملیات"][data-priority="detail"]{display:flex;}
  .gim-reference-page--reports .gcm-report-trend-row__head{align-items:flex-start;flex-direction:column;}
  .gim-reference-page--reports .gcm-report-trend-row__values{inline-size:100%;}
}

@media (max-width:390px){
  .gim-reference-page--reports [data-gcm-mobile-list="cards"] tbody tr{grid-template-columns:minmax(0,1fr);}
  .gim-reference-page--reports [data-gcm-mobile-list="cards"] tbody td{grid-column:1/-1;}
  .gim-reference-page--reports [data-gcm-mobile-list="cards"] tbody td:nth-child(odd):not(:first-child):not([data-label="عملیات"]){border-inline-end:0;}
}

@media (prefers-reduced-motion:reduce){
  .gim-reference-page--reports .gcm-report-progress,
  .gim-reference-page--reports .gcm-report-trend-key{transition:none;animation:none;}
}

/* ==========================================================================
   Subscription workspace — canonical Theme presentation owner
   Renderer/data/business rules remain in gcm-feature-subscription.js / Backend.
   ========================================================================== */
.gcm-subscription-operations{
  --gcm-sub-gap:var(--gim-space-3);
  display:grid;
  gap:var(--gcm-sub-gap);
  min-inline-size:0;
  font-family:var(--gim-font-base);
  color:var(--gim-text);
}

.gcm-subscription-page-header{
  margin:0;
}

.gcm-subscription-page-header .gcm-page-header__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--gim-space-2);
}

.gcm-subscription-onboarding{
  min-inline-size:0;
}

.gcm-subscription-setup-steps{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:var(--gim-space-2);
  margin:0;
  padding:0;
}

.gcm-subscription-setup-steps li{
  min-inline-size:0;
  overflow-wrap:anywhere;
  min-block-size:var(--gim-touch-target-min);
  display:flex;
  align-items:center;
  gap:var(--gim-space-2);
  padding:var(--gim-space-2);
  color:var(--gim-text-muted);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control,var(--gim-radius-md,12px));
  background:var(--gim-surface);
  font-size:var(--gim-font-sm);
}

.gcm-subscription-setup-steps li > span:first-child{
  inline-size:28px;
  block-size:28px;
  flex:0 0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--gim-radius-pill,999px);
  background:var(--gim-surface-muted,var(--gim-surface));
  font-weight:var(--gim-font-weight-semibold);
}

.gcm-subscription-setup-steps li.is-complete{
  color:var(--gim-success);
  border-color:color-mix(in srgb,var(--gim-success) 40%,var(--gim-border));
}

.gcm-subscription-setup-steps li.is-current{
  color:var(--gim-accent);
  border-color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 6%,var(--gim-surface));
  font-weight:var(--gim-font-weight-semibold);
}

.gcm-subscription-activation-state{
  min-inline-size:0;
  overflow-wrap:anywhere;
  min-block-size:var(--gim-touch-target-min);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-3);
  padding:var(--gim-space-3);
  color:var(--gim-text);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
}

.gcm-subscription-activation-state[hidden]{
  display:none;
}

.gcm-subscription-activation-state.is-checking{
  border-color:color-mix(in srgb,var(--gim-accent) 45%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-accent) 5%,var(--gim-surface));
}

.gcm-subscription-activation-state.is-success{
  border-color:color-mix(in srgb,var(--gim-success) 45%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-success) 6%,var(--gim-surface));
}

.gcm-subscription-activation-state.is-warning{
  border-color:color-mix(in srgb,var(--gim-warning) 45%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-warning) 6%,var(--gim-surface));
}

.gcm-subscription-activation-state.is-error{
  border-color:color-mix(in srgb,var(--gim-danger) 45%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-danger) 6%,var(--gim-surface));
}

.gcm-subscription-history-region.is-secondary{
  margin-block-start:var(--gim-space-2);
}

.gcm-subscription-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,360px);
  gap:var(--gcm-sub-gap);
  align-items:start;
  min-inline-size:0;
}

.gcm-subscription-main,
.gcm-subscription-purchase-region,
.gcm-subscription-aside,
.gcm-subscription-history-region{
  min-inline-size:0;
}

.gcm-subscription-purchase-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gcm-sub-gap);
  align-items:start;
  min-inline-size:0;
}

.gcm-subscription-purchase-grid > [data-choice-kind="plan"],
.gcm-subscription-purchase-grid > .gcm-subscription-duration-section,
.gcm-subscription-purchase-grid > #gcm-subscription-addons-empty{
  grid-column:1 / -1;
}



.gcm-subscription-summary{
  position:sticky;
  inset-block-start:calc(var(--gim-app-header-height,72px) + var(--gim-space-3));
  align-self:start;
}

/* Canonical order-summary distinction: one outer frame, no nested card. */
.gcm-subscription-summary--order{
  border:2px solid var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 4%,var(--gim-surface));
  box-shadow:0 8px 24px color-mix(in srgb,var(--gim-accent) 12%,transparent);
}


.gcm-subscription-payment-hint,
.gcm-subscription-plancard__description,
.gcm-subscription-plancard__meta,
.gcm-subscription-module-card-hint,
.gcm-subscription-muted-sm,
.gcm-subscription-service-order .gcm-subtitle{
  margin-block-start:var(--gim-space-1);
  margin-block-end:0;
  color:var(--gim-text-muted);
  font-size:var(--gim-font-sm);
  line-height:var(--gim-line-relaxed,1.75);
  overflow-wrap:break-word;
}

.gcm-subscription-plan-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gim-space-3);
  min-inline-size:0;
}

.gcm-subscription-plancard{
  appearance:none;
  inline-size:100%;
  min-inline-size:0;
  min-block-size:0;
  padding:var(--gim-space-2) var(--gim-space-3);
  display:grid;
  grid-template-rows:auto auto auto;
  align-items:stretch;
  gap:var(--gim-space-1);
  text-align:start;
  color:inherit;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease,transform .16s ease;
}

.gcm-subscription-plancard:hover:not(:disabled){
  border-color:var(--gim-accent);
  transform:translateY(-1px);
}

.gcm-subscription-plancard:focus-visible,
.gcm-subscription-module-level:has(input:focus-visible),
.gcm-subscription-pill:has(input:focus-visible),
.gcm-subscription-radio:has(input:focus-visible){
  outline:2px solid var(--gim-accent);
  outline-offset:2px;
}

.gcm-subscription-plancard.is-active{
  border-color:var(--gim-accent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--gim-accent) 16%,transparent);
  background:color-mix(in srgb,var(--gim-accent) 7%,var(--gim-surface));
}

.gcm-subscription-plancard.is-current{
  background:color-mix(in srgb,var(--gim-accent) 5%,var(--gim-surface));
}

.gcm-subscription-plancard.is-disabled{
  opacity:1;
  cursor:not-allowed;
  color:var(--gim-text-muted);
  background:var(--gim-surface-subtle,var(--gim-surface-soft,#f8fafc));
  border-color:var(--gim-border);
}

.gcm-subscription-plancard__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--gim-space-2);
  min-inline-size:0;
}

.gcm-subscription-plancard__badge,
.gcm-subscription-plancard__state{
  font-size:var(--gim-font-xs);
  line-height:var(--gim-line-normal,1.6);
}

.gcm-subscription-plancard__badge{
  padding:var(--gim-space-1) var(--gim-space-2);
  border-radius:var(--gim-radius-pill,999px);
  color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 10%,transparent);
  white-space:nowrap;
}

.gcm-subscription-plancard__state{
  color:var(--gim-text-muted);
  text-align:end;
  overflow-wrap:break-word;
}

.gcm-subscription-plancard__title{
  color:var(--gim-text);
  font-size:var(--gim-font-xl,var(--gim-font-lg));
  line-height:var(--gim-line-snug,1.55);
  font-weight:var(--gim-font-weight-semibold);
  overflow-wrap:break-word;
}

.gcm-subscription-plancard__price{
  margin-block-start:0;
  padding-block-start:var(--gim-space-1);
  border-block-start:1px solid var(--gim-border);
  color:var(--gim-text);
  font-size:var(--gim-font-lg,var(--gim-font-md));
  line-height:var(--gim-line-normal,1.6);
  font-weight:var(--gim-font-weight-semibold);
  white-space:nowrap;
}

.gcm-subscription-module-grid,
.gcm-subscription-modules{
  display:grid;
  gap:var(--gim-space-3);
  min-inline-size:0;
}

.gcm-subscription-module-card{
  min-inline-size:0;
  padding:var(--gim-space-3);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-surface);
  background:var(--gim-surface-subtle,var(--gim-surface-soft,#f8fafc));
}

.gcm-subscription-module-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--gim-space-2);
  margin-block-end:var(--gim-space-3);
  min-inline-size:0;
}

.gcm-subscription-module-card-title,
.gcm-subscription-family-title{
  min-inline-size:0;
  color:var(--gim-text);
  font-size:var(--gim-font-md);
  line-height:var(--gim-line-normal,1.6);
  font-weight:var(--gim-font-weight-semibold);
  overflow-wrap:break-word;
}

.gcm-subscription-module-card-hint{
  flex:0 1 auto;
  text-align:end;
}

.gcm-subscription-module-levels{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  min-inline-size:0;
}

.gcm-subscription-module-level{
  min-inline-size:0;
  padding-block:var(--gim-space-1);
  padding-inline:var(--gim-space-1);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) max-content max-content;
  gap:var(--gim-space-2);
  align-items:center;
  border:0;
  border-block-end:1px solid var(--gim-border);
  border-radius:0;
  background:transparent;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}

.gcm-subscription-module-level.is-selected{
  border-block-end-color:var(--gim-accent);
  box-shadow:none;
  background:color-mix(in srgb,var(--gim-accent) 6%,var(--gim-surface));
}

.gcm-subscription-module-level.is-disabled{
  cursor:not-allowed;
  color:var(--gim-text-muted);
  background:var(--gim-surface-subtle,var(--gim-surface-soft,#f8fafc));
}

.gcm-subscription-module-level-input{
  margin-block-start:2px;
}

.gcm-subscription-module-level-meta{
  min-inline-size:0;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.gcm-subscription-module-level-title{
  min-inline-size:0;
  font-size:var(--gim-font-md);
  line-height:var(--gim-line-normal,1.6);
  font-weight:var(--gim-font-weight-medium);
  overflow-wrap:break-word;
}

.gcm-subscription-module-level-price{
  color:var(--gim-text-muted);
  font-size:var(--gim-font-sm);
  line-height:var(--gim-line-normal,1.6);
  white-space:nowrap;
  font-size:var(--gim-font-md,var(--gim-font-sm));
}

.gcm-subscription-module-level-badge{
  grid-column:auto;
  min-block-size:0;
  white-space:nowrap;
  color:var(--gim-accent);
  font-size:var(--gim-font-xs);
  line-height:var(--gim-line-normal,1.6);
  font-weight:var(--gim-font-weight-semibold);
}

.gcm-subscription-family{
  display:grid;
  gap:var(--gim-space-3);
  min-inline-size:0;
}

.gcm-subscription-family-options{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gim-space-2);
}

.gcm-subscription-pill,
.gcm-subscription-radio{
  min-inline-size:0;
  padding:var(--gim-space-3);
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:var(--gim-space-2);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control,var(--gim-radius-md,12px));
  background:var(--gim-surface);
  cursor:pointer;
}

.gcm-subscription-pill:has(input:checked),
.gcm-subscription-radio:has(input:checked){
  border-color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 6%,var(--gim-surface));
}

.gcm-subscription-pill > span,
.gcm-subscription-radio > span{
  min-inline-size:0;
  overflow-wrap:break-word;
  font-size:var(--gim-font-md);
  line-height:var(--gim-line-normal,1.6);
}

.gcm-subscription-radio small{
  display:block;
  margin-block-start:var(--gim-space-1);
  color:var(--gim-text-muted);
  font-size:var(--gim-font-xs);
  line-height:var(--gim-line-normal,1.6);
}

.gcm-subscription-duration-bar{
  display:grid;
  gap:var(--gim-space-3);
  min-inline-size:0;
}

.gcm-subscription-duration-presets{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:var(--gim-space-2);
}

.gcm-subscription-duration-presets button{
  min-block-size:var(--gim-touch-target-min);
  padding:var(--gim-space-2) var(--gim-space-3);
  color:var(--gim-text);
  font:inherit;
  font-size:var(--gim-font-md);
  font-weight:var(--gim-font-weight-medium);
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control,var(--gim-radius-md,12px));
  background:var(--gim-surface);
  cursor:pointer;
}

.gcm-subscription-duration-presets button.is-active{
  color:var(--gim-accent);
  border-color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 8%,var(--gim-surface));
}

.gcm-subscription-duration-custom{
  display:grid;
  gap:var(--gim-space-2);
  color:var(--gim-text-muted);
  font-size:var(--gim-font-sm);
}

.gcm-subscription-duration-range{
  inline-size:100%;
  accent-color:var(--gim-accent);
}

.gcm-subscription-duration-scale{
  display:flex;
  justify-content:space-between;
  gap:var(--gim-space-2);
  color:var(--gim-text-muted);
  font-size:var(--gim-font-xs);
}

.gcm-subscription-months-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-block-size:36px;
  padding:var(--gim-space-1) var(--gim-space-3);
  color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 12%,var(--gim-surface));
  border:1px solid color-mix(in srgb,var(--gim-accent) 45%,var(--gim-border));
  border-radius:var(--gim-radius-pill,999px);
  font-size:var(--gim-font-lg,var(--gim-font-md));
  font-weight:var(--gim-font-weight-bold,var(--gim-font-weight-semibold));
  line-height:1.2;
  white-space:nowrap;
}

.gcm-subscription-summary-rows{
  display:grid;
  margin-block-end:var(--gim-space-3);
}

.gcm-subscription-row{
  min-block-size:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-3);
  border-block-end:1px solid var(--gim-border);
  font-size:var(--gim-font-md);
}

.gcm-subscription-row strong{
  white-space:nowrap;
}

.gcm-subscription-row--total{
  min-block-size:56px;
  border-block-end:0;
  font-size:var(--gim-font-xl,var(--gim-font-lg));
}

.gcm-subscription-total{
  color:var(--gim-accent);
  font-size:var(--gim-font-xl,var(--gim-font-lg));
  font-weight:var(--gim-font-weight-semibold);
}

.gcm-subscription-paymethod-row{
  display:grid;
  gap:var(--gim-space-2);
  margin-block:var(--gim-space-3);
}

.gcm-subscription-payment-hint{
  margin-block:var(--gim-space-3);
}

.gcm-subscription-offline{
  display:grid;
  gap:var(--gim-space-3);
  margin-block-start:var(--gim-space-3);
}
.gcm-subscription-offline[hidden]{display:none;}


.gcm-subscription-note-field{
  display:grid;
  gap:var(--gim-space-2);
  min-inline-size:0;
}

.gcm-subscription-note-field > span{
  color:var(--gim-text);
  font-size:var(--gim-font-sm);
  font-weight:var(--gim-font-weight-medium);
}

.gcm-subscription-note-field textarea{
  inline-size:100%;
  min-inline-size:0;
}

.gcm-subscription-btn{
  inline-size:100%;
  min-block-size:var(--gim-touch-target-min);
  margin-block-start:var(--gim-space-3);
}

.gcm-subscription-icon-action{
  inline-size:var(--gim-touch-target-min);
  block-size:var(--gim-touch-target-min);
  min-inline-size:var(--gim-touch-target-min);
  min-block-size:var(--gim-touch-target-min);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}

.gcm-subscription-history-region{
  min-inline-size:0;
}

.gcm-subscription-history-stack{
  display:grid;
  gap:var(--gcm-sub-gap);
  min-inline-size:0;
}


.gcm-subscription-service-orders-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:var(--gim-space-3);
  margin-block-start:var(--gim-space-3);
  min-inline-size:0;
}



.gcm-subscription-service-order__meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gim-space-3);
  margin:0;
}

.gcm-subscription-service-order__meta > div{
  display:grid;
  gap:var(--gim-space-1);
  min-inline-size:0;
}

.gcm-subscription-service-order__meta dt{
  color:var(--gim-text-muted);
  font-size:var(--gim-font-xs);
}

.gcm-subscription-service-order__meta dd{
  margin:0;
  color:var(--gim-text);
  font-size:var(--gim-font-sm);
  font-weight:var(--gim-font-weight-semibold);
  overflow-wrap:break-word;
}

@media (max-width:1180px){
  .gcm-subscription-workspace{
    grid-template-columns:minmax(0,1fr);
  }

  .gcm-subscription-aside{
    position:static;
  }

  .gcm-subscription-purchase-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .gcm-subscription-setup-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gcm-subscription-plan-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gcm-subscription-purchase-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .gcm-subscription-purchase-grid > *{
    grid-column:auto;
  }

  .gcm-subscription-purchase-grid > [data-choice-kind="plan"],
  .gcm-subscription-purchase-grid > .gcm-subscription-duration-section,
  .gcm-subscription-purchase-grid > #gcm-subscription-addons-empty{
    grid-column:auto;
  }
}

@media (max-width:640px){
  .gcm-subscription-setup-steps{
    grid-template-columns:minmax(0,1fr);
  }

  .gcm-subscription-activation-state{
    align-items:stretch;
    flex-direction:column;
  }

  .gcm-subscription-activation-state .button{
    inline-size:100%;
  }

  .gcm-subscription-page-header .gcm-page-header__actions,
  .gcm-subscription-page-header .gcm-subscription-hero-action{
    inline-size:100%;
  }

  .gcm-subscription-plan-cards,
  .gcm-subscription-service-order__meta{
    grid-template-columns:minmax(0,1fr);
  }

  .gcm-subscription-duration-presets{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gcm-subscription-module-levels{
    grid-template-columns:minmax(0,1fr);
  }

  .gcm-subscription-module-card-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }


  .gcm-subscription-plancard{
    min-block-size:0;
  }
}

@media (max-width:390px){
  .gcm-subscription-duration-presets{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (prefers-reduced-motion:reduce){
  .gcm-subscription-plancard,
  .gcm-subscription-module-level{
    transition:none;
  }
}



/* Club registration onboarding continuation (steps 4-6).
 * Canonical subscription renderer is preserved; these rules only recompose
 * pre-activation / payment-return states inside the existing subscription feature.
 * Visual contract intentionally matches registration steps 1-3.
 */
.gcm-subscription-onboarding-shell{
  --gcm-onboarding-gap:24px;
  position:relative;
  isolation:isolate;
  inline-size:100%;
  min-inline-size:0;
  min-block-size:calc(100dvh - var(--gim-header-stack-height,72px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:10px;
  padding:12px 24px 28px;
  overflow:clip;
  border:0;
  border-radius:0;
  background-color:var(--gim-bg);
  background-image:
    linear-gradient(90deg,
      color-mix(in srgb,var(--gim-bg) 16%,transparent) 0%,
      color-mix(in srgb,var(--gim-bg) 8%,transparent) 52%,
      color-mix(in srgb,var(--gim-bg) 20%,transparent) 100%),
    var(--gcm-onboarding-background);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-attachment:scroll;
  box-shadow:none;
  color:var(--gim-text-primary);
}
.gcm-subscription-onboarding-shell::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--gim-surface) 10%,transparent),
    transparent 42%,
    color-mix(in srgb,var(--gim-surface) 8%,transparent));
}

/* Physical desktop composition: showcase/Jimmy LEFT, task/workspace RIGHT.
 * direction:ltr is intentional only for physical grid placement; children return to RTL.
 */
.gcm-onboarding-layout{
  position:relative;
  z-index:2;
  direction:ltr;
  inline-size:min(1540px,100%);
  min-inline-size:0;
  min-block-size:0;
  margin-inline:auto;
  display:grid;
  grid-template-areas:"showcase task";
  grid-template-columns:minmax(470px,.82fr) minmax(680px,1.18fr);
  gap:clamp(20px,2.2vw,34px);
  align-items:stretch;
}
.gcm-onboarding-visual{
  grid-area:showcase;
  direction:ltr;
  position:relative;
  min-inline-size:0;
  min-block-size:0;
  display:grid;
  grid-template-areas:"jimmy copy";
  grid-template-columns:minmax(300px,1.08fr) minmax(210px,.92fr);
  gap:4px;
  align-items:start;
  overflow:visible;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.gcm-onboarding-visual__jimmy-wrap{
  grid-area:jimmy;
  align-self:end;
  justify-self:start;
  min-inline-size:0;
  inline-size:100%;
  margin:0;
  padding:0;
}
.gcm-onboarding-jimmy{
  position:static;
  display:block;
  inline-size:min(100%,520px);
  max-inline-size:100%;
  max-block-size:calc(100dvh - 165px);
  block-size:auto;
  margin:0;
  object-fit:contain;
  object-position:center bottom;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 20px 38px rgba(23,49,88,.14));
}
.gcm-onboarding-visual__copy{
  grid-area:copy;
  direction:rtl;
  position:relative;
  z-index:2;
  align-self:start;
  display:grid;
  gap:11px;
  min-inline-size:0;
  max-inline-size:310px;
  padding-block:54px 0;
}
.gcm-onboarding-visual__eyebrow,
.gcm-onboarding-welcome__eyebrow{
  display:block;
  margin:0;
  color:var(--gim-accent);
  font-size:.78rem;
  font-weight:850;
}
.gcm-onboarding-visual h2{
  margin:0;
  max-inline-size:14ch;
  color:var(--gim-text-primary);
  font-size:clamp(1.7rem,2vw,2.15rem);
  font-weight:900;
  line-height:1.48;
  letter-spacing:-.02em;
}
.gcm-onboarding-visual p{
  margin:0;
  max-inline-size:40ch;
  color:var(--gim-text-secondary);
  font-size:.94rem;
  line-height:1.9;
}
.gcm-onboarding-visual__points{
  display:grid;
  gap:2px;
  margin:2px 0 0;
  padding:0;
  list-style:none;
  max-inline-size:310px;
}
.gcm-onboarding-visual__points li{
  direction:rtl;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-block-size:52px;
  padding:5px 4px;
  color:var(--gim-text-primary);
}
.gcm-onboarding-visual__point-icon{
  display:grid;
  place-items:center;
  inline-size:38px;
  block-size:38px;
  border:1.5px solid color-mix(in srgb,var(--gim-accent) 25%,var(--gim-surface));
  border-radius:11px;
  background:color-mix(in srgb,var(--gim-surface) 84%,transparent);
  color:var(--gim-accent);
  box-shadow:0 7px 16px rgba(21,46,88,.06);
  font-size:.82rem;
  font-weight:900;
}
.gcm-onboarding-visual__points strong{
  display:block;
  color:var(--gim-text-primary);
  font-size:.88rem;
  font-weight:850;
  line-height:1.45;
}
.gcm-onboarding-visual__points small{
  display:block;
  margin-block-start:1px;
  color:var(--gim-text-secondary);
  font-size:.76rem;
  line-height:1.45;
}

.gcm-onboarding-visual__summary{
  display:grid;
  gap:0;
  inline-size:100%;
  max-inline-size:320px;
  margin-block-start:8px;
}
.gcm-onboarding-visual__summary .gcm-subscription-summary{
  position:static;
  inline-size:100%;
  margin:0;
  border:1px solid color-mix(in srgb,var(--gim-accent) 26%,var(--gim-border));
  border-radius:16px;
  background:color-mix(in srgb,var(--gim-surface) 96%,transparent);
  box-shadow:0 12px 28px rgba(21,46,88,.08);
}
.gcm-onboarding-visual__summary .gcm-subscription-summary [data-card-part="header"]{
  padding:12px 14px 10px;
}
.gcm-onboarding-visual__summary .gcm-subscription-summary [data-card-part="body"]{
  padding:10px 14px 14px;
}
.gcm-onboarding-visual__summary .gcm-subscription-row{
  min-block-size:42px;
  padding-block:7px;
}
.gcm-onboarding-visual__summary .gcm-subscription-row span{
  font-size:.78rem;
}
.gcm-onboarding-visual__summary .gcm-subscription-row strong{
  font-size:.9rem;
}
.gcm-onboarding-visual__summary .gcm-subscription-row--total strong{
  font-size:1.05rem;
}
.gcm-onboarding-visual__summary .gcm-badge{
  font-size:.68rem;
}
.gcm-subscription-operations .gcm-module-loading[hidden]{
  display:none!important;
}
.gcm-subscription-onboarding-shell[data-onboarding-stage="success"] .gcm-onboarding-visual__summary{
  display:none!important;
}

/* Only task side scrolls on desktop; stepper/showcase/background stay visually stable. */
.gcm-onboarding-task{
  grid-area:task;
  direction:rtl;
  min-inline-size:0;
  min-block-size:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:0 0 12px 6px;
}
.gcm-onboarding-task-heading{
  margin-block-end:12px;
  padding:0 4px;
}
.gcm-onboarding-task-heading > p{
  margin:0 0 3px;
  color:var(--gim-accent);
  font-size:.76rem;
  font-weight:850;
}
.gcm-onboarding-task-heading h2{
  margin:0;
  color:var(--gim-text-primary);
  font-size:clamp(1.55rem,1.9vw,1.95rem);
  font-weight:900;
  line-height:1.45;
  letter-spacing:-.02em;
}
.gcm-onboarding-task-heading h2[tabindex="-1"]:focus{outline:none;}
.gcm-onboarding-task-heading > span{
  display:block;
  margin-block-start:4px;
  color:var(--gim-text-secondary);
  font-size:.88rem;
  line-height:1.8;
}

/* Step 4 and 5: the order summary lives beside Jimmy in the visual column.
 * The task workspace therefore stays single-column and focused on the current action. */
.gcm-subscription-onboarding-shell .gcm-subscription-workspace{
  direction:rtl;
  display:grid;
  grid-template-areas:"main";
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  align-items:start;
  min-inline-size:0;
}
.gcm-subscription-onboarding-shell .gcm-subscription-main{
  grid-area:main;
  direction:rtl;
  min-inline-size:0;
}
.gcm-subscription-onboarding-shell .gcm-subscription-aside{
  grid-area:summary;
  direction:rtl;
  min-inline-size:0;
  position:sticky;
  inset-block-start:0;
}
.gcm-subscription-onboarding-shell .gcm-subscription-summary{
  inset-block-start:0;
  border-color:color-mix(in srgb,var(--gim-accent) 24%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-surface) 95%,transparent);
  box-shadow:0 14px 36px rgba(21,46,88,.07);
}
.gcm-subscription-onboarding-shell .gcm-subscription-purchase-region,
.gcm-subscription-onboarding-shell .gcm-subscription-review-region{
  min-inline-size:0;
}
.gcm-subscription-onboarding-shell .gcm-subscription-purchase-region{
  padding:clamp(16px,2vw,26px);
  border:1px solid rgba(214,224,236,.95);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 36px rgba(21,46,88,.07);
}
.gcm-subscription-onboarding-shell .gcm-subscription-purchase-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.gcm-subscription-onboarding-shell .gcm-subscription-plan-cards{
  gap:10px;
}
.gcm-subscription-onboarding-shell .gcm-subscription-plancard{
  border-radius:15px;
  box-shadow:none;
}
.gcm-subscription-onboarding-shell .gcm-subscription-plancard.is-active{
  border-color:var(--gim-accent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--gim-accent) 34%,transparent);
}
.gcm-subscription-onboarding-shell .gcm-subscription-duration-presets button.is-active,
.gcm-subscription-onboarding-shell .gcm-subscription-module-level:has(input:checked){
  border-color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 8%,var(--gim-surface));
}
.gcm-subscription-review-region,
.gcm-onboarding-activation-wait,
.gcm-onboarding-welcome,
.gcm-onboarding-failure{display:none;}
.gcm-subscription-onboarding-shell[data-onboarding-stage="payment"] #gcm-subscription-purchase-section,
.gcm-subscription-onboarding-shell[data-onboarding-stage="payment"] .gcm-onboarding-task-heading[data-onboarding-panel="plan"],
.gcm-subscription-onboarding-shell[data-onboarding-stage="checking"] [data-onboarding-panel="workspace"],
.gcm-subscription-onboarding-shell[data-onboarding-stage="success"] [data-onboarding-panel="workspace"],
.gcm-subscription-onboarding-shell[data-onboarding-stage="failure"] [data-onboarding-panel="workspace"]{display:none;}
.gcm-subscription-onboarding-shell[data-onboarding-stage="payment"] .gcm-subscription-review-region{display:block;}
.gcm-subscription-onboarding-shell[data-onboarding-stage="checking"] .gcm-onboarding-activation-wait{display:grid;}
.gcm-subscription-onboarding-shell[data-onboarding-stage="success"] .gcm-onboarding-welcome{display:grid;}
.gcm-subscription-onboarding-shell[data-onboarding-stage="failure"] .gcm-onboarding-failure{display:grid;}

.gcm-subscription-onboarding-shell[data-onboarding-stage="plan"] .gcm-subscription-paymethod-row,
.gcm-subscription-onboarding-shell[data-onboarding-stage="plan"] #gcm-subscription-payment-hint,
.gcm-subscription-onboarding-shell[data-onboarding-stage="plan"] #gcm-subscription-offline,
.gcm-subscription-onboarding-shell[data-onboarding-stage="plan"] .gcm-onboarding-back-button{display:none!important;}
.gcm-subscription-onboarding-shell[data-onboarding-stage="payment"] .gcm-onboarding-back-button{display:inline-flex;}

.gcm-onboarding-summary-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  inline-size:100%;
}
.gcm-subscription-onboarding-shell[data-onboarding-stage="payment"] .gcm-onboarding-summary-actions{
  grid-template-columns:auto minmax(0,1fr);
}
.gcm-onboarding-summary-actions .gcm-subscription-btn{margin-block-start:0;}
.gcm-onboarding-back-button{
  min-block-size:var(--gim-touch-target-min);
  white-space:nowrap;
}

/* Review/payment card follows the same compact white-card language as registration. */
.gcm-onboarding-review-card{
  min-inline-size:0;
  border:1px solid color-mix(in srgb,var(--gim-border) 94%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--gim-surface) 96%,transparent);
  box-shadow:0 14px 36px rgba(21,46,88,.07);
}
.gcm-onboarding-review-body{display:grid;gap:0;}
.gcm-onboarding-payment-controls{
  display:grid;
  gap:12px;
  margin-block-start:16px;
  padding-block-start:16px;
  border-block-start:1px solid var(--gim-border);
}

.gcm-inline-gateway-section{
  display:grid;
  gap:10px;
}
.gcm-inline-gateway-section > h4{
  margin:0;
  color:var(--gim-text-primary);
  font-size:var(--gim-font-md);
  font-weight:850;
}
.gcm-inline-gateway-section > p{
  margin:0;
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-sm);
  line-height:1.8;
}
.gcm-inline-gateway-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.gcm-inline-gateway-list > [data-inline-gateway-retry]{
  grid-column:1 / -1;
  inline-size:100%;
  min-inline-size:0;
  white-space:normal;
}
.gcm-inline-gateway-list > [data-ui="state"]{
  grid-column:1 / -1;
  inline-size:100%;
  min-inline-size:0;
  box-sizing:border-box;
  white-space:normal;
  overflow-wrap:anywhere;
}
.gcm-inline-gateway-option{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-block-size:78px;
  padding:12px 14px;
  border:1px solid var(--gim-border);
  border-radius:14px;
  background:var(--gim-surface);
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.gcm-inline-gateway-option:has(input:checked){
  border-color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 7%,var(--gim-surface));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--gim-accent) 22%,transparent);
}
.gcm-inline-gateway-option:focus-within{
  outline:2px solid color-mix(in srgb,var(--gim-accent) 46%,transparent);
  outline-offset:2px;
}
.gcm-inline-gateway-option.is-disabled{
  opacity:.58;
  cursor:not-allowed;
}
.gcm-inline-gateway-option input{
  flex:0 0 auto;
  inline-size:18px;
  block-size:18px;
  accent-color:var(--gim-accent);
}
.gcm-inline-gateway-option__body{
  display:grid;
  gap:3px;
  min-inline-size:0;
}
.gcm-inline-gateway-option__body strong{
  color:var(--gim-text-primary);
  font-size:.92rem;
  font-weight:850;
}
.gcm-inline-gateway-option__body small{
  color:var(--gim-text-secondary);
  font-size:.78rem;
  line-height:1.55;
}
.gcm-inline-gateway-option__note{
  color:var(--gim-warning,#a96f00)!important;
}
.gcm-subscription-paymethod-row--offline{
  grid-template-columns:minmax(0,1fr)!important;
  margin-block:2px 0;
}
.gcm-onboarding-payment-result{
  inline-size:100%;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--gim-accent) 24%,var(--gim-border));
  border-radius:14px;
  background:color-mix(in srgb,var(--gim-accent) 5%,var(--gim-surface));
}
.gcm-onboarding-payment-result[hidden]{display:none;}
.gcm-onboarding-payment-result h3{
  margin:0 0 10px;
  color:var(--gim-text-primary);
  font-size:var(--gim-font-md);
  font-weight:850;
}
.gcm-onboarding-payment-result dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 16px;
  margin:0;
}
.gcm-onboarding-payment-result dl > div{
  display:grid;
  gap:3px;
  min-inline-size:0;
}
.gcm-onboarding-payment-result dt{
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-xs);
}
.gcm-onboarding-payment-result dd{
  margin:0;
  color:var(--gim-text-primary);
  font-size:var(--gim-font-sm);
  font-weight:800;
  overflow-wrap:anywhere;
}
.gcm-subscription-onboarding-shell .gcm-subscription-paymethod-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.gcm-subscription-onboarding-shell .gcm-subscription-radio{
  min-block-size:72px;
  align-items:center;
  border:1px solid var(--gim-border);
  border-radius:14px;
  background:var(--gim-surface);
}
.gcm-subscription-onboarding-shell .gcm-subscription-radio:has(input:checked){
  border-color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 7%,var(--gim-surface));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--gim-accent) 22%,transparent);
}
.gcm-onboarding-primary-actions{
  margin-block-start:14px;
}
.gcm-onboarding-primary-actions .gcm-subscription-btn{
  min-block-size:48px;
}
.gcm-onboarding-review-row{
  min-block-size:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gim-space-3);
  padding-block:var(--gim-space-2);
  border-block-end:1px solid var(--gim-border);
}
.gcm-onboarding-review-row span{color:var(--gim-text-secondary);}
.gcm-onboarding-review-row strong{color:var(--gim-text-primary);text-align:end;}
.gcm-onboarding-review-addons{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:var(--gim-space-2);
  padding-block-start:var(--gim-space-3);
}
.gcm-onboarding-review-addons > span{
  flex:0 0 auto;
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-sm);
}
.gcm-onboarding-review-addons > div{
  display:flex;
  flex:1 1 0;
  min-inline-size:0;
  flex-wrap:wrap;
  justify-content:flex-start;
  direction:ltr;
  gap:var(--gim-space-2);
}
.gcm-onboarding-review-addons p{margin:0;color:var(--gim-text-secondary);}
.gcm-onboarding-module-chip{
  display:inline-flex;
  align-items:center;
  direction:rtl;
  min-block-size:34px;
  padding:var(--gim-space-1) var(--gim-space-3);
  color:var(--gim-accent);
  background:color-mix(in srgb,var(--gim-accent) 8%,var(--gim-surface));
  border:1px solid color-mix(in srgb,var(--gim-accent) 26%,var(--gim-border));
  border-radius:var(--gim-radius-pill,999px);
  font-size:var(--gim-font-sm);
}

/* Step 5 checking and step 6 welcome stay on the RIGHT task side; Jimmy remains on LEFT. */
.gcm-onboarding-activation-wait,
.gcm-onboarding-welcome,
.gcm-onboarding-failure{
  position:relative;
  overflow:hidden;
  inline-size:100%;
  max-inline-size:760px;
  min-block-size:480px;
  margin-inline:auto;
  padding:clamp(28px,4vw,52px);
  align-content:center;
  justify-items:center;
  text-align:center;
  border:1px solid color-mix(in srgb,var(--gim-border) 92%,transparent);
  border-radius:21px;
  background:color-mix(in srgb,var(--gim-surface) 96%,transparent);
  box-shadow:0 14px 36px rgba(21,46,88,.07);
}
.gcm-onboarding-welcome::before{
  content:"";
  position:absolute;
  inset:-25% -15% auto auto;
  inline-size:260px;
  block-size:260px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--gim-accent) 13%,transparent),transparent 68%);
  pointer-events:none;
}
.gcm-onboarding-state-icon,
.gcm-onboarding-welcome__success{
  inline-size:66px;
  block-size:66px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-block-end:var(--gim-space-3);
  color:var(--gim-on-accent,#fff);
  background:var(--gim-accent);
  border-radius:50%;
  font-size:2rem;
  font-weight:800;
  box-shadow:0 10px 28px color-mix(in srgb,var(--gim-accent) 26%,transparent);
}
.gcm-onboarding-failure__icon{
  inline-size:66px;
  block-size:66px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-block-end:var(--gim-space-3);
  color:#fff;
  background:var(--gim-danger,#c0392b);
  border-radius:50%;
  font-size:2rem;
  font-weight:800;
  box-shadow:0 10px 28px color-mix(in srgb,var(--gim-danger,#c0392b) 26%,transparent);
}
.gcm-onboarding-failure__hint{
  max-inline-size:58ch;
  color:var(--gim-text-secondary);
}
.gcm-onboarding-failure__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-block-start:var(--gim-space-3);
}
.gcm-onboarding-activation-wait h2,
.gcm-onboarding-welcome h2,
.gcm-onboarding-failure h2{
  margin:0;
  color:var(--gim-text-primary);
  font-size:clamp(1.6rem,2.4vw,2.25rem);
  font-weight:900;
}
.gcm-onboarding-activation-wait p,
.gcm-onboarding-welcome__lead,
.gcm-onboarding-failure__lead,
.gcm-onboarding-failure__hint{
  max-inline-size:54ch;
  margin:var(--gim-space-2) auto var(--gim-space-4);
  color:var(--gim-text-secondary);
  line-height:1.9;
}
.gcm-onboarding-welcome__summary{
  inline-size:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 var(--gim-space-4);
}
.gcm-onboarding-welcome__summary > div{
  min-inline-size:0;
  padding:14px;
  border:1px solid var(--gim-border);
  border-radius:13px;
  background:color-mix(in srgb,var(--gim-surface-2) 80%,var(--gim-surface));
}
.gcm-onboarding-welcome__summary dt{
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-xs);
}
.gcm-onboarding-welcome__summary dd{
  margin:var(--gim-space-1) 0 0;
  color:var(--gim-text-primary);
  font-size:var(--gim-font-md);
  font-weight:var(--gim-font-weight-semibold);
  overflow-wrap:anywhere;
}
.gcm-onboarding-welcome__modules{
  inline-size:100%;
  display:grid;
  gap:var(--gim-space-2);
  margin-block-end:var(--gim-space-4);
  text-align:start;
}
.gcm-onboarding-welcome__modules h3{margin:0;font-size:var(--gim-font-md);}
.gcm-onboarding-dashboard-button{
  min-inline-size:min(100%,300px);
  min-block-size:var(--gim-touch-target-min);
}

/* Internal sources stay accessible to assistive tech but do not disturb onboarding geometry. */
.gcm-onboarding-status-source,
.gcm-onboarding-hidden-support{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
.gcm-subscription-onboarding-shell > .gcm-subscription-activation-state{display:none;}
.gcm-subscription-onboarding-shell .gcm-subscription-activation-state{margin-block-end:var(--gim-space-3);}

@media (min-width:1181px) and (min-height:700px){
  .gcm-subscription-onboarding-shell{
    block-size:calc(100dvh - var(--gim-header-stack-height,72px));
    min-block-size:660px;
  }
  .gcm-onboarding-layout{block-size:100%;}
  .gcm-onboarding-visual{
    position:sticky;
    inset-block-start:0;
    block-size:100%;
  }
  .gcm-onboarding-task{block-size:100%;}
}

@media (max-width:1180px){
  .gcm-subscription-onboarding-shell{
    min-block-size:auto;
    overflow:visible;
    grid-template-rows:auto auto;
  }
  .gcm-onboarding-layout{
    direction:rtl;
    grid-template-areas:
      "showcase"
      "task";
    grid-template-columns:minmax(0,1fr);
    max-inline-size:960px;
  }
  .gcm-subscription-onboarding-shell[data-onboarding-stage="plan"] .gcm-onboarding-layout{
    grid-template-areas:
      "task"
      "showcase";
  }
  .gcm-onboarding-visual{
    direction:ltr;
    min-block-size:360px;
    grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);
    align-items:center;
  }
  .gcm-onboarding-visual__jimmy-wrap{align-self:end;}
  .gcm-onboarding-jimmy{
    inline-size:min(100%,330px);
    max-block-size:350px;
  }
  .gcm-onboarding-visual__copy{
    padding-block:24px 0;
    max-inline-size:420px;
  }
  .gcm-onboarding-task{
    overflow:visible;
    padding:0;
  }
  .gcm-subscription-onboarding-shell .gcm-subscription-workspace{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:840px){
  .gcm-subscription-onboarding-shell{
    padding:10px 14px 24px;
    background-position:center top;
  }
  .gcm-onboarding-visual{
    min-block-size:260px;
    grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);
  }
  .gcm-onboarding-jimmy{
    inline-size:min(100%,240px);
    max-block-size:250px;
  }
  .gcm-onboarding-visual__copy{
    padding-block:18px 0;
  }
  .gcm-onboarding-visual__copy h2{
    max-inline-size:18ch;
    font-size:1.35rem;
  }
  .gcm-onboarding-visual__copy p{
    font-size:.84rem;
    line-height:1.75;
  }
  .gcm-onboarding-visual__points{display:none;}
  .gcm-subscription-onboarding-shell .gcm-subscription-workspace{
    direction:rtl;
    grid-template-areas:"main";
    grid-template-columns:minmax(0,1fr);
  }
  .gcm-subscription-onboarding-shell .gcm-subscription-aside{position:static;}
  .gcm-subscription-onboarding-shell .gcm-subscription-purchase-grid{grid-template-columns:minmax(0,1fr);}
  .gcm-subscription-onboarding-shell .gcm-subscription-paymethod-row{grid-template-columns:minmax(0,1fr);}
  .gcm-onboarding-welcome__summary{grid-template-columns:minmax(0,1fr);}
}

@media (max-width:430px){
  .gcm-subscription-onboarding-shell{
    padding:8px 10px 20px;
    gap:8px;
  }
  .gcm-onboarding-visual{
    min-block-size:220px;
    grid-template-columns:minmax(120px,.58fr) minmax(0,1.42fr);
  }
  .gcm-onboarding-visual__eyebrow{display:none;}
  .gcm-onboarding-jimmy{
    inline-size:min(100%,170px);
    max-block-size:210px;
  }
  .gcm-onboarding-visual__copy{
    padding-block:12px 0;
    gap:6px;
  }
  .gcm-onboarding-visual__copy p{
    font-size:.78rem;
    line-height:1.65;
  }
  .gcm-subscription-onboarding-shell[data-onboarding-stage="payment"] .gcm-onboarding-summary-actions{
    grid-template-columns:minmax(0,1fr);
  }
  .gcm-onboarding-back-button,
  .gcm-subscription-btn{inline-size:100%;}
.gcm-onboarding-activation-wait,
.gcm-onboarding-welcome,
.gcm-onboarding-failure{
    min-block-size:380px;
    padding:28px 16px;
  }
}
@media (prefers-reduced-motion:reduce){
  .gcm-subscription-onboarding-shell *,
  .gcm-subscription-onboarding-shell *::before,
  .gcm-subscription-onboarding-shell *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}


/* Phase 1D — OTP delivery preference; canonical self-service form variant. */
#gcm-app .gim-reference-page--me-profile .gim-me-security-stack{
  display:grid;
  gap:var(--gim-space-4);
}
#gcm-app .gim-reference-page--me-profile .gim-me-security-section{
  min-inline-size:0;
}
#gcm-app .gim-reference-page--me-profile .gim-me-security-section + .gim-me-security-section{
  padding-block-start:var(--gim-space-4);
  border-block-start:1px solid var(--gim-border);
}
#gcm-app .gim-reference-page--me-profile .gim-me-security-section > h3{
  margin:0 0 var(--gim-space-2);
  color:var(--gim-text-primary);
  font-size:1rem;
  line-height:1.7;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-group{
  min-inline-size:0;
  margin:0;
  padding:0;
  border:0;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-legend{
  padding:0;
  color:var(--gim-text-primary);
  font-weight:700;
  line-height:1.7;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-group > .gim-muted{
  margin:4px 0 0;
  max-inline-size:68ch;
  line-height:1.8;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gim-space-2);
  margin-block-start:var(--gim-space-3);
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:10px;
  min-inline-size:0;
  min-block-size:56px;
  padding:12px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-control);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  cursor:pointer;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option:has(input:checked){
  border-color:var(--gim-accent);
  background:var(--gim-color-surface-selected);
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option:has(input:focus-visible){
  outline:3px solid color-mix(in srgb,var(--gim-accent) 24%,transparent);
  outline-offset:2px;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option.is-unavailable{
  opacity:.72;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option:has(input:disabled){
  cursor:not-allowed;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option input[type="checkbox"]{
  inline-size:20px;
  block-size:20px;
  margin:2px 0 0;
  accent-color:var(--gim-accent);
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option > span{
  display:grid;
  gap:2px;
  min-inline-size:0;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option strong{
  line-height:1.6;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-option small{
  color:var(--gim-text-secondary);
  line-height:1.7;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-group-status{
  min-block-size:1.6em;
  margin-block-start:var(--gim-space-2);
  color:var(--gim-text-secondary);
  line-height:1.7;
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-group-status.is-error{
  color:var(--gim-color-danger);
}
#gcm-app .gim-reference-page--me-profile .gcm-otp-channel-group-status.is-success{
  color:var(--gim-color-success);
}
#gcm-app .gim-reference-page--me-profile .gim-me-otp-preference-form[aria-busy="true"] .gcm-otp-channel-options{
  opacity:.72;
}
@media (max-width:768px){
  #gcm-app .gim-reference-page--me-profile .gcm-otp-channel-options{
    grid-template-columns:1fr;
  }
}
@media (max-width:430px){
  #gcm-app .gim-reference-page--me-profile .gim-me-otp-preference-form .gim-me-actions{
    align-items:stretch;
  }
  #gcm-app .gim-reference-page--me-profile .gim-me-otp-preference-form .gim-me-actions .button{
    inline-size:100%;
    min-block-size:44px;
  }
}


@media (max-width:760px){
  .gcm-inline-gateway-list,
  .gcm-onboarding-payment-result dl{
    grid-template-columns:minmax(0,1fr);
  }
}
@media (prefers-reduced-motion:reduce){
  .gcm-inline-gateway-option{transition:none;}
}
