.business-assistant { display: grid; gap: 1.25rem; color: var(--app-text); }
.business-assistant [hidden] { display: none !important; }
.business-assistant__hero { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 2rem; border-radius: 1rem; color: #fff; background: linear-gradient(120deg, #2352a4, #6049a8); }
.business-assistant__back { color: #e0e9ff; font-size: .85rem; }
.business-assistant__hero h1 { display: flex; align-items: center; gap: .75rem; margin: .8rem 0; font-size: 1.8rem; font-weight: 700; }
.business-assistant__hero p { color: #ecedff; line-height: 1.7; }
.business-assistant__scope { display: inline-block; margin-top: 1rem; padding: .35rem .75rem; border: 1px solid #ffffff45; border-radius: 2rem; font-size: .75rem; }
.business-assistant__period { display: grid; gap: .5rem; flex-shrink: 0; font-size: .85rem; }
.business-assistant__period > div { display: flex; gap: .5rem; }
.business-assistant__period select { padding: .55rem; border-radius: .5rem; background: var(--app-surface); color: var(--app-text); }
.business-assistant__period small { color: #e0e9ff; }
.business-assistant__period-note { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; color: var(--app-text-muted); font-size: .8rem; }
.business-assistant__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.business-assistant__metric, .business-assistant__panel, .business-assistant__chat { border: 1px solid var(--app-border-soft); border-radius: .85rem; background: var(--app-surface); }
.business-assistant__metric { padding: 1.15rem; }
.business-assistant__metric h2 { color: var(--app-text-muted); font-size: .85rem; font-weight: 500; }
.business-assistant__metric p { margin: .5rem 0; display: flex; align-items: baseline; gap: .4rem; }
.business-assistant__metric strong { font-size: 1.9rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.business-assistant__metric small, .business-assistant__metric p span { color: var(--app-text-muted); font-size: .75rem; }
.business-assistant__workspace { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(17rem, 1fr); gap: 1.25rem; align-items: start; }
.business-assistant__chat { overflow: clip; min-width: 0; }
.business-assistant__panel-heading { display: flex; justify-content: space-between; align-items: start; gap: 1rem; padding: 1.25rem; }
.business-assistant__panel-heading h2, .business-assistant__panel h2 { font-size: 1rem; font-weight: 650; }
.business-assistant__panel-heading p, .business-assistant__muted { margin-top: .4rem; font-size: .75rem; line-height: 1.6; color: var(--app-text-muted); }
.business-assistant__text-button { color: var(--app-link); font-size: .8rem; white-space: nowrap; cursor: pointer; }
.business-assistant__prompts { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; padding: 0 1.25rem 1.25rem; }
.business-assistant__prompts button { padding: .7rem .85rem; text-align: left; border: 1px solid var(--app-info-border); border-radius: .5rem; background: var(--app-info-soft); color: var(--app-link); font-size: .8rem; line-height: 1.6; cursor: pointer; }
.business-assistant__prompts button:hover { background: var(--app-accent-soft); }
.business-assistant__messages { min-height: 18rem; max-height: 38rem; overflow-y: auto; padding: 1.25rem; border-block: 1px solid var(--app-border-soft); background: var(--app-canvas-subtle); }
.business-assistant__welcome { display: grid; justify-items: center; gap: .8rem; max-width: 28rem; padding: 3rem 1rem; margin: 0 auto; text-align: center; color: var(--app-text-muted); }
.business-assistant__welcome > svg { width: 2rem; height: 2rem; color: var(--app-link); }
.business-assistant__welcome h3 { font-size: 1rem; font-weight: 600; color: var(--app-text); }
.business-assistant__welcome p { font-size: .85rem; line-height: 1.8; }
.business-assistant__message { padding: 1rem; margin-bottom: 1rem; border-radius: .75rem; background: var(--app-surface); border: 1px solid var(--app-border-soft); overflow-wrap: anywhere; }
.business-assistant__message--user { margin-left: 2rem; background: var(--app-info-soft); border-color: var(--app-info-border); }
.business-assistant__message h3 { font-size: .8rem; font-weight: 650; color: var(--app-link); margin-bottom: .5rem; }
.business-assistant__message p { white-space: pre-wrap; font-size: .9rem; line-height: 1.85; }
.business-assistant__message small { display: block; margin-top: .9rem; color: var(--app-text-muted); font-size: .7rem; }
.business-assistant__status { padding-inline: 1.25rem; font-size: .8rem; color: var(--app-link); }
.business-assistant__status:not(:empty) { padding-block: .75rem; }
.business-assistant__error { margin: .75rem 1.25rem; padding: .75rem; background: var(--app-danger-soft); color: var(--app-danger-text); border-radius: .5rem; font-size: .85rem; line-height: 1.6; }
.business-assistant__composer { position: sticky; bottom: 0; z-index: 2; padding: 1rem 1.25rem; background: var(--app-surface); border-top: 1px solid var(--app-border-soft); }
.business-assistant__composer label { display: block; margin-bottom: .5rem; font-size: .8rem; font-weight: 600; }
.business-assistant__composer textarea { width: 100%; min-height: 5.5rem; resize: vertical; padding: .8rem; border-radius: .5rem; border: 1px solid var(--app-border-strong); background: var(--app-surface); color: var(--app-text); font-size: .85rem; line-height: 1.6; }
.business-assistant :is(button, textarea, select, a):focus-visible { outline: 2px solid var(--app-link); outline-offset: 3px; }
.business-assistant__composer-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .7rem; }
.business-assistant__composer-footer small { font-size: .7rem; color: var(--app-text-muted); }
.business-assistant__button { border: 0; border-radius: .5rem; padding: .65rem 1rem; background: #345ac4; color: #fff; font-size: .85rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.business-assistant__button--light { color: #25457d; background: #fff; }
.business-assistant :disabled { opacity: .5; cursor: not-allowed; }
.business-assistant__disclosure { padding: 0 1.25rem 1.25rem; font-size: .7rem; line-height: 1.7; color: var(--app-text-muted); }
.business-assistant__evidence { display: grid; gap: 1rem; }
.business-assistant__panel { padding: 1.2rem; }
.business-assistant__attention, .business-assistant__ranking { list-style: none; padding: 0; margin: .8rem 0 0; }
.business-assistant__attention a, .business-assistant__ranking li { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; font-size: .8rem; border-bottom: 1px solid var(--app-border-soft); }
.business-assistant__attention li:last-child a, .business-assistant__ranking li:last-child { border: 0; padding-bottom: 0; }
.business-assistant__attention a { color: var(--app-link); }
.business-assistant__ranking span { overflow-wrap: anywhere; }
.business-assistant__ranking strong { white-space: nowrap; font-weight: 600; }
.business-assistant__definitions summary { cursor: pointer; font-size: .85rem; font-weight: 600; }
.business-assistant__definitions ul { margin-top: .75rem; padding-left: 1rem; list-style: disc; font-size: .75rem; line-height: 1.8; color: var(--app-text-muted); }
.business-assistant__definitions li + li { margin-top: .5rem; }
.business-assistant-menu-link { display: flex; gap: .65rem; padding: .75rem; align-items: center; }
.business-assistant-entry { list-style: none; padding: .5rem; margin-bottom: 1.5rem; border: 1px solid var(--app-info-border); border-radius: .85rem; background: var(--app-info-soft); color: var(--app-link); }
.business-assistant-menu-link strong, .business-assistant-menu-link small { display: block; }
.business-assistant-menu-link small { color: var(--app-text-muted); font-size: .75rem; margin-top: .25rem; }
@media (min-width: 1500px) { .business-assistant__metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .business-assistant__workspace { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .business-assistant__hero { align-items: stretch; flex-direction: column; padding: 1.25rem; }
  .business-assistant__hero h1 { font-size: 1.5rem; }
  .business-assistant__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .business-assistant__metric { padding: .85rem; }
  .business-assistant__metric strong { font-size: 1.6rem; }
  .business-assistant__prompts { grid-template-columns: 1fr; }
  .business-assistant__panel-heading, .business-assistant__messages { padding: 1rem; }
}
