/* Group layout belongs here; no screen sets its own button colors or scale. */
@layer cm-controls{
 html{scrollbar-gutter:stable;}
 html.cm-scroll-locked,html.cm-scroll-locked body{overflow:hidden!important;overscroll-behavior:none;}
 .modal.show,.modal.show>.sheet,dialog[open],.cm-user-panel.open,.cm-user-panel.open .cm-panel-body,#app.cm-sidebar-open #cmSidebarNav{overscroll-behavior:contain;}

 .cm-audit-detail-list{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(160px,1.3fr);gap:8px 12px;margin:12px 0;min-width:260px;}
 .cm-audit-detail-list dt{font-weight:600;color:var(--cm-ui-muted);}
 .cm-audit-detail-list dd{margin:0;color:var(--cm-ui-text);overflow-wrap:anywhere;}
 .cm-audit-detail-list dd>div+div{margin-top:4px;}

 .cm-history-footer{margin-top:20px;}
 .cm-history-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
 .cm-history-title-group{flex:1 1 280px;min-width:0;}
 .cm-history-title-group h3{margin:0!important;}
 #cmCredentialHistoryProfessional{margin:8px 0 0;color:var(--cm-ui-muted)!important;font-size:15px;}
 .cm-history-event{background:var(--cm-ui-field)!important;box-shadow:none;border-color:var(--cm-ui-border)!important;}
 .cm-history-event[open]{border-color:var(--cm-ui-primary)!important;}
 .cm-history-event-summary{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;list-style:none;}
 .cm-history-event-summary::-webkit-details-marker{display:none;}
 .cm-history-event-title{display:block;color:var(--cm-ui-text);font-size:16px;line-height:1.4;overflow-wrap:anywhere;}
 .cm-history-event-meta{display:block;color:var(--cm-ui-muted)!important;margin-top:5px;overflow-wrap:anywhere;}
 .cm-history-chevron{width:16px;height:16px;color:var(--cm-ui-primary);}
 .cm-history-event[open]>.cm-history-event-summary>.cm-history-chevron{transform:rotate(90deg);}
 .cm-history-event-action{white-space:normal;text-align:center;}
 .cm-history-neutral{background:var(--cm-ui-secondary);color:var(--cm-ui-muted);}
 .cm-history-event>h4{font-size:13px;font-weight:600;color:var(--cm-ui-muted)!important;margin:16px 0 8px;}
 .cm-history-snapshot{background:var(--cm-ui-detail-bg)!important;box-shadow:none;border-color:var(--cm-ui-border);border-left:3px solid var(--cm-ui-primary);padding:12px;}
 @media(max-width:480px){.cm-history-event-summary{grid-template-columns:18px minmax(0,1fr);}.cm-history-event-action{grid-column:2;justify-self:start;}}

 [data-cm-context="readonly"] [data-cm-context-edit],.cm-context-value[hidden]{display:none!important;}
 #app>main .cm-client-bar[data-cm-context="readonly"]{grid-template-columns:minmax(0,1fr)!important;}
 .cm-context-value{display:block;color:var(--cm-ui-text);font-size:16px;line-height:1.5;overflow-wrap:anywhere;grid-column:1/-1;grid-row:2;}

 [data-cm-layout="actions"]{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:var(--cm-ui-action-gap)!important;justify-content:flex-end;}
 [data-cm-layout="actions"]>[data-cm-control="action"]{flex:0 1 auto!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;margin:0!important;}
 [data-cm-layout="equal"]{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))!important;gap:var(--cm-ui-action-gap)!important;align-items:stretch!important;}
 [data-cm-layout="equal"]>[data-cm-control="action"]{width:100%!important;min-width:0!important;height:100%!important;margin:0!important;}
 [data-cm-layout="mixed"]{gap:var(--cm-ui-action-gap)!important;align-items:flex-end!important;flex-wrap:wrap!important;}
 [data-cm-layout="mixed"]>[data-cm-control="action"]{margin:0!important;}
 [data-cm-layout="form"]{display:grid!important;gap:var(--cm-ui-form-gap)!important;}
 [data-cm-layout="form"]>[data-cm-control="action"]{justify-self:end!important;width:auto!important;margin:0!important;}
 [data-cm-layout="file"]{display:flex!important;align-items:center!important;gap:var(--cm-ui-action-gap)!important;flex-wrap:wrap!important;}
 [data-cm-layout="file"]>[data-cm-control="action"]{margin:0!important;flex:0 0 auto!important;}
 [data-cm-layout][hidden]{display:none!important;}
 [data-cm-layout][data-cm-layout-hidden="true"]{display:none!important;}
 .grid>.cm-action-row{grid-column:1/-1;}
 .cm-document-actions{justify-content:flex-start!important;}
 .cm-credential-pager{justify-content:center!important;align-items:center!important;}
 #cmUserAccessModal .cm-user-mode-actions{justify-content:flex-end!important;}
 #cmProfileEditForm .cm-profile-edit-actions>[data-cm-control="action"]{white-space:nowrap!important;overflow-wrap:normal!important;}
 .cm-client-bar{column-gap:var(--cm-ui-action-gap)!important;}
 #loginScreen .login-card>[data-cm-control="action"]{width:100%!important;}
 [data-cm-density="compact"]>[data-cm-control="action"]{font-size:13px!important;padding:6px 10px!important;white-space:nowrap!important;min-height:44px!important;}
 #people .cm-professional-statuses{align-items:stretch!important;width:128px;gap:4px!important;}
 #people .cm-professional-statuses>.badge,#people .cm-professional-statuses>.cm-requirement-trigger{width:100%!important;box-sizing:border-box;}
 #people .cm-requirement-trigger>.cm-compact-status{width:100%;box-sizing:border-box;}
 #people .cm-professional-row{grid-template-columns:minmax(0,1fr) 128px minmax(0,1.7fr)!important;}
 #people .cm-professional-tools{justify-content:flex-end!important;align-items:center!important;}
 .cm-period-group{width:fit-content;max-width:100%;margin-top:24px;}
 .cm-period-group[hidden]{display:none!important;}
 .cm-period-group>.cm-glass-filter{justify-content:center!important;}
 .cm-period-caption{text-align:center;margin:10px 0 0;}
 .cm-status-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
 .cm-status-list-body{display:grid;gap:12px;margin:16px 0;}
 .cm-status-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
 @media(max-width:1050px){#people .cm-professional-row{grid-template-columns:minmax(0,1fr) 128px!important;}#people .cm-professional-tools{grid-column:1/-1;}}
 @media(max-width:550px){#people .cm-professional-tools{justify-content:flex-start!important;}}
 @media(max-width:480px){
  .cm-permission-actions{grid-template-columns:1fr!important;}
  .cm-access-actions>[data-cm-control="action"],.cm-org-actions>[data-cm-control="action"],.cm-client-form-actions>[data-cm-control="action"],.cm-mfa-actions>[data-cm-control="action"]{flex:1 1 120px!important;}
 }
}

@layer cm-controls{#cmMessageCommentLabel[hidden]{display:none!important;}#cmMessageCommentLabel:not([hidden]){display:grid;gap:var(--cm-ui-label-gap);margin-bottom:var(--cm-ui-form-gap);color:var(--cm-ui-text);}#cmMessageComment{width:100%;resize:vertical;}#cmMessageCommentError:empty{display:none;}}

@layer cm-controls{.cm-catalog-warning{color:var(--cm-icon-yellow,#ffd08b)!important;}.cm-catalog-warning[hidden]{display:none!important;}}

@layer cm-controls{.cm-message-detail-text{white-space:pre-line;overflow-wrap:anywhere;}}

@layer cm-controls{
 #cmUserPanelContent.cm-permissions-view{--cm-permission-inset:16px;padding-inline:var(--cm-permission-inset)!important;}
 #cmUserPanelContent .cm-permission-actions{width:calc(100% + var(--cm-permission-inset)*2)!important;margin-inline:calc(var(--cm-permission-inset)*-1)!important;justify-content:space-evenly!important;gap:var(--cm-ui-action-gap) 0!important;}
}

@layer cm-controls{
 .cm-file-control[data-cm-layout="file"]{flex-wrap:nowrap!important;justify-content:flex-start!important;padding-inline:var(--cm-ui-action-gap)!important;}
 .cm-file-control>.cm-file-name{flex:0 1 auto!important;min-width:0!important;}
 #cmProfileEditForm .cm-profile-edit-actions{justify-content:space-evenly!important;gap:0!important;}
}

@layer cm-controls{
 #loginScreen #cmForgotPassword{margin-block-start:var(--cm-ui-action-gap,12px)!important;}
}

@layer cm-controls{
 #cmUserPanelContent .cm-profile-view-actions{display:flex!important;width:100%;justify-content:space-evenly!important;gap:var(--cm-ui-action-gap) 0!important;flex-wrap:wrap!important;margin-top:var(--cm-ui-action-gap)!important;}
 #cmUserPanelContent .cm-profile-view-actions>[data-cm-control="action"]{flex:0 1 auto!important;}
}

@layer cm-controls{
 #app>main #cmClientBar[data-cm-context="editable"]{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:var(--cm-ui-action-gap)!important;}
 #cmClientBar[data-cm-context="editable"] .cm-client-picker{display:flex!important;flex-direction:column;align-items:center;flex:1 0 100%;min-width:0;gap:8px;text-align:center;}
 #cmClientBar[data-cm-context="editable"] #cmClientSelect{width:100%!important;max-width:640px;min-width:0;}
 #cmClientBar[data-cm-context="editable"] #cmClientSummary{margin:0!important;max-width:640px;line-height:1.5;}
}

/* Keyboard focus for clickable records that are not native buttons. */
@layer cm-controls {
 .person[role="button"]:focus-visible,a.btn:focus-visible {
  outline:3px solid var(--cm-ui-focus, #9de9ed);outline-offset:3px;
 }
}

/* AUDIT-MOBILE-01: keep audit filters and export actions from colliding on phones.
   Scoped to Audit Trail: desktop and Reports layouts remain unchanged. */
@layer cm-controls {
  @media (max-width: 700px) {
    #cmAuditSection .cm-report-controls {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      align-items: stretch !important;
      gap: 12px !important;
      width: 100%;
      max-width: 100%;
    }
    #cmAuditSection .cm-report-controls > label {
      display: grid !important;
      min-width: 0 !important;
      max-width: 100%;
      width: 100%;
      margin: 0 !important;
    }
    #cmAuditSection .cm-report-controls > label > :is(input, select) {
      min-width: 0 !important;
      max-width: 100% !important;
      width: 100% !important;
    }
    #cmAuditSection .cm-report-controls > button {
      display: inline-flex !important;
      justify-content: center !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      min-height: 44px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
    }
  }
}

/* One content-to-footer distance for cards and dialogs, including grid forms. */
@layer cm-controls{
 [data-cm-footer="true"]{margin-block-start:calc(var(--cm-ui-action-content-space,16px) - var(--cm-footer-parent-gap,0px))!important;padding-block-start:0!important;}
 :has(+ [data-cm-footer="true"]){margin-block-end:0!important;}
}

@layer cm-controls{
 #singleCredentialContent .cm-credential-actions>.cm-credential-history{margin-inline-end:auto!important;}
}

@layer cm-controls{
 #cmCredentialsSection>.toolbar{display:grid!important;grid-template-columns:minmax(180px,1.2fr) minmax(170px,1fr) minmax(100px,.65fr) auto auto!important;align-items:center!important;}
 #cmCredentialsSection>.toolbar>:is(input,select){width:100%!important;max-width:none!important;min-width:0!important;}
 @media(max-width:1000px){#cmCredentialsSection>.toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
 @media(max-width:540px){#cmCredentialsSection>.toolbar{grid-template-columns:minmax(0,1fr)!important;}}
}


/* Compact, shared sidebar tooltips. */
.cm-crystal-tooltip{padding:4px 7px;font-size:11px;line-height:1.25;border-radius:6px;max-width:min(200px,calc(100vw - 16px));box-shadow:0 3px 10px #00192140;}

/* Gentle entrance for compact sidebar tooltips. */
@keyframes cm-sidebar-tooltip-enter{
 from{opacity:0;transform:translateY(3px);}
 to{opacity:1;transform:translateY(0);}
}
.cm-crystal-tooltip:not([hidden]){animation:cm-sidebar-tooltip-enter 140ms ease-out both;}
@media(prefers-reduced-motion:reduce){
 .cm-crystal-tooltip:not([hidden]){animation:none;}
}

/* Fit the credential report preview without dropping any columns. */
#cmReportTable[data-report-type="credentials"] .cm-data-table{table-layout:fixed;width:100%;min-width:820px;}
#cmReportTable[data-report-type="credentials"] .cm-data-table th,
#cmReportTable[data-report-type="credentials"] .cm-data-table td{padding:8px 6px;white-space:normal;overflow-wrap:anywhere;}
#cmReportTable[data-report-type="credentials"] th:nth-child(1){width:6%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(2){width:9%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(3){width:12%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(4){width:8%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(5),
#cmReportTable[data-report-type="credentials"] th:nth-child(6){width:9%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(7){width:8%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(8){width:7%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(9){width:14%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(10){width:10%;}
#cmReportTable[data-report-type="credentials"] th:nth-child(11){width:8%;}
#cmReportTable[data-report-type="credentials"] td:nth-child(5),
#cmReportTable[data-report-type="credentials"] td:nth-child(6){white-space:nowrap;overflow-wrap:normal;}

@layer cm-controls{
 #cmAssignClientActions{justify-content:flex-start!important;padding-block-end:var(--cm-ui-action-content-space);}
}
