@media screen {
  .studio-button.coach-ai-trigger,
  .studio-button.coach-ai-generate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
  }

  .studio-button.coach-ai-trigger {
    border-color: #b7cfc2;
    background: #fff;
    color: var(--coach-accent, #125943);
    box-shadow: none;
  }

  .studio-button.coach-ai-trigger:hover:not(:disabled),
  .studio-button.coach-ai-trigger[aria-expanded="true"] {
    border-color: #8daf9e;
    background: #ecf3ef;
    color: var(--coach-accent, #125943);
  }

  .coach-ai-trigger svg, .coach-ai-generate svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
  }

  .coach-ai-panel {
    display: grid;
    max-width: 100%;
    gap: 1rem;
    border: 1px solid #cad8d1;
    border-radius: 11px;
    background: var(--paper, #fff);
    color: var(--ink, #24343d);
    box-shadow: 0 1px 2px #172f3906;
  }

  .coach-ai-panel[hidden], .coach-ai-preview[hidden] { display: none; }

  dialog.coach-ai-panel {
    width: min(760px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    overflow: auto;
    box-shadow: 0 18px 60px #142b3433;
  }

  dialog.coach-ai-panel::backdrop { background: #1528307a; }

  .coach-ai-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: .75rem;
  }

  .coach-ai-heading h2, .coach-ai-preview-heading h3 { margin: .12rem 0; }
  .coach-ai-heading h2 { font-size: 1.2rem; font-weight: 650; }

  .coach-ai-heading p:not(.studio-kicker),
  .coach-ai-summary,
  .coach-ai-review-actions > span {
    margin: .25rem 0 0;
    color: var(--muted, #586973);
    font-size: .86rem;
    line-height: 1.5;
  }

  .coach-ai-mark {
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border: 1px solid #d9e4de;
    border-radius: 7px;
    background: #eef4f0;
    color: var(--coach-accent, #125943);
  }

  .coach-ai-mark svg { width: 19px; height: 19px; }
  .coach-ai-close { min-height: 34px; padding: 5px 10px; font-size: .81rem; }

  .coach-ai-provider {
    margin: 0;
    padding: .65rem .8rem;
    border: 1px solid var(--line, #dce2e5);
    border-radius: 7px;
    background: #f4f7f8;
    color: #425b66;
    font-size: .84rem;
    line-height: 1.5;
  }

  .coach-ai-provider[data-source="local"] { background: #f3f6f4; color: #456052; }
  .coach-ai-form { display: grid; gap: .85rem; }
  .coach-ai-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }

  .coach-ai-preferences {
    min-width: 0;
    margin: 0;
    padding: .65rem .8rem;
    border: 1px solid var(--line, #dce2e5);
    border-radius: 8px;
  }

  .coach-ai-preferences legend {
    padding: 0 .3rem;
    color: var(--ink, #24343d);
    font-size: .84rem;
    font-weight: 600;
  }

  .coach-ai-preferences > div { display: flex; flex-wrap: wrap; gap: .55rem 1rem; }
  .coach-ai-preferences label { display: inline-flex; align-items: center; min-height: 1.75rem; gap: .5rem; font-weight: 450; }

  .coach-ai-preferences input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    min-height: 0;
    margin: 0;
    accent-color: var(--coach-accent, #125943);
  }

  .coach-ai-status { margin: 0; }
  .coach-ai-status:empty { display: none; }
  .coach-ai-panel-header, .coach-ai-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
  .coach-ai-panel-header { justify-content: space-between; }

  .coach-ai-preview {
    display: grid;
    min-width: 0;
    gap: .75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line, #dce2e5);
  }

  .coach-ai-preview-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: .45rem 1rem; }

  .coach-ai-source {
    padding: .25rem .55rem;
    border: 1px solid #d7e1e6;
    border-radius: 5px;
    background: #f0f5f7;
    color: #3e5d6a;
    font-size: .76rem;
    font-weight: 600;
  }

  .coach-ai-source[data-source="local"] { border-color: #d8e3dc; background: #f1f5f2; color: #486054; }
  .coach-ai-rationale { margin: 0; white-space: pre-line; font-size: .9rem; line-height: 1.55; }

  .coach-ai-warnings {
    margin: 0;
    padding: .7rem .7rem .7rem 1.75rem;
    border: 1px solid #eadcc0;
    border-radius: 7px;
    background: #fbf7ee;
    color: #6d542b;
    font-size: .86rem;
  }

  .coach-ai-sessions { display: grid; gap: .5rem; }
  .coach-ai-sessions details { border: 1px solid var(--line, #dce2e5); border-radius: 8px; background: #fafcfc; }
  .coach-ai-sessions summary { padding: .65rem .8rem; cursor: pointer; font-weight: 600; font-size: .9rem; }
  .coach-ai-sessions ul { margin: 0; padding: 0 .8rem .3rem; list-style: none; }

  .coach-ai-sessions li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .25rem .65rem;
    padding: .5rem 0;
    border-top: 1px solid var(--line, #dce2e5);
    font-size: .87rem;
  }

  .coach-ai-sessions small { color: var(--muted, #586973); }
  .coach-ai-preview-heading h3, .coach-ai-sessions li, .coach-ai-rationale { overflow-wrap: anywhere; }

  @media (max-width: 560px) {
    .coach-ai-heading { grid-template-columns: auto minmax(0, 1fr); }
    .coach-ai-close { grid-column: 2; justify-self: start; }
  }
}

@media print {
  .coach-ai-panel, .coach-ai-trigger { display: none !important; }
}
