/* Inboxvana: kanalen en koppelingen (mailboxen via Microsoft 365 en Google, WhatsApp, websitechat, Shopify-app).
   Alleen kleuren, maten en lettertypen uit stijl.css; apart bestand zodat andere onderdelen er niet in hoeven te schrijven. */

/* ---------- Lijsten ---------- */

/* Blokje met een icoon in de kleur van het kanaal, zoals bij mailboxen. */
.kanaal-blok {
  width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 11px;
  background: color-mix(in oklab, var(--k) 13%, var(--oppervlak)); color: color-mix(in oklab, var(--k) 82%, var(--inkt));
}
.kanaal-skelet-blok { width: 38px; height: 38px; flex: none; border-radius: 11px; }
.kanaal-label {
  display: inline-flex; align-items: center; flex: none;
  padding: 1px 7px; border-radius: 999px;
  background: var(--oppervlak-3); color: var(--inkt-2);
  font-size: 11.5px; font-weight: 600; line-height: 1.6; white-space: nowrap;
}
.beheer-sub--label { display: flex; align-items: center; gap: 6px; min-width: 0; }
.beheer-sub-tekst { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.beheer-sub--wrap { white-space: normal; line-height: 1.45; }
.beheer-let-op { font-size: 12.5px; font-weight: 500; color: var(--amber); }
.monogram--klein { width: 30px; height: 30px; border-radius: 9px; font-size: 14px; }

.kanaal-laden { display: flex; align-items: center; gap: 12px; padding: 10px 0; color: var(--inkt-2); }

/* Kaart die de volgende stap uitlicht (net gekoppeld). */
.kaart--net { background: var(--merk-zachter); box-shadow: inset 0 0 0 1.5px var(--merk-rand-zacht), var(--schaduw-1); }

/* ---------- Stappen, code en kopiëren ---------- */

.stappen--klein { gap: 14px; }
.stappen--klein .stap-inhoud { gap: 4px; }
.stappen--klein .stap-titel { font-size: 14px; }

.code-vak {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px 10px;
  padding: 10px 10px 10px 14px; border-radius: 12px;
  background: var(--oppervlak-2); box-shadow: inset 0 0 0 1px var(--lijn-sterk);
}
.code-tekst {
  margin: 0; padding: 5px 0; min-width: 0;
  font: 500 13px/1.6 ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  white-space: pre-wrap; overflow-wrap: anywhere; color: var(--inkt); user-select: all;
}
.code-tekst code { font: inherit; }

.kopieer-lijst { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.kopieer-rij { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.kopieer-vak {
  display: flex; align-items: center; gap: 8px; min-width: 0;
  padding: 7px 7px 7px 12px; border-radius: 12px;
  background: var(--oppervlak-2); box-shadow: inset 0 0 0 1px var(--lijn-sterk);
}
.kopieer-waarde { flex: 1; min-width: 0; font: 500 13px/1.5 ui-monospace, "SF Mono", Menlo, Consolas, monospace; overflow-wrap: anywhere; user-select: all; }

/* ---------- Keuze als knoppenbalk ---------- */

.segment-veld { display: grid; gap: 0; min-width: 0; margin: 0; padding: 0; border: 0; }
.segment-veld > legend.veld-label { padding: 0; margin-bottom: 8px; }
.segment { justify-self: start; display: inline-flex; flex-wrap: wrap; gap: 2px; max-width: 100%; padding: 3px; border-radius: 10px; background: var(--tabs-vlak); }
.segment-optie {
  position: relative; display: inline-flex; align-items: center; gap: 6px;
  min-height: 30px; padding: 0 11px; border-radius: 8px;
  color: var(--inkt-3); font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer;
  transition: background-color var(--snel), color var(--snel), box-shadow var(--snel);
}
.segment-optie input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.segment-optie:hover { color: var(--inkt); }
.segment-optie--gekozen { background: var(--oppervlak); color: var(--inkt); box-shadow: 0 1px 2px rgba(22, 24, 29, 0.08), 0 0 0 1px var(--lijn); }
.segment-optie:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }

/* ---------- Mailboxen: Microsoft 365 en Google ---------- */

.oauth-advies { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; justify-items: start; }
.oauth-advies .melding { justify-self: stretch; }
.oauth-advies a.knop, .koppel-tegel a.knop { text-decoration: none; }
.inlog-blok { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding-top: 14px; border-top: 1px solid var(--lijn); }
.inlog-tekst { flex: 1 1 240px; display: grid; gap: 2px; min-width: 0; font-size: 13px; line-height: 1.45; color: var(--inkt-3); }
.inlog-tekst strong { font-size: 14px; font-weight: 650; color: var(--inkt); }
.inlog-noot { font-size: 12.5px; color: var(--inkt-3); }

/* ---------- WhatsApp ---------- */

.webhook { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.venster-uitleg { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.venster-blok { display: grid; gap: 4px; align-content: start; padding: 12px 14px; border-radius: 12px; background: var(--oppervlak-2); box-shadow: inset 0 0 0 1px var(--lijn); }
.venster-blok strong { font-size: 13.5px; font-weight: 650; }
.venster-blok p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--inkt-3); }
.sjablonen-kop { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; }
.sjablonen-titel { margin: 0; font: 650 14.5px/1.3 var(--font); }
.sjablonen { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; padding: 0; }
.sjabloon { display: grid; gap: 6px; min-width: 0; padding: 12px 14px; border-radius: 12px; background: var(--oppervlak-2); box-shadow: inset 0 0 0 1px var(--lijn); }
.sjabloon-kop { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; min-width: 0; }
.sjabloon-naam { min-width: 0; font: 600 13px/1.4 ui-monospace, "SF Mono", Menlo, Consolas, monospace; overflow-wrap: anywhere; }
.sjabloon-tekst { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--inkt-2); white-space: pre-wrap; overflow-wrap: anywhere; }
.sjabloon-tekst--kop { font-weight: 650; color: var(--inkt); }
.sjabloon-niet { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--amber-inkt); }
.sjabloon-niet .icoon { margin-top: 2px; }
.sjabloon--niet .sjabloon-tekst { color: var(--inkt-3); }

/* ---------- Websitechat ---------- */

.chat-editor { container: chateditor / inline-size; }
.chat-raster { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
.chat-velden { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }
.chat-zij { min-width: 0; }
/* Het chatpaneel is 380 px breed en staat 20 px van de rand: de kolom met het voorbeeld moet daar ruim omheen passen. */
@container chateditor (min-width: 900px) {
  .chat-raster { grid-template-columns: minmax(0, 1fr) 448px; }
  .chat-zij { position: sticky; top: 8px; }
}

.chat-voorbeeld-vak {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0;
  padding: 12px; border-radius: 16px; background: var(--oppervlak); box-shadow: inset 0 0 0 1px var(--lijn), var(--schaduw-1);
}
.chat-voorbeeld-kop { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.chat-voorbeeld-titel { flex: 1 1 auto; margin: 0 6px 0 2px; font: 650 15px/1.3 var(--font-kop); }
.chat-voorbeeld-noot { margin: 0 2px; font-size: 12.5px; line-height: 1.45; color: var(--inkt-3); }
/* Een nagebootste website achter de chat (licht, zoals de meeste websites). De widget zelf zit in een eigen schaduw-DOM. */
.chat-voorbeeld {
  isolation: isolate; overflow: hidden; border-radius: 12px;
  box-shadow: inset 0 0 0 1px var(--lijn-sterk);
  background-color: #F2F3F5;
  background-image:
    linear-gradient(#FFFFFF, #FFFFFF), linear-gradient(#D5DAE0, #D5DAE0), linear-gradient(#E3E6EA, #E3E6EA), linear-gradient(#E3E6EA, #E3E6EA),
    linear-gradient(#D9DDE3, #D9DDE3), linear-gradient(#E5E8EC, #E5E8EC), linear-gradient(#E5E8EC, #E5E8EC), linear-gradient(#E5E8EC, #E5E8EC),
    linear-gradient(#FFFFFF, #FFFFFF);
  background-size: 100% 52px, 84px 14px, 44px 9px, 44px 9px, 56% 20px, 72% 9px, 64% 9px, 48% 9px, calc(100% - 44px) 150px;
  background-position: 0 0, 22px 19px, calc(100% - 82px) 22px, calc(100% - 22px) 22px, 22px 88px, 22px 128px, 22px 147px, 22px 166px, 22px 204px;
  background-repeat: no-repeat;
}

.websites { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.website-invoer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.website-lijst { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.website-chip {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%; min-height: 32px; padding: 0 2px 0 10px;
  border-radius: 999px; background: var(--merk-zacht); color: var(--merk-tekst); box-shadow: inset 0 0 0 1px var(--merk-rand-zacht);
  font-size: 13px; font-weight: 600;
}
.website-chip > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.website-chip .icoonknop { width: 28px; height: 28px; border-radius: 999px; color: inherit; }
.website-chip .icoonknop:hover:not(:disabled) { background: color-mix(in oklab, var(--merk) 14%, transparent); color: inherit; }
.website-hint { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; font-size: 13px; line-height: 1.45; color: var(--inkt-3); }

.insluitcode { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }

/* ---------- Koppelingen ---------- */

.koppel-groep { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.koppel-groep + .koppel-groep { margin-top: 6px; }
.koppel-groep-kop { display: flex; align-items: center; gap: 8px; margin: 4px 0 0; font: 650 14px/1.3 var(--font); color: var(--inkt-2); }
.koppel-groep-kop .icoon { color: var(--inkt-3); }
.koppel-tegel-knoppen { display: grid; justify-items: start; gap: 10px; }
.koppel-tegel-knoppen .link-knop { text-align: left; line-height: 1.35; }
.koppeling-acties { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 4px; }
.koppel-formulier .veld-uitleg { overflow-wrap: anywhere; }
.tracking-rij .beheer-rij-tekst { flex-basis: 200px; }

/* ---------- Bevestigen bij verwijderen ---------- */

.verwijder-akkoord { margin-top: 4px; padding: 12px; border-radius: 12px; background: var(--rood-zacht); color: var(--rood-inkt); }
.verwijder-akkoord input { accent-color: var(--rood-knop); }

/* ---------- Telefoon ---------- */

@media (max-width: 760px) {
  /* Rij met een link (mailboxen, kanalen): tekst over de volle breedte, de status op een eigen regel eronder. */
  .beheer-rij--link .beheer-rij-tekst { flex: 1 1 calc(100% - 110px); }
  .tracking-rij .mb-status { margin-left: 50px; }
  .segment-optie { min-height: 44px; padding: 0 14px; font-size: 14.5px; }
  .code-vak { grid-template-columns: minmax(0, 1fr); }
  .code-vak .knop { justify-self: start; }
  .kopieer-vak { flex-wrap: wrap; padding: 8px 8px 8px 12px; }
  .kopieer-waarde { flex-basis: 100%; }
  .website-chip { min-height: 44px; padding-left: 14px; }
  .website-chip .icoonknop { width: 40px; height: 40px; }
  .website-invoer .knop { padding: 0 14px; }
  .inlog-blok .knop { flex: 1 1 auto; }
  .koppel-tegel-knoppen .link-knop { margin: -6px -8px; }
  .koppeling-acties .link-knop { margin: -10px -8px; }
}
