.kanban {
  grid-template-columns: repeat(7, minmax(190px, 1fr));
}

.assignment.marketing {
  grid-column: 1 / -1;
  background: #fff3ec;
  border-color: #efb48f;
}

.assignment.marketing header > b,
.marketing-gate header > b {
  background: #c4471c;
  color: #fff;
}

.marketing-gate {
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(280px, 1.3fr);
  gap: 12px;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #efb48f;
  border-radius: 14px;
  background: #fff7f2;
}

.marketing-gate[hidden] { display: none; }

.marketing-gate header {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.marketing-gate header > b {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
}

.marketing-gate header span { display: grid; }
.marketing-gate header small {
  color: #b9461a;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
}

.marketing-gate label {
  display: grid;
  gap: 6px;
  color: #122238;
  font-size: 14px;
  font-weight: 700;
}

.marketing-gate select,
.marketing-gate textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d7dde4;
  border-radius: 10px;
  background: #fff;
  color: #122238;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  min-height: 44px;
  padding: 10px 14px;
}

.marketing-gate textarea { resize: vertical; }
.brand-decisions{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.brand-decisions label{display:flex;min-height:48px;grid-auto-flow:column;align-items:center;gap:8px;padding:8px;border:1px solid #d7dde4;border-radius:10px;background:#fff}.brand-decisions label span{flex:1;font:700 16px Georgia,serif}.brand-decisions label b{padding:4px 10px;border-radius:20px;color:#b9461a;background:#fff0e9;font-size:13px}.brand-decisions label.ok b{color:#34775f;background:#e6f3ee}
.vsm-gate{display:grid;gap:12px;margin-top:18px;padding:16px;border:1px solid #b7c9df;border-radius:14px;background:#f4f8fc}.vsm-gate header{display:flex;align-items:center;gap:10px}.vsm-gate header>b{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:#fff;background:#355a82}.vsm-gate header span{display:grid}.vsm-gate header small{color:#355a82;font-size:13px;font-weight:800;letter-spacing:.06em}.vsm-gate>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.vsm-gate label{display:grid;gap:6px;color:#122238;font-size:14px;font-weight:700}.vsm-gate select,.vsm-gate input,.vsm-gate textarea{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #d7dde4;border-radius:10px;background:#fff;font-size:16px}.vsm-gate .homologation-check{display:flex;flex-direction:row;align-items:center;padding:8px;border:1px solid #d7dde4;background:#fff}.vsm-gate .homologation-check input{width:16px;min-height:16px}

.appeal-admin { margin: 0 22px 20px; padding: 16px; border: 1px solid #cdb8d8; border-radius: 13px; background: #f8f3fb; }
.appeal-admin[hidden] { display: none; }
.appeal-admin header { display: flex; align-items: center; gap: 10px; }
.appeal-admin header > b { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: #fff; background: #7d4a95; }
.appeal-admin header span { display: grid; }
.appeal-admin header small { color: #7d4a95; font-size: 13px; font-weight: 800; letter-spacing: .06em; }
.appeal-admin header em { margin-left: auto; padding: 6px 9px; border-radius: 999px; color: #6d3d82; background: #eadcf1; font-size: 13px; font-style: normal; font-weight: 800; }
.appeal-admin > p { padding: 11px 13px; border-left: 3px solid #7d4a95; color: #4c3c55; background: #eee5f3; font-size: 15px; line-height: 1.5; }
.appeal-admin label { display: grid; gap: 6px; color: #122238; font-size: 14px; font-weight: 700; }
.appeal-admin textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #d7dde4; border-radius: 10px; font-family: inherit; font-size: 16px; line-height: 1.5; resize: vertical; }
.appeal-admin > div { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.appeal-admin button { min-height: 44px; padding: 0 18px; border: 1px solid #122238; border-radius: 10px; cursor: pointer; font-size: 15px; font-weight: 700; }
.appeal-admin button:last-child { color: #fff; background: #122238; }

@media (max-width: 560px) {
  .kanban { grid-template-columns: repeat(7, 220px); }
  .marketing-gate { grid-template-columns: 1fr; }
  .brand-decisions { grid-template-columns: 1fr 1fr; }
  .vsm-gate>div { grid-template-columns: 1fr; }
}
