/* NOVA — Mode IA (Andoris), part 3 of 3: canvas detail views (tiles, fields,
   confirm card, Échanges, matchs), the Automations panel and every
   responsive rule (narrow desktop, stacked ≤1100px, phone ≤640px). */

/* Tiles in a narrow column: one per row, nothing clipped */
@container acanvas (max-width: 620px) {
  .andoris-canvas .card-list--grid,
  .andoris-canvas .card-list {
    grid-template-columns: 1fr;
  }
}
/* Corpus rows in a narrow column: status + actions drop under the title */
@container acanvas (max-width: 560px) {
  .andoris-shell .andoris-canvas .corpus-v2 .row:has(.r .pill) {
    flex-wrap: wrap;
    row-gap: 10px;
  }
  .andoris-shell .andoris-canvas .corpus-v2 .row .bd {
    flex: 1 1 0;
    min-width: 0;
  }
  .andoris-shell .andoris-canvas .corpus-v2 .row:not(:has(.r .pill)) .r {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .andoris-shell .andoris-canvas .corpus-v2 .row:has(.r .pill) .r {
    display: flex;
    flex: 1 0 100%;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding-left: 70px;
  }
  .andoris-shell .andoris-canvas .corpus-v2 .row .r .pill {
    margin-right: auto;
  }
}
@container acanvas (max-width: 380px) {
  .andoris-shell .andoris-canvas .corpus-v2 .row:has(.r .pill) .r {
    padding-left: 0;
  }
}
.andoris-canvas .tile-head {
  flex-wrap: wrap;
  row-gap: 6px;
}
.andoris-canvas .tile-head-end {
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 100%;
}
.andoris-canvas .tile .badge {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.has-app-shell .andoris-canvas .tile-mono {
  color: var(--nv-deep);
}

/* Portal tags + fields in the canvas: Nova look again (part-01 pinned both
   to the flat sunken palette with !important) */
.andoris-shell .andoris-canvas .tag,
.andoris-shell .andoris-canvas .tag-row .tag {
  border-color: var(--nv-tag-line) !important;
  background: var(--nv-tag-bg) !important;
  color: var(--nv-tag-ink) !important;
}
/* input selector repeats the :not()s so it outranks part-01 (0,4,1) */
.andoris-shell .andoris-canvas input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="file"]):not(.ticket-compose-to-input),
.andoris-shell .andoris-canvas :is(select, textarea) {
  border-color: var(--nv-field-line) !important;
  border-radius: 11px;
  background-color: var(--nv-field) !important;
  box-shadow: var(--nv-inset) !important;
}
.andoris-shell .andoris-canvas input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="file"]):not(.ticket-compose-to-input):focus,
.andoris-shell .andoris-canvas :is(select, textarea):focus {
  border-color: var(--nv-teal) !important;
  box-shadow: 0 0 0 3px var(--nv-ring), var(--nv-inset) !important;
  outline: none;
}

/* Detail surfaces, edit bar, filter bar, empty/error */
.andoris-shell .andoris-canvas .andoris-edit-bar {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 10px;
}
.andoris-shell .andoris-canvas .andoris-filter-bar {
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid var(--ui-line);
  border-radius: 14px;
  background: var(--nv-well);
}
.andoris-shell .andoris-canvas .ui-window[data-density="expanded"] {
  border: 1px solid transparent;
  border-radius: 16px;
  background:
    linear-gradient(var(--nv-card), var(--nv-card)) padding-box,
    var(--nv-edge-quiet) border-box;
  box-shadow: var(--shadow-sm);
}
.andoris-shell .andoris-canvas .ui-window::before {
  --ui-stripe: var(--nv-teal);
}
/* Error window: red stripe + wash, message as plain text (no nested box) */
.andoris-shell .andoris-canvas .ui-window[data-kind="error"] {
  background:
    linear-gradient(var(--error-soft), var(--error-soft)) padding-box,
    linear-gradient(var(--nv-card), var(--nv-card)) padding-box,
    linear-gradient(140deg, color-mix(in srgb, var(--error) 55%, transparent), var(--ui-line) 50%) border-box;
}
.andoris-shell .andoris-canvas .ui-window[data-kind="error"]::before {
  --ui-stripe: var(--error);
}
.andoris-shell .andoris-canvas .ui-window[data-kind="error"] .ui-window-eyebrow {
  color: var(--error);
}
.andoris-shell .andoris-canvas .ui-window[data-kind="error"] .andoris-empty {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--text);
  text-align: left;
}
.andoris-shell .andoris-canvas :is(.andoris-article-kicker, .ui-window-eyebrow) {
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nv-accent-ink);
}
.andoris-shell .andoris-canvas :is(.andoris-article-title, .ui-window-title) {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.015em;
  color: var(--text);
}

/* Confirmation "Ordre" card */
[data-theme] .andoris-confirm-card {
  gap: 16px;
  padding: 22px 22px 20px;
  border: 1px solid transparent;
  border-radius: 18px;
  background:
    radial-gradient(420px 160px at 100% 0%, var(--warn-soft), transparent 70%),
    linear-gradient(var(--nv-card), var(--nv-card)) padding-box,
    linear-gradient(140deg, color-mix(in srgb, var(--warn) 55%, transparent), var(--ui-line) 45%, rgba(23, 182, 164, 0.35)) border-box;
  box-shadow: var(--nv-lift);
  color: var(--ui-text);
}
[data-theme] .andoris-confirm-kk {
  font-size: 10.5px;
  letter-spacing: 0.16em;
  color: var(--nv-accent-ink);
}
[data-theme] .andoris-confirm-kk em,
[data-theme] [data-andoris="confirm-expiry"] {
  padding: 3px 8px;
  border: 1px solid color-mix(in srgb, var(--warn) 45%, transparent);
  border-radius: 999px;
  background: var(--warn-soft);
  color: var(--warn);
  font-variant-numeric: tabular-nums;
}
[data-theme] [data-andoris="confirm-expiry"].is-soon {
  border-color: color-mix(in srgb, var(--error) 50%, transparent);
  background: var(--error-soft);
  color: var(--error);
}
[data-theme] .andoris-confirm-kk em:empty {
  display: none;
}
[data-theme] .andoris-confirm-h2 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--ui-text);
}
[data-theme] .andoris-confirm-rows {
  padding: 12px 0;
  border-block: 1px solid var(--ui-line);
}
[data-theme] .andoris-confirm-rows dt {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ia-kicker);
  padding-top: 2px;
}
[data-theme] .andoris-confirm-rows dd,
[data-theme] .andoris-confirm-rows dd b {
  color: var(--ui-text);
}
[data-theme] .andoris-confirm-chip {
  border-color: var(--nv-tag-line);
  background: var(--nv-tag-bg);
  color: var(--nv-tag-ink);
}
[data-theme] .andoris-confirm-chip-more {
  border-color: var(--nv-hover-line);
  color: var(--nv-accent-ink);
}
[data-theme] .andoris-confirm-warn {
  border-color: color-mix(in srgb, var(--warn) 42%, transparent);
  border-radius: 12px;
  background: var(--warn-soft);
  color: var(--ui-text);
}
[data-theme] .andoris-confirm-warn svg,
[data-theme] .andoris-confirm-warn b {
  color: var(--warn);
}
[data-theme] .andoris-confirm-error {
  color: var(--error);
}
[data-theme] .andoris-confirm-acts {
  flex-wrap: wrap;
}
[data-theme] .andoris-confirm-acts .andoris-btn {
  min-height: 40px;
  padding: 0 16px;
}

/* Newsletter preview plaque */
[data-theme] .andoris-prev {
  border-color: var(--ui-line);
  border-radius: 14px;
  background: var(--nv-card);
}
[data-theme] .andoris-prev-ph {
  background: linear-gradient(135deg, #0a5a4d, #06302a);
}
[data-theme] .andoris-prev-foot {
  color: var(--ia-kicker);
  letter-spacing: 0.1em;
}

/* Échanges inside the canvas: list, compose draft, thread */
.andoris-shell .andoris-canvas .andoris-ticket-list .ticket-inbox-card {
  border: 1px solid transparent;
  border-radius: 14px;
  background:
    linear-gradient(var(--nv-card), var(--nv-card)) padding-box,
    var(--nv-edge-quiet) border-box;
  color: var(--text);
}
.andoris-shell .andoris-canvas .andoris-ticket-list .ticket-inbox-card:hover {
  background:
    linear-gradient(var(--nv-card-hi), var(--nv-card-hi)) padding-box,
    var(--nv-edge) border-box;
}
.andoris-shell .andoris-canvas .andoris-ticket-list .ticket-inbox-card.is-selected {
  background:
    linear-gradient(var(--nv-tag-bg), var(--nv-tag-bg)) padding-box,
    linear-gradient(var(--nv-card), var(--nv-card)) padding-box,
    var(--nv-edge) border-box;
}
.andoris-shell .andoris-canvas :is(.ticket-inbox-preview, .ticket-inbox-date) {
  color: var(--faint);
}
.andoris-shell .andoris-canvas .ticket-inbox-date {
  font-family: var(--mono);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
[data-theme] .andoris-draft-card {
  border: 1px dashed var(--nv-hover-line);
  border-radius: 16px;
  background: linear-gradient(var(--nv-tag-bg), var(--nv-tag-bg)), var(--nv-card);
}
[data-theme] :is(.andoris-draft-kicker, .andoris-draft-audience-kicker) {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: var(--nv-accent-ink);
}
[data-theme] .andoris-draft-chip {
  border-color: var(--nv-tag-line);
  background: var(--nv-tag-bg);
  color: var(--nv-tag-ink);
}
.andoris-shell .andoris-canvas :is(.ticket-send-btn, .tickets-new-btn, .andoris-ticket-compose button[type="submit"]) {
  border: 1px solid var(--nv-pri-line);
  background: linear-gradient(180deg, var(--nv-pri-from), var(--nv-pri-to));
  color: var(--nv-pri-ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 10px 22px -12px var(--nv-pri-glow);
}
.andoris-shell .andoris-canvas .ticket-msg--mine .ticket-msg-bubble {
  border: 1px solid var(--ia-bubble-line);
  background: var(--ia-bubble);
  color: var(--text);
}
.andoris-shell .andoris-canvas .ticket-msg--theirs .ticket-msg-bubble {
  border-color: var(--ui-line);
  background: var(--nv-card);
  color: var(--text);
}
.andoris-shell .andoris-canvas :is(.ticket-overflow-menu, .ticket-popover, .ticket-compose-to-drop, .ticket-composer-pill) {
  border-color: var(--ui-line);
  background: var(--nv-card);
  color: var(--text);
}
.andoris-shell .andoris-canvas .ticket-composer-pill {
  padding: 5px 5px 5px 14px;
  border: 1px solid var(--nv-field-line);
  border-radius: 16px;
  background: var(--nv-field);
  box-shadow: var(--nv-inset);
}
.andoris-shell .andoris-canvas .ticket-composer-pill:focus-within {
  border-color: var(--nv-teal);
  box-shadow: 0 0 0 3px var(--nv-ring), var(--nv-inset);
}
.andoris-shell .andoris-canvas .ticket-room-composer textarea,
.andoris-shell .andoris-canvas .ticket-room-composer textarea:focus,
.andoris-shell .andoris-canvas .ticket-room-composer textarea:hover {
  padding: 9px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none;
  color: var(--text);
}
.andoris-shell .andoris-canvas .ticket-send-btn {
  border-radius: 12px !important;
}
.andoris-shell .andoris-canvas .andoris-ticket-compose .ticket-compose-body {
  padding: 12px 14px;
  line-height: 1.55;
}
.andoris-shell .andoris-canvas .ticket-mode-seg {
  background: var(--nv-well);
}
.andoris-shell .andoris-canvas .ticket-mode-seg label:has(input:checked) {
  background: linear-gradient(180deg, var(--nv-pri-from), var(--nv-pri-to));
  color: var(--nv-pri-ink);
}
.andoris-shell .andoris-canvas .ticket-room-subject {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--text);
}
[data-theme] .andoris-ticket-sent-banner {
  border-color: color-mix(in srgb, var(--success) 45%, transparent);
  background: var(--success-soft);
  color: var(--text);
}

/* Simple canvas rows (notifications, matchs) */
.andoris-shell .andoris-canvas .andoris-match-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.andoris-shell .andoris-canvas .andoris-ticket-row {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid transparent !important;
  border-radius: 14px;
  background:
    linear-gradient(var(--nv-card), var(--nv-card)) padding-box,
    var(--nv-edge-quiet) border-box !important;
  color: var(--text) !important;
  line-height: 1.4;
  transition: box-shadow 0.18s var(--nv-ease), background 0.18s;
}
.andoris-shell .andoris-canvas .andoris-ticket-row.andoris-select-row {
  padding-left: 44px;
}
.andoris-shell .andoris-canvas .andoris-ticket-row:hover {
  background:
    linear-gradient(var(--nv-card-hi), var(--nv-card-hi)) padding-box,
    var(--nv-edge) border-box !important;
  box-shadow: 0 0 0 2px var(--nv-ring) !important;
}
.andoris-shell .andoris-canvas .andoris-ticket-row strong {
  font-weight: 600;
}
.andoris-shell .andoris-canvas .match-badge-starred {
  border: 1px solid color-mix(in srgb, var(--warn) 45%, transparent);
  background: var(--warn-soft);
  color: var(--warn);
}
.andoris-shell .andoris-canvas .andoris-empty {
  margin: 4px 0;
  padding: 22px 18px;
  border: 1px dashed var(--ui-line-strong);
  border-radius: 14px;
  background: var(--nv-well);
  color: var(--muted);
  text-align: center;
}

/* Match canvas */
.andoris-shell .andoris-canvas .andoris-match-member {
  border-color: var(--ui-line);
  border-radius: 14px;
  background: var(--nv-card);
  transition: border-color 0.18s, box-shadow 0.18s var(--nv-ease);
}
.andoris-shell .andoris-canvas .andoris-match-member:hover {
  border-color: var(--nv-hover-line);
  box-shadow: 0 0 0 2px var(--nv-ring);
}
.andoris-shell .andoris-canvas .andoris-match-row--starred {
  border-color: color-mix(in srgb, var(--warn) 50%, transparent);
}

/* ═══════════ Automations panel ═══════════ */
[data-theme] .andoris-autos {
  inset: 0;
  border-top: 0;
  background-color: var(--ui-bg);
  background-image: var(--nv-aurora), var(--nv-dots);
  background-size: auto, auto, 26px 26px;
  background-position: 0 0, 0 0, -1px -1px;
}
[data-theme] .andoris-autos-rail {
  padding: 18px 14px;
  border-right: 1px solid var(--nv-glass-line);
  background: var(--ia-panel);
}
/* part-02's folded-rail rules hide every .andoris-list / .andoris-nav-kicker in
   the shell — including the Automations panel's own list. Keep that one. */
.andoris-shell[data-nav-folded="true"] .andoris-autos :is(.andoris-nav-kicker, .andoris-list) {
  display: block;
}
[data-theme] .andoris-autos-rail > .andoris-btn--accent {
  width: 100%;
  min-height: 40px;
}
[data-theme] .andoris-autos-title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.015em;
}
[data-theme] .andoris-autos-stage {
  padding: 36px 44px 56px;
}
[data-theme] .andoris-autos-empty-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: var(--nv-accent-ink);
}
[data-theme] .andoris-autos-empty-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 2px;
  background: var(--nv-signal);
  box-shadow: 0 0 10px rgba(23, 182, 164, 0.7);
}
[data-theme] :is(.andoris-autos-empty, .andoris-autos-detail) h3 {
  font-size: 32px;
  letter-spacing: -0.025em;
}
[data-theme] .andoris-autos-empty > p:not(.andoris-autos-empty-kicker) {
  max-width: 44rem;
  color: var(--ui-text-muted);
  line-height: 1.6;
}
[data-theme] .andoris-autos-stage .andoris-autos-card {
  position: relative;
  min-height: 128px;
  padding: 16px 18px;
  border: 1px solid transparent;
  border-radius: 16px;
  background:
    linear-gradient(var(--nv-card), var(--nv-card)) padding-box,
    var(--nv-edge-quiet) border-box;
  box-shadow: var(--shadow-sm);
  transition: transform 0.22s var(--nv-ease), box-shadow 0.22s var(--nv-ease), background 0.22s;
}
[data-theme] .andoris-autos-stage .andoris-autos-card:hover {
  transform: translateY(-2px);
  background:
    linear-gradient(var(--nv-card-hi), var(--nv-card-hi)) padding-box,
    var(--nv-edge) border-box;
  box-shadow: var(--nv-lift);
}
[data-theme] .andoris-autos-stage .andoris-autos-card-kicker {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.02em;
  color: var(--nv-accent-ink);
}
[data-theme] .andoris-autos-stage .andoris-autos-card strong {
  font-weight: 400;
  font-size: 17px;
  letter-spacing: -0.01em;
}
[data-theme] :is(.andoris-autos-trigger, .andoris-autos-prompt) {
  border-color: var(--ui-line);
  border-radius: 14px;
  background: var(--nv-card);
}
[data-theme] :is(.andoris-autos-block h4, .andoris-autos-instructions) {
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.14em;
  color: var(--ia-kicker);
}
[data-theme] :is(.andoris-autos-editor-head input, .andoris-autos-instructions textarea, .andoris-autos-trigger select, .andoris-autos-trigger input) {
  min-height: 42px;
  border: 1px solid var(--nv-field-line) !important;
  border-radius: 11px;
  background: var(--nv-field) !important;
  color: var(--ui-text) !important;
  box-shadow: var(--nv-inset) !important;
}
[data-theme] :is(.andoris-autos-editor-head input, .andoris-autos-instructions textarea, .andoris-autos-trigger select, .andoris-autos-trigger input):focus {
  border-color: var(--nv-teal) !important;
  box-shadow: 0 0 0 3px var(--nv-ring), var(--nv-inset) !important;
  outline: none;
}
[data-theme] .andoris-autos-tabs [role="tab"] {
  min-height: 34px;
  border-radius: 10px;
}
[data-theme] .andoris-autos-tabs [role="tab"][aria-selected="true"] {
  background: var(--nv-tag-bg);
  color: var(--nv-accent-ink);
  box-shadow: inset 0 0 0 1px var(--nv-tag-line);
}
[data-theme] .andoris-autos-run {
  border-radius: 14px;
  border-color: var(--ui-line);
  background: var(--nv-card);
}
[data-theme] .andoris-autos-run:hover:not(:disabled) {
  border-color: var(--nv-hover-line);
  background: var(--nv-card-hi);
}
[data-theme] .andoris-autos-run-status[data-status="ok"] {
  color: var(--success);
}
[data-theme] .andoris-autos-run-status[data-status="error"] {
  color: var(--error);
}

/* Automations rail list: title + schedule on two lines */
[data-theme] .andoris-autos-rail .andoris-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
[data-theme] .andoris-autos-rail .andoris-list button {
  height: auto;
  min-height: 44px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  padding: 8px 12px;
  border-radius: 10px;
  color: var(--ui-text);
  font-size: 13.5px;
  transition: background 0.16s var(--nv-ease), box-shadow 0.16s;
}
[data-theme] .andoris-autos-rail .andoris-list button > span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-theme] .andoris-autos-rail .andoris-list button small {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.04em;
  color: var(--ia-kicker);
}
[data-theme] .andoris-autos-rail .andoris-list button:hover {
  background: var(--nv-well);
}
[data-theme] .andoris-autos-rail .andoris-list button[aria-current="true"] {
  background: linear-gradient(100deg, rgba(79, 221, 225, 0.16), rgba(23, 182, 164, 0.05) 70%, transparent), var(--nv-well);
  box-shadow: inset 0 0 0 1px var(--nv-tag-line);
}
[data-theme] .andoris-autos-rail .andoris-empty {
  padding: 8px 12px;
  font-size: 12.5px;
  color: var(--faint);
  list-style: none;
}

/* ═══════════ Light: text accents that legacy painted with fill colours ═══════════ */
[data-theme="andoris-light"] :is(.andoris-convo-pin-ic, .andoris-convo-clock-ic, .andoris-confirm-kk, .andoris-auto-foot-h em) {
  color: var(--nv-accent-ink);
}
/* amber ink on an amber wash needs a darker step in light */
[data-theme="andoris-light"] :is(.andoris-confirm-kk em, [data-andoris="confirm-expiry"]:not(.is-soon), .andoris-canvas .corpus-v2 .row .dt.soon b, .andoris-canvas .match-badge-starred) {
  color: color-mix(in srgb, var(--warn) 72%, #000);
}

/* ═══════════ Narrow desktop (1101–1180): quieter gutters ═══════════ */
@media (max-width: 1180px) and (min-width: 1101px) {
  .andoris-shell .andoris-canvas {
    padding: 0 14px 14px;
  }
  .andoris-shell .andoris-thread {
    padding-inline: 14px;
  }
}

/* ═══════════ Stacked (≤1100): nav drawer + canvas sheet ═══════════ */
@media (max-width: 1100px) {
  [data-theme] .andoris-nav {
    background: var(--ia-canvas);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: 30px 0 80px -20px rgba(0, 0, 0, 0.7);
  }
  [data-theme="andoris-light"] .andoris-nav {
    box-shadow: 30px 0 70px -24px rgba(23, 23, 24, 0.35);
  }
  .andoris-shell .andoris-nav-scrim {
    background: rgba(6, 6, 7, 0.55);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }
  /* part-04 re-declares `position: relative` after part-03's stacked
     `absolute`, so the sheet collapsed into a 24px implicit grid column. */
  body.andoris-app .andoris-shell .andoris-canvas {
    position: absolute;
    inset: 0;
    z-index: 6;
    border-left: 0;
    background: var(--ia-canvas);
  }
  .andoris-shell .andoris-canvas-chrome {
    min-height: 60px;
  }
  .andoris-shell .andoris-canvas-chrome .andoris-btn {
    min-height: 44px;
  }
  .andoris-shell .andoris-canvas-chrome [data-andoris="canvas-close"] {
    order: 3;
  }
  .andoris-shell .andoris-canvas-chrome [data-andoris="stack-back"] {
    order: 1;
  }
  .andoris-shell .andoris-canvas-crumb {
    order: 2;
  }
  [data-andoris="memory-overlay"]:not([hidden]) {
    z-index: 30;
  }
}

/* The topbar drops its theme switch ≤900px (nova-mobile); Mode IA then shows
   the one in its own drawer (legacy only did so ≤640px — nothing at 641–900). */
@media (max-width: 900px) {
  body.andoris-app .andoris-nav .andoris-theme-switch {
    display: grid;
    place-items: center;
  }
  body.andoris-app .andoris-nav-actions {
    flex-direction: row;
    align-items: center;
  }
  body.andoris-app .andoris-nav-actions [data-andoris="new"] {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }
}

/* Automations stacked: the whole panel scrolls, not two squeezed tracks */
@media (max-width: 800px) {
  [data-theme] .andoris-autos {
    align-content: start;
  }
  [data-theme] :is(.andoris-autos-rail, .andoris-autos-stage) {
    overflow: visible;
  }
  [data-theme] .andoris-autos-rail {
    border-right: 0;
    border-bottom: 1px solid var(--nv-glass-line);
  }
}

/* ═══════════ Phone (≤640) ═══════════ */
@media (max-width: 640px) {
  /* Mode IA topbar: the wordmark shrinks to its mark so nothing overlaps */
  body.andoris-app .topbar-andoris-logo {
    width: 30px;
    height: 30px;
    object-fit: cover;
    object-position: 0 50%;
  }
  .andoris-landing {
    justify-content: flex-start;
    min-height: 0;
    padding: 4px 0 12px;
  }
  .andoris-landing-stage {
    margin-block: auto;
    gap: 14px !important;
  }
  .andoris-landing-stage::before {
    width: 320px;
    height: 240px;
    top: -30px;
  }
  .andoris-landing-logo {
    width: min(38%, 128px);
  }
  body.andoris-app .andoris-landing-cards {
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }
  [data-theme] .andoris-landing-cards .andoris-autos-card {
    min-height: 74px !important;
    padding: 10px 12px !important;
  }
  [data-theme] .andoris-landing-cards .andoris-autos-card-kicker {
    display: block;
    font-size: 9.5px !important;
    letter-spacing: 0.08em !important;
  }
  .andoris-landing-cards .andoris-autos-card strong {
    font-size: 15px;
  }
  [data-theme] .andoris-landing-cards .andoris-autos-card::before,
  [data-theme] .andoris-landing-cards .andoris-autos-card::after {
    display: none;
  }
  .andoris-shell .andoris-thread {
    padding: 10px 10px max(10px, env(safe-area-inset-bottom));
  }
  [data-theme] .andoris-composer {
    padding: 10px 10px 8px 12px;
    border-radius: 16px;
  }
  [data-theme] .andoris-composer textarea {
    font-size: 16px;
  }
  .andoris-composer-bar {
    flex-wrap: nowrap;
  }
  [data-theme] .andoris-composer-tools .andoris-btn--ghost,
  [data-theme] [data-andoris="send"].andoris-btn--stop {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }
  [data-theme] [data-andoris="send"]:not(.andoris-btn--stop) {
    min-height: 44px;
  }
  [data-theme] .andoris-comp > .andoris-composer-hint {
    display: none;
  }
  [data-theme] .andoris-msg-md {
    font-size: 15px;
  }
  [data-theme] .andoris-msg--user {
    max-width: 88%;
  }
  /* Drawer rows: comfortable touch targets */
  .andoris-list button.andoris-convo-open {
    height: 44px;
    font-size: 15px;
  }
  .andoris-nav .andoris-list-filter-wrap {
    height: 46px;
  }
  .andoris-list-filter-wrap input.andoris-list-filter[type="search"] {
    min-height: 44px !important;
    font-size: 16px;
  }
  .andoris-nav .andoris-auto-foot {
    min-height: 48px;
  }
  .andoris-nav .andoris-nav-fold-ghost {
    width: 44px;
    height: 44px;
  }
  .andoris-list button.andoris-convo-pin,
  .andoris-list button.andoris-convo-del {
    opacity: 1;
    pointer-events: auto;
    width: 36px;
    flex-basis: 36px;
  }
  .andoris-list button.andoris-convo-pin {
    right: 36px;
  }
  .andoris-list button.andoris-convo-open {
    padding-right: 76px;
  }
  .andoris-shell .andoris-canvas {
    padding: 0 12px max(12px, env(safe-area-inset-bottom));
  }
  .andoris-shell .andoris-canvas .corpus-v2 .row .r {
    gap: 6px;
  }
  .andoris-shell .andoris-canvas .corpus-v2 .row :is(.btn-star, .btn-share) {
    width: 40px;
    height: 40px;
  }
  [data-theme] .andoris-select-actions .btn-secondary {
    min-height: 40px;
  }
  [data-theme] .andoris-autos-stage {
    padding: 22px 16px 36px;
  }
  [data-theme] .andoris-confirm-card {
    padding: 18px 16px 16px;
  }
  [data-theme] .andoris-confirm-rows {
    grid-template-columns: minmax(96px, 34%) 1fr;
  }
  [data-theme] .andoris-confirm-acts {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  [data-theme] .andoris-confirm-acts .andoris-btn {
    min-height: 46px;
  }
  [data-theme] .andoris-confirm-acts .andoris-btn--accent {
    grid-column: 1 / -1;
  }
  [data-theme] .andoris-reasoning summary {
    min-height: 40px;
    padding: 0 16px 0 14px;
  }
  .andoris-shell .andoris-canvas label.andoris-select {
    padding: 12px;
    margin: -12px;
  }
  [data-andoris="memory-overlay"]:not([hidden]) {
    left: 12px;
    right: 12px;
    width: auto;
    bottom: 140px;
  }
  .andoris-memory-row .andoris-btn {
    min-height: 40px;
  }
  [data-theme] .andoris-msg-error .andoris-msg-retry {
    min-height: 44px;
  }
  [data-theme] .andoris-selection-chip {
    min-height: 40px;
    padding: 2px 2px 2px 14px;
  }
  [data-theme] .andoris-selection-chip-clear {
    width: 36px;
    height: 36px;
  }
}

@media (max-width: 380px) {
  body.andoris-app .topbar-andoris {
    display: none;
  }
}
/* Short phones / landscape: tighter landing so more of it shows above the composer */
@media (max-height: 760px) and (max-width: 1100px) {
  .andoris-landing-logo {
    width: min(30%, 104px);
  }
  .andoris-landing-stage {
    gap: 12px !important;
  }
  [data-theme] .andoris-landing-cards .andoris-autos-card {
    min-height: 64px !important;
  }
}
@media (max-height: 500px) and (max-width: 1100px) {
  .andoris-landing-mark {
    display: none;
  }
  body.andoris-app .andoris-landing-cards {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }
  [data-theme] .andoris-comp > .andoris-composer-hint {
    display: none;
  }
}

@media (prefers-reduced-motion: no-preference) and (max-width: 1100px) {
  @keyframes ia-sheet {
    from { opacity: 0; transform: translateX(18px); }
    to { opacity: 1; transform: none; }
  }
  .andoris-shell[data-canvas-open="true"] .andoris-canvas {
    animation: ia-sheet 0.28s var(--nv-ease) both;
  }
}
