:root {
  --kangkang-teal-950: #123f43;
  --kangkang-teal-800: #17636a;
  --kangkang-teal-650: #2b8c91;
  --kangkang-teal-100: #e7f4f3;
  --kangkang-ink: #1c292b;
  --kangkang-muted: #627275;
  --kangkang-line: rgba(24, 99, 106, .2);
  --kangkang-warning: #9a5b16;
}

/* V100: KangKang assists only the care case currently open by the clinician. */
.kangkang-case-panel {
  width: min(430px, calc(100vw - 24px));
}

.kangkang-case-status {
  padding: 8px 12px;
  overflow: hidden;
  border-bottom: 1px solid var(--kangkang-line);
  background: #eef7f6;
  color: var(--kangkang-teal-800);
  font-size: 11px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kangkang-case-content {
  display: grid;
  min-height: 120px;
  padding: 0 13px 13px;
  overflow: auto;
}

.kangkang-case-brief,
.kangkang-case-section,
.kangkang-case-reply,
.kangkang-case-safety,
.kangkang-case-check,
.kangkang-case-empty {
  padding: 12px 0;
  border-bottom: 1px solid rgba(24, 99, 106, .13);
}

.kangkang-case-brief > small,
.kangkang-case-section header small,
.kangkang-case-section > small,
.kangkang-case-reply header small,
.kangkang-case-check small,
.kangkang-case-empty span {
  display: block;
  color: var(--kangkang-muted);
  font-size: 10px;
  line-height: 1.55;
}

.kangkang-case-brief > strong {
  display: block;
  margin: 3px 0 6px;
  color: var(--kangkang-teal-950);
  font-size: 13px;
}

.kangkang-case-brief p,
.kangkang-case-section p,
.kangkang-case-check p {
  margin: 0;
  color: #40585b;
  font-size: 11px;
  line-height: 1.65;
}

.kangkang-case-brief ul,
.kangkang-case-section ul,
.kangkang-case-safety ul {
  margin: 7px 0 0;
  padding-left: 18px;
  color: #40585b;
  font-size: 11px;
  line-height: 1.6;
}

.kangkang-case-section header,
.kangkang-case-reply header {
  display: grid;
  gap: 2px;
  margin-bottom: 7px;
}

.kangkang-case-section header strong,
.kangkang-case-reply header strong,
.kangkang-case-safety > strong,
.kangkang-case-check > strong,
.kangkang-case-empty > strong {
  color: var(--kangkang-teal-950);
  font-size: 11px;
}

.kangkang-case-gaps {
  display: grid;
  gap: 6px;
}

.kangkang-case-gaps button {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 9px;
  border: 1px solid #dce9e8;
  border-radius: 6px;
  background: #f8fbfb;
  color: #31595c;
  text-align: left;
  cursor: pointer;
}

.kangkang-case-gaps button:hover {
  border-color: var(--kangkang-teal-650);
  background: var(--kangkang-teal-100);
}

.kangkang-case-gaps button span {
  display: grid;
  gap: 2px;
}

.kangkang-case-gaps button strong {
  font-size: 11px;
}

.kangkang-case-gaps button small {
  color: var(--kangkang-muted);
  font-size: 9px;
  line-height: 1.45;
}

.kangkang-case-gaps button b {
  font-size: 20px;
  font-weight: 400;
}

.kangkang-case-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 6px;
}

.kangkang-case-chips span {
  padding: 4px 6px;
  border-radius: 6px;
  background: #eaf4f3;
  color: #356f72;
  font-size: 9px;
}

.kangkang-knowledge-references ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
  color: #40585b;
}

.kangkang-knowledge-references li {
  padding-left: 2px;
  font-size: 10px;
  line-height: 1.45;
}

.kangkang-knowledge-references li strong,
.kangkang-knowledge-references li span {
  display: block;
}

.kangkang-knowledge-references li span {
  margin-top: 2px;
  color: var(--kangkang-muted);
  font-size: 9px;
}

.kangkang-case-reply {
  margin: 10px 0 0;
  padding: 10px;
  border: 0;
  border-radius: 7px;
  background: #17636a;
  color: #fff;
}

.kangkang-case-reply header strong,
.kangkang-case-reply header small {
  color: #fff;
}

.kangkang-case-reply header small {
  opacity: .82;
}

.kangkang-case-reply > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.kangkang-case-reply button {
  min-height: 32px;
  padding: 5px 6px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 6px;
  background: rgba(255, 255, 255, .09);
  color: #fff;
  font-size: 10px;
  cursor: pointer;
}

.kangkang-case-safety {
  color: #7b5521;
}

.kangkang-case-check {
  margin-top: 9px;
  padding: 9px;
  border: 1px solid #b8ddd0;
  border-radius: 6px;
  background: #eef8f3;
}

.kangkang-case-check.is-review {
  border-color: #ead098;
  background: #fff9ec;
}

.kangkang-case-check.is-warning {
  border-color: #e2b3aa;
  background: #fff1ee;
}

@media (max-width: 520px) {
  .kangkang-case-panel {
    width: calc(100vw - 16px);
  }

  .kangkang-case-reply > div {
    grid-template-columns: 1fr;
  }
}

.kangkang-copilot,
.kangkang-copilot * {
  box-sizing: border-box;
  letter-spacing: 0;
}

.kangkang-copilot[hidden],
.kangkang-panel[hidden],
.kangkang-view[hidden],
.kangkang-alert[hidden],
.kangkang-notice[hidden],
.kangkang-badge[hidden] {
  display: none !important;
}

.kangkang-copilot {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 2147483500;
  width: 104px;
  height: 112px;
  color: var(--kangkang-ink);
  font-family: inherit;
}

.kangkang-copilot.is-snapping {
  transition: left 220ms cubic-bezier(.22, .8, .28, 1), top 220ms cubic-bezier(.22, .8, .28, 1);
}

.kangkang-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 13px);
  display: flex;
  width: min(420px, calc(100vw - 24px));
  max-height: min(720px, var(--kangkang-panel-max-height, calc(100vh - 126px)));
  flex-direction: column;
  overflow: hidden;
  background: #f9fcfc;
  border: 1px solid rgba(24, 99, 106, .28);
  border-radius: 8px;
  box-shadow: 0 20px 54px rgba(20, 57, 61, .23), 0 4px 14px rgba(20, 57, 61, .1);
  animation: kangkang-panel-enter 170ms ease-out;
}

.kangkang-copilot.panel-below .kangkang-panel {
  top: calc(100% + 13px);
  bottom: auto;
}

.kangkang-copilot.panel-left .kangkang-panel {
  right: auto;
  left: 0;
}

@keyframes kangkang-panel-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.kangkang-header {
  display: grid;
  min-height: 66px;
  grid-template-columns: 58px minmax(0, 1fr) 34px 34px;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  background: #fff;
  border-bottom: 1px solid var(--kangkang-line);
}

.kangkang-header-pet {
  position: relative;
  align-self: stretch;
  overflow: hidden;
}

.kangkang-header-pet img {
  position: absolute;
  right: 1px;
  bottom: -18px;
  width: 58px;
  max-width: none;
  filter: drop-shadow(0 4px 6px rgba(18, 63, 67, .15));
}

.kangkang-header > span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.kangkang-header strong {
  overflow: hidden;
  color: var(--kangkang-teal-950);
  font-size: 14px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kangkang-header small {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--kangkang-muted);
  font-size: 11px;
}

.kangkang-header small i {
  width: 7px;
  height: 7px;
  background: #3e9b70;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(62, 155, 112, .12);
}

.kangkang-icon-button {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  padding: 0;
  color: #49666a;
  background: transparent;
  border: 0;
  border-radius: 6px;
  font: inherit;
  font-size: 20px;
}

.kangkang-icon-button:hover {
  background: var(--kangkang-teal-100);
}

.kangkang-summary {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: baseline;
  gap: 7px;
  padding: 10px 13px;
  background: #eff7f7;
  border-bottom: 1px solid var(--kangkang-line);
}

.kangkang-summary > span {
  color: var(--kangkang-muted);
  font-size: 12px;
}

.kangkang-summary > strong {
  color: var(--kangkang-teal-800);
  font-size: 18px;
}

.kangkang-summary > small {
  overflow: hidden;
  color: #526b6e;
  font-size: 11px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kangkang-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #fff;
  border-bottom: 1px solid var(--kangkang-line);
}

.kangkang-tabs button {
  min-height: 40px;
  padding: 0 6px;
  color: #526a6d;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  font: inherit;
  font-size: 12px;
}

.kangkang-tabs button[aria-selected='true'] {
  color: var(--kangkang-teal-950);
  border-bottom-color: var(--kangkang-teal-650);
  font-weight: 700;
}

.kangkang-alert,
.kangkang-notice {
  margin: 10px 12px 0;
  padding: 8px 10px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.55;
}

.kangkang-alert {
  color: #7d3f28;
  background: #fff4ef;
  border-color: rgba(171, 83, 49, .28);
}

.kangkang-notice {
  color: #205d52;
  background: #eef8f3;
  border-color: rgba(47, 132, 103, .25);
}

.kangkang-view {
  min-height: 0;
  padding: 13px;
  overflow: auto;
}

.kangkang-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.kangkang-field > span {
  color: #435c5f;
  font-size: 11px;
  font-weight: 700;
}

.kangkang-field input,
.kangkang-field select,
.kangkang-field textarea {
  width: 100%;
  min-width: 0;
  padding: 8px 9px;
  color: var(--kangkang-ink);
  background: #fff;
  border: 1px solid rgba(33, 102, 108, .25);
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  line-height: 1.55;
}

.kangkang-field textarea {
  resize: vertical;
}

.kangkang-field input:focus,
.kangkang-field select:focus,
.kangkang-field textarea:focus,
.kangkang-copilot button:focus-visible {
  outline: 3px solid rgba(43, 140, 145, .22);
  outline-offset: 2px;
}

.kangkang-review-context {
  margin-top: 12px;
  border-top: 1px solid var(--kangkang-line);
  border-bottom: 1px solid var(--kangkang-line);
}

.kangkang-review-context dl {
  margin: 0;
}

.kangkang-review-context dl > div {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(24, 99, 106, .11);
}

.kangkang-review-context dl > div:last-child {
  border-bottom: 0;
}

.kangkang-review-context dt {
  color: var(--kangkang-muted);
  font-size: 11px;
}

.kangkang-review-context dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.55;
}

.kangkang-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.kangkang-primary,
.kangkang-secondary {
  min-height: 36px;
  padding: 7px 11px;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}

.kangkang-primary {
  color: #fff;
  background: var(--kangkang-teal-800);
  border: 1px solid var(--kangkang-teal-800);
}

.kangkang-primary:hover:not(:disabled) {
  background: var(--kangkang-teal-950);
}

.kangkang-secondary {
  color: var(--kangkang-teal-800);
  background: #fff;
  border: 1px solid rgba(24, 99, 106, .3);
}

.kangkang-copilot button:disabled,
.kangkang-copilot input:disabled,
.kangkang-copilot textarea:disabled,
.kangkang-copilot select:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.kangkang-gap-section > header,
.kangkang-task-list > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--kangkang-line);
}

.kangkang-gap-section > header strong,
.kangkang-task-list > header strong {
  color: var(--kangkang-teal-950);
  font-size: 13px;
}

.kangkang-gap-section > header span,
.kangkang-task-list > header span {
  color: var(--kangkang-muted);
  font-size: 11px;
}

.kangkang-gap-list > div,
.kangkang-task-list > div:not(.kangkang-empty) {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(24, 99, 106, .12);
}

.kangkang-gap-list strong,
.kangkang-task-list strong {
  font-size: 12px;
}

.kangkang-gap-list span,
.kangkang-task-list span {
  color: #43585b;
  font-size: 11px;
  line-height: 1.55;
}

.kangkang-gap-list small,
.kangkang-task-list small {
  color: var(--kangkang-muted);
  font-size: 11px;
  line-height: 1.5;
}

.kangkang-gap-list [data-severity='important'] strong,
.kangkang-gap-list [data-severity='urgent'] strong {
  color: var(--kangkang-warning);
}

.kangkang-gap-list p {
  color: var(--kangkang-muted);
  font-size: 12px;
}

.kangkang-draft-form {
  display: grid;
  gap: 10px;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid var(--kangkang-line);
}

.kangkang-safety {
  margin: 0;
  padding: 8px 10px;
  color: #744b1d;
  background: #fff8eb;
  border-left: 3px solid #c58a32;
  font-size: 11px;
  line-height: 1.55;
}

.kangkang-reminder-form {
  display: grid;
  gap: 10px;
}

.kangkang-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.kangkang-confirm {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  color: #536669;
  font-size: 11px;
  line-height: 1.5;
}

.kangkang-confirm input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--kangkang-teal-800);
}

.kangkang-task-list {
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid var(--kangkang-line);
}

.kangkang-empty {
  display: flex;
  min-height: 105px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  color: var(--kangkang-muted);
  text-align: center;
}

.kangkang-empty strong {
  color: #3d595c;
  font-size: 13px;
}

.kangkang-empty span {
  max-width: 280px;
  font-size: 11px;
  line-height: 1.5;
}

.kangkang-dock,
.kangkang-drag-button,
.kangkang-dock-pet {
  position: relative;
  display: block;
  width: 104px;
  height: 112px;
}

.kangkang-drag-button {
  min-width: 104px;
  min-height: 112px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: grab;
  touch-action: none;
}

.kangkang-copilot.is-dragging .kangkang-drag-button {
  cursor: grabbing;
}

.kangkang-dock-pet {
  position: absolute;
  left: 0;
  bottom: 0;
  overflow: visible;
  pointer-events: none;
}

.kangkang-dock-pet img {
  position: absolute;
  left: 3px;
  bottom: 0;
  width: 98px;
  max-width: none;
  filter: drop-shadow(0 6px 8px rgba(18, 63, 67, .2));
  transform-origin: 50% 88%;
  animation: kangkang-breathe 3.2s ease-in-out infinite;
  transition: transform 180ms ease, filter 180ms ease;
}

@keyframes kangkang-breathe {
  0%, 100% { transform: translateY(0) rotate(-.5deg); }
  50% { transform: translateY(-3px) rotate(.5deg); }
}

.kangkang-drag-button:hover .kangkang-dock-pet img,
.kangkang-drag-button:focus-visible .kangkang-dock-pet img,
.kangkang-copilot.is-open .kangkang-dock-pet img {
  transform: translateY(-4px) scale(1.025);
  filter: drop-shadow(0 10px 12px rgba(18, 63, 67, .24));
  animation: none;
}

.kangkang-copilot.is-dragging .kangkang-dock-pet img {
  transform: translateY(-9px) rotate(3deg) scale(1.03);
  animation: none;
}

.kangkang-copilot.will-snap-left .kangkang-dock-pet img { transform: translate(-7px, -9px) rotate(-3deg) scale(1.04); }
.kangkang-copilot.will-snap-right .kangkang-dock-pet img { transform: translate(7px, -9px) rotate(3deg) scale(1.04); }
.kangkang-copilot.will-snap-top .kangkang-dock-pet img { transform: translateY(-14px) rotate(4deg) scale(1.04); }
.kangkang-copilot.will-snap-bottom .kangkang-dock-pet img { transform: translateY(-2px) rotate(-4deg) scale(1.04); }

.kangkang-copilot[data-snap-edge='left'],
.kangkang-copilot[data-snap-edge='right'] {
  width: 76px;
  height: 88px;
}

.kangkang-copilot[data-snap-edge='top'],
.kangkang-copilot[data-snap-edge='bottom'] {
  width: 92px;
  height: 72px;
}

.kangkang-copilot[data-snap-edge='left'] .kangkang-dock,
.kangkang-copilot[data-snap-edge='right'] .kangkang-dock,
.kangkang-copilot[data-snap-edge='top'] .kangkang-dock,
.kangkang-copilot[data-snap-edge='bottom'] .kangkang-dock,
.kangkang-copilot[data-snap-edge='left'] .kangkang-drag-button,
.kangkang-copilot[data-snap-edge='right'] .kangkang-drag-button,
.kangkang-copilot[data-snap-edge='top'] .kangkang-drag-button,
.kangkang-copilot[data-snap-edge='bottom'] .kangkang-drag-button,
.kangkang-copilot[data-snap-edge='left'] .kangkang-dock-pet,
.kangkang-copilot[data-snap-edge='right'] .kangkang-dock-pet,
.kangkang-copilot[data-snap-edge='top'] .kangkang-dock-pet,
.kangkang-copilot[data-snap-edge='bottom'] .kangkang-dock-pet {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
}

.kangkang-copilot[data-snap-edge='left'] .kangkang-dock,
.kangkang-copilot[data-snap-edge='right'] .kangkang-dock,
.kangkang-copilot[data-snap-edge='top'] .kangkang-dock,
.kangkang-copilot[data-snap-edge='bottom'] .kangkang-dock {
  overflow: hidden;
  border-radius: 6px;
}

.kangkang-copilot[data-snap-edge='left'] .kangkang-dock-pet img,
.kangkang-copilot[data-snap-edge='right'] .kangkang-dock-pet img {
  bottom: -3px;
  width: 88px;
  animation: none;
}

.kangkang-copilot[data-snap-edge='left'] .kangkang-dock-pet img {
  left: -10px;
  transform: rotate(-10deg) scale(.94);
}

.kangkang-copilot[data-snap-edge='right'] .kangkang-dock-pet img {
  right: -10px;
  left: auto;
  transform: rotate(10deg) scale(.94);
}

.kangkang-copilot[data-snap-edge='top'] .kangkang-dock-pet img {
  top: -22px;
  bottom: auto;
  left: 5px;
  width: 82px;
  animation: none;
  transform: rotate(180deg) scale(.92);
}

.kangkang-copilot[data-snap-edge='bottom'] .kangkang-dock-pet img {
  bottom: -24px;
  left: 5px;
  width: 82px;
  animation: none;
  transform: rotate(-2deg) scale(.94);
}

.kangkang-badge {
  position: absolute;
  z-index: 2;
  top: 7px;
  right: 4px;
  display: grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  padding: 0 4px;
  color: #fff;
  background: #b7543a;
  border: 2px solid #fff;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 800;
  box-shadow: 0 3px 8px rgba(111, 54, 38, .24);
}

.kangkang-copilot.is-busy .kangkang-dock-pet img {
  filter: drop-shadow(0 0 10px rgba(43, 140, 145, .38));
}

.kangkang-global-overview,
.kangkang-global-chat {
  margin: 0 14px 12px;
  padding: 12px;
  border: 1px solid #dbe8e5;
  border-radius: 6px;
  background: #fff;
}

.kangkang-global-overview > small,
.kangkang-global-chat > header small {
  color: #6b7f7c;
  font-size: 11px;
}

.kangkang-global-overview > strong {
  display: block;
  margin-top: 3px;
  color: #173d39;
  font-size: 14px;
}

.kangkang-global-overview > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 10px 0;
}

.kangkang-global-overview > div span {
  display: grid;
  min-height: 48px;
  place-items: center;
  color: #617571;
  background: #f3f8f7;
  border-radius: 4px;
  font-size: 10px;
}

.kangkang-global-overview > div b {
  color: #086b63;
  font-size: 18px;
}

.kangkang-global-overview ol {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kangkang-global-overview li button {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px;
  color: #173d39;
  text-align: left;
  background: #fff;
  border: 1px solid #e1eae8;
  border-radius: 4px;
}

.kangkang-global-overview li span,
.kangkang-global-overview li small {
  display: block;
  min-width: 0;
}

.kangkang-global-overview li small {
  overflow: hidden;
  margin-top: 2px;
  color: #6b7f7c;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kangkang-global-chat > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.kangkang-chat-lines {
  display: grid;
  max-height: 180px;
  overflow-y: auto;
  gap: 7px;
}

.kangkang-chat-empty {
  display: grid;
  gap: 3px;
  padding: 9px;
  color: #617571;
  background: #f5f8f7;
  border-radius: 4px;
  font-size: 11px;
}

.kangkang-chat-line {
  max-width: 92%;
  padding: 7px 9px;
  background: #f1f6f5;
  border-radius: 4px;
}

.kangkang-chat-line.is-doctor {
  justify-self: end;
  background: #e5f2f0;
}

.kangkang-chat-line small {
  color: #6b7f7c;
  font-size: 9px;
}

.kangkang-chat-line p {
  margin: 2px 0 0;
  color: #234541;
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;
}

.kangkang-chat-references {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid rgba(24, 99, 106, .13);
  color: #5e7471;
  font-size: 9px;
  line-height: 1.5;
}

.kangkang-chat-thinking {
  color: #617571;
  font-size: 11px;
}

.kangkang-chat-quicks {
  display: flex;
  overflow-x: auto;
  gap: 5px;
  margin: 9px 0 7px;
}

.kangkang-chat-quicks button {
  flex: 0 0 auto;
  padding: 5px 7px;
  color: #086b63;
  background: #f2f8f7;
  border: 1px solid #cee2df;
  border-radius: 4px;
  font-size: 10px;
}

.kangkang-chat-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
}

.kangkang-chat-form input {
  min-width: 0;
  height: 34px;
  padding: 0 9px;
  border: 1px solid #cbdcd9;
  border-radius: 4px;
  font-size: 12px;
}

.kangkang-chat-form button {
  padding: 0 10px;
  color: #fff;
  background: #086b63;
  border: 0;
  border-radius: 4px;
  font-size: 12px;
}

@media (max-width: 700px) {
  .kangkang-copilot {
    right: 14px;
    bottom: calc(86px + env(safe-area-inset-bottom));
    width: 82px;
    height: 94px;
  }

  .kangkang-panel,
  .kangkang-copilot.panel-left .kangkang-panel,
  .kangkang-copilot.panel-below .kangkang-panel {
    position: fixed;
    top: 10px;
    right: 10px;
    bottom: calc(106px + env(safe-area-inset-bottom));
    left: 10px;
    width: auto;
    max-height: none;
  }

  .kangkang-dock,
  .kangkang-drag-button,
  .kangkang-dock-pet {
    width: 82px;
    min-width: 82px;
    height: 94px;
    min-height: 94px;
  }

  .kangkang-copilot.is-open .kangkang-dock {
    opacity: 0;
    pointer-events: none;
  }

  .kangkang-dock-pet img {
    left: 2px;
    width: 78px;
  }

  .kangkang-form-row {
    grid-template-columns: 1fr;
  }

  .kangkang-summary > small {
    white-space: normal;
  }

  /* Keep the always-on copilot reachable without covering right-aligned
     clinical actions or the five-item bottom navigation. */
  .kangkang-copilot[data-snap-edge='right'] {
    right: -24px;
    bottom: calc(104px + env(safe-area-inset-bottom));
    width: 64px;
    height: 76px;
  }

  .kangkang-copilot[data-snap-edge='right'] .kangkang-dock,
  .kangkang-copilot[data-snap-edge='right'] .kangkang-drag-button,
  .kangkang-copilot[data-snap-edge='right'] .kangkang-dock-pet {
    width: 64px;
    min-width: 64px;
    height: 76px;
    min-height: 76px;
  }

  .kangkang-copilot[data-snap-edge='right'] .kangkang-dock-pet img {
    right: -6px;
    bottom: -4px;
    width: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kangkang-panel,
  .kangkang-dock-pet img,
  .kangkang-copilot.is-snapping {
    animation: none;
    transition: none;
  }
}
