.akk-ai-launcher {
  position: fixed;
  bottom: max(14px, calc(var(--cookie-panel-space, 0px) + 14px));
  z-index: 55;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: min(230px, calc(100vw - 28px));
  min-height: 42px;
  border: 1px solid rgba(18, 168, 157, .42);
  border-radius: 10px;
  padding: 9px 11px;
  background: #0d766f;
  box-shadow: 0 10px 28px rgba(45, 41, 53, .22);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
  text-align: left;
  cursor: pointer;
}
.akk-ai-launcher--left { left: max(14px, env(safe-area-inset-left)); }
.akk-ai-launcher--right { right: max(14px, env(safe-area-inset-right)); }
.akk-ai-launcher__label { min-width: 0; }
.akk-ai-launcher__arrow { flex: 0 0 auto; font-size: 18px; line-height: 1; }
.akk-ai-launcher:focus-visible,.akk-ai-close:focus-visible,.akk-ai-tab:focus-visible,.akk-ai-quick button:focus-visible,.akk-ai-send:focus-visible,.akk-ai-feedback button:focus-visible { outline: 3px solid #f0ba64; outline-offset: 2px; }
.akk-ai-launcher:hover { background: #095e59; }
.akk-ai-dialog[hidden] { display: none !important; }
.akk-ai-dialog { position: fixed; inset: 0; z-index: 75; display: flex; align-items: flex-end; justify-content: flex-end; padding: 18px; background: rgba(45, 41, 53, .28); }
.akk-ai-panel { width: min(440px, 100%); max-height: min(720px, calc(100dvh - 36px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line, #e7d8cb); border-radius: 14px; background: #fffdf9; box-shadow: 0 24px 70px rgba(45, 41, 53, .28); color: var(--ink, #2d2935); }
.akk-ai-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 18px 12px; border-bottom: 1px solid var(--line, #e7d8cb); }
.akk-ai-head h2 { margin: 0; font-size: 20px; line-height: 1.2; }
.akk-ai-head p { margin: 4px 0 0; color: var(--muted, #67616c); font-size: 13px; line-height: 1.35; }
.akk-ai-close { flex: 0 0 auto; min-width: 36px; min-height: 36px; border: 1px solid var(--line, #e7d8cb); border-radius: 50%; background: #fff8f1; color: inherit; font: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.akk-ai-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 18px; }
.akk-ai-tab { min-height: 42px; border: 1px solid var(--line, #e7d8cb); border-radius: 8px; background: #fff8f1; color: inherit; font: inherit; font-weight: 800; cursor: pointer; }
.akk-ai-tab[aria-selected="true"] { background: #0d766f; border-color: #0d766f; color: #fff; }
.akk-ai-notice { margin: 0 18px 10px; padding: 10px 12px; border-radius: 8px; background: #f5eee4; color: #4d4752; font-size: 12px; line-height: 1.4; }
.akk-ai-body { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.akk-ai-thread { min-height: 130px; max-height: 280px; overflow-y: auto; padding: 4px 18px 12px; }
.akk-ai-message { margin-top: 10px; padding: 10px 12px; border: 1px solid var(--line, #e7d8cb); border-radius: 10px; background: #fff8f1; white-space: pre-wrap; font-size: 14px; line-height: 1.45; }
.akk-ai-message[data-role="user"] { border-color: rgba(18, 168, 157, .35); background: rgba(218, 247, 244, .76); }
.akk-ai-message strong { display: block; margin-bottom: 3px; font-size: 12px; }
.akk-ai-sources,.akk-ai-feedback { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.akk-ai-sources a,.akk-ai-feedback button { border: 1px solid rgba(18, 168, 157, .3); border-radius: 999px; background: #fff; color: #0d766f; padding: 5px 9px; font: inherit; font-size: 12px; font-weight: 700; text-decoration: none; cursor: pointer; }
.akk-ai-guidance-card { margin: 0 18px 10px; padding: 12px; border: 1px solid rgba(18, 168, 157, .3); border-radius: 9px; background: rgba(218, 247, 244, .55); font-size: 13px; line-height: 1.45; }
.akk-ai-guidance-card p { margin: 4px 0; }
.akk-ai-quick { margin: 0 18px 10px; display: flex; flex-wrap: wrap; gap: 7px; border: 0; padding: 0; background: transparent; }
.akk-ai-quick button { border: 1px solid var(--line, #e7d8cb); border-radius: 999px; padding: 6px 9px; background: #fff8f1; color: inherit; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.akk-ai-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px 18px 18px; border-top: 1px solid var(--line, #e7d8cb); }
.akk-ai-form textarea { min-height: 48px; max-height: 120px; resize: vertical; border: 1px solid var(--line, #e7d8cb); border-radius: 8px; padding: 10px; color: inherit; background: #fff; font: inherit; line-height: 1.35; }
.akk-ai-send { align-self: end; min-height: 44px; border: 1px solid #0d766f; border-radius: 8px; padding: 9px 12px; background: #0d766f; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.akk-ai-send:disabled { cursor: wait; opacity: .65; }
.akk-ai-login { margin: 0 18px 10px; padding: 12px; border: 1px solid var(--line, #e7d8cb); border-radius: 8px; background: #fff8f1; font-size: 14px; line-height: 1.45; }
.akk-ai-login a { color: #0d766f; font-weight: 800; }

@media (max-width: 479px) {
  .akk-ai-dialog { padding: 0; align-items: flex-end; }
  .akk-ai-panel { width: 100%; max-height: min(760px, 92dvh); border-radius: 14px 14px 0 0; }
  .akk-ai-launcher { min-height: 40px; max-width: calc(50vw - 16px); padding: 8px 9px; font-size: 11px; }
  .akk-ai-launcher--left { left: 8px; }
  .akk-ai-launcher--right { right: 8px; }
  .akk-ai-launcher__arrow { font-size: 16px; }
  .akk-ai-head { padding: 14px 14px 10px; }
  .akk-ai-tabs { padding: 10px 14px; }
  .akk-ai-notice,.akk-ai-guidance-card,.akk-ai-quick { margin-left: 14px; margin-right: 14px; }
  .akk-ai-thread { padding-left: 14px; padding-right: 14px; max-height: 240px; }
  .akk-ai-form { padding: 10px 14px 14px; }
}
