/* DAC v1.3.3 selective UI capabilities
   Final shared polish layer. Low-specificity rules only; page components remain authoritative. */
@layer dac-system {
  :root {
    --dac-control-height:44px;
    --dac-control-radius:11px;
    --dac-focus-ring:0 0 0 3px rgba(37,99,235,.16);
    --dac-popover-shadow:0 18px 46px rgba(7,26,59,.17);
    --dac-soft-shadow:0 8px 26px rgba(7,26,59,.07);
  }

  /* Layout resilience -------------------------------------------------- */
  :where(.container,.dashboard-main,.dashboard-content,.panel,.modal-card,.drawer,.drawer-body,.section-toolbar,.panel-head,.topbar-actions,.public-nav,.public-nav__primary,.public-nav__tools,.footer-grid,.footer-bottom,.footer-action-panel,.article-layout,.network-v1-wrap){min-width:0}
  :where(.form-grid,.detail-grid,.case-detail-grid,.cards,.feature-grid,.mission-grid,.trust-feature-grid,.support-path-grid,.privacy-record-grid,.panel-grid-even,.guide-card-grid,.kpi-grid,.network-division-grid,.stakeholder-grid,.stakeholder-home-grid,.network-role-cards,.jurisdiction-grid)>*{min-width:0}
  :where(main,section,article,.panel,.card,.detail,.detail-box,.notice,.empty-state) :where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,strong,span,a,code){overflow-wrap:break-word}
  :where(img,video,canvas,svg){max-width:100%}
  :where(section,[id]){scroll-margin-top:118px}

  /* Buttons and action groups ----------------------------------------- */
  :where(.btn,.social-btn,.tool-btn,.icon-button,.dashboard-menu-btn,.mobile-nav-toggle){align-items:center;justify-content:center;line-height:1.15}
  :where(.btn,.social-btn,.tool-btn){max-width:100%}
  :where(.inline-actions,.table-actions,.drawer-actions,.topbar-actions,.hero-actions,.public-cta-actions,.dashboard-welcome-actions,.footer-action-buttons){min-width:0;flex-wrap:wrap}
  :where(.inline-actions,.table-actions,.drawer-actions)>*{min-width:0}
  :where(button,.btn,[role="button"]):disabled,
  :where(button,.btn,[role="button"])[aria-disabled="true"]{cursor:not-allowed;filter:saturate(.72);opacity:.58}
  :where(.btn,.social-btn,.tool-btn,.icon-button,.dashboard-menu-btn,.mobile-nav-toggle):focus-visible{outline:0;box-shadow:var(--dac-focus-ring)}

  /* Form consistency --------------------------------------------------- */
  :where(.field,.control-group){min-width:0}
  .field>label{display:flex;align-items:baseline;gap:5px;max-width:100%;margin-bottom:6px;color:#263a57;font-weight:850;line-height:1.3}
  .field :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
  :where(input.control,select.control,textarea.control){min-height:var(--dac-control-height);border-radius:var(--dac-control-radius);transition:border-color .15s,box-shadow .15s,background .15s}
  .field textarea{min-height:112px;resize:vertical}
  .field :where(input,select,textarea)::placeholder{color:#8a97a8;opacity:1}
  .field :where(input,select,textarea):focus-visible{outline:0;border-color:#6c8fc8;box-shadow:var(--dac-focus-ring)}
  .field :where(input,select,textarea)[aria-invalid="true"],
  .field.is-invalid :where(input,select,textarea),
  .is-invalid :where(input,select,textarea){border-color:#cf4d55;background:#fffafb;box-shadow:0 0 0 3px rgba(207,77,85,.09)}
  .field-error{display:block;margin-top:5px;color:#a32b34;font-size:.68rem;font-weight:750;line-height:1.4}
  .field-error:empty{display:none}
  .hint,.field-help{line-height:1.48}
  fieldset{min-width:0;margin:0;padding:0;border:0}
  legend{max-width:100%;padding:0}
  input[type="checkbox"],input[type="radio"]{accent-color:var(--red)}
  input[type="file"]{max-width:100%}

  /* Panels, cards and content boxes ----------------------------------- */
  :where(.panel,.detail,.detail-box,.empty,.empty-state,.notice){isolation:isolate}
  :where(.panel-head,.section-toolbar,.section-heading){min-width:0;flex-wrap:wrap}
  :where(.panel-head,.section-toolbar,.section-heading)>:first-child{min-width:0;flex:1 1 280px}
  :where(.panel-head,.section-toolbar,.section-heading)>:last-child:not(:first-child){max-width:100%}
  .empty,.empty-state{display:grid;place-items:center;min-height:104px;line-height:1.5}
  .empty-state :where(.btn,a.btn){margin-top:12px}
  .notice a{font-weight:850;text-underline-offset:2px}
  [data-dac-card-interactive="true"]{transition:border-color .15s,box-shadow .15s,transform .15s}
  @media(hover:hover) and (pointer:fine){
    [data-dac-card-interactive="true"]:hover{border-color:#c7d3e0;box-shadow:var(--dac-soft-shadow)}
  }

  /* Scrollable data ---------------------------------------------------- */
  :where(.table-wrap,.review-table-wrap){scrollbar-width:thin;scrollbar-color:#a9b7c8 #f4f7fa;outline:0}
  :where(.table-wrap,.review-table-wrap):focus-visible{box-shadow:var(--dac-focus-ring)}
  :where(.table-wrap,.review-table-wrap)[data-dac-scrollable="true"]{background:#fff}
  :where(.table-wrap,.review-table-wrap)[data-dac-scrollable="true"][data-dac-scroll-start="false"]{box-shadow:inset 12px 0 14px -16px rgba(6,31,74,.65)}
  :where(.table-wrap,.review-table-wrap)[data-dac-scrollable="true"][data-dac-scroll-end="false"]{border-inline-end-color:#bdc9d7}
  :where(.table-wrap,.review-table-wrap)[data-dac-scrollable="true"][data-dac-scroll-start="false"][data-dac-scroll-end="false"]{box-shadow:inset 12px 0 14px -16px rgba(6,31,74,.65),inset -12px 0 14px -16px rgba(6,31,74,.65)}
  :where(.data-table,.review-table) :where(td,th){max-width:520px}
  :where(.data-table,.review-table) td{overflow-wrap:anywhere}
  :where(.data-table,.review-table) tbody tr:focus-within{background:#f7faff}

  /* Popovers/dropdowns ------------------------------------------------- */
  details[data-dac-popover]{max-width:100%}
  details[data-dac-popover] > :where(.language-control__menu,.account-menu__panel){max-width:min(320px,calc(100vw - 24px));max-height:min(540px,calc(100dvh - 120px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;box-shadow:var(--dac-popover-shadow)}
  details[data-dac-popover][data-dac-popover-side="left"] > :where(.language-control__menu,.account-menu__panel){left:0;right:auto;inset-inline-start:auto;inset-inline-end:auto}
  details[data-dac-popover][data-dac-popover-side="right"] > :where(.language-control__menu,.account-menu__panel){right:0;left:auto;inset-inline-start:auto;inset-inline-end:auto}
  details[data-dac-popover][data-dac-popover-drop="up"] > :where(.language-control__menu,.account-menu__panel){top:auto;bottom:calc(100% + 9px);inset-block-start:auto}
  details[data-dac-popover] > summary[aria-expanded="true"]{position:relative;z-index:2}

  /* Dashboard header and toolbars ------------------------------------- */
  .dashboard-topbar{column-gap:18px}
  .dashboard-topbar .topbar-actions{min-width:0}
  .dashboard-topbar .topbar-actions>:where(.btn,.topbar-security-link,.language-control,.role-badge){flex:0 1 auto}
  .topbar-security-link{min-height:40px}
  .section-toolbar :where(input,select){max-width:100%}

  /* Modal and drawer stability ---------------------------------------- */
  .modal-card{overscroll-behavior:contain}
  .modal-card :where(h1,h2,h3){overflow-wrap:break-word}
  .drawer{padding-bottom:env(safe-area-inset-bottom)}
  .drawer-head{padding-top:max(15px,env(safe-area-inset-top))}
  .drawer-body{padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .drawer-actions{position:relative}

  /* Horizontal tab/navigation strips --------------------------------- */
  :where(.tabs,.chip-row,.filter-tabs){scroll-snap-type:x proximity}
  :where(.tabs,.chip-row,.filter-tabs)>*{scroll-snap-align:start}

  /* Public header/footer small safeguards ----------------------------- */
  .public-nav__primary>a,.public-nav__tools>.btn,.account-menu__trigger,.language-control__trigger{flex-shrink:0}
  .footer-grid--pro>*{min-width:0}
  .footer-nav-column a,.footer-link-button{overflow-wrap:anywhere}
  .analytics-consent{max-width:100vw}

  /* Responsive behaviour --------------------------------------------- */
  @media(max-width:980px){
    :where(.section-toolbar,.section-heading){align-items:flex-start}
    .dashboard-topbar .topbar-actions{max-width:none}
  }

  @media(max-width:820px){
    :where(.panel-head,.section-toolbar,.section-heading){align-items:stretch;flex-direction:column}
    :where(.panel-head,.section-toolbar,.section-heading)>*{width:100%;max-width:100%}
    :where(.panel-head,.section-toolbar,.section-heading) :where(.inline-actions,.table-actions){justify-content:flex-start}
    details[data-dac-popover] > :where(.language-control__menu,.account-menu__panel){max-height:none}
  }

  @media(max-width:620px){
    :root{--dac-control-height:46px}
    :where(.form-grid,.detail-grid,.case-detail-grid){grid-template-columns:1fr}
    :where(.public-cta-actions,.dashboard-welcome-actions,.footer-action-buttons,.analytics-consent-actions){display:grid;grid-template-columns:1fr;width:100%}
    :where(.public-cta-actions,.dashboard-welcome-actions,.footer-action-buttons,.analytics-consent-actions)>.btn{width:100%}
    .table-actions{justify-content:flex-start}
    .modal-card{overscroll-behavior:contain}
    .drawer{width:100%}
    .drawer-body{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
  }

  @media(max-width:420px){
    .inline-actions{align-items:stretch;flex-direction:column}
    .inline-actions>.btn,.inline-actions>a.btn{width:100%}
    .topbar-identity>span:last-child{overflow:hidden;max-width:160px;text-overflow:ellipsis;white-space:nowrap}
  }

  @media print{
    details[data-dac-popover] > :where(.language-control__menu,.account-menu__panel){display:none!important}
    :where(.table-wrap,.review-table-wrap){overflow:visible!important;border-color:#d8dee7!important;box-shadow:none!important}
    :where(.data-table,.review-table){min-width:0!important}
  }
}
