/* Base UI shell. Components come from the design system (styles.css); this file
   owns page layout only: the app shell, bare pages, settings sub-nav, and a
   few compositions from the kitchen's section 07. Colors are tokens; the shell
   alphas the design uses without a token are defined here. */
:root {
  --k-canvas: var(--ds-workspace);
  --k-workspace-soft: #f1f0ec;
  --k-text-faint: #9aa09c;
  --k-shell-text: rgb(255 255 255 / 72%);
  --k-shell-dim: rgb(255 255 255 / 45%);
  --k-shell-faint: rgb(255 255 255 / 40%);
  --k-shell-raise: rgb(255 255 255 / 10%);
  --k-shell-well: rgb(255 255 255 / 5%);
  --k-agent-rail: 48px;
  --k-secondary-size: calc(var(--ds-base-size) * 8 / 9);
  --k-label-size: calc(var(--ds-base-size) * 0.778);
}
body {
  margin: 0;
  min-height: 100vh;
  background: var(--k-canvas);
}
.k-loading {
  padding: 48px;
}
h1,
h2,
h3 {
  margin: 0;
}
.ds-title {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.k-card-title,
h2,
h3 {
  font-weight: 500;
}
.k-page-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px 16px;
  flex-wrap: wrap;
}
.k-page-title > :first-child {
  flex: 1 1 320px;
  min-width: 0;
}
.k-page-title p {
  margin: 6px 0 0;
}
.k-tag {
  font-size: var(--k-label-size);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* App shell: sidebar, main column, agent rail */
.k-app {
  display: grid;
  grid-template-columns: 216px minmax(0, 1fr) var(--k-agent-rail);
  min-height: 100vh;
  background: var(--k-workspace-soft);
  --ds-base-size: 16px;
  --k-secondary-size: 14px;
  --k-label-size: 14px;
  --ds-panel-shadow: var(--ds-shadow-soft);
  font-size: 16px;
}
.k-side {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 20px 12px 14px;
  background: var(--ds-shell);
  color: #fff;
  box-shadow: inset -1px 0 0 rgb(255 255 255 / 6%);
}
.k-wordmark {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  font-style: italic;
  letter-spacing: -0.02em;
  color: inherit;
  text-decoration: none;
}
.k-side .k-wordmark {
  padding: 0 10px 22px;
}
.k-side nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.k-side .ds-eyebrow {
  padding: 18px 10px 6px;
  font-size: 12px;
  color: var(--k-shell-faint);
}
.k-nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 40px;
  padding: 7px 10px;
  border: 0;
  border-radius: var(--ds-radius-control);
  background: transparent;
  color: var(--k-shell-text);
  font-size: var(--k-secondary-size);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.k-nav-item:hover {
  background: var(--k-shell-well);
  color: #fff;
}
.k-nav-item[aria-current="page"] {
  background: var(--k-shell-raise);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 1px 2px rgb(0 0 0 / 30%);
}
.k-nav-item[aria-current="page"]::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ds-action);
}
.k-nav-label {
  flex: 1;
  min-width: 0;
}
.k-nav-empty {
  padding: 7px 10px;
  color: var(--k-shell-dim);
  font-size: var(--k-label-size);
}
.k-side-bottom {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: auto;
  padding-top: 16px;
}
.k-user-wrap {
  position: relative;
}

/* User menu and the Organization submenu */
.k-user-menu {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 6px;
  border-radius: 10px;
  background: #fff;
  color: var(--ds-text);
  font-size: 14px;
  box-shadow:
    0 0 0 1px rgb(20 30 26 / 8%),
    0 16px 40px -12px rgb(11 21 18 / 45%);
}
.k-menu-head {
  padding: 8px 10px 10px;
  border-bottom: 1px solid var(--ds-line);
  margin-bottom: 4px;
}
.k-menu-head .ds-muted {
  font-size: 14px;
}
.k-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  padding: 7px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ds-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.k-menu-item:hover,
.k-menu-item[aria-expanded="true"] {
  background: var(--ds-subtle);
}
.k-menu-item svg {
  flex: none;
  width: 16px;
  height: 16px;
  color: var(--ds-text-muted);
  transform: rotate(-90deg);
}
.k-menu-stack {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.k-menu-static {
  display: flex;
  flex-direction: column;
  padding: 7px 10px;
}
.k-menu-sep {
  border-top: 1px solid var(--ds-line);
  margin: 4px 0;
}
.k-org-row {
  position: relative;
}
.k-org-list {
  position: absolute;
  left: calc(100% + 14px);
  bottom: -6px;
  z-index: 6;
  width: 280px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 6px;
  border-radius: 10px;
  background: #fff;
  box-shadow:
    0 0 0 1px rgb(20 30 26 / 8%),
    0 16px 40px -12px rgb(11 21 18 / 45%);
}
.k-org-list .ds-eyebrow {
  padding: 6px 10px 4px;
  color: var(--k-text-faint);
}
.k-org-option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 7px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ds-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.k-org-option:hover {
  background: var(--ds-subtle);
}
.k-org-option[aria-selected="true"] {
  background: var(--ds-subtle);
}
.k-org-option svg {
  margin-left: auto;
  width: 16px;
  height: 16px;
  color: var(--ds-success);
}
.k-org-tile {
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: var(--ds-success);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
}
.k-user {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  margin-top: 6px;
  padding: 10px;
  border: 0;
  border-radius: var(--ds-radius-input);
  background: var(--k-shell-well);
  color: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.k-user:hover {
  background: var(--k-shell-raise);
}
.k-user .ds-avatar {
  width: 32px;
  height: 32px;
  background: var(--ds-border);
  color: var(--ds-text);
}
.k-user[data-role="admin"] .ds-avatar,
.k-user[data-role="owner"] .ds-avatar {
  background: var(--ds-success);
  color: #fff;
}
.k-user-text {
  flex: 1;
  min-width: 0;
}
.k-user-name {
  display: block;
  font-size: var(--k-secondary-size);
  font-weight: 600;
  line-height: 1.2;
}
.k-user-org {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.3;
  color: var(--k-shell-dim);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-user-caret {
  flex: none;
  font-size: 12px;
  color: var(--k-shell-faint);
}
.k-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.k-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
  padding: 0 32px;
  background: var(--ds-subtle);
  box-shadow:
    0 1px 0 var(--ds-border),
    0 2px 6px rgb(20 30 26 / 4%);
}
.k-header {
  font-size: 14px;
}
.k-header .ds-breadcrumb li {
  color: var(--ds-text-secondary);
}
.k-header .ds-breadcrumb li:first-child {
  color: var(--ds-text-muted);
}
.k-header .ds-breadcrumb li:nth-child(2) {
  font-weight: 600;
  color: var(--ds-text);
}
.k-header .ds-breadcrumb li[aria-current="page"] {
  color: var(--ds-text);
}
.k-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  padding: 28px 32px 40px;
  container: workspace / inline-size;
}
.k-agent {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  background: #fff;
  box-shadow:
    -1px 0 0 var(--ds-border),
    -6px 0 18px -12px rgb(20 30 26 / 12%);
}
.k-agent-label {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: var(--k-label-size);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--k-text-faint);
}

/* Bare pages: sign in, inbox, invitation, Org chooser */
.k-bare {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.k-bare-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px clamp(20px, 4vw, 48px);
  color: var(--ds-shell);
}
.k-bare-nav {
  display: flex;
  gap: 18px;
}
.k-topbar-link {
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
  text-decoration: none;
}
.k-topbar-link:hover {
  color: var(--ds-action);
}
.k-bare-main {
  width: 100%;
  margin: 24px auto 64px;
  padding: 0 clamp(20px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.k-bare-wide {
  max-width: 1080px;
}
.k-bare-narrow {
  max-width: 560px;
}
.k-auth {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 440px);
  gap: clamp(32px, 6vw, 96px);
  align-items: start;
  padding-top: 24px;
}
.k-auth-story h1 {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  max-width: 14ch;
}
.k-auth-story p {
  max-width: 44ch;
}
.k-auth-card .ds-segmented {
  margin-bottom: 8px;
}
.k-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.k-form .ds-button[type="submit"] {
  align-self: flex-start;
}
.k-note {
  padding-top: 14px;
  border-top: 1px solid var(--ds-line);
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
}

/* Cards and rows */
.k-card {
  overflow: hidden;
}
.k-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--ds-line);
}
.k-card-title {
  font-size: inherit;
  font-weight: 600;
}
.k-card-body {
  padding: 20px;
}
.k-row-title {
  font-weight: 600;
}
.k-list .ds-list-row {
  padding: 12px 20px;
}
.k-list .ds-list-row:last-child {
  border-bottom: 0;
}
.k-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.k-row-actions .ds-select {
  width: auto;
  min-width: 150px;
}
.k-owner-spacer {
  width: 84px;
}

/* Org chooser */
.k-orgs .ds-list-row {
  padding: 16px 20px;
}

/* Dashboard: room summary and access */
.k-room-card .k-card-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 20px 28px;
}
.k-room-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px 24px;
  padding: 20px 22px 0;
}
.k-room-head h2 {
  font-size: calc(var(--ds-base-size) * 1.22);
  font-weight: 600;
  line-height: 1.25;
}
.k-fact-label {
  font-size: var(--k-label-size);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ds-text-muted);
}
.k-fact-value {
  margin-top: 4px;
  font-size: calc(var(--ds-base-size) * 1.55);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}
.k-fact-note {
  margin-top: 2px;
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
}
.k-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.k-chips .ds-badge {
  font-family: ui-monospace, Menlo, monospace;
  text-transform: none;
  letter-spacing: 0;
}

/* Settings: sub-nav beside the section */
.k-settings {
  display: grid;
  grid-template-columns: 208px minmax(0, 1fr);
  gap: 24px 32px;
  align-items: start;
}
.k-subnav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: var(--k-secondary-size);
}
.k-subnav .ds-eyebrow {
  padding: 0 10px 8px;
}
.k-subnav .ds-eyebrow + .ds-eyebrow,
.k-subnav .k-subnav-item + .ds-eyebrow {
  padding-top: 22px;
}
.k-subnav-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 6px 10px;
  border-radius: var(--ds-radius-control);
  color: var(--ds-text-secondary);
  text-decoration: none;
}
.k-subnav-item:hover {
  background: var(--ds-subtle);
  color: var(--ds-text);
}
.k-subnav-item[aria-current="page"] {
  background: #fff;
  color: var(--ds-text);
  font-weight: 600;
  box-shadow:
    0 0 0 1px rgb(20 30 26 / 6%),
    0 1px 2px rgb(20 30 26 / 6%);
}
.k-subnav-item[data-state="contract"],
.k-subnav-item[data-state="muted"] {
  color: var(--k-text-faint);
}
.k-subnav .ds-eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.k-subnav-item .k-tag {
  color: var(--k-text-faint);
}
.k-subnav-count {
  color: var(--k-text-faint);
  font-variant-numeric: tabular-nums;
}
.k-section {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
.k-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 10px;
}
.k-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
}
.k-stat-value {
  font-size: calc(var(--ds-base-size) * 1.4);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.k-kv {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ds-line);
}
.k-kv:last-child {
  border-bottom: 0;
}
.k-kv .k-kv-key {
  color: var(--ds-text-muted);
}
.k-mono {
  font-family: ui-monospace, Menlo, monospace;
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
}
.k-outcome[data-outcome="denied"],
.k-outcome[data-outcome="failed"] {
  color: var(--ds-action);
  font-weight: 600;
}
.k-kind-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  vertical-align: middle;
  background: var(--ds-success);
}
.k-kind-dot[data-kind="security"] {
  background: var(--ds-action);
}
.k-kind-dot[data-kind="usage"] {
  background: var(--ds-focus);
}
.k-empty-tag {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Switcher dialog */
.k-switcher-list {
  display: flex;
  flex-direction: column;
}
.k-switcher-row {
  text-decoration: none;
  color: inherit;
}
.k-switcher-row[aria-current="true"] {
  background: var(--ds-subtle);
}
.k-switcher-actions {
  justify-content: space-between;
  padding-top: 8px;
}

/* Reflow: the shell stacks, the agent rail hides, settings go single column */
@container workspace (max-width: 720px) {
  .k-settings {
    grid-template-columns: 1fr;
  }
  .k-subnav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
  }
  .k-subnav .ds-eyebrow {
    display: none;
  }
}
@media (max-width: 900px) {
  .k-app {
    grid-template-columns: minmax(0, 1fr);
  }
  .k-side {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    padding: 12px 16px;
  }
  .k-side .k-wordmark {
    padding: 0 6px;
  }
  .k-side nav,
  .k-side-bottom {
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
  }
  .k-side .ds-eyebrow {
    display: none;
  }
  .k-user {
    width: auto;
    margin: 0;
  }
  .k-agent {
    display: none;
  }
  .k-user-menu,
  .k-org-list {
    position: static;
    width: auto;
    margin-top: 6px;
  }
  .k-header,
  .k-content {
    padding-left: 16px;
    padding-right: 16px;
  }
  .k-auth {
    grid-template-columns: 1fr;
    padding-top: 0;
  }
}

/* --- bare pages (screens/A) --- */
.k-bare-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.k-bare-head p {
  margin: 0;
  max-width: 56ch;
}
.k-auth-story {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 12px;
}
.k-auth-story p {
  margin: 0;
}
.k-auth-card .ds-panel-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.k-auth-card .ds-segmented {
  align-self: flex-start;
  margin-bottom: 0;
}
.k-auth-card .k-note {
  margin: 0;
}
.k-note a {
  color: var(--ds-text);
  font-weight: 600;
}
.k-inline-form {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
}
.k-inline-form .ds-field {
  flex: 1 1 240px;
}
.k-inline-form .ds-button[type="submit"] {
  /* Line up with the input below the label. */
  margin-top: calc(1.45em + 6px);
  align-self: flex-start;
}
.k-inbox-messages {
  border-top: 1px solid var(--ds-line);
}
.k-inbox-messages .ds-empty {
  padding: 32px 24px;
}
.k-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
  text-decoration: none;
}
.k-back:hover {
  color: var(--ds-action);
}
.k-bare-foot {
  margin: 0;
}
.k-invitation-user {
  margin: 0;
}
.k-invitation-actions {
  padding-top: 4px;
}
.k-org-text {
  min-width: 0;
}
.k-orgs .k-row-actions .ds-button {
  white-space: nowrap;
}
.k-orgs .ds-empty h2 {
  margin: 0;
}

/* --- dashboard & settings (screens/B) --- */
.k-lead {
  margin: 0;
}
.k-quiet-link {
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
  text-decoration: none;
}
.k-quiet-link:hover {
  color: var(--ds-action);
}
.k-room-head p {
  margin: 4px 0 0;
}
.k-room-head .ds-button {
  text-decoration: none;
}
.k-activity-list {
  display: flex;
  flex-direction: column;
}
.k-activity {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 8px 16px;
  align-items: baseline;
  padding: 12px 20px;
  border-bottom: 1px solid var(--ds-line);
}
.k-activity:last-child {
  border-bottom: 0;
}
.k-activity[data-outcome="denied"],
.k-activity[data-outcome="failed"] {
  background: var(--ds-action-tint);
}
.k-activity-sentence {
  min-width: 0;
  overflow-wrap: anywhere;
}
.k-activity-sentence .k-mono {
  margin-left: 4px;
}
.k-outcome {
  text-transform: capitalize;
}
.k-card-body .k-kv:first-child {
  padding-top: 0;
}
.k-kv-value {
  text-align: right;
  overflow-wrap: anywhere;
}
.k-kv .k-mono {
  text-align: right;
  overflow-wrap: anywhere;
}
.k-card-body .k-note {
  margin: 8px 0 0;
}
.k-member-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1 1 240px;
}
.k-member-identity .ds-avatar {
  flex: none;
  width: 40px;
  height: 40px;
  background: var(--ds-border);
  color: var(--ds-text);
}
.k-member-text,
.k-invitation-text {
  min-width: 0;
  overflow-wrap: anywhere;
}
.k-list .ds-list-row {
  flex-wrap: wrap;
}
.ds-button.k-text-danger {
  color: var(--ds-action);
}
.ds-button.k-text-danger:hover {
  background: var(--ds-action-tint);
  color: var(--ds-action);
}
.k-dialog-actions {
  justify-content: flex-end;
  padding-top: 8px;
}
.k-invite-form {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 16px;
}
.k-invite-form .ds-field {
  flex: 1 1 260px;
}
.k-invite-form .ds-field:has(.ds-select) {
  flex: 0 1 200px;
}
.k-invite-form .ds-select {
  min-width: 160px;
}
.k-invite-form .ds-help[hidden],
.k-invite-form .ds-error:empty {
  display: none;
}
.k-invite-form .ds-button[type="submit"] {
  align-self: flex-end;
  margin-bottom: 0;
}
.k-stat-label {
  display: flex;
  align-items: center;
}
.k-stat-aside {
  color: var(--ds-action);
}
.k-audit .ds-panel-header {
  padding: 14px 20px;
}
.k-audit .ds-table-filters,
.k-audit .ds-table-selection {
  padding: 10px 20px;
}
.k-audit .ds-table :where(td, th) {
  padding: 10px 16px;
  vertical-align: top;
}
.k-audit .ds-table th {
  color: var(--k-text-faint);
  font-weight: 600;
}
.k-audit tr:has(.k-outcome[data-outcome="denied"]),
.k-audit tr:has(.k-outcome[data-outcome="failed"]) {
  background: var(--ds-action-tint);
}
.k-audit .k-what {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 6px;
}
.k-audit .k-what .k-kind-dot {
  align-self: center;
  margin-right: 2px;
}
.k-audit .ds-panel-footer {
  padding: 12px 20px;
}
.k-kinds {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}

/* --- settings, dashboard, documents (screens/C) --- */
/* Sub-nav: Personal / Organization groups */
.k-subnav {
  gap: 0;
}
.k-subnav-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.k-subnav-group + .k-subnav-group {
  margin-top: 18px;
}
.k-subnav-group .ds-eyebrow {
  padding: 0 10px 6px;
  color: var(--k-text-faint);
}
.k-subnav-item[data-state="muted"] {
  color: var(--k-text-faint);
}
.k-subnav-item[data-state="muted"]:hover {
  color: var(--ds-text-secondary);
}

/* Panels: header with a lead, footer note, grayed contract panels */
.k-card-head-text {
  min-width: 0;
}
.k-card-head-text .ds-muted {
  margin-top: 2px;
}
.k-card-head > .ds-button {
  flex: none;
}
.k-foot {
  padding: 12px 20px;
  border-top: 1px solid var(--ds-line);
  background: var(--ds-subtle);
  font-size: var(--k-secondary-size);
  color: var(--ds-text-muted);
}
.ds-panel[data-state="muted"] .k-card-title,
.ds-panel[data-state="muted"] .ds-empty p {
  color: var(--ds-text-muted);
}
.k-empty {
  padding: 28px 24px;
  gap: 8px;
  justify-items: start;
  text-align: left;
}
.k-empty p {
  max-width: 60ch;
}
.k-empty-link,
.k-inline-link,
.k-dash-note a {
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
  text-decoration: underline;
}
.k-empty-link {
  margin-top: 6px;
}
.k-dash-note {
  margin: 0;
}
.k-dash-note a {
  font-size: inherit;
}

/* Definition lists (General, Profile) */
.k-dl {
  margin: 0;
  padding: 6px 20px;
}
.k-dl-row {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 16px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid var(--ds-line);
}
.k-dl-row:last-child {
  border-bottom: 0;
}
.k-dl dt {
  color: var(--ds-text-secondary);
}
.k-dl dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.k-dl .k-mono {
  font-size: inherit;
  color: inherit;
}
.k-verified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  vertical-align: middle;
  font-size: var(--k-secondary-size);
  font-weight: 600;
  color: var(--ds-success);
  white-space: nowrap;
}
.k-verified svg {
  width: 12px;
  height: 12px;
}

/* Your access */
.k-access-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 20px;
}
.k-grants {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.k-grants li {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.k-grants li[data-granted="false"] {
  color: var(--ds-text-muted);
}
.k-grant-mark {
  display: inline-flex;
  justify-content: center;
  flex: none;
  width: 14px;
}
.k-grant-mark svg {
  position: relative;
  top: 2px;
  width: 14px;
  height: 14px;
}

/* Organizations list */
.k-org-item {
  justify-content: flex-start;
  gap: 14px;
  padding: 12px 20px;
}
.k-org-item[data-current="true"] {
  background: var(--ds-subtle);
}
.k-org-item .k-org-tile {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  font-size: 12px;
}
.k-org-item .k-org-text {
  flex: 1;
  min-width: 0;
}
.k-org-item .k-row-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-org-item .k-row-actions {
  flex: none;
  gap: 12px;
}
.k-current {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  min-width: 84px;
  font-size: var(--k-secondary-size);
  font-weight: 600;
  color: var(--ds-success);
  white-space: nowrap;
}
.k-current-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* Members and invitations */
.k-members .k-card-head .k-card-title {
  white-space: nowrap;
}
.k-member {
  gap: 14px;
  padding: 10px 20px;
}
.k-member .k-member-identity .ds-avatar {
  width: 32px;
  height: 32px;
}
.k-member .k-member-text .ds-muted {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-you {
  font-weight: 400;
}
.k-avatar-pending {
  border: 1px dashed var(--k-text-faint);
  background: transparent;
  color: var(--ds-text-muted);
}
.k-invitation {
  background: var(--ds-subtle);
}
.k-member .k-row-actions {
  flex: none;
  gap: 8px;
}
.k-member .k-row-actions .ds-select {
  min-width: 132px;
  min-height: 36px;
  padding: 6px 12px;
  border-radius: var(--ds-radius-control);
  font-size: var(--k-secondary-size);
}
.k-member .k-row-actions .k-text-danger {
  width: 76px;
  padding-inline: 0;
  justify-content: center;
}
.k-owner-spacer {
  flex: none;
  width: 76px;
}
.k-invite-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 16px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--ds-line);
  background: var(--ds-subtle);
}
.k-invite-row .ds-field {
  flex: 1 1 240px;
}
.k-invite-row .ds-field:has(.ds-select) {
  flex: 0 1 180px;
}
.k-invite-row .ds-error:empty,
.k-invite-row .ds-help:empty {
  display: none;
}
.k-invite-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.k-save-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 16px;
  padding: 12px 20px;
  border-top: 1px solid var(--ds-line);
  background: var(--ds-subtle);
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
}
.k-save-bar[data-dirty="true"] {
  background: var(--ds-action-tint);
}
.k-save-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ds-button.k-ink {
  min-width: 120px;
  border-color: transparent;
  background: var(--ds-shell);
  color: var(--ds-surface);
}
.ds-button.k-ink:hover:not(:disabled) {
  background: var(--ds-text);
  border-color: transparent;
}
.ds-button.k-ink:disabled {
  background: var(--ds-border);
  color: var(--k-text-faint);
  cursor: default;
}

/* Profile and Security */
.k-profile-head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border-bottom: 1px solid var(--ds-line);
}
.k-avatar-large {
  width: 48px;
  height: 48px;
  background: var(--ds-success);
  color: var(--ds-surface);
  font-size: 16px;
}
.k-list .ds-list-row .k-member-text {
  flex: 1;
}
.k-list .ds-list-row[data-current="true"] {
  background: var(--ds-subtle);
}

/* My activity and the dashboard's recent rows */
.k-legend {
  display: flex;
  gap: 16px;
  font-size: var(--k-secondary-size);
  color: var(--ds-text-secondary);
}
.k-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.k-legend-item .k-kind-dot,
.k-activity-row .k-kind-dot,
.k-activity .k-kind-dot {
  flex: none;
  width: 6px;
  height: 6px;
  margin-right: 0;
}
.k-day {
  padding: 10px 20px 6px;
  border-bottom: 1px solid var(--ds-line);
  background: var(--ds-subtle);
  font-size: 12px;
  color: var(--k-text-faint);
}
.k-activity-row {
  display: grid;
  grid-template-columns: 56px minmax(96px, 168px) minmax(0, 1fr) 88px;
  gap: 12px;
  align-items: center;
  padding: 10px 20px;
  border-bottom: 1px solid var(--ds-line);
  font-size: var(--k-secondary-size);
}
.k-activity-row:last-child {
  border-bottom: 0;
}
.k-activity-row[data-outcome="denied"],
.k-activity-row[data-outcome="failed"] {
  background: var(--ds-action-tint);
}
.k-activity-row .k-outcome,
.k-activity .k-outcome {
  text-align: right;
}
.k-activity-row .k-activity-sentence,
.k-activity .k-activity-sentence {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.k-activity-sentence .k-mono {
  margin-left: 0;
  font-size: inherit;
}
.k-activity {
  grid-template-columns: 64px minmax(0, 1fr) 88px;
  gap: 12px;
  align-items: center;
  padding: 10px 20px;
  font-size: var(--k-secondary-size);
}
.k-room-head {
  padding: 18px 20px 0;
}
.k-room-lead {
  margin: 2px 0 0;
}
.k-room-card .k-card-body {
  padding: 18px 20px 20px;
}

@container workspace (max-width: 720px) {
  .k-subnav {
    gap: 4px;
  }
  .k-subnav-group {
    display: contents;
  }
  .k-subnav-group .ds-eyebrow {
    display: none;
  }
  .k-grants {
    grid-template-columns: 1fr;
  }
  .k-dl-row {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .k-activity-row {
    grid-template-columns: 56px minmax(0, 1fr) 88px;
  }
  .k-activity-org {
    display: none;
  }
}

/* --- dashboard alerts, room queue, staff --- */
.k-dash-alerts {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.k-dash-alert {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.k-fact-note[data-tone="attention"] {
  color: var(--ds-action);
  font-weight: 600;
}
.k-room-foot {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 22px;
  border-top: 1px solid var(--ds-line);
  background: var(--ds-subtle);
}
.k-room-foot .ds-progress {
  flex: 1;
  min-width: 160px;
}
.k-room-note {
  padding: 0 22px 16px;
}
.k-staff-tag {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ds-shell);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* Documents: source-backed list, upload flow and responsive detail panel. */
.k-documents {
  gap: 20px;
}
.k-documents .ds-muted,
.k-doc-muted {
  color: var(--ds-text-muted);
  font-size: 14px;
}
.k-doc-layout {
  display: grid;
  grid-template-columns: 184px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}
.k-doc-layout[data-detail] {
  grid-template-columns: 184px minmax(0, 1fr) 340px;
}
.k-doc-list {
  overflow: visible;
  min-width: 0;
  border: 0;
  box-shadow: var(--ds-shadow-soft);
}
.k-doc-toolbar,
.k-doc-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 12px 20px;
}
.k-doc-toolbar {
  border-bottom: 1px solid var(--ds-line);
}
.k-doc-count,
.k-doc-size {
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  color: var(--ds-text-muted);
}
.k-doc-search {
  flex: 1 1 220px;
  min-width: 0;
  position: relative;
}
.k-doc-search > svg {
  position: absolute;
  top: 10px;
  left: 12px;
  width: 16px;
  height: 16px;
  color: var(--ds-text-muted);
  pointer-events: none;
}
.k-doc-search input {
  height: 36px;
  min-height: 36px;
  padding-left: 36px;
  font-size: 14px;
  border-radius: 6px;
  background: var(--ds-subtle);
}
.k-doc-search input:focus {
  background: var(--ds-surface);
}
.k-doc-list .ds-button,
.k-doc-detail .ds-button {
  min-height: 36px;
  padding: 6px 12px;
  font-size: 14px;
  border-radius: 6px;
}
.k-doc-upload {
  position: relative;
  padding: 16px 20px;
  border-bottom: 1px solid var(--ds-line);
}
.k-doc-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.k-doc-drop {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 24px 20px;
  border: 1px dashed var(--ds-control-border);
  border-radius: 8px;
  background: var(--ds-subtle);
}
.k-doc-drop[data-dragging] {
  border-color: var(--ds-shell);
  background: var(--ds-success-tint);
}
.k-doc-drop > svg {
  color: var(--ds-text-muted);
}
.k-doc-drop-line,
.k-doc-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.k-doc-actions {
  justify-content: flex-start;
}
.k-doc-upload p,
.k-doc-detail p,
.k-doc-empty p {
  margin: 0;
}
.k-doc-classify,
.k-doc-upload-done,
.k-doc-upload-error {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--ds-border);
  border-radius: 8px;
}
.k-doc-file-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.k-doc-file-head > .k-doc-file-name {
  flex: 1 1 150px;
}
.k-doc-file-name {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.k-doc-file-name strong {
  font-weight: 600;
}
.k-doc-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 14px;
}
.k-doc-fields input,
.k-doc-fields select {
  height: 40px;
  min-height: 40px;
  min-width: 0;
  width: 100%;
  font-size: 16px;
}
.k-doc-upload-primary.ds-button {
  background: var(--ds-action);
  border-color: var(--ds-action);
  color: var(--ds-surface);
}
.k-doc-upload-primary.ds-button:hover {
  filter: brightness(0.9);
}
.k-doc-progress {
  width: 100%;
  height: 8px;
  accent-color: var(--ds-shell);
}
.k-doc-upload-done {
  background: var(--ds-success-tint);
  border-color: var(--ds-success);
  color: var(--ds-text-secondary);
}
.k-doc-upload-done > svg {
  color: var(--ds-success);
}
.k-doc-upload-done > button,
.k-doc-upload-error > button {
  align-self: flex-start;
}
.k-doc-upload-error {
  background: var(--ds-action-tint);
  border-color: var(--ds-action);
}
.k-doc-error {
  color: var(--ds-action);
  padding: 12px 20px;
  margin: 0;
}
.k-doc-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--ds-line);
}
.k-doc-row:last-child {
  border-bottom: 0;
}
.k-doc-row:hover,
.k-doc-row[data-selected] {
  background: var(--ds-subtle);
}
.k-doc-row[data-fresh] {
  background: var(--ds-success-tint);
}
.k-doc-row[data-selected] {
  box-shadow: inset 3px 0 0 var(--ds-shell);
}
.k-doc-select {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1 1 260px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ds-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.k-doc-type {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--ds-workspace);
  border: 1px solid var(--ds-border);
  color: var(--ds-text-secondary);
  font-size: 12px;
  font-weight: 600;
}
.k-doc-size {
  min-width: 56px;
  text-align: right;
}
.k-doc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 28px 24px 30px;
  text-align: center;
  overflow-wrap: anywhere;
}
.k-doc-empty > svg {
  color: var(--ds-text-muted);
}
.k-doc-empty h2 {
  font-size: 16px;
  font-weight: 600;
}
.k-doc-footer {
  background: var(--ds-subtle);
  border-top: 1px solid var(--ds-line);
}
.k-doc-footer[hidden] {
  display: none;
}
.k-doc-footer p {
  margin: 0;
}
.k-doc-loading,
.k-doc-detail-loading {
  padding: 16px 20px;
  font-size: 14px;
  color: var(--ds-text-muted);
}
.k-doc-skeleton {
  height: 76px;
  margin: 12px 20px;
  border-radius: 8px;
  background: linear-gradient(
    100deg,
    var(--ds-subtle),
    var(--ds-workspace),
    var(--ds-subtle)
  );
}
.k-doc-detail-host {
  min-width: 0;
  position: sticky;
  top: 20px;
}
.k-doc-detail {
  overflow: auto;
  max-height: calc(100vh - 108px);
  border: 0;
  box-shadow: var(--ds-shadow-soft);
}
.k-doc-detail-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 16px 14px 20px;
  border-bottom: 1px solid var(--ds-line);
}
.k-doc-detail-head .k-doc-file-name {
  flex: 1;
}
.k-doc-filename {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.k-doc-detail-close.ds-button {
  flex: none;
  min-height: 32px;
  width: 32px;
  padding: 6px;
}
.k-doc-facts {
  padding: 4px 20px;
  margin: 0;
}
.k-doc-facts > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ds-line);
}
.k-doc-facts > div:last-child {
  border: 0;
}
.k-doc-facts dt {
  color: var(--ds-text-secondary);
  font-size: 14px;
}
.k-doc-facts dd {
  margin: 0;
  font-size: 16px;
  overflow-wrap: anywhere;
}
.k-doc-facts dd > span {
  display: block;
  margin-top: 4px;
}
.k-doc-facts .k-doc-hash {
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.k-doc-hash button {
  display: block;
}
.k-doc-detail-actions {
  padding: 12px 20px;
  background: var(--ds-subtle);
  border-top: 1px solid var(--ds-line);
}
.k-doc-detail-actions .ds-button[data-variant="primary"] {
  background: var(--ds-shell);
  border-color: var(--ds-shell);
}
.k-doc-drawer-close.ds-button {
  width: 32px;
  min-height: 32px;
  padding: 6px;
}
.k-doc-activity {
  padding: 12px 20px;
  border-top: 1px solid var(--ds-line);
}
.k-doc-activity h3 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}
.k-doc-event {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  margin-top: 12px;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.k-doc-event > div::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 8px 2px 0;
  border-radius: 50%;
  background: var(--ds-success);
}
.k-doc-event[data-kind="usage"] > div::before {
  background: var(--ds-focus);
}
.k-doc-event[data-kind="security"] > div::before {
  background: var(--ds-action);
}
.k-doc-event[data-outcome="denied"],
.k-doc-event[data-outcome="failed"] {
  background: var(--ds-action-tint);
}
.k-doc-event-outcome {
  color: var(--ds-text-secondary);
}
.k-doc-event time {
  grid-column: 1 / -1;
  padding-left: 14px;
  font-variant-numeric: tabular-nums;
}
.k-doc-drawer.ds-dialog[data-drawer] {
  width: min(380px, 100%);
  max-width: 100%;
  max-height: 100dvh;
  height: 100dvh;
  padding: 16px;
  background: var(--k-workspace-soft);
  font-size: 16px;
}
.k-doc-drawer .k-doc-detail {
  max-height: none;
}
.k-doc-drawer .k-doc-detail-close {
  display: none;
}
.k-doc-drawer .ds-panel-title {
  font-size: 16px;
}
@media (max-width: 1279px) {
  .k-doc-layout[data-detail] {
    grid-template-columns: 184px minmax(0, 1fr);
  }
  .k-doc-detail-host {
    position: static;
    display: contents;
  }
}
@media (max-width: 600px) {
  .k-doc-toolbar,
  .k-doc-row,
  .k-doc-upload,
  .k-doc-footer {
    padding-left: 16px;
    padding-right: 16px;
  }
  .k-doc-select {
    flex-basis: 100%;
  }
  .k-doc-size {
    margin-left: auto;
  }
  .k-doc-drop {
    padding: 20px 12px;
  }
  .k-doc-classify {
    padding: 14px;
  }
  .k-doc-drawer.ds-dialog[data-drawer] {
    width: 100%;
  }
}

/* Flat, Org-owned document folders. */
.k-doc-folders {
  min-width: 0;
}
.k-doc-folder-heading {
  display: block;
  margin: 0 0 8px;
  padding: 4px 10px;
  color: var(--ds-text-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.k-doc-folder-links {
  display: grid;
  gap: 2px;
}
.k-doc-folder-row {
  position: relative;
  border-radius: 6px;
}
.k-doc-folder-row[data-selected] {
  background: #e6e4df;
}
.k-doc-folder-link.ds-button {
  display: flex;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  height: auto;
  padding: 7px 38px 7px 10px;
  text-align: left;
  justify-content: start;
  overflow-wrap: anywhere;
  border: 0;
  background: transparent;
  font-size: 14px;
}
.k-doc-folder-link svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.k-doc-folder-row[data-selected] .k-doc-folder-link {
  font-weight: 600;
  color: var(--ds-text);
}
.k-doc-folder-end {
  position: absolute;
  right: 4px;
  top: 5px;
  width: 26px;
  height: 26px;
}
.k-doc-folder-count {
  display: grid;
  place-content: center;
  height: 100%;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  color: var(--ds-text-muted);
  pointer-events: none;
}
.k-doc-folder-delete.ds-button {
  position: absolute;
  inset: 0;
  width: 26px;
  height: 26px;
  min-height: 26px;
  padding: 4px;
  border: 0;
  border-radius: 6px;
  background: white;
  box-shadow: 0 0 0 1px #e6e4df;
  opacity: 0;
}
.k-doc-folder-end:hover .k-doc-folder-delete,
.k-doc-folder-end:focus-within .k-doc-folder-delete {
  opacity: 1;
}
.k-doc-folder-end:has(button):hover .k-doc-folder-count,
.k-doc-folder-end:focus-within .k-doc-folder-count {
  opacity: 0;
}
.k-doc-folder-delete:hover {
  color: #d4522a;
}
.k-doc-folder-create {
  margin-top: 6px;
}
.k-doc-folder-create > .ds-button {
  width: 100%;
  justify-content: start;
}
.k-doc-folder-input {
  width: 100%;
  height: 34px;
  font-size: 14px;
}
.k-doc-folder-menu {
  flex-shrink: 0;
}
.k-doc-folder-menu > summary {
  display: grid;
  place-items: center;
  width: 36px;
  padding: 7px;
  list-style: none;
}
.k-doc-folder-menu > summary::-webkit-details-marker {
  display: none;
}
.k-doc-folder-menu[open] > summary {
  background: #f4f3f0;
}
.k-doc-folder-menu .ds-action-menu-items {
  z-index: 5;
  min-width: 220px;
  max-width: min(300px, 80vw);
}
.k-doc-folder-menu .ds-action-menu-items .ds-button {
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: left;
  height: auto;
  min-height: 36px;
}
.k-doc-folder-menu > .k-doc-error:empty {
  display: none;
}
.k-doc-confirm {
  max-width: min(480px, calc(100vw - 48px));
}
.k-doc-confirm .k-doc-actions {
  justify-content: flex-end;
}
.k-doc-confirm .k-doc-error:empty {
  display: none;
}
.k-doc-facts .ds-select {
  max-width: 100%;
  width: 100%;
}
@media (max-width: 767px) {
  .k-doc-layout,
  .k-doc-layout[data-detail] {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .k-doc-folder-links {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
  }
  .k-doc-folder-row {
    max-width: 100%;
  }
  .k-doc-folder-link.ds-button {
    width: auto;
  }
  .k-doc-folder-create {
    max-width: 240px;
  }
  .k-doc-folder-delete.ds-button {
    opacity: 1;
  }
  .k-doc-folder-row:has(.k-doc-folder-delete) .k-doc-folder-link {
    padding-right: 68px;
  }
  .k-doc-folder-end:has(button) {
    width: 56px;
  }
  .k-doc-folder-end:has(button) .k-doc-folder-count {
    width: 26px;
    opacity: 1;
  }
  .k-doc-folder-end .k-doc-folder-delete {
    left: auto;
    right: 0;
  }
}
