/* Shared modernization layer for AI surfaces rendered in page content and
 * ui-bootstrap dialogs. All values follow the workspace theme with safe
 * fallbacks for isolated fixtures and older host pages. */
@media screen {
  .ai-panel,
  .ai-tools-modal,
  .ai-archive-batch-modal .modal-content,
  .ai-summary-modal .modal-content,
  .ai-document-type-settings,
  .voice-search-panel {
    --ai-brand:var(--sx-brand,#176b59);
    --ai-brand-strong:var(--sx-brand-strong,#105446);
    --ai-brand-soft:var(--sx-brand-soft,#e5f1ed);
    --ai-surface:var(--sx-surface,#fff);
    --ai-surface-muted:var(--sx-surface-muted,#f8faf8);
    --ai-ink:var(--sx-ink,#19312c);
    --ai-muted:var(--sx-muted,#53675f);
    --ai-border:var(--sx-border,#dce5df);
    --ai-focus:var(--sx-focus,#167555);
    color:var(--ai-ink);
  }

  .ai-panel.panel,
  .voice-search-panel,
  .ai-archive-batch-modal .modal-content,
  .ai-summary-modal .modal-content,
  .ai-tools-window .modal-content {
    border-color:var(--ai-border,var(--sx-border,#dce5df));
    border-radius:var(--sx-radius-lg,12px);
    background:var(--ai-surface,var(--sx-surface,#fff));
    box-shadow:var(--sx-shadow,0 8px 24px rgba(25,49,41,.1));
  }

  .ai-panel .panel-heading,
  .voice-search-panel .panel-heading,
  .ai-tools-modal .modal-header,
  .ai-archive-batch-modal .modal-header {
    border-color:var(--ai-border,var(--sx-border,#dce5df));
    background:var(--ai-surface-muted,var(--sx-surface-muted,#f8faf8));
    color:var(--ai-ink,var(--sx-ink,#19312c));
  }

  .ai-summary-modal .modal-header,
  .ai-summary-modal .modal-footer {
    border-color:var(--sx-border,#dce5df);
    background:var(--sx-surface-muted,#f8faf8);
    color:var(--sx-ink,#19312c);
  }

  .ai-summary-modal .modal-body {
    background:var(--sx-surface,#fff);
    color:var(--sx-ink,#19312c);
  }

  .ai-tools-modal .modal-header > .close,
  .ai-archive-batch-modal .modal-header > .close {
    float:inline-end;
    margin-inline-start:12px;
  }

  .ai-panel .panel-heading > i,
  .ai-tools-modal .modal-title > i,
  .ai-document-type-settings h2 > i {
    color:var(--ai-brand);
  }

  .ai-panel .well,
  .ai-panel .list-group-item,
  .ai-tools-modal .well,
  .ai-archive-batch-modal .list-group-item,
  .ai-document-type-settings .panel {
    border-color:var(--ai-border);
    background:var(--ai-surface-muted);
    color:var(--ai-ink);
  }

  .ai-panel .btn-info,
  .ai-panel .btn-primary,
  .ai-tools-modal .btn-primary,
  .ai-archive-batch-modal .btn-primary,
  .ai-summary-modal .btn-primary,
  .ai-document-type-settings .btn-primary {
    border-color:var(--ai-brand);
    background:var(--ai-brand);
    color:#fff;
  }

  .ai-panel .btn-info:hover,
  .ai-panel .btn-info:focus,
  .ai-panel .btn-primary:hover,
  .ai-panel .btn-primary:focus,
  .ai-tools-modal .btn-primary:hover,
  .ai-tools-modal .btn-primary:focus,
  .ai-archive-batch-modal .btn-primary:hover,
  .ai-archive-batch-modal .btn-primary:focus,
  .ai-summary-modal .btn-primary:hover,
  .ai-summary-modal .btn-primary:focus,
  .ai-document-type-settings .btn-primary:hover,
  .ai-document-type-settings .btn-primary:focus {
    border-color:var(--ai-brand-strong);
    background:var(--ai-brand-strong);
  }

  .ai-panel :is(button,input,select,textarea,a):focus-visible,
  .ai-tools-modal :is(button,input,select,textarea,a):focus-visible,
  .ai-archive-batch-modal :is(button,input,select,textarea,a):focus-visible,
  .ai-summary-modal :is(button,input,select,textarea,a):focus-visible,
  .ai-document-type-settings :is(button,input,select,textarea,a):focus-visible,
  .voice-search :is(button,input,select,textarea,a):focus-visible {
    outline:2px solid var(--ai-focus,var(--sx-focus,#167555));
    outline-offset:2px;
  }

  .ai-panel .text-muted,
  .ai-tools-modal .text-muted,
  .ai-archive-batch-modal .text-muted,
  .ai-document-type-settings .text-muted,
  .voice-search-panel .text-muted {
    color:var(--ai-muted) !important;
  }

  .ai-search-panel .form-inline:not(.ng-hide),
  .ai-panel .form-inline:not(.ng-hide) {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
  }

  .ai-search-panel .form-inline .form-control,
  .ai-panel .form-inline .form-control {
    max-width:100%;
  }

  .ai-document-type-settings > header,
  .ai-document-type-settings .tab-content {
    border-color:var(--ai-border);
    background:var(--ai-surface);
  }

  .ai-document-type-settings .nav-tabs > li.active > a,
  .ai-document-type-settings .nav-tabs > li.active > a:hover,
  .ai-document-type-settings .nav-tabs > li.active > a:focus {
    border-color:var(--ai-border) var(--ai-border) var(--ai-surface);
    background:var(--ai-surface);
    color:var(--ai-brand-strong);
  }

  .sx-documents-primary-actions .sx-documents-ai-archive:not(.ng-hide),
  .sx-documents-selection-tools .sx-documents-ai-assistant:not(.ng-hide),
  .sx-documents-selection-tools .ai-assistant-entry:not(.ng-hide) {
    display:inline-flex;
    align-items:center;
    min-width:0;
  }
}

@media screen and (max-width:767px) {
  .ai-panel .form-inline > *,
  .ai-search-panel .form-inline > * {
    flex:1 1 100%;
    margin-inline:0 !important;
  }
  .ai-panel .form-inline .form-control,
  .ai-search-panel .form-inline .form-control {
    width:100%;
    min-width:0 !important;
  }
  .ai-document-type-settings > tabset,
  .ai-document-type-settings .tab-content {
    width:100%;
  }
}

/* Frequent work: compact controls, predictable disclosure and one native review. */
@media screen {
  :is(.ai-panel,.ai-tools-modal,.ai-assistant-workspace,.ai-archive-workspace,.ai-document-type-settings,.meeting-ai-draft) .btn {
    min-height:40px; padding:9px 14px; line-height:20px; border-radius:8px;
    font-size:13px; font-weight:600; white-space:normal;
  }
  :is(.ai-panel,.ai-tools-modal,.ai-assistant-workspace,.ai-document-type-settings,.meeting-ai-draft) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea).form-control {
    min-height:40px; border-radius:8px; font-size:14px;
  }
  :is(.ai-registration-review,.ai-assistant-task-editor,.ai-assistant-context,.compose-assistant__field-review,.ai-tools-coordinate-fallback,.meeting-ai-draft) > summary {
    min-height:40px; padding:10px 0; cursor:pointer; color:var(--sx-brand-strong,#105446); font-weight:600;
  }
  :is(.ai-registration-review,.ai-assistant-task-editor,.ai-assistant-context,.compose-assistant__field-review,.ai-tools-coordinate-fallback,.meeting-ai-draft) > summary:focus-visible {
    outline:2px solid var(--sx-focus,#167555); outline-offset:3px; border-radius:4px;
  }
  .ai-assistant-start {display:block;}
  .ai-assistant-context > h4 {margin-block:0 12px;}
  .ai-assistant-context textarea {resize:vertical;}
  .ai-assistant-task-editor {margin-block-start:8px;}
  .ai-tools-coordinate-fallback {border-block-start:1px solid var(--sx-border,#dce5df); margin-block:12px;}
  .meeting-ai-draft {margin-block-end:20px; padding:12px 18px; border:1px solid var(--sx-border,#dce5df); border-radius:10px; background:var(--sx-surface-muted,#f8faf8);}
  .meeting-ai-draft > .form-control {margin-block:8px 12px;}
}
@media screen and (max-width:767px) {
  :is(.ai-panel,.ai-tools-modal,.ai-assistant-workspace,.ai-archive-workspace,.ai-document-type-settings,.meeting-ai-draft) .btn {min-height:44px;}
  .ai-tools-modal .form-inline {display:flex; flex-wrap:wrap; gap:8px;}
  .ai-tools-modal .form-inline > * {max-width:100%;}
}
