/* Intake: Your interactions and the rows in the type cards. Rows and cards come
   from kk_dashboard.css (.kk-dash-card / .kk-dash-wrow); this file only spaces and fits them. Tokens only. */
.kk-interactions { display: grid; gap: var(--kk-s-5); margin: var(--kk-s-4) 0 var(--kk-s-5); min-width: 0; }
.kk-interactions-lead { margin: 0 0 var(--kk-s-2); color: var(--kk-text-soft); font-size: var(--kk-fs-meta); }
.kk-dash-card + .kk-interactions-lead { margin: var(--kk-s-2) 0 0; }

/* Intake type cards: each received request and each game is one dashboard row
   (.kk-dash-wrow), bleeding to the card edge so the hover fills the width. */
.kk-itype-rows .kk-dash-wrow { margin-inline: calc(-1 * var(--kk-s-4)); padding-inline: var(--kk-s-4); }
.kk-isub { align-items: start; }
/* The state badge never truncates: the contact · summary · when run gives way. */
.kk-isub .kk-dash-wrow-s { display: flex; align-items: center; gap: var(--kk-s-1); }
.kk-isub-what { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.kk-isub .kk-lp-badge { flex: none; }
/* shared/_order_actions speaks the warm .btn classes; here they wear the row's button. */
.kk-isub .kk-dash-acts form { display: inline; margin: 0; }
.kk-isub .kk-dash-acts .btn {
  display: inline-flex; align-items: center; min-height: var(--kk-s-6); padding: 0 var(--kk-s-3);
  border: 0; border-radius: var(--kk-r-button); background: transparent; color: var(--kk-ink); cursor: pointer;
  box-shadow: inset 0 0 0 1px var(--kk-border); font: 600 var(--kk-fs-meta) / 1 var(--kk-font-ui); text-decoration: none; white-space: nowrap;
}
.kk-isub .kk-dash-acts .btn:hover { background: var(--kk-fill-soft); }
.kk-isub .kk-dash-acts .btn-accent { background: var(--kk-primary); color: var(--kk-on-primary); box-shadow: none; }
.kk-isub .kk-dash-acts .btn:focus-visible { outline: 2px solid var(--kk-ink); outline-offset: 2px; }
.kk-isub-more { margin-top: var(--kk-s-1); color: var(--kk-text-soft); font-size: var(--kk-fs-meta); }
.kk-isub-more summary { width: fit-content; cursor: pointer; }
.kk-isub-more summary:hover, .kk-isub-more[open] summary { color: var(--kk-ink); }
.kk-isub-more dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--kk-s-1) var(--kk-s-3); margin: var(--kk-s-2) 0 0; }
.kk-isub-more dd { margin: 0; color: var(--kk-text); overflow-wrap: anywhere; }
.kk-isub-more p { margin: var(--kk-s-2) 0 0; color: var(--kk-text); }
.kk-isub-more .kk-ko-lines { margin: var(--kk-s-2) 0 0; }
/* A game row keeps Play and Open beside its name on a phone, like the dashboard's Running rows. */
@media (max-width: 640px) {
  .kk-itype-rows .kk-igame { grid-template-columns: auto minmax(0, 1fr) auto; }
  .kk-itype-rows .kk-igame .kk-dash-acts { grid-column: auto; flex-wrap: nowrap; }
}
