/* Shared application layout primitives. */
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Keep visible help and accessible help sourced from the same text. Anchor the
   tooltip to the heading rather than the small ? icon so its hidden box does
   not widen narrow pages and its visible state stays inside the heading. */
.heading-with-help{position:relative}
.help-tooltip{position:static}
.help-tooltip::after{content:attr(aria-label);box-sizing:border-box;left:0;right:auto;top:calc(100% + 8px);bottom:auto;width:min(260px,100%);max-width:calc(100vw - 26px);transform:translateY(-4px)}
.help-tooltip:hover::after,.help-tooltip:focus::after{transform:translateY(0)}

.copy-field{display:flex;align-items:center;gap:8px;width:min(100%,900px)}
.copy-field input{flex:1 1 auto;min-width:0;font-family:var(--cs-mono)}
.copy-field .button{flex:0 0 auto}

.admin-group-list{display:grid;border:1px solid var(--cs-border);border-radius:10px;overflow:hidden;background:var(--cs-surface)}
.admin-group-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--cs-border)}
.admin-group-row:last-child{border-bottom:0}
.admin-group-row.is-selected{background:var(--cs-surface-subtle)}
.admin-group-title{display:flex;align-items:center;gap:10px;min-width:0}
.admin-group-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid var(--cs-border-strong);border-radius:999px;color:var(--cs-indigo);background:#fff;font-weight:750}
.admin-group-summary{min-width:0}
.admin-group-summary strong{display:block}
.admin-group-actions{display:flex;align-items:center;gap:8px}
.group-member-manager{margin-top:16px}
.group-member-picker{position:relative;margin:14px 0 18px;max-width:720px}
.group-member-picker-summary{margin:0 0 8px;color:var(--cs-muted);font-size:13px}
.group-member-picker-search{width:100%}
.group-member-choice-list{display:grid;border:1px solid var(--cs-border);border-radius:10px;overflow:hidden;margin:14px 0}
.group-member-choice-list.is-enhanced{position:absolute;z-index:30;left:0;right:0;top:100%;max-height:300px;overflow-y:auto;margin:6px 0 0;background:#fff;box-shadow:0 12px 28px rgba(31,41,55,.14)}
.group-member-choice-list.is-enhanced[hidden]{display:none}
.group-member-choice{display:flex;align-items:center;gap:12px;padding:11px 13px;border-bottom:1px solid var(--cs-border);cursor:pointer;background:#fff}
.group-member-choice[hidden]{display:none}
.group-member-choice:last-child{border-bottom:0}
.group-member-choice:hover,.group-member-choice:focus-within{background:var(--cs-surface-subtle)}
.group-member-choice:focus-within{outline:2px solid var(--cs-indigo);outline-offset:-2px}
.group-member-choice input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--cs-indigo)}
.group-member-choice-text{min-width:0;display:grid;gap:1px}
.group-member-picker-empty{padding:12px 13px}

.catalog-item[data-row-href]{cursor:pointer}
.catalog-item[data-row-href]:focus-visible{outline:2px solid var(--cs-indigo);outline-offset:-2px}

.access-grant-permissions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
.access-effective-permission{display:grid;justify-items:center;gap:2px}
.access-effective-permission .meta{font-size:10px;line-height:1.1}
.access-grant-permission-action{display:inline-flex;align-items:center;gap:2px;margin:0}
.access-permission-remove{width:26px;height:26px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:999px;background:transparent;color:var(--cs-text-faint);font-size:16px;line-height:1;cursor:pointer}
.access-permission-remove:hover{background:#FFF6F5;color:var(--cs-danger)}
.access-permission-remove:focus-visible{outline:2px solid var(--cs-indigo);outline-offset:1px}

.analytics-surface-nav{margin-top:-8px;margin-bottom:22px}
.provider-action-tabs{margin-top:18px}
.provider-action-tabs .tab-button{gap:8px}
.provider-action-tabs .tab-button .provider-tab-state{font-size:9px}
.provider-action-panel{margin-bottom:0}
.implementation-status{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.badge.attention{background:#FFF6E0;color:#946200}
.badge.ready{background:#EDF4FF;color:#175CD3}
.badge.healthy{background:#EAF8F1;color:#087A4D}
.badge.quiet{background:#EEF1F6;color:#475467}

.provider-restore-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:14px 16px;border:1px solid var(--cs-border);border-radius:10px;background:var(--cs-surface-subtle)}
.provider-restore-action p{margin:4px 0 0}
.provider-restore-action form{flex:0 0 auto}

.distribution-exception-panel{margin:16px 0;padding:16px 18px;border:1px solid #F2D999;border-radius:10px;background:#FFFCF5}
.distribution-exception-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.distribution-exception-heading .eyebrow{margin-bottom:3px}
.distribution-exception-heading h4{margin:0}
.distribution-exception-scope{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 12px;margin-bottom:14px;border:1px solid #F2E4BC;border-radius:8px;background:#fff;font-size:13px;color:var(--cs-muted)}
.distribution-exception-scope span{display:flex;gap:5px;align-items:baseline}
.distribution-exception-scope strong{color:var(--cs-ink)}
.distribution-exception-form{display:grid;gap:8px}
.distribution-exception-form textarea{width:100%;min-height:92px;resize:vertical}
.distribution-exception-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px}
.distribution-exception-actions .meta{max-width:560px}

.mobile-nav-strip{display:none}

@media(max-width:860px){
  .grid.two{grid-template-columns:1fr}
  .copy-field{align-items:stretch}
  .admin-group-row{grid-template-columns:minmax(0,1fr) auto}
  .admin-group-actions{grid-column:1/-1}
  .access-grant-permissions{justify-content:flex-start}
  .access-effective-permission{justify-items:start}
  .provider-restore-action{align-items:stretch;flex-direction:column}
  .provider-restore-action .button{width:100%}
  .distribution-exception-actions{align-items:stretch;flex-direction:column}
  .distribution-exception-actions .button{width:100%}
  .mobile-bar{flex-wrap:wrap;padding:8px 12px 0}
  .mobile-links{margin-left:auto}
  .mobile-nav-strip{display:flex;flex:0 0 calc(100% + 24px);width:calc(100% + 24px);align-items:center;gap:2px;margin:8px -12px 0;padding:0 8px;overflow-x:auto;border-top:1px solid rgba(255,255,255,.08);scrollbar-width:none}
  .mobile-nav-strip::-webkit-scrollbar{display:none}
  .mobile-nav-strip a,.mobile-nav-strip button{min-height:38px;display:inline-flex;align-items:center;flex:0 0 auto;padding:0 9px;border:0;background:transparent;color:#C8CBD4;text-decoration:none;font-size:12px;font-weight:620;white-space:nowrap;cursor:pointer}
  .mobile-nav-strip a:hover,.mobile-nav-strip button:hover,.mobile-nav-strip a.is-active{color:#fff}
  .mobile-nav-strip a.is-active{box-shadow:inset 0 -2px 0 var(--cs-indigo-light)}
  .mobile-nav-strip form{margin:0}
}
