/* OnzNow Portal V3.0 (r2): Payment queue, Campaigns and Create Campaign.
   Loaded after staff-v3.0-r2.css. Everything is scoped to the staff dashboard (.internal-app).
   Icon tokens are written as icon plus the name in brackets and expanded into SVG data URIs by the build script. */

.internal-app {
  --cc-line: #e3e8e6;
  --cc-line-strong: #d5dedb;
  --cc-soft: #f6f8f7;
  --cc-ink: #15384a;
  --cc-text: #173042;
  --cc-muted: #5b6b73;
  --cc-teal: #0d7770;
  --cc-teal-dark: #0a5f59;
  --cc-mint: #dcefea;
}
.internal-app .cc-sr,
.internal-app .payq-copy > span,
.internal-app .payq-view > span {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* ================================================================
   1. Payment queue
   ================================================================ */
.internal-app .payq-section,
.internal-app .payq-section.maybank-section {
  container: payq / inline-size;
  margin: 0 0 16px; padding: 0; overflow: hidden;
  background: #ffffff; border: 1px solid var(--cc-line); border-radius: 14px;
}
.internal-app .payq-section .payment-section-heading {
  margin: 0; padding: 16px 20px; display: flex; align-items: center; gap: 12px;
}
.internal-app .payq-section .payment-section-heading span { margin: 0; }
.internal-app .payq-section-icon {
  width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--cc-mint); position: relative; display: block;
}
.internal-app .payq-section-icon::before {
  content: ""; position: absolute; inset: 9px; background: var(--cc-teal-dark);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2022h18M6%2018v-7M10%2018v-7M14%2018v-7M18%2018v-7M12%202l8%205H4z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2022h18M6%2018v-7M10%2018v-7M14%2018v-7M18%2018v-7M12%202l8%205H4z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .payq-section-title { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.internal-app .payq-section-title h2 { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; color: var(--cc-ink); }
.internal-app .payq-section .payq-count {
  display: inline-flex; align-items: center; padding: 2px 9px; border-radius: 999px;
  background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 700; line-height: 1.4;
}
.internal-app .payq-section .payq-section-sub { display: block; font-size: 13px; color: var(--cc-muted); }
.internal-app .payq-section-total { display: flex; flex-direction: column; align-items: flex-end; flex: none; }
.internal-app .payq-section-total b { font-size: 16px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .payq-section .payq-section-total span { display: block; font-size: 12px; color: var(--cc-muted); }

.internal-app .payq-section .payment-empty {
  margin: 0; padding: 16px 20px; display: flex; align-items: center; gap: 10px;
  border-top: 1px solid #eef2f1; color: var(--cc-muted); font-size: 14px;
}
.internal-app .payq-section .payment-empty::before {
  content: ""; width: 18px; height: 18px; flex: none; background: var(--cc-teal);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

.internal-app .payq-table {
  --payq-cols: 92px minmax(0, 1.4fr) 124px minmax(0, 1.3fr) 140px 310px;
  border-top: 1px solid #eef2f1;
}
.internal-app .payq-head {
  display: grid; grid-template-columns: var(--payq-cols); column-gap: 14px;
  padding: 10px 20px; background: #f8faf9; font-size: 12px; font-weight: 600; color: var(--cc-muted);
}
.internal-app .payq-head-amount { text-align: right; }
.internal-app .payq-head-actions { text-align: right; }
.internal-app .payq-list { list-style: none; margin: 0; padding: 0; }
.internal-app .payq-row {
  display: grid; grid-template-columns: var(--payq-cols);
  grid-template-areas: "date koc ic bank amount actions" "date wa ic bank amount actions";
  column-gap: 14px; row-gap: 2px; align-items: center;
  padding: 14px 20px; border-top: 1px solid #eef2f1;
}
.internal-app .payq-row:first-child { border-top: 0; }
.internal-app .payq-cell { min-width: 0; }
.internal-app .payq-label { display: none; }
.internal-app .payq-date { grid-area: date; font-size: 14px; color: #33454e; font-variant-numeric: tabular-nums; }
.internal-app .payq-koc { grid-area: koc; align-self: end; display: flex; flex-direction: column; gap: 2px; }
.internal-app .payq-koc b { font-size: 14px; color: var(--cc-ink); overflow-wrap: anywhere; }
.internal-app .payq-koc small { font-size: 12px; color: var(--cc-muted); }
.internal-app .payq-wa { grid-area: wa; align-self: start; font-size: 13px; }
.internal-app .payq-wa .whatsapp-link { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; }
.internal-app .payq-wa .whatsapp-link::before {
  content: ""; width: 13px; height: 13px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.9%2020A9%209%200%201%200%204%2016.1L2%2022Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.9%2020A9%209%200%201%200%204%2016.1L2%2022Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .payq-ic { grid-area: ic; font-size: 14px; color: var(--cc-ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.internal-app .payq-bank { grid-area: bank; display: flex; flex-direction: column; gap: 4px; }
.internal-app .payq-bank-name { font-size: 12px; color: var(--cc-muted); }
.internal-app .payq-account { display: flex; align-items: center; gap: 8px; min-width: 0; }
.internal-app .payq-account .bank-account-value { font-size: 15px; color: var(--cc-ink); letter-spacing: 0.02em; overflow-wrap: anywhere; }
.internal-app .payq-copy {
  position: relative; width: 28px; height: 28px; flex: none; padding: 0; display: inline-grid; place-items: center;
  border: 1px solid #dce4e2; border-radius: 8px; background: #ffffff; color: #33454e; cursor: pointer;
}
.internal-app .payq-copy::before {
  content: ""; width: 14px; height: 14px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .payq-copy:hover { border-color: var(--cc-teal); color: var(--cc-teal); }
.internal-app .payq-copy.is-copied { border-color: var(--cc-teal); background: #e6f4f1; color: var(--cc-teal-dark); }
.internal-app .payq-copy.is-copied::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .payq-row .payq-warn {
  margin: 0; display: flex; align-items: flex-start; gap: 5px; color: #a14a0d; font-size: 12px; font-weight: 700; line-height: 1.35;
}
.internal-app .payq-row .payq-warn::before {
  content: ""; width: 13px; height: 13px; flex: none; margin-top: 1px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4M12%2017h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4M12%2017h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .payq-amount { grid-area: amount; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; text-align: right; }
.internal-app .payq-money { font-size: 15px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .payq-amount .payment-shortfall { margin: 0; font-size: 12px; }
.internal-app .payq-row .payment-actions { grid-area: actions; display: flex; justify-content: flex-end; align-items: center; gap: 8px; flex-wrap: nowrap; }
.internal-app .payq-row .payment-actions button {
  height: 36px; min-height: 36px; padding: 0 12px; flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  border-radius: 9px; font-size: 13px; font-weight: 700; line-height: 1; white-space: nowrap; cursor: pointer;
}
.internal-app .payq-row .payment-actions button::before {
  content: ""; width: 15px; height: 15px; flex: none; background: currentColor;
  -webkit-mask: var(--payq-icon) center / contain no-repeat; mask: var(--payq-icon) center / contain no-repeat;
}
.internal-app .payq-row .payment-actions .payq-view {
  --payq-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.06%2012.35a1%201%200%200%201%200-.7%2010.75%2010.75%200%200%201%2019.88%200%201%201%200%200%201%200%20.7%2010.75%2010.75%200%200%201-19.88%200%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E"); position: relative; width: 36px; padding: 0;
  border: 1px solid #dce4e2; background: #ffffff; color: var(--cc-ink);
}
.internal-app .payq-row .payment-actions .return-review {
  --payq-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2014%204%209l5-5%22%2F%3E%3Cpath%20d%3D%22M4%209h10.5a5.5%205.5%200%200%201%200%2011H11%22%2F%3E%3C%2Fsvg%3E");
  border: 1px solid #e6b4ac !important; background: #ffffff !important; color: #a61b1b !important; padding: 0 12px;
}
.internal-app .payq-row .payment-actions .return-review:hover { background: #fff3f1 !important; }
.internal-app .payq-row .payment-actions .approve {
  --payq-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E");
  border: 1px solid var(--cc-teal); background: var(--cc-teal); color: #ffffff; padding: 0 14px;
}
.internal-app .payq-row .payment-actions .approve:hover { background: var(--cc-teal-dark); border-color: var(--cc-teal-dark); }
.internal-app .payq-row .payq-status { font-size: 12px !important; white-space: nowrap; }

/* Narrower desktops and tablets: actions move to their own line, nothing scrolls sideways */
@container payq (max-width: 1060px) {
  .internal-app .payq-table { --payq-cols: 92px minmax(0, 1.3fr) 120px minmax(0, 1.3fr) 140px; }
  .internal-app .payq-head-actions { display: none; }
  .internal-app .payq-row { grid-template-areas: "date koc ic bank amount" "date wa ic bank amount" "actions actions actions actions actions"; row-gap: 4px; }
  .internal-app .payq-row .payment-actions { margin-top: 8px; }
}
/* Phones: one compact card per KOC */
@container payq (max-width: 640px) {
  .internal-app .payq-head { display: none; }
  .internal-app .payq-section .payment-section-heading { padding: 14px 16px; flex-wrap: wrap; }
  .internal-app .payq-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "koc koc amount" "bank bank bank" "date ic wa" "actions actions actions";
    gap: 12px; padding: 16px; align-items: start;
  }
  .internal-app .payq-koc { align-self: start; }
  .internal-app .payq-koc b { font-size: 16px; }
  .internal-app .payq-koc small { font-size: 13px; }
  .internal-app .payq-money { font-size: 17px; }
  .internal-app .payq-label { display: block; font-size: 12px; color: var(--cc-muted); margin-bottom: 2px; }
  .internal-app .payq-date, .internal-app .payq-ic, .internal-app .payq-wa { font-size: 13px; font-weight: 600; color: var(--cc-ink); align-self: start; }
  .internal-app .payq-bank { padding: 12px; border-radius: 12px; background: var(--cc-soft); gap: 6px; }
  .internal-app .payq-bank-name { font-size: 13px; }
  .internal-app .payq-account { justify-content: space-between; }
  .internal-app .payq-account .bank-account-value { font-size: 18px; letter-spacing: 0.03em; }
  .internal-app .payq-copy { width: 40px; height: 40px; border-radius: 10px; }
  .internal-app .payq-row .payment-actions { margin-top: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .internal-app .payq-row .payment-actions button { height: 44px; min-height: 44px; font-size: 14px; border-radius: 12px; }
  .internal-app .payq-row .payment-actions .approve { order: -1; grid-column: 1 / -1; height: 46px; font-size: 15px; }
  .internal-app .payq-row .payment-actions .payq-view { width: auto; padding: 0 12px; }
  .internal-app .payq-row .payment-actions .payq-view > span { position: static !important; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; clip-path: none; white-space: nowrap; }
}

/* ================================================================
   2. Campaigns list
   ================================================================ */
.internal-app .page-title .cc-new {
  flex: none; height: 40px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px;
  border: 0; border-radius: 10px; background: var(--cc-teal); color: #ffffff; font-size: 14px; font-weight: 700; white-space: nowrap; cursor: pointer;
}
.internal-app .page-title .cc-new::before {
  content: ""; width: 16px; height: 16px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .page-title .cc-new:hover { background: var(--cc-teal-dark); }

.internal-app .cc-toolbar { margin: 0 0 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.internal-app .cc-tabs { max-width: 100%; padding: 4px; display: inline-flex; gap: 2px; overflow-x: auto; border-radius: 11px; background: #eef2f1; }
.internal-app .cc-tabs button {
  height: 36px; padding: 0 14px; flex: none; display: inline-flex; align-items: center; gap: 8px;
  border: 0; border-radius: 8px; background: transparent; color: #33454e; font-size: 14px; font-weight: 600; white-space: nowrap; cursor: pointer;
}
.internal-app .cc-tabs button.is-active { background: #ffffff; color: var(--cc-ink); font-weight: 700; box-shadow: 0 1px 2px rgba(21, 56, 74, 0.12); }
.internal-app .cc-tab-count { padding: 1px 7px; border-radius: 999px; background: #dfe6e4; color: #33454e; font-size: 12px; font-weight: 700; }
.internal-app .cc-tabs button.is-active .cc-tab-count { background: var(--cc-ink); color: #ffffff; }
.internal-app .cc-search { position: relative; width: 320px; max-width: 100%; display: block; }
.internal-app .cc-search::before {
  content: ""; position: absolute; left: 12px; top: 12px; width: 16px; height: 16px; background: var(--cc-muted); pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22m21%2021-4.3-4.3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22m21%2021-4.3-4.3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .cc-search input {
  box-sizing: border-box; width: 100%; height: 40px; padding: 0 12px 0 36px;
  border: 1px solid var(--cc-line-strong); border-radius: 10px; background: #ffffff; color: var(--cc-text); font-size: 14px;
}

.internal-app .campaign-data-table.cc-table {
  container: cctable / inline-size;
  overflow: visible; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff;
}
.internal-app .cc-table table { width: 100%; min-width: 0; border-collapse: separate; border-spacing: 0; }
.internal-app .cc-table th {
  padding: 11px 14px; background: #f8faf9; color: var(--cc-muted); text-transform: none; letter-spacing: 0;
  font-size: 12px; font-weight: 600; text-align: left; white-space: nowrap;
}
.internal-app .cc-table th:first-child { border-top-left-radius: 14px; }
.internal-app .cc-table th:last-child { border-top-right-radius: 14px; }
.internal-app .cc-table th.cc-actions-head { text-align: right; }
.internal-app .cc-table td { padding: 14px; border-top: 1px solid #eef2f1; vertical-align: middle; font-size: 14px; color: var(--cc-text); }
.internal-app .cc-table td:first-child { min-width: 0; }
.internal-app .cc-table td::before { content: none; }
.internal-app .cc-table td small { display: block; margin-top: 2px; font-size: 12px; color: var(--cc-muted); }
.internal-app .cc-table .campaign-table-title { display: flex; flex-direction: column; gap: 2px; }
.internal-app .cc-table .campaign-table-title > span { font-size: 14px; font-weight: 700; color: var(--cc-ink); }
.internal-app .cc-table .campaign-table-title small { margin: 0; }
.internal-app .cc-cell-period { white-space: nowrap; }
.internal-app .cc-period { font-variant-numeric: tabular-nums; }
.internal-app .cc-strong { font-weight: 700; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .cc-table .cc-addon { color: #1d6b3e; font-weight: 600; }
.internal-app .cc-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.internal-app .cc-chip { padding: 2px 8px; border-radius: 999px; background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 600; }
.internal-app .cc-table .campaign-status {
  padding: 3px 9px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px;
  font-size: 12px; font-weight: 700; text-transform: capitalize; white-space: nowrap;
}
.internal-app .cc-table .campaign-status::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: currentColor; }
.internal-app .cc-table .campaign-status.open { background: #e9f5ee; color: #1d6b3e; }
.internal-app .cc-table .campaign-status.draft { background: #fff4e0; color: #8a5a00; }
.internal-app .cc-table .campaign-status.closed { background: #eef1f2; color: #4a5a62; }

.internal-app .cc-actions { min-width: 0; display: flex; justify-content: flex-end; align-items: center; gap: 6px; flex-wrap: nowrap; }
.internal-app .cc-actions .cc-btn {
  position: relative; height: 34px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  border: 1px solid #dce4e2; border-radius: 9px; background: #ffffff; color: var(--cc-ink);
  font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer;
}
.internal-app .cc-actions .cc-btn:hover { border-color: var(--cc-teal); color: var(--cc-teal-dark); }
.internal-app .cc-actions .cc-btn::before {
  content: ""; width: 16px; height: 16px; flex: none; background: currentColor;
  -webkit-mask: var(--cc-icon) center / contain no-repeat; mask: var(--cc-icon) center / contain no-repeat;
}
.internal-app .cc-registrations { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-edit { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-duplicate { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-more-button { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-actions .cc-icon-btn { width: 34px; padding: 0; }
.internal-app .cc-icon-btn .cc-btn-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.internal-app .cc-text-narrow { display: none; }
.internal-app .cc-more { position: relative; display: inline-flex; }
.internal-app .cc-more-button[aria-expanded="true"] { border-color: var(--cc-teal); background: #f3f6f5; }
.internal-app .cc-menu {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 25; min-width: 200px; padding: 6px;
  display: flex; flex-direction: column; gap: 2px;
  border: 1px solid var(--cc-line); border-radius: 12px; background: #ffffff; box-shadow: 0 12px 28px rgba(21, 56, 74, 0.16);
}
.internal-app .cc-menu .cc-menu-item {
  height: 38px; padding: 0 10px; display: flex; align-items: center; gap: 10px;
  border: 0; border-radius: 8px; background: transparent; color: var(--cc-ink);
  font-size: 14px; font-weight: 600; text-align: left; white-space: nowrap; cursor: pointer;
}
.internal-app .cc-menu .cc-menu-item::before {
  content: ""; width: 16px; height: 16px; flex: none; background: currentColor;
  -webkit-mask: var(--cc-icon) center / contain no-repeat; mask: var(--cc-icon) center / contain no-repeat;
}
.internal-app .cc-menu .cc-menu-item:hover, .internal-app .cc-menu .cc-menu-item:focus-visible { background: #f3f6f5; }
.internal-app .cc-menu-close { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2218%22%20height%3D%2211%22%20x%3D%223%22%20y%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%2011V7a5%205%200%200%201%2010%200v4%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-menu-reopen { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2218%22%20height%3D%2211%22%20x%3D%223%22%20y%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%2011V7a5%205%200%200%201%209.9-1%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-menu .cc-menu-delete { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E"); color: #a61b1b; }
.internal-app .cc-menu .cc-menu-item + .cc-menu-delete { margin-top: 4px; border-top: 1px solid #eef2f1; border-radius: 0 0 8px 8px; }
.internal-app .cc-menu .cc-menu-delete:hover { background: #fff3f1; }
.internal-app .cc-empty-row td { padding: 28px 14px; text-align: center; color: var(--cc-muted); }
.internal-app .cc-footnote { margin: 0; padding: 12px 18px; border-top: 1px solid #eef2f1; font-size: 13px; color: var(--cc-muted); }

/* Narrow screens: one card per campaign, with the right labels */
@container cctable (max-width: 980px) {
  .internal-app .cc-table table { display: block; }
  .internal-app .cc-table thead { display: none; }
  .internal-app .cc-table tbody { padding: 12px; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 12px; }
  .internal-app .cc-table tr {
    padding: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; align-content: start;
    border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; overflow: visible;
  }
  .internal-app .cc-table td { width: auto; padding: 0; display: block; border: 0; font-size: 14px; }
  .internal-app .cc-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 12px; font-weight: 500; color: var(--cc-muted); text-transform: none; letter-spacing: 0; }
  .internal-app .cc-table .cc-cell-title { grid-column: 1; grid-row: 1; }
  .internal-app .cc-table .campaign-table-title > span { font-size: 16px; }
  .internal-app .cc-table .campaign-table-title small { font-size: 13px; }
  .internal-app .cc-table .cc-cell-status { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; }
  .internal-app .cc-table :is(.cc-cell-period, .cc-cell-target, .cc-cell-pay, .cc-cell-platforms) { padding: 10px 12px; border-radius: 10px; background: var(--cc-soft); }
  .internal-app .cc-cell-period { white-space: normal; }
  .internal-app .cc-table .cc-cell-actions { grid-column: 1 / -1; }
  .internal-app .cc-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .internal-app .cc-actions .cc-btn { height: 44px; font-size: 14px; }
  .internal-app .cc-actions .cc-registrations { grid-column: 1 / -1; }
  .internal-app .cc-actions .cc-icon-btn { width: auto; padding: 0 10px; }
  .internal-app .cc-icon-btn .cc-btn-text { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; }
  .internal-app .cc-text-wide { display: none; }
  .internal-app .cc-text-narrow { display: inline; }
  .internal-app .cc-more { display: block; }
  .internal-app .cc-more .cc-more-button { width: 100%; }
  .internal-app .cc-empty-row { display: block; }
  .internal-app .cc-empty-row td { display: block; }
  .internal-app .cc-footnote { border-top: 0; padding-top: 0; }
}
@media (max-width: 900px) {
  .internal-app .cc-search { width: 100%; }
  .internal-app .cc-toolbar { flex-direction: column; align-items: stretch; }
  .internal-app .cc-tabs button { height: 40px; }
  .internal-app .campaign-data-table.cc-table { border: 0; background: transparent; }
  .internal-app .cc-table tbody { padding: 0; }
  .internal-app .cc-footnote { padding: 12px 2px 0; }
  .internal-main .page-title:has(.cc-new) { flex-direction: row; align-items: flex-end; justify-content: space-between; }
  .internal-app .page-title .cc-new { height: 40px; padding: 0 14px; }
}

/* ================================================================
   3. Create Campaign
   ================================================================ */
.internal-app .create-campaign-form.cc-builder {
  margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 24px; align-items: start; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.internal-app .cc-main { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.internal-app .cc-section {
  container: ccsection / inline-size;
  min-width: 0; margin: 0; padding: 24px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 16px; align-items: start;
  border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; scroll-margin-top: 16px;
}
.internal-app .cc-section > * { grid-column: 1 / -1; min-width: 0; }

/* Section headings */
.internal-app .cc-section .form-section-title,
.internal-app .cc-section .new-capacity-heading .form-section-title {
  grid-column: 1 / -1 !important; margin: 0; padding: 0; border: 0; display: flex; align-items: flex-start; gap: 12px;
}
.internal-app .cc-section .form-section-title > span {
  width: 28px; height: 28px; flex: 0 0 28px; border-radius: 8px; background: var(--cc-mint); color: var(--cc-teal-dark);
  display: grid; place-items: center; font: 800 14px Manrope, 'DM Sans', sans-serif;
}
.internal-app .cc-section .form-section-title h2 {
  margin: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  font-family: Manrope, 'DM Sans', sans-serif; font-size: 18px; font-weight: 800; letter-spacing: -0.01em; color: var(--cc-ink);
}
.internal-app .cc-section .form-section-title h2:focus { outline: none; }
.internal-app .cc-section .form-section-title p { margin: 3px 0 0; font-size: 13px; line-height: 1.45; color: var(--cc-muted); }
.internal-app .cc-optional, .internal-app .cc-section .optional-tag {
  padding: 2px 8px; display: inline-flex; align-items: center; border-radius: 999px; background: #eef1f2; color: #4a5a62;
  font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: capitalize; line-height: 1.4;
}
.internal-app .cc-section .optional-tag { margin-left: 8px; }
.internal-app .cc-section .optional-tag.is-required { background: #fff1e6; color: #a14a0d; font-weight: 700; }

/* Fields */
.internal-app .cc-section > label, .internal-app .cc-section > .cc-f {
  margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px;
  border: 0; border-radius: 0; background: none; box-shadow: none;
  font-size: 13px; font-weight: 600; line-height: 18px; color: var(--cc-ink);
}
.internal-app .cc-section > label > small, .internal-app .cc-section > .cc-f > small { font-size: 12px; font-weight: 400; line-height: 1.45; color: var(--cc-muted); }
.internal-app .cc-section > label > :is(input, select, textarea),
.internal-app .cc-section .posting-instruction-pair :is(input, textarea),
.internal-app .cc-section .terms-split textarea {
  box-sizing: border-box; width: 100%; min-height: 40px; margin: 0; padding: 0 12px;
  border: 1px solid var(--cc-line-strong); border-radius: 10px; background: #ffffff; color: var(--cc-text);
  font-size: 14px; font-weight: 400; box-shadow: none;
}
.internal-app .cc-section > label > textarea,
.internal-app .cc-section .posting-instruction-pair textarea,
.internal-app .cc-section .terms-split textarea { padding: 10px 12px; min-height: 84px; line-height: 1.45; resize: vertical; }
.internal-app .cc-section > label > :is(input, select, textarea):focus,
.internal-app .cc-section .posting-instruction-pair textarea:focus,
.internal-app .cc-section .terms-split textarea:focus { border-color: var(--cc-teal); box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15); }
.internal-app .cc-affix {
  box-sizing: border-box; height: 40px; display: flex; align-items: stretch; overflow: hidden;
  border: 1px solid var(--cc-line-strong); border-radius: 10px; background: #ffffff;
}
.internal-app .cc-affix:focus-within { border-color: var(--cc-teal); box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15); }
.internal-app .cc-affix input {
  flex: 1; min-width: 0; height: auto !important; min-height: 0 !important; margin: 0; padding: 0 12px;
  border: 0 !important; border-radius: 0 !important; background: transparent; box-shadow: none !important;
  color: var(--cc-text); font-size: 14px; font-weight: 400; font-variant-numeric: tabular-nums;
}
.internal-app :is(.cc-affix-pre, .cc-affix-post) {
  padding: 0 10px; display: flex; align-items: center; flex: none; background: var(--cc-soft); color: var(--cc-muted);
  font-size: 13px; font-weight: 600; white-space: nowrap;
}
.internal-app .cc-affix-pre { border-right: 1px solid var(--cc-line); }
.internal-app .cc-affix-post { border-left: 1px solid var(--cc-line); }
.internal-app .cc-hint {
  grid-column: 1 / -1; margin: -8px 0 0; display: flex; align-items: flex-start; gap: 6px;
  font-size: 12px; line-height: 1.45; color: var(--cc-muted);
}
.internal-app .cc-hint::before {
  content: ""; width: 14px; height: 14px; flex: none; margin-top: 1px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

/* Section 1 layout: client + target, then month, year, start and end on one row */
.internal-app .cc-s1 .cc-f-client { grid-column: span 3; order: 0; }
.internal-app .cc-s1 .cc-f-target { grid-column: span 1; order: 1; }
.internal-app .cc-s1 :is(.cc-f-month, .cc-f-year, .cc-f-start, .cc-f-end) { grid-column: span 1; order: 2; }
.internal-app .cc-s1 .cc-hint-end { order: 3; }
.internal-app .cc-s1 .cc-f-name { order: 4; }
.internal-app .cc-s1 .form-section-title { order: -1; }

/* Section 2 layout */
.internal-app .cc-s2 .cc-f-payment { grid-column: span 2; order: 0; }
.internal-app .cc-s2 .cc-f-visits { grid-column: span 2; order: 1; }
.internal-app .cc-s2 :is(.cc-f-lead, .cc-f-notice) { grid-column: span 2; order: 2; }
.internal-app .cc-s2 .cc-f-deadline { order: 3; }
.internal-app .cc-s2 .campaign-critical-setting { order: 4; }
.internal-app .cc-s2 .form-section-title { order: -1; }

/* Fieldsets used as plain groups */
.internal-app .cc-section > fieldset.cc-f, .internal-app .cc-section > fieldset.cc-platforms {
  margin: 0; padding: 0; min-width: 0; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none;
}
.internal-app .cc-section > fieldset.cc-f > legend, .internal-app .cc-section > fieldset.cc-platforms > legend {
  float: none; width: 100%; margin: 0 0 6px; padding: 0 !important; border: 0; border-radius: 0; background: none;
  font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--cc-ink) !important;
}
.internal-app .cc-deadline-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; font-weight: 400; color: #33454e; }
.internal-app .cc-deadline-row input {
  box-sizing: border-box; width: 72px; height: 40px; padding: 0 10px; border: 1px solid var(--cc-line-strong); border-radius: 10px;
  background: #ffffff; color: var(--cc-text); font-size: 14px; font-variant-numeric: tabular-nums;
}
.internal-app .cc-deadline-row input:focus { border-color: var(--cc-teal); box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15); }

/* Yes or no settings as switches, joined into one list */
.internal-app .cc-section .campaign-critical-setting { margin: 0; padding: 14px 16px; border: 1px solid var(--cc-line); border-radius: 12px; background: #ffffff; }
.internal-app .cc-section .campaign-critical-setting:has(+ .campaign-critical-setting) { border-radius: 12px 12px 0 0; }
.internal-app .cc-section .campaign-critical-setting + .campaign-critical-setting { margin-top: -18px; border-top: 1px solid #eef2f1; border-radius: 0 0 12px 12px; }
.internal-app .cc-section .campaign-critical-setting .check { margin: 0; display: flex !important; flex-direction: row !important; justify-content: space-between; align-items: center !important; gap: 16px !important; cursor: pointer; }
.internal-app .cc-section .campaign-critical-setting .check span { flex: 1; min-width: 0; display: grid; justify-items: start; gap: 2px; text-align: left; }
.internal-app .cc-section .campaign-critical-setting .check input { order: 2; }
.internal-app .cc-section .campaign-critical-setting .check strong { font-size: 14px; color: var(--cc-ink); }
.internal-app .cc-section .campaign-critical-setting .check small { font-size: 12px; line-height: 1.45; color: var(--cc-muted); }
.internal-app .cc-section input[role="switch"] {
  -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 40px !important; min-width: 40px; height: 24px !important; min-height: 0 !important; flex: 0 0 40px; margin: 0; padding: 0; border: 0; border-radius: 999px; cursor: pointer;
  background: radial-gradient(circle at 12px 12px, #ffffff 0 9px, transparent 10px) #cfd8d6;
  transition: background-color 0.15s ease;
}
.internal-app .cc-section input[role="switch"]:checked { background: radial-gradient(circle at 28px 12px, #ffffff 0 9px, transparent 10px) var(--cc-teal); }
.internal-app .cc-section input[role="switch"]:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }

/* One-tap choices */
.internal-app .cc-segmented { max-width: 100%; padding: 4px; display: inline-flex; gap: 2px; border-radius: 10px; background: #eef2f1; }
.internal-app .cc-segmented label {
  position: relative; min-height: 32px; padding: 0 14px; flex: 1 1 auto; display: flex !important; flex-direction: row !important; align-items: center; justify-content: center; gap: 6px;
  border-radius: 8px; background: transparent; color: #33454e; font-size: 14px; font-weight: 600; text-align: center; white-space: nowrap; cursor: pointer;
}
.internal-app .cc-segmented label input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.internal-app .cc-segmented label.is-on { background: #ffffff; color: var(--cc-teal-dark); font-weight: 700; box-shadow: 0 1px 2px rgba(21, 56, 74, 0.14); }
.internal-app .cc-segmented label.is-on::before {
  content: ""; width: 14px; height: 14px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .cc-segmented label:focus-within { outline: 3px solid #f28f4b; outline-offset: 1px; }

/* Platform chips */
.internal-app .cc-section > fieldset.cc-platforms { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; gap: 8px; }
.internal-app .cc-platforms .cc-chip-toggle {
  position: relative; width: auto !important; height: 38px; margin: 0; padding: 0 14px !important; display: inline-flex !important; align-items: center !important; gap: 6px !important;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 999px !important; background: #ffffff !important;
  color: #33454e; font-size: 14px !important; font-weight: 600; line-height: 1 !important; cursor: pointer;
}
.internal-app .cc-platforms .cc-chip-toggle::before {
  content: ""; width: 14px; height: 14px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .cc-platforms .cc-chip-toggle input {
  position: absolute; inset: 0; width: 100% !important; height: 100% !important; flex: none !important; margin: 0; opacity: 0; cursor: pointer;
}
.internal-app .cc-platforms .cc-chip-toggle.is-on { border: 1.5px solid var(--cc-teal) !important; background: #e6f4f1 !important; color: var(--cc-teal-dark); font-weight: 700; }
.internal-app .cc-platforms .cc-chip-toggle.is-on::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-platforms .cc-chip-toggle:focus-within { outline: 3px solid #f28f4b; outline-offset: 2px; }

/* Section 4 */
.internal-app .cc-section .cc-f-half { grid-column: span 2; }
.internal-app .cc-section .inline-check-row { margin: 0; padding: 0; border: 0; background: none; }
.internal-app .cc-section .inline-check-row .check { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--cc-ink); }
.internal-app .cc-section input[type="checkbox"]:not([role="switch"]) { accent-color: var(--cc-teal); }
.internal-app .cc-section .posting-instruction-pair { gap: 16px; }
.internal-app .cc-section .posting-instruction-pair label { font-size: 13px; font-weight: 600; line-height: 18px; color: var(--cc-ink); }

/* Sections 5 to 7: sub-groups keep their own controls, with calmer framing */
.internal-app .cc-section > fieldset:not(.cc-f):not(.cc-platforms) {
  margin: 0; padding: 16px; border: 1px solid var(--cc-line) !important; border-radius: 12px; background: #ffffff !important;
}
.internal-app .cc-section > fieldset:not(.cc-f):not(.cc-platforms) > legend {
  margin: 0; padding: 0 6px !important; border: 0; border-radius: 0; background: #ffffff;
  font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cc-muted) !important;
}
.internal-app .cc-section .platform-quota-control-card .platform-quota-block { background: var(--cc-soft); border-color: var(--cc-line); }
.internal-app .cc-section .campaign-advanced-settings { border: 1px dashed #c9d4d1; border-radius: 12px; background: #fafcfb; }
.internal-app .cc-section .campaign-advanced-settings > summary { padding: 14px 16px; background: transparent; align-items: center; }
.internal-app .cc-section .campaign-advanced-settings > summary::after {
  content: ""; width: 18px; height: 18px; flex: none; background: var(--cc-ink);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .cc-section .campaign-advanced-settings[open] { border-style: solid; background: #ffffff; }
.internal-app .cc-section .campaign-advanced-settings > summary strong { font-size: 14px; }
.internal-app .cc-section .campaign-advanced-settings > summary small { font-size: 12px; color: var(--cc-muted); }
.internal-app .cc-section .advanced-settings-count { background: #eef1f2; color: #4a5a62; font-size: 12px; font-weight: 600; }

/* Section 8: branch capacity */
.internal-app .cc-section.new-campaign-capacity { padding-top: 24px; border-top: 1px solid var(--cc-line); }
.internal-app .cc-section .new-capacity-heading { margin: 0; display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 12px; }
.internal-app .cc-section .new-capacity-heading > .form-section-title { flex: 1; min-width: 0; flex-direction: row; gap: 12px; }
.internal-app .cc-section .new-capacity-heading .form-section-title > div { display: block; }
.internal-app .cc-section .new-capacity-heading > strong {
  flex: none; padding: 3px 10px; border-radius: 999px; font: 700 12px 'DM Sans', sans-serif; white-space: nowrap;
}
.internal-app .cc-section .new-capacity-heading > strong.matched { background: #e9f5ee; color: #1d6b3e; }
.internal-app .cc-section .new-capacity-heading > strong.mismatch { background: #fff1e6; color: #a14a0d; }
.internal-app .cc-section .capacity-table { margin: 0; overflow: visible; border: 1px solid var(--cc-line); border-radius: 12px; }
.internal-app .cc-section :is(.capacity-table-head, .capacity-table-row) {
  min-width: 0; display: grid; grid-template-columns: 28px minmax(0, 1.4fr) minmax(0, 1fr) 150px 80px 80px; align-items: center; gap: 12px;
}
.internal-app .cc-section .capacity-table-head { padding: 10px 16px; background: #f8faf9; border-radius: 12px 12px 0 0; color: var(--cc-muted); font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.internal-app .cc-section .capacity-table-head > span:nth-child(5), .internal-app .cc-section .capacity-table-head > span:nth-child(6) { text-align: right; }
.internal-app .cc-section .capacity-table-row { padding: 12px 16px; border-top: 1px solid #eef2f1; }
.internal-app .cc-section .capacity-table-row > input[type="checkbox"] { width: 18px; height: 18px; margin: 0; }
.internal-app .cc-cap-branch b { font-size: 14px; color: var(--cc-ink); }
.internal-app .cc-cap-branch small { font-size: 12px; color: var(--cc-muted); }
.internal-app .cc-section .capacity-visit-window b { font-size: 14px; font-weight: 400; color: var(--cc-text); }
.internal-app .cc-section .capacity-visit-window small { font-size: 12px; color: var(--cc-muted); }
.internal-app .cc-stepper {
  box-sizing: border-box; height: 40px; display: flex; align-items: stretch; overflow: hidden;
  border: 1px solid var(--cc-line-strong); border-radius: 10px; background: #ffffff;
}
.internal-app .cc-stepper:focus-within { border-color: var(--cc-teal); box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15); }
.internal-app .cc-stepper input {
  flex: 1; min-width: 0; width: 100%; margin: 0; padding: 0 10px; border: 0 !important; border-radius: 0; background: transparent;
  font-size: 14px; color: var(--cc-text); font-variant-numeric: tabular-nums;
}
.internal-app .cc-stepper input:disabled { color: #9aa8ad; }
.internal-app .cc-step-btn { display: none; }
.internal-app .cc-cap-registered { text-align: right; font-size: 14px; color: var(--cc-muted) !important; font-variant-numeric: tabular-nums; }
.internal-app .cc-cap-remaining { text-align: right; font-size: 14px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .cc-section .capacity-inline-note { margin: 0; }
.internal-app .cc-section-waiting { border-style: dashed; background: #fafcfb; }

/* Allocation bar (section 8 and the summary panel) */
.internal-app .cc-alloc { display: flex; flex-direction: column; gap: 6px; }
.internal-app .cc-alloc-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--cc-muted); }
.internal-app .cc-alloc-top b { font-size: 15px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .cc-alloc-track { height: 8px; overflow: hidden; border-radius: 999px; background: #e7eeec; }
.internal-app .cc-alloc-track > span { display: block; height: 100%; border-radius: 999px; background: #d9822b; transition: width 0.2s ease; }
.internal-app .cc-alloc.is-matched .cc-alloc-track > span { background: var(--cc-teal); }
.internal-app .cc-alloc-note { display: flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: #a14a0d; }
.internal-app .cc-alloc-note::before {
  content: ""; width: 14px; height: 14px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4M12%2017h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4M12%2017h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .cc-alloc.is-matched .cc-alloc-note { color: #1d6b3e; }
.internal-app .cc-alloc.is-matched .cc-alloc-note::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-alloc.is-empty .cc-alloc-note { color: var(--cc-muted); font-weight: 600; }
.internal-app .cc-alloc.is-empty .cc-alloc-note::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E"); }

/* Footer at the end of the form */
.internal-app .cc-footer { padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app .cc-footer .campaign-name-preview { padding: 0; border: 0; background: none; }
.internal-app .cc-footer .campaign-name-preview > span { font-size: 12px; color: var(--cc-muted); }
.internal-app .cc-footer .campaign-name-preview b span { font-size: 15px; color: var(--cc-ink); }
.internal-app .cc-builder .primary {
  min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 0; border-radius: 10px; background: var(--cc-teal); color: #ffffff; font-size: 15px; font-weight: 700; box-shadow: none; cursor: pointer;
}
.internal-app .cc-builder .primary::before {
  content: ""; width: 16px; height: 16px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .cc-builder .primary:hover { background: var(--cc-teal-dark); }
.internal-app .cc-form-message-create { display: none; }

/* Summary panel */
.internal-app .cc-rail { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 16px; }
.internal-app .cc-rail-card { padding: 20px; display: flex; flex-direction: column; gap: 14px; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app .cc-kicker { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cc-muted); }
.internal-app .cc-rail-name { display: flex; flex-direction: column; gap: 2px; }
.internal-app .cc-rail-name b { font-family: Manrope, 'DM Sans', sans-serif; font-size: 20px; font-weight: 800; color: var(--cc-ink); overflow-wrap: anywhere; }
.internal-app .cc-rail-name span { font-size: 14px; color: #33454e; }
.internal-app .cc-facts { margin: 0; }
.internal-app .cc-facts > div { padding: 8px 0; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid #eef2f1; }
.internal-app .cc-facts dt { font-size: 13px; color: var(--cc-muted); }
.internal-app .cc-facts dd { margin: 0; font-size: 13px; font-weight: 600; color: var(--cc-ink); text-align: right; }
.internal-app .cc-rail .cc-rail-submit { width: 100%; padding: 0 12px; font-size: 14px; white-space: nowrap; }
.internal-app .cc-rail { width: auto; height: auto; padding: 0; background: none; color: inherit; border: 0; overflow: visible; }
.internal-app .cc-message { margin: 0; padding: 10px 12px; border-radius: 10px; background: #fff4e6; color: #74401e; font-size: 13px; line-height: 1.45; }
.internal-app .cc-steps { padding: 12px; display: flex; flex-direction: column; gap: 2px; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app .cc-steps .cc-kicker { padding: 4px 8px 6px; }
.internal-app .cc-steps ol { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.internal-app .cc-steps a {
  min-height: 36px; padding: 0 8px; display: flex; align-items: center; gap: 10px; border-radius: 8px;
  color: var(--cc-ink); font-size: 14px; font-weight: 600; text-decoration: none;
}
.internal-app .cc-steps a:hover { background: #f3f6f5; }
.internal-app .cc-steps a small { margin-left: auto; font-size: 12px; font-weight: 500; color: var(--cc-muted); }
.internal-app .cc-step-mark { width: 18px; height: 18px; flex: none; background: #a9b6b3; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .is-done > .cc-step-mark { background: var(--cc-teal); -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E"); }

/* Phone and tablet parts are hidden on wide screens */
.internal-app .cc-strip, .internal-app .cc-bar { display: none; }

/* Narrow sections (phones, and the form column on smaller laptops) */
@container ccsection (max-width: 600px) {
  .internal-app .cc-s1 .cc-f-client { grid-column: 1 / -1; }
  .internal-app .cc-s1 :is(.cc-f-month, .cc-f-year) { grid-column: span 2; }
  .internal-app .cc-s1 :is(.cc-f-start, .cc-f-end) { grid-column: span 2; }
  .internal-app .cc-s1 .cc-f-target { grid-column: 1 / -1; order: 5; }
  .internal-app .cc-s2 :is(.cc-f-payment, .cc-f-visits, .cc-f-lead, .cc-f-notice) { grid-column: span 2; }
  .internal-app .cc-section .cc-f-half { grid-column: 1 / -1; }
  .internal-app .cc-section .posting-instruction-pair, .internal-app .cc-section .terms-split { grid-template-columns: 1fr; }
  .internal-app .cc-segmented { width: 100%; box-sizing: border-box; }
  .internal-app .cc-segmented label { padding: 6px 8px; font-size: 13px; white-space: normal; line-height: 1.25; }
  .internal-app .cc-section .capacity-table { border: 0; display: flex; flex-direction: column; gap: 10px; }
  .internal-app .cc-section .capacity-table-head { display: none; }
  .internal-app .cc-section .capacity-table-row {
    padding: 14px; grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-areas: "check name name" ". hours hours" "alloc alloc stats" ". . stats2";
    gap: 8px 10px; border: 1px solid var(--cc-line); border-radius: 12px;
  }
  .internal-app .cc-section .capacity-table-row > input[type="checkbox"] { grid-area: check; align-self: start; margin-top: 2px; }
  .internal-app .cc-cap-branch { grid-area: name; }
  .internal-app .cc-cap-branch b { font-size: 15px; }
  .internal-app .cc-section .capacity-visit-window { grid-area: hours; flex-direction: row; align-items: center; gap: 4px; }
  .internal-app .cc-section .capacity-visit-window b, .internal-app .cc-section .capacity-visit-window small { font-size: 12px; color: var(--cc-muted); }
  .internal-app .cc-section .capacity-visit-window small::before { content: "· "; }
  .internal-app .cc-stepper { grid-area: alloc; height: 44px; width: fit-content; }
  .internal-app .cc-stepper input { width: 56px; flex: none; padding: 0; text-align: center; font-size: 16px; font-weight: 700; color: var(--cc-ink); -moz-appearance: textfield; }
  .internal-app .cc-stepper input::-webkit-inner-spin-button, .internal-app .cc-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
  .internal-app .cc-stepper .cc-affix-post { display: none; }
  .internal-app .cc-step-btn {
    width: 44px; flex: none; padding: 0; display: grid; place-items: center; border: 0; background: var(--cc-soft); color: var(--cc-ink); cursor: pointer;
  }
  .internal-app .cc-step-minus { border-right: 1px solid var(--cc-line); }
  .internal-app .cc-step-plus { border-left: 1px solid var(--cc-line); }
  .internal-app .cc-step-btn::before {
    content: ""; width: 16px; height: 16px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  }
  .internal-app .cc-step-plus::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E"); }
  .internal-app .cc-step-btn:disabled { color: #b8c4c1; cursor: default; }
  .internal-app .cc-cap-registered { grid-area: stats; align-self: end; font-size: 13px; }
  .internal-app .cc-cap-registered::after { content: " registered"; }
  .internal-app .cc-cap-remaining { grid-area: stats2; font-size: 13px; }
  .internal-app .cc-cap-remaining::after { content: " remaining"; }
  .internal-app .cc-section .new-capacity-heading { flex-wrap: wrap; }
}

/* Laptops below 1240px, tablets and phones: one column, section strip and a bottom bar */
@media (max-width: 1240px) {
  .internal-app .create-campaign-form.cc-builder { grid-template-columns: minmax(0, 1fr) !important; gap: 16px; }
  .internal-app .cc-rail { position: static; }
  .internal-app .cc-steps, .internal-app .cc-rail .cc-rail-submit, .internal-app .cc-rail .cc-message, .internal-app .cc-footer { display: none; }
  .internal-app .cc-rail-card { gap: 10px; }
  .internal-app .cc-strip {
    position: sticky; top: 0; z-index: 12; margin: 0 -2px; padding: 10px 2px; display: flex; gap: 8px; overflow-x: auto;
    border-bottom: 1px solid var(--cc-line); background: rgba(246, 247, 246, 0.96); scrollbar-width: none;
  }
  .internal-app .cc-strip::-webkit-scrollbar { display: none; }
  .internal-app .cc-strip a {
    height: 36px; padding: 0 12px; flex: none; display: inline-flex; align-items: center; gap: 6px;
    border: 1px solid #dce4e2; border-radius: 999px; background: #ffffff; color: #33454e; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap;
  }
  .internal-app .cc-strip a .cc-step-mark { width: 14px; height: 14px; display: none; }
  .internal-app .cc-strip a.is-done .cc-step-mark { display: block; }
  .internal-app .cc-section { scroll-margin-top: 72px; }
  .internal-app .cc-bar {
    position: sticky; bottom: 0; z-index: 12; margin: 0 -2px; padding: 12px 16px 16px; display: flex; flex-direction: column; gap: 8px;
    border-top: 1px solid var(--cc-line); border-radius: 14px 14px 0 0; background: #ffffff; box-shadow: 0 -6px 16px rgba(21, 56, 74, 0.06);
  }
  .internal-app .cc-bar-row { display: flex; align-items: center; gap: 12px; }
  .internal-app .cc-bar-count { flex: none; display: flex; flex-direction: column; }
  .internal-app .cc-bar-count small { font-size: 12px; color: var(--cc-muted); }
  .internal-app .cc-bar-count b { font-size: 15px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
  .internal-app .cc-bar-count.is-matched b { color: #1d6b3e; }
  .internal-app .cc-bar-count.is-off b { color: #a14a0d; }
  .internal-app .cc-bar .cc-bar-submit { flex: 1; min-height: 48px; }
}
@media (max-width: 900px) {
  .internal-app .cc-strip { top: 60px; margin: 0 -16px; padding: 10px 16px; }
  .internal-app .cc-section { padding: 16px; gap: 16px 12px; scroll-margin-top: 124px; }
  .internal-app .cc-bar { margin: 0 -16px; border-radius: 0; }
  .internal-app .cc-s2 .campaign-critical-setting + .campaign-critical-setting { margin-top: -16px; }
  .internal-app .cc-hint { margin-top: -6px; }
}
@media (prefers-reduced-motion: reduce) {
  .internal-app .cc-alloc-track > span, .internal-app .cc-section input[role="switch"] { transition: none; }
}

/* Campaign name: label and Required badge on one line */
.internal-app .cc-s1 .cc-f-name { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 0; row-gap: 6px; }
.internal-app .cc-s1 .cc-f-name > :is(input, small) { grid-column: 1 / -1; }
.internal-app .cc-s1 .cc-f-name > .optional-tag { justify-self: start; }
/* Quotas and followers */
.internal-app .cc-section fieldset > p.muted { margin: 0 0 12px; font-size: 13px; line-height: 1.45; color: var(--cc-muted); }
.internal-app .cc-section .follower-rule { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
.internal-app .cc-section .follower-rule > .addon-hint { grid-column: 1 / -1; }
.internal-app .cc-section .follower-rule :is(input, select) { font-weight: 400 !important; color: var(--cc-text); }
.internal-app .cc-section .terms-split label { line-height: 18px !important; font-size: 13px !important; font-weight: 600; color: var(--cc-ink); }
@container ccsection (max-width: 600px) {
  .internal-app .cc-section .follower-rule { grid-template-columns: 1fr; }
}
/* Campaigns table column balance */
.internal-app .cc-table .cc-cell-title { min-width: 170px; }
.internal-app .cc-table .cc-cell-platforms { min-width: 160px; }
/* Keep a field the browser jumps to (for example a required field) clear of the pinned strip and bar */
@media (max-width: 1240px) {
  .internal-app .cc-builder :is(input, select, textarea) { scroll-margin-top: 72px; scroll-margin-bottom: 110px; }
}
@media (max-width: 900px) {
  .internal-app .cc-builder :is(input, select, textarea) { scroll-margin-top: 132px; }
}
/* Campaigns list footer: count and the Show more / Load more button */
.internal-app .cc-table .cc-footnote { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.internal-app .cc-load-more {
  height: 36px; padding: 0 14px; border: 1px solid #dce4e2; border-radius: 9px; background: #ffffff; color: var(--cc-ink);
  font-size: 13px; font-weight: 700; cursor: pointer;
}
.internal-app .cc-load-more:hover { border-color: var(--cc-teal); color: var(--cc-teal-dark); }

/* ===== r3: Create Campaign sections 5 and 6 ===== */
.internal-app .cc-qlist { display: flex; flex-direction: column; border: 1px solid var(--cc-line); border-radius: 12px; background: #ffffff; }
.internal-app .cc-qitem { padding: 14px 16px; display: flex; flex-direction: column; gap: 14px; }
.internal-app .cc-qitem + .cc-qitem { border-top: 1px solid #eef2f1; }
.internal-app .cc-qhead { margin: 0; display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between; gap: 16px !important; cursor: pointer; font-weight: 400 !important; }
.internal-app .cc-qtext { min-width: 0; display: flex; flex-direction: column; gap: 2px; text-align: left; }
.internal-app .cc-qtext b { font-size: 14px; line-height: 20px; font-weight: 700; color: var(--cc-ink); }
.internal-app .cc-qtext small { font-size: 12px; line-height: 1.45; font-weight: 400; color: var(--cc-muted); }
.internal-app .cc-qrow { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; }
.internal-app .cc-qbody { padding: 16px; display: flex; flex-direction: column; gap: 14px; border-radius: 12px; background: var(--cc-soft); }
.internal-app .cc-qfield { margin: 0; min-width: 0; display: flex !important; flex-direction: column !important; gap: 6px !important; font-size: 13px !important; line-height: 18px; font-weight: 600 !important; color: var(--cc-ink) !important; }
.internal-app .cc-qfield > input, .internal-app .cc-qfield > select, .internal-app .cc-pcell > input, .internal-app .cc-brow > input {
  box-sizing: border-box; width: 100%; height: 40px !important; min-height: 0 !important; margin: 0; padding: 0 12px;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 10px !important; background: #ffffff; box-shadow: none !important;
  color: var(--cc-text); font-size: 14px !important; font-weight: 400 !important; font-variant-numeric: tabular-nums;
}
.internal-app .cc-qfield > :is(input, select):focus, .internal-app .cc-pcell > input:focus, .internal-app .cc-brow > input:focus { border-color: var(--cc-teal) !important; box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15) !important; outline: none; }
.internal-app .cc-qgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.internal-app .cc-qpill { align-self: flex-start; padding: 3px 10px; border-radius: 999px; background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 700; white-space: nowrap; }
.internal-app .cc-qnote { margin: 0; font-size: 12px; line-height: 1.45; color: var(--cc-muted); }
.internal-app .cc-qsummary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; line-height: 1.45; color: var(--cc-muted); }
.internal-app .cc-qhint { margin: 0; }
.internal-app .cc-ptable { display: flex; flex-direction: column; }
.internal-app .cc-prow { display: grid; grid-template-columns: minmax(0, 1fr) 120px; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--cc-line); }
.internal-app .cc-ptable.has-bonus .cc-prow { grid-template-columns: minmax(0, 1fr) 120px 150px; }
.internal-app .cc-prow-head { padding: 0 0 6px; border-top: 0; font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.internal-app .cc-prow > b { font-size: 14px; color: var(--cc-ink); }
.internal-app .cc-pcell { margin: 0; display: block !important; }
.internal-app .cc-pcell-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.internal-app .cc-choices { margin: 0; padding: 0; min-width: 0; border: 0 !important; background: none !important; }
.internal-app .cc-choices > legend { float: none; width: 100%; margin: 0 0 8px; padding: 0 !important; border: 0; background: none; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--cc-ink) !important; }
.internal-app .cc-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.internal-app .cc-choice-grid.cc-choice-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.internal-app .cc-choice {
  position: relative; margin: 0; padding: 12px 14px 12px 40px; display: flex !important; flex-direction: column !important; gap: 0 !important;
  border: 1px solid var(--cc-line-strong); border-radius: 12px; background: #ffffff; cursor: pointer; font-weight: 400 !important;
}
.internal-app .cc-choice > span { display: flex; flex-direction: column; gap: 2px; }
.internal-app .cc-choice b { font-size: 14px; line-height: 20px; color: var(--cc-ink); }
.internal-app .cc-choice small { font-size: 12px; line-height: 1.45; color: var(--cc-muted); }
.internal-app .cc-choice > input {
  -webkit-appearance: none; appearance: none; position: absolute; left: 14px; top: 14px; width: 18px !important; height: 18px !important; min-height: 0 !important; margin: 0; padding: 0;
  border: 1.5px solid #b8c4c1; border-radius: 999px; background: #ffffff; cursor: pointer;
}
.internal-app .cc-choice > input:checked { border: 5px solid var(--cc-teal); }
.internal-app .cc-choice.is-on { border: 1.5px solid var(--cc-teal); background: #f1f8f6; }
.internal-app .cc-choice:has(> input:focus-visible) { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .cc-qcap { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: end; gap: 12px; }
.internal-app .cc-qfollow { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; }
.internal-app .cc-qrow .cc-segmented { flex: none; }
.internal-app .cc-configured {
  margin-left: 8px; padding: 3px 9px; display: inline-flex; align-items: center; gap: 5px; vertical-align: 2px; border-radius: 999px;
  background: #e9f5ee; color: #1d6b3e; font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0;
}
.internal-app .cc-configured::before { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .cc-s6-body { display: flex; flex-direction: column; gap: 14px; }
.internal-app .cc-subhead { margin: 6px 0 -4px; font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cc-muted); }
.internal-app .cc-s6-body > .cc-subhead:first-child { margin-top: 0; }
.internal-app .cc-s6-body .cc-hint { margin: -6px 0 0; }
.internal-app .cc-addon-grid { display: grid; grid-template-columns: minmax(0, 1fr) 170px; align-items: end; gap: 12px; }
.internal-app .cc-addon-grid .cc-segmented { width: 100%; box-sizing: border-box; }
.internal-app .cc-included { box-sizing: border-box; height: 40px; padding: 0 12px; display: flex; align-items: center; border: 1px dashed var(--cc-line-strong); border-radius: 10px; color: var(--cc-muted); font-size: 13px; font-weight: 400; }
.internal-app .cc-panel { padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; border-radius: 12px; background: var(--cc-soft); }
.internal-app .cc-panel-plain { border: 1px solid var(--cc-line); background: #ffffff; }
.internal-app .cc-panel-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.internal-app .cc-btable { display: flex; flex-direction: column; gap: 8px; }
.internal-app .cc-brow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 40px; gap: 8px; }
.internal-app .cc-brow-head { font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.internal-app .cc-bin, .internal-app .cc-mini-btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; margin: 0; cursor: pointer;
  border: 1px solid #dce4e2 !important; border-radius: 10px !important; background: #ffffff !important; box-shadow: none !important;
}
.internal-app .cc-bin { width: 40px; height: 40px; min-height: 0 !important; padding: 0 !important; color: #a61b1b !important; }
.internal-app .cc-bin::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .cc-mini-btn { flex: none; height: 36px; min-height: 0 !important; padding: 0 12px !important; color: var(--cc-ink) !important; font-size: 13px !important; font-weight: 700 !important; white-space: nowrap; }
.internal-app .cc-mini-btn::before { content: ""; width: 15px; height: 15px; background: currentColor; -webkit-mask: var(--cc-mini-icon) center / contain no-repeat; mask: var(--cc-mini-icon) center / contain no-repeat; }
.internal-app .cc-mini-add { --cc-mini-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-mini-edit { --cc-mini-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-mini-restore { --cc-mini-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%209-9%209.75%209.75%200%200%200-6.74%202.74L3%208%22%2F%3E%3Cpath%20d%3D%22M3%203v5h5%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cc-mini-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.internal-app :is(.cc-bin, .cc-mini-btn):focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .cc-panel-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.internal-app .cc-warn { margin: 0; padding: 10px 12px; display: flex; gap: 8px; border-radius: 10px; background: #fff4e6; color: #74401e; font-size: 13px; line-height: 1.45; }
.internal-app .cc-warn::before { content: ""; width: 15px; height: 15px; flex: none; margin-top: 2px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .cc-chiplist { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.internal-app .cc-chiplist li { padding: 5px 10px; border-radius: 999px; background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 600; }
.internal-app .cc-chiplist li span { margin-left: 4px; color: var(--cc-muted); font-weight: 500; }
@container ccsection (max-width: 600px) {
  .internal-app .cc-qgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-app .cc-qrow { flex-direction: column; align-items: stretch; }
  .internal-app .cc-qrow .cc-segmented { width: 100%; box-sizing: border-box; }
  .internal-app :is(.cc-qrow, .cc-addon-grid) .cc-segmented label { flex: 1 1 0; }
  .internal-app .cc-choice-grid, .internal-app .cc-choice-grid.cc-choice-3 { grid-template-columns: 1fr; }
  .internal-app :is(.cc-qcap, .cc-qfollow, .cc-addon-grid) { grid-template-columns: 1fr; }
  .internal-app .cc-prow, .internal-app .cc-ptable.has-bonus .cc-prow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-app .cc-prow > b { grid-column: 1 / -1; }
  .internal-app .cc-prow-head { display: none; }
  .internal-app .cc-ptable:not(.has-bonus) .cc-prow { grid-template-columns: minmax(0, 1fr) 120px; }
  .internal-app .cc-ptable:not(.has-bonus) .cc-prow > b { grid-column: auto; }
  .internal-app .cc-ptable.has-bonus .cc-pcell-label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--cc-ink); }
  .internal-app .cc-brow { grid-template-columns: minmax(0, 1fr) 40px; }
  .internal-app .cc-brow > input:nth-child(2) { grid-column: 1; }
  .internal-app .cc-brow > .cc-bin { grid-column: 2; grid-row: 1; }
  .internal-app .cc-brow-head { display: none; }
  .internal-app .cc-panel-row { flex-direction: column; align-items: flex-start; }
}

/* ===== r3: Registrations ===== */
.internal-app .reg-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.internal-app .reg-search { position: relative; margin: 0; display: block; min-width: 0; }
.internal-app .reg-search::before {
  content: ""; position: absolute; left: 12px; top: 12px; width: 16px; height: 16px; background: var(--cc-muted); pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22m21%2021-4.3-4.3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22m21%2021-4.3-4.3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .reg-search input {
  box-sizing: border-box; width: 280px; max-width: 100%; height: 40px !important; min-height: 0 !important; margin: 0; padding: 0 12px 0 36px !important;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 10px !important; background: #ffffff; box-shadow: none !important; color: var(--cc-text); font-size: 14px !important;
}
.internal-app .reg-search input:focus { border-color: var(--cc-teal) !important; box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15) !important; outline: none; }

/* Overview */
.internal-app .reg-toolbar { margin: 0 0 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.internal-app .reg-tabs { padding: 4px; display: inline-flex; gap: 2px; border-radius: 11px; background: #eef2f1; }
.internal-app .reg-tabs button {
  height: 36px; min-height: 0 !important; margin: 0; padding: 0 14px !important; display: inline-flex; align-items: center; gap: 8px;
  border: 0 !important; border-radius: 8px !important; background: transparent !important; box-shadow: none !important; color: #33454e !important; font-size: 14px !important; font-weight: 600 !important; white-space: nowrap; cursor: pointer;
}
.internal-app .reg-tabs button.is-on { background: #ffffff !important; box-shadow: 0 1px 2px rgba(21, 56, 74, 0.12) !important; color: var(--cc-ink) !important; font-weight: 700 !important; }
.internal-app .reg-tabs button:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .reg-tab-count { padding: 1px 7px; border-radius: 999px; background: #dfe6e4; color: #33454e; font-size: 12px; font-weight: 700; }
.internal-app .reg-tabs button.is-on .reg-tab-count { background: var(--cc-ink); color: #ffffff; }
.internal-app .reg-toolbar-right { display: flex; flex-wrap: wrap; gap: 10px; }
.internal-app .reg-sort {
  box-sizing: border-box; width: 220px; height: 40px !important; min-height: 0 !important; margin: 0; padding: 0 12px !important;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 10px !important; background-color: #ffffff; color: var(--cc-text); font-size: 14px !important;
}
.internal-app .reg-footnote { margin: 10px 2px 0; font-size: 13px; color: var(--cc-muted); }
.internal-app .reg-ctable { container: regct / inline-size; overflow: visible; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app .reg-ctable table { width: 100%; margin: 0; border-collapse: collapse; border: 0; background: transparent; }
.internal-app .reg-ctable th {
  padding: 11px 18px !important; border: 0 !important; background: #f8faf9 !important; color: var(--cc-muted) !important;
  font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; text-align: left; white-space: nowrap;
}
.internal-app .reg-ctable th:first-child { border-radius: 14px 0 0 0; }
.internal-app .reg-ctable th:last-child { border-radius: 0 14px 0 0; }
.internal-app .reg-ctable :is(th, td).num { text-align: center; }
.internal-app .reg-ctable td { padding: 14px 18px !important; border: 0 !important; border-top: 1px solid #eef2f1 !important; background: transparent; vertical-align: middle; font-size: 14px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .reg-ctable tr.row-clickable { cursor: pointer; }
.internal-app .reg-ctable tr.row-clickable:hover td { background: #fafcfb; }
.internal-app .reg-ctable tr.row-clickable:focus-visible { outline: 3px solid #f28f4b; outline-offset: -3px; }
.internal-app .reg-ctable td:first-child b { display: block; font-size: 14px; color: var(--cc-ink); }
.internal-app .reg-ctable td:first-child small { display: block; margin-top: 2px; font-size: 12px; color: var(--cc-muted); }
.internal-app .reg-ctable td:nth-child(2) { min-width: 160px; }
.internal-app .reg-ctable td:nth-child(2) small { display: block; font-size: 13px !important; color: var(--cc-text) !important; }
.internal-app .reg-ctable td:nth-child(2) small.muted { color: var(--cc-muted) !important; }
.internal-app .reg-ctable .campaign-progress-bar { height: 6px; margin-top: 6px; overflow: hidden; border-radius: 999px; background: #e7eeec; }
.internal-app .reg-ctable .campaign-progress-bar > span { display: block; height: 100%; border-radius: 999px; background: var(--cc-teal); }
.internal-app .reg-ctable .count-pill { min-width: 26px; padding: 3px 9px; display: inline-flex; justify-content: center; border-radius: 999px; font-size: 13px; font-weight: 700; }
.internal-app .reg-ctable .count-pill.attention { background: #fff4e0; color: #8a5a00; }
.internal-app .reg-ctable .count-pill.negative { background: #fde9e5; color: #a33222; }
.internal-app .reg-ctable .count-zero { color: #8a979d; }
.internal-app .reg-ctable td.registration-row-actions { white-space: nowrap; text-align: right; }
.internal-app .reg-ctable td.registration-row-actions > button { margin-left: 6px; }
.internal-app .reg-ctable td.registration-row-actions button, .internal-app .reg-ctable .contact-list-actions button {
  height: 34px; min-height: 0 !important; padding: 0 12px !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px; vertical-align: middle;
  border: 1px solid #dce4e2 !important; border-radius: 9px !important; background: #ffffff !important; box-shadow: none !important; color: var(--cc-ink) !important; font-size: 13px !important; font-weight: 700 !important; white-space: nowrap;
}
.internal-app .reg-ctable :is(.reg-contact-btn, .contact-list-actions .whatsapp-button) { border-color: #b9e0cf !important; background: #f0faf5 !important; color: #1d6b3e !important; }
.internal-app .reg-ctable :is(.reg-contact-btn, .contact-list-actions .whatsapp-button)::before {
  content: ""; width: 15px; height: 15px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.9%2020A9%209%200%201%200%204%2016.1L2%2022Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.9%2020A9%209%200%201%200%204%2016.1L2%2022Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.internal-app .reg-ctable .reg-count { padding: 0 6px; border-radius: 999px; background: #fff4e0; color: #8a5a00; font-size: 12px; }
.internal-app .reg-ctable td.registration-row-actions button.reg-open { border: 0 !important; background: var(--cc-teal) !important; color: #ffffff !important; padding: 0 14px !important; }
.internal-app .reg-ctable .reg-open::after { content: ""; width: 15px; height: 15px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m12%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m12%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .reg-ctable td.registration-row-actions button:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .reg-ctable .contact-expand-row td { padding: 0 18px 14px !important; border-top: 0 !important; cursor: default; }
.internal-app .reg-ctable .contact-list { margin: 0; padding: 4px 16px; border-radius: 12px; background: var(--cc-soft); }
.internal-app .reg-ctable .contact-list-row { padding: 10px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--cc-line); }
.internal-app .reg-ctable .contact-list-row:first-child { border-top: 0; }
.internal-app .reg-ctable .contact-list-row > div:first-child { display: flex; flex-direction: column; gap: 1px; }
.internal-app .reg-ctable .contact-list-row b { font-size: 14px; color: var(--cc-ink); }
.internal-app .reg-ctable .contact-list-row span { font-size: 12px; color: var(--cc-muted); }
.internal-app .reg-ctable .contact-list-actions { display: flex; gap: 6px; }
.internal-app .closed-campaign-section { margin: 0; padding: 0; border: 0; }
.internal-app .closed-campaign-section .registration-overview-intro { margin: 0 0 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.internal-app .closed-campaign-section .registration-overview-intro p { margin: 0; font-size: 13px; color: var(--cc-muted); }
.internal-app .closed-campaign-section .registration-overview-intro > span { padding: 3px 10px; border-radius: 999px; background: #eef1f2; color: #4a5a62; font-size: 12px; font-weight: 700; }
@container regct (max-width: 640px) {
  .internal-app .reg-ctable thead { display: none; }
  .internal-app .reg-ctable table, .internal-app .reg-ctable tbody { display: block; }
  .internal-app .reg-ctable tr.row-clickable {
    margin: 0 0 12px; padding: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 6px;
    border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff;
  }
  .internal-app .reg-ctable tr.row-clickable td { display: block; padding: 0 !important; border: 0 !important; min-width: 0; background: transparent !important; }
  .internal-app .reg-ctable tr.row-clickable td:nth-child(-n+2) { grid-column: 1 / -1; }
  .internal-app .reg-ctable tr.row-clickable td:first-child b { font-size: 16px; }
  .internal-app .reg-ctable tr.row-clickable td:first-child small { font-size: 13px; }
  .internal-app .reg-ctable tr.row-clickable td.num {
    padding: 8px 4px !important; display: flex; flex-direction: column-reverse; align-items: center; gap: 2px; border-radius: 10px; background: var(--cc-soft) !important;
    font-size: 16px; font-weight: 700;
  }
  .internal-app .reg-ctable tr.row-clickable td.num::before { font-size: 11px; font-weight: 500; line-height: 1.2; color: var(--cc-muted); text-align: center; }
  .internal-app .reg-ctable tr.row-clickable td:nth-child(3)::before { content: "To contact"; }
  .internal-app .reg-ctable tr.row-clickable td:nth-child(4)::before { content: "Overdue"; }
  .internal-app .reg-ctable tr.row-clickable td:nth-child(5)::before { content: "Posted"; }
  .internal-app .reg-ctable tr.row-clickable td:nth-child(6)::before { content: "Paid"; }
  .internal-app .reg-ctable tr.row-clickable td.registration-row-actions { grid-column: 1 / -1; display: flex; gap: 8px; }
  .internal-app .reg-ctable tr.row-clickable td.registration-row-actions > button { flex: 1 1 0; height: 44px; margin: 0; font-size: 14px !important; }
  .internal-app .reg-ctable { border: 0; background: transparent; }
  .internal-app .reg-ctable .contact-expand-row, .internal-app .reg-ctable .contact-expand-row td { display: block; padding: 0 !important; }
  .internal-app .reg-ctable .contact-expand-row { margin: -6px 0 12px; }
  .internal-app .reg-ctable .contact-list-row { flex-direction: column; align-items: stretch; }
  .internal-app .reg-ctable .contact-list-actions button { flex: 1 1 0; height: 44px; }
}
@media (max-width: 700px) {
  .internal-app .reg-toolbar, .internal-app .reg-toolbar-right { flex-direction: column; align-items: stretch; }
  .internal-app .reg-tabs { display: flex; }
  .internal-app .reg-tabs button { flex: 1 1 0; justify-content: center; height: 40px; }
  .internal-app .reg-search input, .internal-app .reg-sort { width: 100%; }
}

/* One campaign */
.internal-app .reg-head { margin: 0 0 18px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.internal-app .reg-head-main { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.internal-app .reg-back {
  margin: 0 0 6px; padding: 0 !important; min-height: 0 !important; height: auto; display: inline-flex; align-items: center; gap: 6px;
  border: 0 !important; background: none !important; box-shadow: none !important; color: var(--cc-teal) !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer;
}
.internal-app .reg-back::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%2019-7-7%207-7%22%2F%3E%3Cpath%20d%3D%22M19%2012H5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%2019-7-7%207-7%22%2F%3E%3Cpath%20d%3D%22M19%2012H5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .reg-back:hover { text-decoration: underline; }
.internal-app .reg-back:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; border-radius: 6px; }
.internal-app .reg-client { padding: 3px 9px !important; border-radius: 999px !important; background: var(--cc-mint) !important; color: var(--cc-teal-dark) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; }
.internal-app .reg-head h2 { margin: 0; font-family: Manrope, 'DM Sans', sans-serif; font-size: 28px; line-height: 1.15; font-weight: 800; letter-spacing: -0.02em; color: var(--cc-ink); }
.internal-app .reg-head p { margin: 0; font-size: 14px; color: var(--cc-muted); }
.internal-app .reg-head .reg-search input { width: 300px; }
.internal-app .reg-stages { margin: 0 0 18px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.internal-app .reg-stage {
  min-width: 0; min-height: 0 !important; margin: 0; padding: 12px 14px !important; display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px;
  border: 1px solid var(--cc-line) !important; border-radius: 12px !important; background: #ffffff !important; box-shadow: none !important; text-align: left; cursor: pointer;
}
.internal-app .reg-stage-label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: 12px; font-weight: 600; color: var(--cc-muted); white-space: nowrap; }
.internal-app .reg-stage b { font-family: Manrope, 'DM Sans', sans-serif; font-size: 22px; line-height: 1.2; font-weight: 800; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .reg-flag { min-height: 16px; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--cc-muted); }
.internal-app .reg-flag-amber { color: #8a5a00; }
.internal-app .reg-flag-red { color: #a33222; }
.internal-app .reg-stage.is-on { border: 1.5px solid var(--cc-teal) !important; background: #f1f8f6 !important; }
.internal-app .reg-stage.is-on b { color: var(--cc-teal-dark); }
.internal-app .reg-stage:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .reg-panel { container: regp / inline-size; margin: 0; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app .reg-panel-head { padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.internal-app .reg-panel-head h2 { margin: 0; font-size: 17px; line-height: 1.3; font-weight: 700; color: var(--cc-ink); }
.internal-app .reg-panel-count { color: var(--cc-muted); font-weight: 600; }
.internal-app .reg-panel-head p { margin: 2px 0 0; font-size: 13px; color: var(--cc-muted); }
.internal-app .reg-panel > .registration-empty { margin: 0 18px 18px; padding: 18px; border: 1px dashed var(--cc-line-strong); border-radius: 12px; background: #fafcfb; color: var(--cc-muted); text-align: center; font-size: 14px; }
.internal-app :is(.reg-thead, .reg-row) { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) 76px 116px minmax(0, 1.1fr) 292px; gap: 14px; }
.internal-app .reg-thead { padding: 10px 18px; background: #f8faf9; font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.internal-app .reg-thead span:last-child { text-align: right; }
.internal-app .reg-row { position: relative; margin: 0; padding: 14px 18px; align-items: center; border-top: 1px solid #eef2f1; background: #ffffff; }
.internal-app .reg-tbody .reg-row:last-child { border-radius: 0 0 14px 14px; }
.internal-app .reg-row.is-overdue { box-shadow: inset 3px 0 0 #c2410c; }
.internal-app .reg-row > div { min-width: 0; }
.internal-app .reg-person { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.internal-app .reg-person .registration-koc-name {
  max-width: 100%; min-height: 0 !important; margin: 0; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  color: var(--cc-ink) !important; font-size: 14px !important; font-weight: 700 !important; text-align: left; text-decoration: none; cursor: pointer;
}
.internal-app .reg-person .registration-koc-name:hover { text-decoration: underline; }
.internal-app .reg-person .registration-koc-name:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; border-radius: 4px; }
.internal-app .reg-person small, .internal-app .reg-visit small { font-size: 12px; line-height: 1.4; color: var(--cc-muted); font-variant-numeric: tabular-nums; }
.internal-app .reg-visit { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.internal-app .reg-visit b { font-size: 14px; font-weight: 600; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .reg-visit .deadline-note { font-weight: 600; }
.internal-app .reg-visit .deadline-note.overdue { color: #a33222; }
.internal-app .reg-visit .reg-note { color: #8a5a00; font-weight: 600; }
.internal-app .reg-visit .answers-chip { margin-top: 4px; min-height: 0 !important; height: 26px; padding: 0 10px !important; border: 1px solid #dce4e2 !important; border-radius: 999px !important; background: #ffffff !important; color: var(--cc-ink) !important; font-size: 12px !important; font-weight: 700 !important; }
.internal-app .reg-plats { display: flex; flex-wrap: wrap; gap: 4px; }
.internal-app .reg-plats span { padding: 3px 9px; border-radius: 999px; background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 600; }
.internal-app .reg-pay { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.internal-app .reg-pay-line { display: inline-flex; align-items: center; gap: 4px; }
.internal-app .reg-pay-line b { font-size: 14px; color: var(--cc-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.internal-app .reg-edit-price {
  width: 28px; height: 28px; min-height: 0 !important; margin: 0; padding: 0 !important; display: grid; place-items: center; border: 0 !important; border-radius: 7px !important; background: transparent !important; box-shadow: none !important; color: var(--cc-muted) !important; cursor: pointer;
}
.internal-app .reg-edit-price::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .reg-edit-price:hover { background: #eef2f1 !important; color: var(--cc-ink) !important; }
.internal-app .reg-edit-price:focus-visible { outline: 3px solid #f28f4b; outline-offset: 1px; }
.internal-app .reg-pay details summary { font-size: 12px; font-weight: 600; color: var(--cc-teal); cursor: pointer; }
.internal-app .reg-status { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.internal-app .reg-pill { padding: 3px 9px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; font-size: 12px; line-height: 16px; font-weight: 700; white-space: nowrap; text-transform: none; }
.internal-app .reg-pill::before { content: ""; width: 6px; height: 6px; flex: none; border-radius: 999px; background: currentColor; }
.internal-app .reg-tone-amber { background: #fff4e0; color: #8a5a00; }
.internal-app .reg-tone-red { background: #fde9e5; color: #a33222; }
.internal-app .reg-tone-teal { background: var(--cc-mint); color: var(--cc-teal-dark); }
.internal-app .reg-tone-green { background: #e9f5ee; color: #1d6b3e; }
.internal-app .reg-tone-blue { background: #e7eef8; color: #1f4e8c; }
.internal-app .reg-tone-grey { background: #eef1f2; color: #4a5a62; }
.internal-app .reg-toggle {
  min-height: 0 !important; height: auto; margin: 0; padding: 0 !important; display: inline-flex; align-items: center; gap: 6px; border: 0 !important; background: none !important; box-shadow: none !important;
  font-size: 12px !important; line-height: 16px; font-weight: 600 !important; text-align: left; cursor: pointer;
}
.internal-app .reg-toggle.is-todo { color: #a33222 !important; }
.internal-app .reg-toggle.is-todo::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: currentColor; }
.internal-app .reg-toggle.is-done { color: #1d6b3e !important; }
.internal-app .reg-toggle.is-done::before { content: ""; width: 13px; height: 13px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app button.reg-toggle:hover { text-decoration: underline; }
.internal-app .reg-toggle.is-static { cursor: default; }
.internal-app button.reg-toggle:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; border-radius: 4px; }
.internal-app .reg-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; }
.internal-app .reg-btn {
  height: 34px; min-height: 0 !important; margin: 0; padding: 0 14px !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  border-radius: 9px !important; box-shadow: none !important; font-size: 13px !important; font-weight: 700 !important; white-space: nowrap; cursor: pointer;
}
.internal-app .reg-btn::before { content: ""; width: 14px; height: 14px; flex: none; background: currentColor; -webkit-mask: var(--reg-icon) center / contain no-repeat; mask: var(--reg-icon) center / contain no-repeat; }
.internal-app .reg-btn-primary { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E"); border: 0 !important; background: var(--cc-teal) !important; color: #ffffff !important; }
.internal-app .reg-btn-primary:hover { background: var(--cc-teal-dark) !important; }
.internal-app .reg-assist { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.54%2021.69a.5.5%200%200%200%20.94-.03l6.5-19a.5.5%200%200%200-.64-.64l-19%206.5a.5.5%200%200%200-.03.94l7.93%203.18a2%202%200%200%201%201.11%201.11z%22%2F%3E%3Cpath%20d%3D%22m21.85%202.15-10.94%2010.94%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .reg-btn-danger { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%206%206%2018M6%206l12%2012%22%2F%3E%3C%2Fsvg%3E"); border: 1px solid #e6b4ac !important; background: #ffffff !important; color: #a61b1b !important; padding: 0 12px !important; }
.internal-app .reg-btn-danger:hover { background: #fdf3f1 !important; }
.internal-app :is(.reg-wa, .reg-more-btn) {
  width: 34px; height: 34px; min-height: 0 !important; flex: none; margin: 0; padding: 0 !important; display: grid; place-items: center; border-radius: 9px !important; box-shadow: none !important; cursor: pointer;
}
.internal-app :is(.reg-wa, .reg-more-btn)::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--reg-icon) center / contain no-repeat; mask: var(--reg-icon) center / contain no-repeat; }
.internal-app .reg-wa { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.9%2020A9%209%200%201%200%204%2016.1L2%2022Z%22%2F%3E%3C%2Fsvg%3E"); border: 1px solid #b9e0cf !important; background: #f0faf5 !important; color: #1d6b3e !important; }
.internal-app .reg-wa:hover { background: #e2f4ea !important; }
.internal-app .reg-more { position: relative; }
.internal-app .reg-more-btn { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E"); border: 1px solid #dce4e2 !important; background: #ffffff !important; color: #33454e !important; }
.internal-app .reg-more-btn[aria-expanded="true"] { background: #eef2f1 !important; }
.internal-app :is(.reg-btn, .reg-wa, .reg-more-btn):focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .reg-menu {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; width: 214px; padding: 6px; display: flex; flex-direction: column; gap: 2px;
  border: 1px solid var(--cc-line); border-radius: 12px; background: #ffffff; box-shadow: 0 12px 28px rgba(21, 56, 74, 0.16);
}
.internal-app .reg-mi {
  width: 100%; height: 38px; min-height: 0 !important; margin: 0; padding: 0 10px !important; display: flex; align-items: center; gap: 10px;
  border: 0 !important; border-radius: 8px !important; background: transparent !important; box-shadow: none !important; color: var(--cc-ink) !important; font-size: 14px !important; font-weight: 600 !important; text-align: left; cursor: pointer;
}
.internal-app .reg-mi::before { content: ""; width: 16px; height: 16px; flex: none; background: currentColor; -webkit-mask: var(--reg-icon) center / contain no-repeat; mask: var(--reg-icon) center / contain no-repeat; }
.internal-app .reg-mi:hover, .internal-app .reg-mi:focus-visible { background: #f3f6f5 !important; outline: none; }
.internal-app .reg-mi-visit { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%202v4M8%202v4M3%2010h18%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .reg-mi-platforms { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12.83%202.18a2%202%200%200%200-1.66%200L2.6%206.08a1%201%200%200%200%200%201.83l8.58%203.91a2%202%200%200%200%201.66%200l8.58-3.9a1%201%200%200%200%200-1.83Z%22%2F%3E%3Cpath%20d%3D%22m22%2017.65-9.17%204.16a2%202%200%200%201-1.66%200L2%2017.65%22%2F%3E%3Cpath%20d%3D%22m22%2012.65-9.17%204.16a2%202%200%200%201-1.66%200L2%2012.65%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .reg-mi-unapprove { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2014%204%209l5-5%22%2F%3E%3Cpath%20d%3D%22M4%209h10.5a5.5%205.5%200%200%201%200%2011H11%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .reg-mi-noshow { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22m17%208%205%205M22%208l-5%205%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .reg-mi-cancel { --reg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .reg-mi-danger { color: #a61b1b !important; }
@media (max-width: 1240px) {
  .internal-app .reg-stages { margin: 0 -4px 14px; padding: 0 4px 4px; display: flex; overflow-x: auto; scrollbar-width: none; }
  .internal-app .reg-stage { flex: none; height: 38px; padding: 0 12px !important; flex-direction: row !important; align-items: center; gap: 6px; border-radius: 999px !important; }
  .internal-app .reg-stage-label { font-size: 13px; color: var(--cc-ink); }
  .internal-app .reg-stage.is-on .reg-stage-label { font-weight: 700; }
  .internal-app .reg-stage b { order: 2; padding: 1px 7px; border-radius: 999px; background: #e7eef3; font-family: 'DM Sans', sans-serif; font-size: 12px; line-height: 16px; font-weight: 700; }
  .internal-app .reg-stage.is-on b { background: var(--cc-teal); color: #ffffff; }
  .internal-app .reg-flag { order: 0; min-height: 0; width: 7px; height: 7px; overflow: hidden; border-radius: 999px; font-size: 0; }
  .internal-app .reg-flag-none { display: none; }
  .internal-app .reg-flag-amber { background: #8a5a00; }
  .internal-app .reg-flag-red { background: #a33222; }
  .internal-app .reg-flag-plain { display: none; }
}
@container regp (max-width: 860px) {
  .internal-app .reg-thead { display: none; }
  .internal-app .reg-tbody { padding: 0 14px 14px; display: flex; flex-direction: column; gap: 12px; }
  .internal-app .reg-row {
    padding: 14px; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "person status" "visit pay" "visit plats" "actions actions"; gap: 0;
    border: 1px solid var(--cc-line); border-radius: 14px !important; align-items: start;
  }
  .internal-app .reg-person { grid-area: person; padding-bottom: 10px; }
  .internal-app .reg-person .registration-koc-name { font-size: 16px !important; }
  .internal-app .reg-status { grid-area: status; padding: 0 0 10px 10px; align-items: flex-end; }
  .internal-app .reg-visit { grid-area: visit; align-self: stretch; padding: 10px 12px; border-radius: 10px 0 0 10px; background: var(--cc-soft); }
  .internal-app :is(.reg-pay, .reg-plats) { align-self: stretch; }
  .internal-app .reg-pay { grid-area: pay; padding: 10px 12px 4px; align-items: flex-end; border-radius: 0 10px 0 0; background: var(--cc-soft); }
  .internal-app .reg-plats { grid-area: plats; padding: 2px 12px 10px; justify-content: flex-end; align-content: flex-start; border-radius: 0 0 10px 0; background: var(--cc-soft); }
  .internal-app .reg-actions { grid-area: actions; padding-top: 12px; justify-content: stretch; flex-wrap: nowrap; }
  .internal-app .reg-actions .reg-btn { flex: 1 1 0; height: 44px; font-size: 14px !important; }
  .internal-app .reg-actions :is(.reg-wa, .reg-more-btn) { width: 44px; height: 44px; }
  .internal-app .reg-actions:not(:has(.reg-btn)) { justify-content: flex-end; }
  .internal-app .reg-actions:empty { display: none; }
}
@media (max-width: 700px) {
  .internal-app .reg-head { align-items: stretch; flex-direction: column; }
  .internal-app .reg-head h2 { font-size: 24px; }
  .internal-app .reg-head .reg-search input { width: 100%; }
  .internal-app .reg-panel { border: 0; background: transparent; }
  .internal-app .reg-panel-head { padding: 0 0 10px; }
  .internal-app .reg-tbody { padding: 0; }
  .internal-app .reg-panel > .registration-empty { margin: 0; }
}
@media (prefers-reduced-motion: reduce) { .internal-app .reg-stages { scroll-behavior: auto; } }


/* ===== r4: Clients branch cards ===== */
.internal-app .new-client-profile > .cl-branches { grid-column: 1 / -1; }
.internal-app .new-client-profile > .add-branch-bottom { grid-column: 1 / -1; justify-self: start; }
.internal-app .cl-branches { margin: 0 0 12px; display: flex; flex-direction: column; gap: 12px; container: clb / inline-size; }
.internal-app .cl-branch { min-width: 0; padding: 16px; display: flex; flex-direction: column; gap: 14px; border: 1px solid var(--cc-line); border-radius: 12px; background: #ffffff; }
.internal-app .cl-branch-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.internal-app .cl-branch-title { min-width: 0; display: flex; align-items: baseline; gap: 8px; }
.internal-app .cl-branch-title b { font-size: 14px; color: var(--cc-ink); white-space: nowrap; }
.internal-app .cl-branch-title span { overflow: hidden; font-size: 13px; color: var(--cc-muted); white-space: nowrap; text-overflow: ellipsis; }
.internal-app .cl-remove {
  height: 34px; min-height: 0 !important; margin: 0; padding: 0 10px !important; display: inline-flex; align-items: center; gap: 6px; flex: none;
  border: 1px solid #ecc9c2 !important; border-radius: 9px !important; background: #ffffff !important; box-shadow: none !important; color: #a61b1b !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer;
}
.internal-app .cl-remove::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .cl-remove:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .cl-row1 { display: grid; grid-template-columns: minmax(0, 1.1fr) 170px minmax(0, 1.9fr) 140px; gap: 12px; }
.internal-app .cl-row2 { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 16px; }
.internal-app :is(.cl-f, .cl-days, .cl-hours) { margin: 0; padding: 0; min-width: 0; display: flex !important; flex-direction: column !important; gap: 6px !important; border: 0 !important; background: none !important; }
.internal-app .cl-f > span, .internal-app :is(.cl-days, .cl-hours) > legend {
  float: none; width: auto; margin: 0 0 6px; padding: 0 !important; border: 0; background: none;
  font-size: 13px !important; line-height: 18px; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--cc-ink) !important;
}
.internal-app .cl-f > :is(input, select), .internal-app .cl-hours-row input {
  box-sizing: border-box; width: 100%; height: 40px !important; min-height: 0 !important; margin: 0; padding: 0 12px;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 10px !important; background: #ffffff; box-shadow: none !important; color: var(--cc-text); font-size: 14px !important; font-weight: 400 !important;
}
.internal-app .cl-f > :is(input, select):focus, .internal-app .cl-hours-row input:focus { border-color: var(--cc-teal) !important; box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15) !important; outline: none; }
.internal-app .cl-hours-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; font-size: 13px; color: var(--cc-muted); }
.internal-app .cl-day-picker { margin: 0; padding: 0; display: flex !important; flex-wrap: wrap; gap: 6px; border: 0; background: none; }
.internal-app .cl-day-picker label {
  position: relative; height: 36px; margin: 0; padding: 0 11px !important; display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 4px;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 999px !important; background: #ffffff !important; color: var(--cc-muted) !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer;
}
.internal-app .cl-day-picker label input { position: absolute; inset: 0; width: 100% !important; height: 100% !important; margin: 0; opacity: 0; cursor: pointer; }
.internal-app .cl-day-picker label span { display: inline; min-width: 0; margin: 0; padding: 0; border: 0 !important; border-radius: 0; background: none !important; color: inherit !important; font-size: inherit; font-weight: inherit; outline: none !important; }
.internal-app .cl-day-picker label.selected { border: 1.5px solid var(--cc-teal) !important; background: #e6f4f1 !important; color: var(--cc-teal-dark) !important; font-weight: 700 !important; }
.internal-app .cl-day-picker label.selected::before { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .cl-day-picker label:focus-within { outline: 3px solid #f28f4b; outline-offset: 2px; }
@container clb (max-width: 720px) {
  .internal-app .cl-row1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-app .cl-row1 > .cl-f:first-child { grid-column: 1 / -1; }
  .internal-app .cl-row1 > .cl-f-address { grid-column: 1 / -1; order: 5; }
  .internal-app .cl-row2 { grid-template-columns: 1fr; }
  .internal-app .cl-day-picker label { height: 40px; }
}

/* Add another branch buttons */
.internal-app :is(.add-branch-bottom, .edit-add-branch-row > button.secondary) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.internal-app :is(.add-branch-bottom, .edit-add-branch-row > button.secondary)::before { content: ""; width: 16px; height: 16px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }

/* ===== r4: Reviews ===== */
.internal-app .rv-table { container: rvt / inline-size; overflow: visible; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app :is(.rv-thead, .rv-row) { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr) minmax(0, 1.25fr) 112px 252px; gap: 10px 14px; }
.internal-app .rv-thead { padding: 11px 18px; border-radius: 14px 14px 0 0; background: #f8faf9; font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.internal-app .rv-group-head { padding: 12px 18px 10px; display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--cc-line); background: #fbfcfc; }
.internal-app .rv-group-head b { font-size: 14px; color: var(--cc-ink); }
.internal-app .rv-group-head span { padding: 1px 8px; border-radius: 999px; background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 700; }
.internal-app .rv-row { padding: 14px 18px; align-items: center; border-top: 1px solid #eef2f1; }
.internal-app .rv-row > div { min-width: 0; }
.internal-app .rv-person { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.internal-app .rv-person b { font-size: 14px; color: var(--cc-ink); }
.internal-app .rv-flag { font-size: 12px; font-weight: 600; color: #1f4e8c; }
.internal-app :is(.rv-camp, .rv-when) { display: flex; flex-direction: column; gap: 2px; }
.internal-app :is(.rv-camp, .rv-when) b { font-size: 14px; font-weight: 600; color: var(--cc-ink); }
.internal-app :is(.rv-camp, .rv-when) small { font-size: 12px; color: var(--cc-muted); }
.internal-app .rv-links { display: flex; flex-wrap: wrap; gap: 6px; }
.internal-app .rv-link { max-width: 100%; padding: 4px 10px 4px 4px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dce4e2; border-radius: 10px; background: #ffffff; text-decoration: none; }
.internal-app a.rv-link:hover { border-color: var(--cc-teal); background: #f6fbfa; }
.internal-app a.rv-link:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .rv-plat { padding: 3px 8px; border-radius: 999px; background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 600; white-space: nowrap; }
.internal-app .rv-link-text { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.internal-app .rv-link-text b { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--cc-teal-dark); }
.internal-app a.rv-link .rv-link-text b::after { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rv-link-text small { max-width: 180px; overflow: hidden; font-size: 11px; color: var(--cc-muted); white-space: nowrap; text-overflow: ellipsis; }
.internal-app .rv-link.is-unsafe .rv-link-text b { color: #a33222; }
.internal-app .rv-nolink { display: flex; flex-direction: column; gap: 2px; }
.internal-app .rv-nolink b { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #a33222; }
.internal-app .rv-nolink b::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4M12%2017h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4M12%2017h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rv-nolink small { font-size: 12px; color: var(--cc-muted); }
.internal-app .rv-actions { display: flex; justify-content: flex-end; gap: 6px; }
.internal-app .rv-btn {
  height: 34px; min-height: 0 !important; margin: 0; padding: 0 12px !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  border-radius: 9px !important; box-shadow: none !important; font-size: 13px !important; font-weight: 700 !important; white-space: nowrap; cursor: pointer;
}
.internal-app .rv-btn::before { content: ""; width: 14px; height: 14px; flex: none; background: currentColor; -webkit-mask: var(--rv-icon) center / contain no-repeat; mask: var(--rv-icon) center / contain no-repeat; }
.internal-app .rv-changes { --rv-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E"); border: 1px solid #dce4e2 !important; background: #ffffff !important; color: var(--cc-ink) !important; }
.internal-app .rv-approve { --rv-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E"); border: 0 !important; background: var(--cc-teal) !important; color: #ffffff !important; }
.internal-app .rv-approve:hover { background: var(--cc-teal-dark) !important; }
.internal-app .rv-btn:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .rv-extra { grid-column: 1 / -1; }
.internal-app .rv-extra .reg-pill { max-width: 100%; box-sizing: border-box; border-radius: 10px; white-space: normal; line-height: 1.35; }
.internal-app .rv-returned { padding: 10px 12px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; border-radius: 10px; background: #fde9e5; color: #7a2418; font-size: 13px; line-height: 1.45; }
.internal-app .rv-returned b { font-weight: 700; }
.internal-app .rv-returned small { color: #8a4a3e; }
.internal-app .rv-empty { margin: 0; padding: 24px 18px; border-top: 1px solid #eef2f1; color: var(--cc-muted); font-size: 14px; text-align: center; }
@container rvt (max-width: 900px) {
  .internal-app .rv-thead { display: none; }
  .internal-app .rv-group-head { border-top: 0; background: transparent; padding: 14px 4px 8px; }
  .internal-app .rv-group:first-of-type .rv-group-head { padding-top: 4px; }
  .internal-app .rv-row { margin: 0 0 12px; padding: 14px; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "person when" "camp camp" "post post" "extra extra" "actions actions"; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
  .internal-app .rv-person { grid-area: person; }
  .internal-app .rv-when { grid-area: when; align-items: flex-end; text-align: right; }
  .internal-app .rv-camp { grid-area: camp; padding: 10px 12px; border-radius: 10px; background: var(--cc-soft); }
  .internal-app .rv-post { grid-area: post; }
  .internal-app .rv-actions { grid-area: actions; }
  .internal-app .rv-actions .rv-btn { flex: 1 1 0; height: 44px; font-size: 14px !important; }
  .internal-app .rv-link { min-height: 40px; }
  .internal-app .rv-actions:empty { display: none; }
}
@media (max-width: 700px) {
  .internal-app .rv-table { border: 0; background: transparent; }
  .internal-app .rv-empty { border: 1px dashed var(--cc-line-strong); border-radius: 12px; }
}

/* Approve and Request changes windows */
.internal-app :is(.approve-modal, .change-request-modal) .rv-modal-chip { text-transform: none !important; letter-spacing: 0 !important; }
.internal-app .rv-modal-post { margin: 4px 0 12px; display: flex; flex-direction: column; gap: 6px; }
.internal-app .rv-modal-label { font-size: 13px; font-weight: 600; color: var(--cc-ink); }
.internal-app .approve-modal label.wide { margin-top: 12px; display: flex !important; flex-direction: column !important; gap: 6px; }
.internal-app .approve-modal .approve-main { margin: 4px 0 12px; padding: 12px 14px; border: 1px solid var(--cc-line); border-radius: 12px; background: #ffffff; }

/* ===== r4: Edit campaign window ===== */
.internal-app .modal.campaign-edit-modal {
  width: min(1040px, calc(100vw - 48px)) !important; max-width: none !important; height: min(880px, calc(100vh - 48px)); max-height: none !important;
  padding: 0 !important; display: flex; flex-direction: column; overflow: hidden !important; border-radius: 18px;
}
.internal-app .ed-head { padding: 20px 24px 10px; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.internal-app .ed-head-main { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.internal-app .ed-chip { padding: 3px 9px !important; border-radius: 999px !important; background: var(--cc-mint) !important; color: var(--cc-teal-dark) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; }
.internal-app .ed-title { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.internal-app .ed-title h2 { margin: 0 !important; font-family: Manrope, 'DM Sans', sans-serif; font-size: 24px !important; line-height: 1.2; font-weight: 800; letter-spacing: -0.01em; color: var(--cc-ink); }
.internal-app .ed-head p { margin: 0; font-size: 13px; color: var(--cc-muted); }
.internal-app .ed-status { padding: 3px 9px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.internal-app .ed-status::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: currentColor; }
.internal-app .ed-status-open { background: #e9f5ee; color: #1d6b3e; }
.internal-app .ed-status-draft { background: #eef1f2; color: #4a5a62; }
.internal-app .ed-status-closed { background: #e7eef3; color: #33454e; }
.internal-app .ed-close {
  width: 40px; height: 40px; min-height: 0 !important; flex: none; margin: 0; padding: 0 !important; display: grid; place-items: center;
  border: 0 !important; border-radius: 999px !important; background: #eef2f1 !important; box-shadow: none !important; color: #33454e !important; cursor: pointer;
}
.internal-app .ed-close::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%206%206%2018M6%206l12%2012%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%206%206%2018M6%206l12%2012%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .ed-close:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .ed-tabs { flex: none; padding: 0 16px; display: flex; gap: 2px; overflow-x: auto; border-bottom: 1px solid var(--cc-line); scrollbar-width: none; }
.internal-app .ed-tabs button {
  height: 44px; min-height: 0 !important; flex: none; margin: 0; padding: 0 14px !important; display: inline-flex; align-items: center; gap: 8px;
  border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
  color: #33454e !important; font-size: 14px !important; font-weight: 600 !important; white-space: nowrap; cursor: pointer;
}
.internal-app .ed-tabs button.active { border-bottom-color: var(--cc-teal) !important; color: var(--cc-teal-dark) !important; font-weight: 700 !important; }
.internal-app .ed-tabs button:focus-visible { outline: 3px solid #f28f4b; outline-offset: -3px; }
.internal-app .ed-count { padding: 1px 7px; border-radius: 999px; background: #e7eef3; color: #33454e; font-size: 12px; font-weight: 700; }
.internal-app .ed-tabs button.active .ed-count { background: var(--cc-teal); color: #ffffff; }
.internal-app .ed-body { container: edb / inline-size; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 24px; }
.internal-app .ed-body:has(> .ed-details) { padding: 0; background: #f6f7f6; }
.internal-app .ed-details { display: grid; grid-template-columns: 200px minmax(0, 1fr); align-items: start; }
.internal-app .ed-nav { position: sticky; top: 0; padding: 16px 0 16px 16px; display: flex; flex-direction: column; gap: 2px; }
.internal-app .ed-nav-item {
  min-height: 36px !important; margin: 0; padding: 6px 10px !important; display: flex; align-items: center; gap: 8px; border: 0 !important; border-radius: 8px !important;
  background: transparent !important; box-shadow: none !important; color: #33454e !important; font-size: 13px !important; font-weight: 600 !important; text-align: left; cursor: pointer;
}
.internal-app .ed-nav-item:hover { background: #eaf3f1 !important; color: var(--cc-teal-dark) !important; }
.internal-app .ed-nav-item:focus-visible { outline: 3px solid #f28f4b; outline-offset: 1px; }
.internal-app .ed-nav-mark { width: 14px; height: 14px; flex: none; box-sizing: border-box; border: 1.5px solid #b8c4c1; border-radius: 999px; }
.internal-app .ed-nav-item.is-done .ed-nav-mark { border: 0; background: #1d6b3e; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .ed-sections { min-width: 0; padding: 16px 24px 24px 16px; display: flex; flex-direction: column; gap: 16px; }
.internal-app .ed-sec { container: ccsection / inline-size; scroll-margin-top: 12px; padding: 20px; display: flex; flex-direction: column; gap: 18px; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app .ed-sec-head { display: flex; align-items: flex-start; gap: 12px; }
.internal-app .ed-num { width: 28px; height: 28px; flex: none; display: grid; place-items: center; border-radius: 8px; background: var(--cc-mint); color: var(--cc-teal-dark); font-size: 14px; font-weight: 800; }
.internal-app .ed-sec-head h3 { margin: 0; display: flex; align-items: center; gap: 8px; font-family: Manrope, 'DM Sans', sans-serif; font-size: 18px; font-weight: 800; color: var(--cc-ink); }
.internal-app .ed-sec-head p { margin: 3px 0 0; font-size: 13px; color: var(--cc-muted); }
.internal-app .ed-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: start; }
.internal-app .ed-span2 { grid-column: span 2; }
.internal-app .ed-span4, .internal-app .ed-grid > .cc-hint { grid-column: 1 / -1; }
.internal-app .ed-grid > .cc-hint { margin: -6px 0 0; }
.internal-app .ed-f { margin: 0; padding: 0; min-width: 0; display: flex !important; flex-direction: column !important; gap: 6px !important; border: 0 !important; background: none !important; }
.internal-app .ed-l { float: none; width: auto; margin: 0; padding: 0 !important; display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; font-size: 13px !important; line-height: 18px; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--cc-ink) !important; }
.internal-app .ed-f > :is(input, select, textarea) {
  box-sizing: border-box; width: 100%; min-height: 0 !important; margin: 0; padding: 0 12px;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 10px !important; background: #ffffff; box-shadow: none !important; color: var(--cc-text); font-size: 14px !important; font-weight: 400 !important;
}
.internal-app .ed-f > :is(input, select) { height: 40px !important; }
.internal-app .ed-f > textarea { padding: 10px 12px; min-height: 84px; line-height: 1.45; resize: vertical; }
.internal-app .ed-f > :is(input, select, textarea):focus { border-color: var(--cc-teal) !important; box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15) !important; outline: none; }
.internal-app .ed-hint { font-size: 12px; line-height: 1.45; color: var(--cc-muted); }
.internal-app .ed-fs .cc-segmented { width: 100%; box-sizing: border-box; }
.internal-app .ed-fs .cc-segmented label { flex: 1 1 0; }
.internal-app .ed-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.internal-app .ed-sec input[role="switch"] {
  -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 40px !important; min-width: 40px; height: 24px !important; min-height: 0 !important; flex: 0 0 40px; margin: 0; padding: 0; border: 0; border-radius: 999px; cursor: pointer;
  background: radial-gradient(circle at 12px 12px, #ffffff 0 9px, transparent 10px) #cfd8d6; transition: background-color 0.15s ease;
}
.internal-app .ed-sec input[role="switch"]:checked { background: radial-gradient(circle at 28px 12px, #ffffff 0 9px, transparent 10px) var(--cc-teal); }
.internal-app .ed-sec input[role="switch"]:disabled { opacity: 0.55; cursor: not-allowed; }
.internal-app .ed-sec input[role="switch"]:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .ed-foot { flex: none; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--cc-line); background: #ffffff; }
.internal-app .ed-foot-msg { min-width: 0; font-size: 13px; font-weight: 600; }
.internal-app .ed-dirty { display: inline-flex; align-items: center; gap: 8px; color: #8a5a00; }
.internal-app .ed-dirty::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #d9822b; }
.internal-app .ed-msg.is-ok { color: #1d6b3e; }
.internal-app .ed-msg.is-error { color: #a33222; }
.internal-app .ed-foot-actions { display: flex; gap: 8px; flex: none; }
.internal-app .ed-foot-actions button { height: 44px; min-height: 0 !important; padding: 0 18px !important; border-radius: 10px !important; font-size: 14px !important; font-weight: 700 !important; }
.internal-app .ed-foot-actions button.primary { background: var(--cc-teal) !important; border-color: var(--cc-teal) !important; color: #ffffff !important; }
@container edb (max-width: 760px) {
  .internal-app .ed-details { grid-template-columns: minmax(0, 1fr); }
  .internal-app .ed-nav { z-index: 2; padding: 10px 12px; flex-direction: row; gap: 6px; overflow-x: auto; background: #f6f7f6; border-bottom: 1px solid var(--cc-line); scrollbar-width: none; }
  .internal-app .ed-nav-item { flex: none; min-height: 32px !important; padding: 4px 10px !important; border: 1px solid #dce4e2 !important; border-radius: 999px !important; background: #ffffff !important; white-space: nowrap; }
  .internal-app .ed-nav-mark { display: none; }
  .internal-app .ed-sections { padding: 12px; }
  .internal-app .ed-sec { scroll-margin-top: 64px; }
  .internal-app .ed-sec { padding: 16px; }
  .internal-app .ed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-app .ed-span2 { grid-column: 1 / -1; }
}
/* Branch slots inside the window */
.internal-app .campaign-edit-modal .embedded-capacity-editor { margin-top: 0; padding-top: 0; border-top: 0; }
.internal-app .campaign-edit-modal .ed-body > * { max-width: 100%; }
.internal-app .campaign-edit-modal .ed-body :is(table, .capacity-table) { width: 100%; }
@media (max-width: 700px) {
  .internal-app .modal.campaign-edit-modal { width: 100vw !important; height: 100dvh; border-radius: 0 !important; }
  .internal-app .modal-backdrop:has(> .campaign-edit-modal) { padding: 0 !important; align-items: stretch !important; }
  .internal-app .ed-head { padding: 14px 16px 8px; }
  .internal-app .ed-title h2 { font-size: 20px !important; }
  .internal-app .ed-tabs { padding: 0 8px; }
  .internal-app .ed-tabs button { padding: 0 10px !important; }
  .internal-app .ed-body { padding: 16px; }
  .internal-app .ed-foot { padding: 12px 16px 16px; flex-direction: column; align-items: stretch; }
  .internal-app .ed-foot-actions button { flex: 1 1 0; height: 48px; }
}
@media (prefers-reduced-motion: reduce) { .internal-app .ed-sec input[role="switch"] { transition: none; } }


/* ================================================================
   V3.1: Clients, Payment history and Reports
   ================================================================ */

/* ===== Clients: list ===== */
.internal-app .cl-toolbar .reg-search input { width: 320px; }
.internal-app .cl-table { container: clt / inline-size; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app :is(.cl-thead, .cl-row) {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.5fr) minmax(0, 0.8fr) 120px 200px; align-items: center; gap: 10px 16px;
}
.internal-app .cl-thead { padding: 11px 18px; border-radius: 14px 14px 0 0; background: #f8faf9; font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.internal-app .cl-right { text-align: right; }
.internal-app .cl-row { padding: 14px 18px; border-top: 1px solid #eef2f1; }
.internal-app .cl-row > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.internal-app .cl-name { font-size: 15px; font-weight: 700; color: var(--cc-ink); overflow-wrap: anywhere; }
.internal-app .cl-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 12px; line-height: 1.45; color: var(--cc-muted); overflow-wrap: anywhere; }
.internal-app .cl-missing { color: #8a5a00; }
.internal-app .cl-aff {
  padding: 1px 8px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; background: #efeafb; color: #4b2f8f; font-size: 12px; font-weight: 700;
}
.internal-app .cl-aff::before { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M11%2021.73a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73z%22%2F%3E%3Cpath%20d%3D%22M12%2022V12%22%2F%3E%3Cpath%20d%3D%22m3.3%207%207.70%204.4a2%202%200%200%200%202%200L20.7%207%22%2F%3E%3Cpath%20d%3D%22m7.5%204.27%209%205.15%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M11%2021.73a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73z%22%2F%3E%3Cpath%20d%3D%22M12%2022V12%22%2F%3E%3Cpath%20d%3D%22m3.3%207%207.70%204.4a2%202%200%200%200%202%200L20.7%207%22%2F%3E%3Cpath%20d%3D%22m7.5%204.27%209%205.15%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .cl-br-count { font-size: 14px; color: var(--cc-ink); }
.internal-app .cl-br-count b { font-weight: 700; }
.internal-app .cl-br-extra { font-size: 13px; color: #8a5a00; }
.internal-app .cl-br-extra.is-archived { color: var(--cc-muted); }
.internal-app .cl-c-pay b { font-size: 14px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .cl-c-status { align-items: flex-start; }
.internal-app .cl-status { padding: 3px 9px; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.internal-app .cl-status::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: currentColor; }
.internal-app .cl-status-active { background: #e9f5ee; color: #1d6b3e; }
.internal-app .cl-status-inactive { background: #fff4e0; color: #8a5a00; }
.internal-app .cl-status-archived { background: #eef1f2; color: #4a5a62; }
.internal-app .cl-row > .cl-c-actions { flex-direction: row; justify-content: flex-end; align-items: center; gap: 6px; }
.internal-app .cl-btn {
  position: relative; height: 36px; min-height: 0 !important; margin: 0; padding: 0 12px !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  border: 1px solid #dce4e2 !important; border-radius: 9px !important; background: #ffffff !important; box-shadow: none !important; color: var(--cc-ink) !important;
  font-size: 13px !important; font-weight: 700 !important; white-space: nowrap; cursor: pointer;
}
.internal-app .cl-btn:hover { border-color: var(--cc-teal) !important; color: var(--cc-teal-dark) !important; }
.internal-app .cl-btn:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .cl-btn::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: var(--cl-icon) center / contain no-repeat; mask: var(--cl-icon) center / contain no-repeat; }
.internal-app .cl-edit { --cl-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cl-more-button { --cl-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E"); width: 36px; padding: 0 !important; }
.internal-app .cl-more-button[aria-expanded="true"] { border-color: var(--cc-teal) !important; background: #f3f6f5 !important; }
.internal-app .cl-menu { min-width: 210px; }
.internal-app .cl-menu .cl-menu-activate { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m10%208%206%204-6%204z%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cl-menu .cl-menu-pause { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M10%2015V9M14%2015V9%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cl-menu .cl-menu-archive { --cc-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2220%22%20height%3D%225%22%20x%3D%222%22%20y%3D%223%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M4%208v11a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8M10%2012h4%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .cl-empty { margin: 0; padding: 28px 18px; border-top: 1px solid #eef2f1; color: var(--cc-muted); font-size: 14px; text-align: center; }
@container clt (max-width: 900px) {
  .internal-app .cl-thead { display: none; }
  .internal-app .cl-table { border: 0; background: transparent; }
  .internal-app .cl-row {
    margin: 0 0 12px; padding: 16px; grid-template-columns: minmax(0, 1fr) auto; column-gap: 0; row-gap: 10px;
    grid-template-areas: "client status" "branches pay" "actions actions";
    border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff;
  }
  .internal-app .cl-c-client { grid-area: client; }
  .internal-app .cl-c-status { grid-area: status; padding-left: 10px; }
  .internal-app .cl-c-branches { grid-area: branches; align-self: stretch; padding: 10px 12px; border-radius: 10px 0 0 10px; background: var(--cc-soft); }
  .internal-app .cl-c-pay { grid-area: pay; align-self: stretch; justify-content: center; align-items: flex-end; padding: 10px 12px; border-radius: 0 10px 10px 0; background: var(--cc-soft); text-align: right; }
  .internal-app .cl-row > .cl-c-actions { grid-area: actions; margin-top: 2px; }
  .internal-app .cl-row > .cl-c-actions .cl-edit { flex: 1 1 auto; height: 44px; font-size: 14px !important; }
  .internal-app .cl-row > .cl-c-actions .cl-more-button { width: 44px; height: 44px; }
  .internal-app .cl-empty { border: 1px dashed var(--cc-line-strong); border-radius: 12px; }
}

/* ===== Clients: windows (same shell as the Edit campaign window) ===== */
.internal-app .modal.cl-modal {
  width: min(1040px, calc(100vw - 48px)) !important; max-width: none !important; height: min(880px, calc(100vh - 48px)); max-height: none !important;
  padding: 0 !important; display: flex; flex-direction: column; overflow: hidden !important; border-radius: 18px;
}
.internal-app .cl-body { padding: 0 !important; background: #f6f7f6; }
.internal-app .cl-sections { padding: 16px 24px 24px; display: flex; flex-direction: column; gap: 16px; }
.internal-app .cl-sections[hidden] { display: none !important; }
.internal-app .cl-sec { gap: 16px; }
.internal-app .cl-sec .ed-sec-head { justify-content: space-between; }
.internal-app .cl-sec .ed-sec-head h3 .ed-count { font-size: 12px; font-weight: 700; }
.internal-app .cl-details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.internal-app .cl-affix {
  display: flex; align-items: stretch; height: 40px; box-sizing: border-box; overflow: hidden;
  border: 1px solid var(--cc-line-strong); border-radius: 10px; background: #ffffff;
}
.internal-app .cl-affix:focus-within { border-color: var(--cc-teal); box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15); }
.internal-app .cl-affix > span { flex: none; padding: 0 12px; display: grid; place-items: center; background: var(--cc-soft); color: var(--cc-muted); font-size: 13px; font-weight: 600; }
.internal-app .cl-affix > span:first-child { border-right: 1px solid var(--cc-line); }
.internal-app .cl-affix > span:last-child { border-left: 1px solid var(--cc-line); }
.internal-app .cl-affix > input {
  flex: 1 1 auto; min-width: 0; width: auto !important; height: 100% !important; min-height: 0 !important; margin: 0; padding: 0 12px !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none; font-size: 14px !important;
}
.internal-app .cl-modal .ed-f input:invalid:not(:placeholder-shown):not(:focus) { border-color: #d98a7e !important; }
.internal-app .cl-modal .cl-branches { margin: 0; }
.internal-app .cl-add {
  align-self: flex-start; flex: none; height: 38px; min-height: 0 !important; min-width: 0 !important; width: auto !important; margin: 0 !important; padding: 0 14px !important;
  display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dce4e2 !important; border-radius: 10px !important; background: #ffffff !important; box-shadow: none !important;
  color: var(--cc-ink) !important; font-size: 14px !important; font-weight: 700 !important; white-space: nowrap; cursor: pointer;
}
.internal-app .cl-add::before { content: ""; width: 15px; height: 15px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205v14%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .cl-add:hover { border-color: var(--cc-teal) !important; color: var(--cc-teal-dark) !important; }
.internal-app .cl-none { margin: 0; padding: 18px; border: 1px dashed var(--cc-line-strong); border-radius: 12px; color: var(--cc-muted); font-size: 14px; text-align: center; }
.internal-app .cl-other { border: 1px solid var(--cc-line); border-radius: 12px; background: var(--cc-soft); }
.internal-app .cl-other > summary { padding: 12px 16px; font-size: 14px; font-weight: 700; color: var(--cc-ink); cursor: pointer; }
.internal-app .cl-other[open] > summary { border-bottom: 1px solid var(--cc-line); }
.internal-app .cl-other > .cl-branches { padding: 12px; }
.internal-app .cl-req { display: inline-flex; align-items: center; gap: 8px; color: var(--cc-muted); }
.internal-app .cl-req::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: #9aa8ae; }
.internal-app .cl-modal .ed-foot-msg .ed-msg { display: block; max-width: 560px; }

/* Affiliate catalogue inside the windows */
.internal-app .cl-aff-sec .client-affiliate-catalogue { padding: 0; gap: 16px; border: 0; border-radius: 0; background: transparent; }
.internal-app .cl-aff-sec .client-catalogue-manager { margin: 0; gap: 14px; }
.internal-app .cl-aff-sec .client-affiliate-toggle {
  position: relative; width: auto !important; margin: 0; padding: 14px 76px 14px 16px !important; display: flex !important; flex-direction: row !important; align-items: center; gap: 12px !important;
  border: 1px solid var(--cc-line); border-radius: 12px; background: #ffffff; cursor: pointer;
}
.internal-app .cl-aff-sec .client-affiliate-toggle::before {
  content: ""; width: 36px; height: 36px; flex: none; border-radius: 10px; background: #efeafb url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%234b2f8f%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M11%2021.73a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73z%22%2F%3E%3Cpath%20d%3D%22M12%2022V12%22%2F%3E%3Cpath%20d%3D%22m3.3%207%207.70%204.4a2%202%200%200%200%202%200L20.7%207%22%2F%3E%3Cpath%20d%3D%22m7.5%204.27%209%205.15%22%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat;
}
.internal-app .cl-aff-sec .client-affiliate-toggle span { gap: 2px; }
.internal-app .cl-aff-sec .client-affiliate-toggle b { font-size: 14px; color: var(--cc-ink); }
.internal-app .cl-aff-sec .client-affiliate-toggle small { font-size: 13px; color: var(--cc-muted); }
.internal-app .cl-aff-sec .client-affiliate-toggle input[type="checkbox"] {
  position: absolute; right: 16px; top: 50%; width: 44px !important; height: 26px !important; min-height: 0 !important; margin: -13px 0 0 !important; padding: 0 !important;
  appearance: none; -webkit-appearance: none; border: 0 !important; border-radius: 999px !important;
  background: radial-gradient(circle at 13px 13px, #ffffff 0 9px, transparent 10px) #c3cfcc; cursor: pointer; transition: background-position 0.15s;
}
.internal-app .cl-aff-sec .client-affiliate-toggle input[type="checkbox"]:checked { background: radial-gradient(circle at 31px 13px, #ffffff 0 9px, transparent 10px) var(--cc-teal); }
.internal-app .cl-aff-sec .client-affiliate-toggle input[type="checkbox"]:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .cl-aff-sec .client-catalogue-heading { align-items: flex-start; }
.internal-app .cl-aff-sec .client-catalogue-heading h3 { margin: 0 0 3px; font-family: Manrope, 'DM Sans', sans-serif; font-size: 16px; font-weight: 800; color: var(--cc-ink); }
.internal-app .cl-aff-sec .client-catalogue-heading p { font-size: 13px; color: var(--cc-muted); }
.internal-app .cl-aff-sec .client-catalogue-heading > button {
  flex: none; height: 38px; min-height: 0 !important; min-width: 0 !important; width: auto !important; margin: 0 !important; padding: 0 14px !important;
  border: 1px solid #dce4e2 !important; border-radius: 10px !important; background: #ffffff !important; color: var(--cc-ink) !important; font-size: 14px !important; font-weight: 700 !important;
}
.internal-app .cl-aff-sec .client-catalogue-products { gap: 0; overflow: hidden; border: 1px solid var(--cc-line); border-radius: 12px; }
.internal-app .cl-aff-sec .client-catalogue-product {
  padding: 12px 14px; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) 150px auto; gap: 12px; align-items: end;
  border: 0; border-top: 1px solid #eef2f1; border-radius: 0; background: #ffffff;
}
.internal-app .cl-aff-sec .client-catalogue-product:first-child { border-top: 0; }
.internal-app .cl-aff-sec .client-catalogue-product label { width: auto !important; gap: 6px !important; font-size: 13px !important; font-weight: 600 !important; color: var(--cc-ink); }
.internal-app .cl-aff-sec .client-catalogue-product :is(input, select) {
  box-sizing: border-box; height: 40px !important; min-height: 0 !important; margin: 0; padding: 0 12px !important;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 10px !important; box-shadow: none !important; font-size: 14px !important; font-weight: 400 !important;
}
.internal-app .cl-aff-sec .client-catalogue-product .danger-link {
  height: 40px; min-height: 0 !important; margin: 0; padding: 0 12px !important; display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid #ecc9c2 !important; border-radius: 10px !important; background: #ffffff !important; color: #a61b1b !important; font-size: 13px !important; font-weight: 700 !important;
}
.internal-app .cl-aff-sec .client-catalogue-manager > .primary {
  justify-self: end; width: auto !important; height: 44px; min-height: 0 !important; margin: 0 !important; padding: 0 18px !important;
  border: 0 !important; border-radius: 10px !important; background: var(--cc-teal) !important; color: #ffffff !important; font-size: 14px !important; font-weight: 700 !important;
}
.internal-app .cl-aff-sec .registration-empty { padding: 16px; color: var(--cc-muted); font-size: 14px; }
.internal-app .cl-aff-note { margin: -4px 2px 0; display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--cc-muted); }
.internal-app .cl-aff-note::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }

@container edb (max-width: 760px) {
  .internal-app .cl-sections { padding: 12px; }
  .internal-app .cl-details-grid { grid-template-columns: minmax(0, 1fr); }
  .internal-app .cl-sec .ed-sec-head { flex-wrap: wrap; }
  .internal-app .cl-aff-sec .client-catalogue-product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .internal-app .cl-aff-sec .client-catalogue-heading { display: flex; flex-direction: column; }
}
@media (max-width: 700px) {
  .internal-app .modal.cl-modal { width: 100vw !important; height: 100dvh; border-radius: 0 !important; }
  .internal-app .modal-backdrop:has(> .cl-modal) { padding: 0 !important; align-items: stretch !important; }
  .internal-app .cl-modal .ed-foot-actions button { flex: 1 1 0; height: 48px; }
  .internal-app .cl-aff-sec .client-catalogue-manager > .primary { justify-self: stretch; width: 100% !important; }
  .internal-app .cl-aff-sec .client-catalogue-product { grid-template-columns: minmax(0, 1fr); }
}

/* ===== Clients: delete window ===== */
.internal-app .modal.cl-delete {
  width: min(560px, calc(100vw - 32px)) !important; max-width: none !important; padding: 24px !important; display: flex; flex-direction: column; gap: 16px; border-radius: 18px;
}
.internal-app .cl-del-head { display: flex; align-items: flex-start; gap: 14px; }
.internal-app .cl-del-head > div { flex: 1 1 auto; min-width: 0; }
.internal-app .cl-del-head h2 { margin: 0 0 4px !important; font-family: Manrope, 'DM Sans', sans-serif; font-size: 22px !important; line-height: 1.25; font-weight: 800; color: var(--cc-ink); }
.internal-app .cl-del-head p { margin: 0; font-size: 14px; color: var(--cc-muted); }
.internal-app .cl-del-icon { width: 44px; height: 44px; flex: none; border-radius: 12px; background: #fde9e5; position: relative; }
.internal-app .cl-del-icon::before { content: ""; position: absolute; inset: 12px; background: #a61b1b; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .cl-del-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.internal-app .cl-del-grid > div { padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; border: 1px solid #f3cfc8; border-radius: 10px; background: #fff7f5; }
.internal-app .cl-del-grid b { font-size: 20px; font-weight: 800; color: #8f2617; font-variant-numeric: tabular-nums; }
.internal-app .cl-del-grid span { font-size: 12px; color: #6d3a31; }
.internal-app .cl-del-warn { padding: 12px 14px; border-radius: 10px; background: #fff4e0; color: #6b4600; font-size: 13px; line-height: 1.5; }
.internal-app .cl-del-warn b { color: #8a3a00; }
.internal-app .cl-delete .ed-f { gap: 6px !important; }
.internal-app .cl-delete .ed-l { display: block !important; }
.internal-app .cl-delete .ed-f > input { height: 42px !important; }
.internal-app .cl-del-actions { display: flex; justify-content: flex-end; gap: 8px; }
.internal-app .cl-del-actions button {
  width: auto !important; min-width: 0 !important; height: 44px; min-height: 0 !important; margin: 0 !important; padding: 0 18px !important;
  border-radius: 10px !important; font-size: 14px !important; font-weight: 700 !important;
}
.internal-app .cl-del-actions .danger-button { display: inline-flex; align-items: center; gap: 8px; }
.internal-app .cl-del-actions .danger-button:disabled { opacity: 0.45; cursor: not-allowed; }
@media (max-width: 700px) {
  .internal-app .cl-del-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-app .cl-del-actions { flex-direction: column-reverse; }
  .internal-app .cl-del-actions button { width: 100% !important; height: 48px; }
}

/* ===== Payment history ===== */
.internal-app .page-title .ph-export::before { -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%22%2F%3E%3Cpath%20d%3D%22m7%2010%205%205%205-5%22%2F%3E%3Cpath%20d%3D%22M12%2015V3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%22%2F%3E%3Cpath%20d%3D%22m7%2010%205%205%205-5%22%2F%3E%3Cpath%20d%3D%22M12%2015V3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .page-title .ph-export:disabled { opacity: 0.5; cursor: not-allowed; }
.internal-app .ph-toolbar .reg-search input { width: 220px; }
.internal-app .ph-toolbar .reg-sort { width: 200px; }
.internal-app .ph-toolbar-right { align-items: center; }
.internal-app .ph-month { height: 40px; box-sizing: border-box; display: inline-flex; align-items: stretch; overflow: hidden; border: 1px solid var(--cc-line-strong); border-radius: 10px; background: #ffffff; }
.internal-app .ph-month:focus-within { border-color: var(--cc-teal); box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15); }
.internal-app .ph-month input[type="month"] {
  width: 178px !important; height: 100% !important; min-height: 0 !important; margin: 0; padding: 0 8px !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none;
  color: var(--cc-ink); font-size: 14px !important; font-weight: 700 !important; text-align: center;
}
.internal-app .ph-step {
  width: 40px; min-height: 0 !important; flex: none; margin: 0; padding: 0 !important; display: grid; place-items: center;
  border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: #33454e !important; cursor: pointer;
}
.internal-app .ph-step:hover { background: var(--cc-soft) !important; }
.internal-app .ph-step::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ph-icon) center / contain no-repeat; mask: var(--ph-icon) center / contain no-repeat; }
.internal-app .ph-prev { --ph-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m15%2018-6-6%206-6%22%2F%3E%3C%2Fsvg%3E"); border-right: 1px solid var(--cc-line) !important; }
.internal-app .ph-next { --ph-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%2F%3E%3C%2Fsvg%3E"); border-left: 1px solid var(--cc-line) !important; }
.internal-app .ph-step:focus-visible { outline: 3px solid #f28f4b; outline-offset: -3px; }
.internal-app .ph-note { margin: 0 0 14px; padding: 10px 14px; display: flex; align-items: center; gap: 10px; border-radius: 10px; background: #eef4f8; color: #1f4e6b; font-size: 13px; }
.internal-app .ph-note::before { content: ""; width: 16px; height: 16px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.73%205.08A10.43%2010.43%200%200%201%2012%205c7%200%2010%207%2010%207a13.16%2013.16%200%200%201-1.67%202.68%22%2F%3E%3Cpath%20d%3D%22M6.61%206.61A13.53%2013.53%200%200%200%202%2012s3%207%2010%207a9.74%209.74%200%200%200%205.39-1.61%22%2F%3E%3Cpath%20d%3D%22M14.12%2014.12a3%203%200%201%201-4.24-4.24%22%2F%3E%3Cpath%20d%3D%22m2%202%2020%2020%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.73%205.08A10.43%2010.43%200%200%201%2012%205c7%200%2010%207%2010%207a13.16%2013.16%200%200%201-1.67%202.68%22%2F%3E%3Cpath%20d%3D%22M6.61%206.61A13.53%2013.53%200%200%200%202%2012s3%207%2010%207a9.74%209.74%200%200%200%205.39-1.61%22%2F%3E%3Cpath%20d%3D%22M14.12%2014.12a3%203%200%201%201-4.24-4.24%22%2F%3E%3Cpath%20d%3D%22m2%202%2020%2020%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .ph-table { container: pht / inline-size; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app :is(.ph-thead, .ph-row) { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1.1fr) 200px; align-items: center; gap: 10px 16px; }
.internal-app .ph-table.is-paid :is(.ph-thead, .ph-row) { grid-template-columns: 170px minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1.1fr) 200px; }
.internal-app .ph-thead { padding: 11px 18px; border-radius: 14px 14px 0 0; background: #f8faf9; font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.internal-app .ph-right { text-align: right; }
.internal-app .ph-row { padding: 12px 18px; border-top: 1px solid #eef2f1; }
.internal-app .ph-row > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.internal-app .ph-row small { font-size: 12px; line-height: 1.45; color: var(--cc-muted); overflow-wrap: anywhere; }
.internal-app .ph-name { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.internal-app .ph-name b { font-size: 14px; color: var(--cc-ink); overflow-wrap: anywhere; }
.internal-app .ph-imported { padding: 1px 7px !important; border-radius: 999px; background: #eef2f1 !important; color: #33454e !important; font-size: 11px !important; font-weight: 700; text-transform: none !important; letter-spacing: 0 !important; }
.internal-app .ph-ic { font-variant-numeric: tabular-nums; }
.internal-app .ph-c-camp b { font-size: 14px; font-weight: 600; color: var(--cc-ink); }
.internal-app .ph-c-bank b { font-size: 14px; color: var(--cc-ink); font-variant-numeric: tabular-nums; letter-spacing: 0.02em; overflow-wrap: anywhere; }
.internal-app .ph-locked { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--cc-muted); }
.internal-app .ph-locked::before { content: ""; width: 14px; height: 14px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.73%205.08A10.43%2010.43%200%200%201%2012%205c7%200%2010%207%2010%207a13.16%2013.16%200%200%201-1.67%202.68%22%2F%3E%3Cpath%20d%3D%22M6.61%206.61A13.53%2013.53%200%200%200%202%2012s3%207%2010%207a9.74%209.74%200%200%200%205.39-1.61%22%2F%3E%3Cpath%20d%3D%22M14.12%2014.12a3%203%200%201%201-4.24-4.24%22%2F%3E%3Cpath%20d%3D%22m2%202%2020%2020%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.73%205.08A10.43%2010.43%200%200%201%2012%205c7%200%2010%207%2010%207a13.16%2013.16%200%200%201-1.67%202.68%22%2F%3E%3Cpath%20d%3D%22M6.61%206.61A13.53%2013.53%200%200%200%202%2012s3%207%2010%207a9.74%209.74%200%200%200%205.39-1.61%22%2F%3E%3Cpath%20d%3D%22M14.12%2014.12a3%203%200%201%201-4.24-4.24%22%2F%3E%3Cpath%20d%3D%22m2%202%2020%2020%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .ph-row > .ph-c-pay { align-items: flex-end; text-align: right; }
.internal-app .ph-c-pay b { font-size: 15px; color: var(--cc-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.internal-app .ph-date { display: flex; align-items: center; gap: 8px; }
.internal-app .ph-date-text { font-size: 14px; font-weight: 600; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.internal-app .ph-icon-btn {
  width: 30px; height: 30px; min-height: 0 !important; flex: none; margin: 0; padding: 0 !important; display: grid; place-items: center;
  border: 1px solid #dce4e2 !important; border-radius: 8px !important; background: #ffffff !important; box-shadow: none !important; color: var(--cc-ink) !important; cursor: pointer;
}
.internal-app .ph-icon-btn::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .ph-icon-btn:hover { border-color: var(--cc-teal) !important; color: var(--cc-teal-dark) !important; }
.internal-app .ph-icon-btn:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .ph-date-edit { display: flex !important; flex-direction: column; align-items: stretch; gap: 6px; }
.internal-app .ph-date-edit input {
  box-sizing: border-box; width: 100% !important; height: 36px !important; min-height: 0 !important; margin: 0; padding: 0 10px !important;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 9px !important; font-size: 13px !important;
}
.internal-app .ph-date-actions { display: flex; gap: 6px; }
.internal-app .ph-date-actions button {
  flex: 1 1 0; width: auto !important; min-width: 0 !important; height: 32px; min-height: 0 !important; margin: 0 !important; padding: 0 10px !important;
  border-radius: 8px !important; font-size: 13px !important; font-weight: 700 !important;
}
.internal-app .ph-date-actions .primary { border: 0 !important; background: var(--cc-teal) !important; color: #ffffff !important; }
.internal-app .ph-date-actions .secondary { border: 1px solid #dce4e2 !important; background: #ffffff !important; color: var(--cc-ink) !important; }
.internal-app .ph-empty { margin: 0; padding: 28px 18px; border-top: 1px solid #eef2f1; color: var(--cc-muted); font-size: 14px; text-align: center; }
.internal-app .ph-foot {
  padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px;
  border-top: 1px solid var(--cc-line); border-radius: 0 0 14px 14px; background: #f8faf9; font-size: 13px; color: #33454e;
}
.internal-app .ph-foot b { font-size: 16px; color: var(--cc-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
@container pht (max-width: 860px) {
  .internal-app .ph-thead { display: none; }
  .internal-app .ph-table { border: 0; background: transparent; }
  .internal-app .ph-row, .internal-app .ph-table.is-paid .ph-row {
    margin: 0 0 12px; padding: 14px; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px;
    grid-template-areas: "koc pay" "camp camp" "bank bank" "date date";
    border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff;
  }
  .internal-app .ph-c-koc { grid-area: koc; }
  .internal-app .ph-c-koc .ph-name b { font-size: 16px; }
  .internal-app .ph-c-pay { grid-area: pay; }
  .internal-app .ph-c-pay b { font-size: 16px; }
  .internal-app .ph-c-camp { grid-area: camp; }
  .internal-app .ph-c-bank { grid-area: bank; padding: 10px 12px; border-radius: 10px; background: var(--cc-soft); }
  .internal-app .ph-c-date { grid-area: date; }
  .internal-app .ph-c-date .ph-date::before { content: "Paid on"; font-size: 13px; color: var(--cc-muted); }
  .internal-app .ph-c-date .ph-date { gap: 6px; }
  .internal-app .ph-c-date .ph-icon-btn { width: 40px; height: 40px; margin-left: auto; }
  .internal-app .ph-date-actions button { height: 40px; }
  .internal-app .ph-empty { border: 1px dashed var(--cc-line-strong); border-radius: 12px; }
  .internal-app .ph-foot { margin: 4px 0 0; border: 1px solid var(--cc-line); border-radius: 12px; }
}
@media (max-width: 700px) {
  .internal-app .ph-month { width: 100%; }
  .internal-app .ph-month input[type="month"] { flex: 1 1 auto; width: auto !important; }
  .internal-app .ph-toolbar .reg-search input, .internal-app .ph-toolbar .reg-sort { width: 100%; }
}

/* ===== Reports ===== */
.internal-app .rp-controls {
  margin: 0 0 20px; padding: 16px 18px; display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 20px;
  border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff;
}
.internal-app .rp-field { width: auto !important; margin: 0; display: flex !important; flex-direction: column !important; gap: 6px !important; font-size: 13px !important; font-weight: 600 !important; color: var(--cc-ink); }
.internal-app .rp-client { width: 260px !important; }
.internal-app .rp-client select {
  box-sizing: border-box; width: 100%; height: 40px !important; min-height: 0 !important; margin: 0; padding: 0 12px !important;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 10px !important; box-shadow: none !important; font-size: 14px !important; font-weight: 400 !important;
}
.internal-app .rp-seg { padding: 3px; display: inline-flex; gap: 2px; border-radius: 10px; background: #eef2f1; }
.internal-app .rp-seg button {
  height: 34px; min-height: 0 !important; margin: 0; padding: 0 14px !important; display: inline-flex; align-items: center; gap: 8px;
  border: 0 !important; border-radius: 8px !important; background: transparent !important; box-shadow: none !important; color: #33454e !important;
  font-size: 14px !important; font-weight: 600 !important; white-space: nowrap; cursor: pointer;
}
.internal-app .rp-seg button::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: var(--rp-icon) center / contain no-repeat; mask: var(--rp-icon) center / contain no-repeat; }
.internal-app .rp-seg .rp-seg-chart { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203v18h18%22%2F%3E%3Cpath%20d%3D%22M18%2017V9M13%2017V5M8%2017v-3%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-seg .rp-seg-users { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-seg button.is-on { background: #ffffff !important; box-shadow: 0 1px 2px rgba(21, 56, 74, 0.12) !important; color: var(--cc-ink) !important; font-weight: 700 !important; }
.internal-app .rp-seg button:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .rp-switch { width: auto !important; margin: 0 0 2px; display: flex !important; flex-direction: row !important; align-items: center; gap: 10px !important; cursor: pointer; }
.internal-app .rp-switch input[role="switch"] {
  width: 44px !important; height: 26px !important; min-height: 0 !important; flex: none; margin: 0 !important; padding: 0 !important;
  appearance: none; -webkit-appearance: none; border: 0 !important; border-radius: 999px !important;
  background: radial-gradient(circle at 13px 13px, #ffffff 0 9px, transparent 10px) #c3cfcc; cursor: pointer;
}
.internal-app .rp-switch input[role="switch"]:checked { background: radial-gradient(circle at 31px 13px, #ffffff 0 9px, transparent 10px) var(--cc-teal); }
.internal-app .rp-switch input[role="switch"]:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .rp-switch > span { display: flex; flex-direction: column; }
.internal-app .rp-switch b { font-size: 14px; color: var(--cc-ink); }
.internal-app .rp-switch small { font-size: 12px; font-weight: 400; color: var(--cc-muted); }
.internal-app .rp-export {
  margin: 0 0 0 auto !important; width: auto !important; min-width: 0 !important; height: 40px; min-height: 0 !important; padding: 0 16px !important;
  display: inline-flex; align-items: center; gap: 8px; border: 0 !important; border-radius: 10px !important; background: var(--cc-teal) !important; color: #ffffff !important;
  font-size: 14px !important; font-weight: 700 !important; white-space: nowrap;
}
.internal-app .rp-export::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%22%2F%3E%3Cpath%20d%3D%22m7%2010%205%205%205-5%22%2F%3E%3Cpath%20d%3D%22M12%2015V3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%22%2F%3E%3Cpath%20d%3D%22m7%2010%205%205%205-5%22%2F%3E%3Cpath%20d%3D%22M12%2015V3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-export:disabled { opacity: 0.5; cursor: not-allowed; }
.internal-app .rp-section { margin: 0 0 24px; display: flex; flex-direction: column; gap: 10px; }
.internal-app .rp-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.internal-app .rp-head h2 { margin: 0 0 2px; font-family: Manrope, 'DM Sans', sans-serif; font-size: 20px; line-height: 1.25; font-weight: 800; color: var(--cc-ink); }
.internal-app .rp-head p { margin: 0; font-size: 13px; color: var(--cc-muted); }
.internal-app .rp-selected { font-size: 13px; color: var(--cc-teal-dark); white-space: nowrap; }
.internal-app .rp-camps { display: flex; flex-wrap: wrap; gap: 10px; }
.internal-app .rp-camp {
  width: auto !important; min-width: 220px; margin: 0; padding: 10px 14px !important; display: flex !important; flex-direction: row !important; align-items: center; gap: 10px !important;
  border: 1px solid var(--cc-line-strong); border-radius: 12px; background: #ffffff; cursor: pointer; font-weight: 400 !important;
}
.internal-app .rp-camp.is-on { border: 1.5px solid var(--cc-teal); background: #f1f8f6; }
.internal-app .rp-camp input[type="checkbox"] { width: 18px !important; height: 18px !important; min-height: 0 !important; flex: none; margin: 0; padding: 0 !important; accent-color: var(--cc-teal); }
.internal-app .rp-camp > span { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.internal-app .rp-camp b { font-size: 14px; color: var(--cc-ink); }
.internal-app .rp-camp small { font-size: 12px; color: var(--cc-muted); }
.internal-app .rp-card { border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.internal-app .rp-scroll { overflow-x: auto; }
.internal-app .rp-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.internal-app .rp-table th, .internal-app .rp-table td { padding: 11px 18px; border: 0; border-top: 1px solid #f1f4f3; text-align: left; vertical-align: middle; color: #173042; }
.internal-app .rp-table thead th { border-top: 0; background: #f8faf9; font-size: 12px; font-weight: 700; color: var(--cc-ink); white-space: nowrap; text-transform: none; letter-spacing: 0; }
.internal-app .rp-table thead th:first-child { color: var(--cc-muted); font-weight: 600; }
.internal-app .rp-compare tbody th { font-weight: 400; color: #33454e; white-space: nowrap; }
.internal-app .rp-compare td { font-variant-numeric: tabular-nums; }
.internal-app .rp-compare .rp-group th { padding: 12px 18px 6px; border-top: 1px solid var(--cc-line); font-size: 12px; font-weight: 700; color: var(--cc-muted); background: #ffffff; }
.internal-app .rp-compare tbody tr:first-child th { border-top: 0; }
.internal-app .rp-compare .rp-hl :is(th, td) { background: #f1f8f6; }
.internal-app .rp-compare .rp-hl td b { color: var(--cc-teal-dark); font-size: 15px; }
.internal-app .rp-fulfil { display: inline-flex; align-items: center; gap: 10px; }
.internal-app .rp-fulfil b { min-width: 40px; }
.internal-app .rp-fulfil .fulfil-short { color: #8a5a00 !important; }
.internal-app .rp-bar { width: 140px; height: 6px; overflow: hidden; border-radius: 999px; background: #e3e8e6; }
.internal-app .rp-bar > span { display: block; height: 100%; border-radius: 999px; background: var(--cc-teal); }
.internal-app .rp-cover { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.internal-app .rp-missing { padding: 2px 8px; display: inline-flex; border-radius: 999px; background: #fff4e6; color: #8a4b00; font-size: 12px; font-weight: 700; white-space: nowrap; }
.internal-app .rp-note { margin: 0; font-size: 12px; line-height: 1.5; color: var(--cc-muted); }
.internal-app .rp-empty { margin: 0; padding: 24px 18px; color: var(--cc-muted); font-size: 14px; text-align: center; }
.internal-app .rp-branches { display: flex; flex-wrap: wrap; gap: 8px; }
.internal-app .rp-branch { padding: 7px 12px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--cc-line); border-radius: 10px; background: #ffffff; font-size: 13px; }
.internal-app .rp-branch b { color: var(--cc-ink); }
.internal-app .rp-branch span { color: #33454e; font-variant-numeric: tabular-nums; }
.internal-app .rp-branch.is-met { border-color: #b9dccf; background: #f1f8f6; }
.internal-app .rp-branch.is-met span { color: var(--cc-teal-dark); }
.internal-app .rp-branch.is-met::after { content: ""; width: 14px; height: 14px; background: var(--cc-teal); -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-plat { padding: 2px 8px; display: inline-flex; border-radius: 999px; background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 700; white-space: nowrap; }
.internal-app .rp-posts { container: rpp / inline-size; }
.internal-app :is(.rp-posts-head, .rp-post) { display: grid; grid-template-columns: minmax(110px, 1fr) 96px repeat(4, minmax(58px, 0.7fr)) 156px 262px; column-gap: 12px; }
.internal-app .rp-posts-head { padding: 11px 18px; border-radius: 14px 14px 0 0; background: #f8faf9; font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.internal-app .rp-post { padding: 12px 18px; row-gap: 10px; align-items: center; border-top: 1px solid #eef2f1; }
.internal-app .rp-post > div { min-width: 0; }
.internal-app .rp-p-koc { display: flex; flex-direction: column; gap: 4px; }
.internal-app .rp-p-koc b { font-size: 14px; color: var(--cc-ink); overflow-wrap: anywhere; }
.internal-app .rp-skip { align-self: flex-start; white-space: nowrap; padding: 2px 8px; border-radius: 999px; background: #fff4e6; color: #8a4b00; font-size: 11px; font-weight: 700; }
.internal-app .rp-p-num { font-size: 14px; color: #173042; font-variant-numeric: tabular-nums; }
.internal-app .rp-p-upd { display: flex; flex-direction: column; gap: 1px; font-size: 13px; color: #33454e; }
.internal-app .rp-p-upd small { font-size: 12px; color: var(--cc-muted); }
.internal-app .rp-p-actions { display: flex; justify-content: flex-end; gap: 6px; }
.internal-app .rp-post.is-multi > :is(.rp-p-koc, .rp-p-upd, .rp-p-actions) { align-self: start; }
.internal-app .rp-post.is-multi > :is(.rp-p-koc, .rp-p-upd) { padding-top: 8px; }
.internal-app .rp-btn {
  height: 36px; min-height: 0 !important; margin: 0; padding: 0 12px !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  border: 1px solid #dce4e2 !important; border-radius: 9px !important; background: #ffffff !important; box-shadow: none !important; color: var(--cc-ink) !important;
  font-size: 13px !important; font-weight: 700 !important; white-space: nowrap; cursor: pointer;
}
.internal-app .rp-btn:hover { border-color: var(--cc-teal) !important; color: var(--cc-teal-dark) !important; }
.internal-app .rp-btn:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .rp-btn::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: var(--rp-icon) center / contain no-repeat; mask: var(--rp-icon) center / contain no-repeat; }
.internal-app .rp-view { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.06%2012.35a1%201%200%200%201%200-.7%2010.75%2010.75%200%200%201%2019.88%200%201%201%200%200%201%200%20.7%2010.75%2010.75%200%200%201-19.88%200%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-edit { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.17%206.81a1%201%200%200%200-3.99-3.99L3.84%2016.17a2%202%200%200%200-.5.83l-1.32%204.35a.5.5%200%200%200%20.62.62l4.35-1.32a2%202%200%200%200%20.83-.5z%22%2F%3E%3Cpath%20d%3D%22m15%205%204%204%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-head-pill { align-self: center; }
.internal-app .rp-signups th, .internal-app .rp-signups td { vertical-align: top; }
.internal-app .rp-signups td { min-width: 120px; }
.internal-app .rp-signups td b, .internal-app .rp-signups .rp-s-camp { display: block; font-size: 14px; font-weight: 700; color: var(--cc-ink); }
.internal-app .rp-signups td small { display: block; font-size: 12px; line-height: 1.45; color: var(--cc-muted); }
.internal-app .rp-signups .rp-s-koc { min-width: 200px; }
.internal-app .rp-s-date { font-variant-numeric: tabular-nums; }
.internal-app .rp-pill { padding: 3px 9px; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.internal-app .rp-pill::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: currentColor; }
.internal-app .rp-pill.is-good { background: #e9f5ee; color: #1d6b3e; }
.internal-app .rp-pill.is-mid { background: #eef4f8; color: #1f4e6b; }
.internal-app .rp-pill.is-bad { background: #fde9e5; color: #a33222; }
.internal-app .rp-accounts { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.internal-app .rp-account { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.internal-app .rp-followers { color: #33454e; font-variant-numeric: tabular-nums; }
.internal-app .rp-link { width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: 6px; color: var(--cc-teal-dark); }
.internal-app .rp-link::before { content: ""; width: 13px; height: 13px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-link:hover { background: #eaf3f1; }
.internal-app .rp-link:focus-visible { outline: 3px solid #f28f4b; outline-offset: 1px; }

@container rpp (max-width: 900px) {
  .internal-app .rp-posts-head { display: none; }
  .internal-app .rp-post { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 10px; padding: 14px; }
  .internal-app .rp-post > div { grid-row: auto !important; }
  .internal-app .rp-p-koc { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
  .internal-app .rp-p-koc b { font-size: 16px; }
  .internal-app .rp-p-plat { grid-column: 1 / -1; margin-top: 4px; }
  .internal-app .rp-p-num::before { content: attr(data-label); display: block; font-size: 11px; color: var(--cc-muted); }
  .internal-app .rp-p-num { font-weight: 700; color: var(--cc-ink); }
  .internal-app .rp-p-upd { order: 2; grid-column: 1 / -1; flex-direction: row; gap: 8px; }
  .internal-app .rp-p-upd::before { content: "Updated"; color: var(--cc-muted); }
  .internal-app .rp-p-actions { order: 3; grid-column: 1 / -1; margin-top: 4px; }
  .internal-app .rp-p-actions .rp-btn { flex: 1 1 0; height: 44px; font-size: 14px !important; }
}
@media (max-width: 760px) {
  .internal-app .rp-controls { flex-direction: column; align-items: stretch; }
  .internal-app .rp-client { width: 100% !important; }
  .internal-app .rp-seg { display: flex; }
  .internal-app .rp-seg button { flex: 1 1 0; justify-content: center; padding: 0 8px !important; }
  .internal-app .rp-export { margin: 0 !important; width: 100% !important; height: 44px; justify-content: center; }
  .internal-app .rp-camps { flex-direction: column; }
  .internal-app .rp-camp { min-width: 0; }
  .internal-app .rp-table th, .internal-app .rp-table td { padding: 10px 12px; }
  .internal-app .rp-compare tbody th { white-space: normal; }
  .internal-app .rp-bar { width: 60px; }
  .internal-app .rp-card.rp-scroll:has(.rp-signups) { border: 0; background: transparent; overflow: visible; }
  .internal-app .rp-signups, .internal-app .rp-signups tbody { display: block; }
  .internal-app .rp-signups thead { display: none; }
  .internal-app .rp-signups tr { margin: 0 0 12px; padding: 14px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 12px; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
  .internal-app .rp-signups td { min-width: 0; padding: 0; border: 0; }
  .internal-app .rp-signups td::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 11px; font-weight: 500; color: var(--cc-muted); }
  .internal-app .rp-signups .rp-s-koc { grid-column: 1 / -1; min-width: 0; }
  .internal-app .rp-signups .rp-s-koc::before { display: none; }
  .internal-app .rp-signups .rp-s-koc b { font-size: 16px; }
  .internal-app .rp-signups td:nth-child(2) { grid-column: 1 / -1; }
}

/* Phone fixes */
@media (max-width: 700px) {
  .internal-app :is(.cl-toolbar, .ph-toolbar) .reg-search, .internal-app :is(.cl-toolbar, .ph-toolbar) .reg-search input { width: 100% !important; }
  .internal-main .page-title:has(.ph-export) { flex-direction: column !important; align-items: stretch !important; gap: 14px; }
  .internal-app .page-title .ph-export { width: 100%; height: 44px; justify-content: center; }
}
@container pht (max-width: 860px) {
  .internal-app .ph-table:not(.is-paid) .ph-row { grid-template-areas: "koc pay" "camp camp" "bank bank"; }
}
@media (max-width: 760px) {
  .internal-main .page-title:has(+ .rp-controls) { align-items: stretch !important; }
  .internal-app .rp-fulfil { flex-direction: column; align-items: flex-start; gap: 4px; }
  .internal-app .rp-bar { width: 72px; }
}
@container rpp (max-width: 900px) {
  .internal-app .rp-post.is-multi > :is(.rp-p-koc, .rp-p-upd) { padding-top: 0; }
}

/* ===== V3.2 Reports: Posting tracker ===== */
/* View switch: third view, and short labels on phones */
.internal-app .rp-seg .rp-seg-list { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%206h13M8%2012h13M8%2018h13M3%206h.01M3%2012h.01M3%2018h.01%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-seg .rp-seg-s { display: none; }

/* Copy and Update Google Sheet */
.internal-app .rp-trk-actions { margin: 0 0 0 auto; display: flex; align-items: center; gap: 8px; }
.internal-app .rp-controls:has(.rp-trk-actions) .rp-client { width: 220px !important; }
.internal-app .rp-trk-actions .rp-export { margin: 0 !important; }
.internal-app .rp-trk-actions .rp-btn { height: 40px; padding: 0 14px !important; font-size: 14px !important; }
.internal-app .rp-trk-actions .rp-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.internal-app .rp-copy { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22%20ry%3D%222%22%2F%3E%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-export.rp-update::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012a9%209%200%200%201%209-9%209.75%209.75%200%200%201%206.74%202.74L21%208%22%2F%3E%3Cpath%20d%3D%22M21%203v5h-5%22%2F%3E%3Cpath%20d%3D%22M21%2012a9%209%200%200%201-9%209%209.75%209.75%200%200%201-6.74-2.74L3%2016%22%2F%3E%3Cpath%20d%3D%22M8%2016H3v5%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012a9%209%200%200%201%209-9%209.75%209.75%200%200%201%206.74%202.74L21%208%22%2F%3E%3Cpath%20d%3D%22M21%203v5h-5%22%2F%3E%3Cpath%20d%3D%22M21%2012a9%209%200%200%201-9%209%209.75%209.75%200%200%201-6.74-2.74L3%2016%22%2F%3E%3Cpath%20d%3D%22M8%2016H3v5%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-export.rp-update.is-link::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%22%2F%3E%3Cpath%20d%3D%22M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%22%2F%3E%3Cpath%20d%3D%22M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%22%2F%3E%3C%2Fsvg%3E"); }

/* Linked sheet strip */
.internal-app .rp-sheet {
  margin: 0 0 20px; padding: 14px 18px; display: flex; align-items: center; gap: 14px;
  border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff;
}
.internal-app .rp-sheet-icon { width: 40px; height: 40px; flex: none; border-radius: 10px; background: #eef2f1 url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%235b6b73%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2218%22%20height%3D%2218%22%20x%3D%223%22%20y%3D%223%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%209h18M3%2015h18M9%203v18%22%2F%3E%3C%2Fsvg%3E") center / 20px no-repeat; }
.internal-app .rp-sheet.is-linked .rp-sheet-icon { background: #e6f4ea url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231e7b3c%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2218%22%20height%3D%2218%22%20x%3D%223%22%20y%3D%223%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%209h18M3%2015h18M9%203v18%22%2F%3E%3C%2Fsvg%3E") center / 20px no-repeat; }
.internal-app .rp-sheet-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.internal-app .rp-sheet-title { font-size: 14px; color: var(--cc-ink); overflow-wrap: anywhere; }
.internal-app .rp-sheet-title b, .internal-app b.rp-sheet-title { font-weight: 700; color: var(--cc-ink); }
.internal-app .rp-sheet-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: 13px; color: var(--cc-muted); }
.internal-app .rp-sheet-ok { display: inline-flex; align-items: center; gap: 6px; color: #1d6b3e; font-weight: 700; }
.internal-app .rp-sheet-ok::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-sheet-warn { color: #8a4b00; font-weight: 600; }
.internal-app .rp-sheet-when { display: inline-flex; align-items: flex-start; gap: 6px; }
.internal-app .rp-sheet-when::before { content: ""; width: 14px; height: 14px; flex: none; margin-top: 2px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%206v6l4%202%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%206v6l4%202%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-sheet-shared { font-size: 12px; color: var(--cc-muted); }
.internal-app .rp-sheet-msg { margin-top: 4px; align-self: flex-start; padding: 4px 10px; border-radius: 8px; font-size: 13px; font-weight: 600; }
.internal-app .rp-sheet-msg.is-good { background: #e9f5ee; color: #1d6b3e; }
.internal-app .rp-sheet-msg.is-warn { background: #fff4e6; color: #8a4b00; }
.internal-app .rp-sheet-msg.is-bad { background: #fde9e5; color: #a33222; }
.internal-app .rp-sheet-actions { flex: none; display: flex; gap: 8px; }
.internal-app .rp-sheet-actions .rp-btn { text-decoration: none; }
.internal-app .rp-sheet-actions .rp-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.internal-app .rp-open { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-relink { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%22%2F%3E%3Cpath%20d%3D%22M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%22%2F%3E%3C%2Fsvg%3E"); }

/* Tracker table */
.internal-app .rp-trk-count { color: var(--cc-ink); }
.internal-app .rp-trk th, .internal-app .rp-trk td { padding: 10px 14px; }
.internal-app .rp-trk th:first-child, .internal-app .rp-trk td:first-child { padding-left: 18px; }
.internal-app .rp-trk thead th { font-weight: 600; color: var(--cc-muted); }
.internal-app .rp-trk .rp-t-no { width: 34px; font-size: 13px; color: var(--cc-muted); font-variant-numeric: tabular-nums; }
.internal-app .rp-trk .rp-t-n { display: none; }
.internal-app .rp-trk .rp-t-koc { min-width: 150px; }
.internal-app .rp-trk .rp-t-koc b { display: block; font-size: 14px; font-weight: 700; color: var(--cc-ink); overflow-wrap: anywhere; }
.internal-app .rp-trk :is(.rp-t-koc, .rp-t-branch) small { display: block; font-size: 12px; color: var(--cc-muted); }
.internal-app .rp-trk .rp-t-branch { min-width: 120px; font-size: 13px; }
.internal-app .rp-trk .rp-t-camp { font-size: 13px; font-weight: 600; color: var(--cc-ink); white-space: nowrap; }
.internal-app .rp-trk :is(.rp-t-visit, .rp-t-posted) { font-size: 13px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.internal-app .rp-trk .rp-t-not { color: #9aa8ae; }
.internal-app .rp-trk .rp-t-link { width: 64px; font-size: 13px; white-space: nowrap; }
.internal-app .rp-t-open { display: inline-flex; align-items: center; gap: 5px; border-radius: 6px; color: var(--cc-teal-dark); font-weight: 700; text-decoration: none; }
.internal-app .rp-t-open::after { content: ""; width: 12px; height: 12px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-t-open:hover { text-decoration: underline; }
.internal-app .rp-t-open:focus-visible, .internal-app .rp-t-chip:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.internal-app .rp-t-dash { color: #9aa8ae; }
.internal-app .rp-t-raw { display: inline-block; max-width: 120px; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; color: #33454e; }
.internal-app .rp-trk .rp-t-chips { display: none; }
.internal-app .rp-trk .rp-t-status { width: 1%; white-space: nowrap; }
.internal-app .rp-pill.is-wait { background: #fff4e6; color: #8a4b00; }
.internal-app .rp-pill.is-grey { background: #eef2f1; color: #33454e; }

/* Link a Google Sheet window */
.internal-app .modal.rp-lw {
  width: min(620px, calc(100vw - 32px)) !important; max-width: none !important; max-height: calc(100vh - 32px); padding: 0 !important;
  display: flex; flex-direction: column; overflow: hidden !important; border-radius: 18px;
}
.internal-app .rp-lw-head { padding: 20px 24px; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; border-bottom: 1px solid #e3e8e6; background: #ffffff; }
.internal-app .rp-lw-head > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.internal-app .rp-lw-client { align-self: flex-start; padding: 2px 10px; border-radius: 999px; background: #e7eef3; color: var(--cc-ink); font-size: 12px; font-weight: 700; }
.internal-app .rp-lw-head h2 { margin: 0 !important; font-family: Manrope, 'DM Sans', sans-serif; font-size: 22px !important; line-height: 1.25; font-weight: 800; color: var(--cc-ink); }
.internal-app .rp-lw-head p { margin: 0; font-size: 14px; color: var(--cc-muted); }
.internal-app .rp-lw-body { padding: 20px 24px; display: flex; flex-direction: column; gap: 20px; overflow-y: auto; background: #f6f7f6; }
.internal-app .rp-lw-step { display: flex; gap: 12px; }
.internal-app .rp-lw-step > div { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.internal-app .rp-lw-step > div > b { font-size: 15px; color: var(--cc-ink); }
.internal-app .rp-lw-n { width: 26px; height: 26px; flex: none; display: grid; place-items: center; border-radius: 999px; background: var(--cc-teal); color: #ffffff; font-size: 13px; font-weight: 800; }
.internal-app .rp-lw-hint { font-size: 13px; color: var(--cc-muted); }
.internal-app .rp-lw-hint b { color: var(--cc-ink); }
.internal-app .rp-lw-email, .internal-app .rp-lw-url { display: flex; gap: 8px; }
.internal-app .rp-lw-email code {
  flex: 1 1 auto; min-width: 0; height: 40px; padding: 0 12px; box-sizing: border-box; display: flex; align-items: center; overflow-x: auto; white-space: nowrap;
  border: 1px solid #d5dedb; border-radius: 10px; background: #ffffff; color: var(--cc-ink); font-size: 12px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.internal-app .rp-lw :is(.rp-lw-url, .rp-lw-field) input {
  flex: 1 1 auto; min-width: 0; width: auto !important; box-sizing: border-box; height: 40px !important; min-height: 0 !important; margin: 0; padding: 0 12px !important;
  border: 1px solid var(--cc-line-strong) !important; border-radius: 10px !important; background: #ffffff !important; box-shadow: none !important; font-size: 14px !important; font-weight: 400 !important;
}
.internal-app .rp-lw :is(.rp-lw-url, .rp-lw-field) input:focus { border-color: var(--cc-teal) !important; box-shadow: 0 0 0 3px rgba(13, 119, 112, 0.15) !important; outline: none; }
.internal-app .rp-lw .rp-btn { height: 40px; }
.internal-app .rp-lw .rp-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.internal-app .rp-check { --rp-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E"); }
.internal-app .rp-lw-ok { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #1d6b3e; overflow-wrap: anywhere; }
.internal-app .rp-lw-ok::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-lw-info { padding: 10px 12px; display: flex; gap: 10px; align-items: flex-start; border-radius: 10px; background: #eef4f8; color: #1f4e6b; font-size: 13px; line-height: 1.45; }
.internal-app .rp-lw-info::before { content: ""; width: 16px; height: 16px; flex: none; margin-top: 1px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-lw-field { width: auto !important; margin: 0; display: flex !important; flex-direction: column !important; gap: 6px !important; }
.internal-app .rp-lw-field > span { font-size: 13px; font-weight: 600; color: var(--cc-ink); }
.internal-app .rp-lw-warn { padding: 10px 12px; border-radius: 10px; background: #fff4e6; color: #8a4b00; font-size: 13px; }
.internal-app .rp-lw-err { padding: 10px 12px; border-radius: 10px; background: #fde9e5; color: #a33222; font-size: 13px; font-weight: 600; line-height: 1.45; }
.internal-app .rp-lw-foot { padding: 16px 24px; display: flex; align-items: center; gap: 8px; border-top: 1px solid #e3e8e6; background: #ffffff; }
.internal-app .rp-lw-gap { flex: 1 1 auto; }
.internal-app .rp-lw-foot button {
  width: auto !important; min-width: 0 !important; height: 44px; min-height: 0 !important; margin: 0 !important; padding: 0 18px !important;
  border-radius: 10px !important; font-size: 14px !important; font-weight: 700 !important; white-space: nowrap;
}
.internal-app .rp-lw-foot button:disabled { opacity: 0.5; cursor: not-allowed; }
.internal-app .rp-lw-cancel { border: 1px solid #dce4e2 !important; background: #ffffff !important; color: var(--cc-ink) !important; box-shadow: none !important; }
.internal-app .rp-lw-go { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; border: 0 !important; background: var(--cc-teal) !important; color: #ffffff !important; }
.internal-app .rp-lw-go::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%22%2F%3E%3Cpath%20d%3D%22M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%22%2F%3E%3Cpath%20d%3D%22M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.internal-app .rp-lw-unlink { padding: 0 10px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: #a33222 !important; }
.internal-app .rp-lw-unlink:hover { background: #fde9e5 !important; }
.internal-app .rp-lw-unlink.is-ask { padding: 0 14px !important; background: #a33222 !important; color: #ffffff !important; }

/* Phones */
@media (max-width: 760px) {
  .internal-app .rp-seg .rp-seg-l { display: none; }
  .internal-app .rp-seg .rp-seg-s { display: inline; }
  .internal-app .rp-trk-actions { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .internal-app .rp-trk-actions .rp-update { order: -1; width: 100% !important; height: 44px; justify-content: center; }
  .internal-app .rp-trk-actions .rp-copy { height: 44px; }
  .internal-app .rp-sheet { padding: 14px; flex-wrap: wrap; align-items: flex-start; }
  .internal-app .rp-sheet-text { flex: 1 1 calc(100% - 54px); }
  .internal-app .rp-sheet-actions { width: 100%; }
  .internal-app .rp-sheet-actions .rp-btn { flex: 1 1 0; height: 44px; }
  .internal-app .rp-card.rp-trk-card { border: 0; background: transparent; overflow: visible; }
  .internal-app .rp-trk, .internal-app .rp-trk tbody { display: block; }
  .internal-app .rp-trk thead { display: none; }
  .internal-app .rp-trk tr {
    margin: 0 0 12px; padding: 14px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px 12px;
    grid-template-areas: "koc koc status" "branch branch branch" "visit posted posted" "chips chips chips";
    border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff;
  }
  .internal-app .rp-trk.is-multi tr { grid-template-areas: "koc koc status" "camp camp camp" "branch branch branch" "visit posted posted" "chips chips chips"; }
  .internal-app .rp-trk td, .internal-app .rp-trk td:first-child { min-width: 0; padding: 0; border: 0; }
  .internal-app .rp-trk :is(.rp-t-no, .rp-t-link) { display: none; }
  .internal-app .rp-trk .rp-t-n { display: inline; }
  .internal-app .rp-trk .rp-t-koc { grid-area: koc; }
  .internal-app .rp-trk .rp-t-koc b { font-size: 16px; }
  .internal-app .rp-trk .rp-t-status { grid-area: status; width: auto; justify-self: end; white-space: normal; text-align: right; }
  .internal-app .rp-trk .rp-t-status .rp-pill { white-space: normal; }
  .internal-app .rp-trk .rp-t-camp { grid-area: camp; }
  .internal-app .rp-trk .rp-t-branch { grid-area: branch; display: flex; flex-wrap: wrap; gap: 0 6px; color: var(--cc-muted); }
  .internal-app .rp-trk .rp-t-branch small { display: inline; font-size: 13px; }
  .internal-app .rp-trk .rp-t-branch small::before { content: "· "; }
  .internal-app .rp-trk :is(.rp-t-visit, .rp-t-posted) { padding: 10px 12px; background: #f6f8f7; color: var(--cc-ink); font-weight: 700; }
  .internal-app .rp-trk .rp-t-visit { grid-area: visit; border-radius: 10px 0 0 10px; }
  .internal-app .rp-trk .rp-t-posted { grid-area: posted; margin-left: -12px; border-radius: 0 10px 10px 0; }
  .internal-app .rp-trk :is(.rp-t-visit, .rp-t-posted, .rp-t-camp)::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 400; color: var(--cc-muted); }
  .internal-app .rp-trk .rp-t-posted .rp-t-not { color: var(--cc-ink); }
  .internal-app .rp-trk .rp-t-chips { grid-area: chips; display: flex; flex-wrap: wrap; gap: 6px; }
  .internal-app .rp-t-chip {
    padding: 4px 10px; display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; background: #e7eef3; color: var(--cc-ink);
    font-size: 12px; font-weight: 700; text-decoration: none;
  }
  .internal-app .rp-t-chip::after { content: ""; width: 11px; height: 11px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%203h6v6%22%2F%3E%3Cpath%20d%3D%22M10%2014%2021%203%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
  .internal-app .rp-trk .rp-t-chips .rp-t-not { font-size: 13px; }
  .internal-app .modal.rp-lw { width: 100vw !important; max-height: none; height: 100dvh; border-radius: 0 !important; }
  .internal-app .modal-backdrop:has(> .rp-lw) { padding: 0 !important; align-items: stretch !important; }
  .internal-app .rp-lw-head, .internal-app .rp-lw-body { padding-left: 16px; padding-right: 16px; }
  .internal-app .rp-lw-email, .internal-app .rp-lw-url { flex-wrap: wrap; }
  .internal-app .rp-lw-email code { flex-basis: 100%; }
  .internal-app .rp-lw-email .rp-btn, .internal-app .rp-lw-url .rp-btn { flex: 1 1 auto; height: 44px; }
  .internal-app .rp-lw-url input { flex-basis: 100% !important; height: 44px !important; }
  .internal-app .rp-lw-foot { padding: 12px 16px; flex-wrap: wrap; }
  .internal-app .rp-lw-foot .rp-lw-gap { display: none; }
  .internal-app .rp-lw-foot :is(.rp-lw-cancel, .rp-lw-go) { flex: 1 1 0; height: 48px; justify-content: center; }
  .internal-app .rp-lw-foot .rp-lw-unlink { flex-basis: 100%; order: 3; }
}

/* ===== V3.2 Payments: older submissions stand out ===== */
/* Submitted 3 to 5 days ago: light yellow. More than 5 days ago: light red. */
.internal-app .payq-row.is-due { background: #fff6dc; }
.internal-app .payq-row.is-late { background: #fde8e6; }

/* Payments: copy the KOC's full name (same button as the account number) */
.internal-app .payq-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
.internal-app .payq-name b { min-width: 0; }


/* ================= V3.3 ================= */

/* ---------- Edit campaign: tabs edited in place ---------- */
.ed-pane { display: flex; flex-direction: column; gap: 14px; }
.ed-pane[hidden] { display: none !important; }
.ed-body:has(> .ed-pane:not([hidden])) { background: #f6f7f6; }
.ed-pane > p.muted { margin: 0; font-size: 14px; line-height: 1.5; color: #33454e; }

.internal-app :is(.edq, .eds, .edb) input[role="switch"] {
  -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 40px !important; min-width: 40px; height: 24px !important; min-height: 0 !important;
  flex: 0 0 40px; margin: 0; padding: 0; border: 0; border-radius: 999px; cursor: pointer;
  background: radial-gradient(circle at 12px 12px, #ffffff 0 9px, transparent 10px) #cfd8d6;
}
.internal-app :is(.edq, .eds, .edb) input[role="switch"]:checked { background: radial-gradient(circle at 28px 12px, #ffffff 0 9px, transparent 10px) var(--cc-teal); }
.internal-app :is(.edq, .eds, .edb) input[role="switch"]:disabled { opacity: 0.55; cursor: not-allowed; }
.internal-app :is(.edq, .eds, .edb) input[role="switch"]:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.ed-sw { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 600; color: var(--cc-ink); cursor: pointer; white-space: nowrap; }

.ed-binbtn, .ed-lockbtn { width: 36px; height: 36px; min-height: 0 !important; flex: none; padding: 0 !important; display: inline-grid; place-items: center; border-radius: 10px !important; box-sizing: border-box; }
.ed-binbtn { border: 1px solid #f0d3cd !important; background: #ffffff !important; color: #a33222 !important; cursor: pointer; }
.ed-binbtn:hover { background: #fff3f0 !important; }
.ed-lockbtn { border: 0; background: #eef2f1; color: #8a9aa2; cursor: help; }
.ed-binbtn::before, .ed-lockbtn::before, .edb-lock::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--edi) center / contain no-repeat; mask: var(--edi) center / contain no-repeat; }
.ed-binbtn { --edi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M19%206v14c0%201-1%202-2%202H7c-1%200-2-1-2-2V6M8%206V4c0-1%201-2%202-2h4c1%200%202%201%202%202v2%22%2F%3E%3C%2Fsvg%3E"); }
.ed-lockbtn, .edb-lock { --edi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2218%22%20height%3D%2211%22%20x%3D%223%22%20y%3D%2211%22%20rx%3D%222%22%20ry%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%2011V7a5%205%200%200%201%2010%200v4%22%2F%3E%3C%2Fsvg%3E"); }

.ed-add { align-self: flex-start; height: 40px; min-height: 0 !important; padding: 0 16px 0 12px !important; display: inline-flex; align-items: center; gap: 8px; border: 1px dashed #b9c9c5 !important; border-radius: 10px !important; background: #ffffff !important; color: var(--cc-teal-dark) !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer; }
.ed-add::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M8%2012h8M12%208v8%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M8%2012h8M12%208v8%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.ed-add:hover { border-color: var(--cc-teal) !important; }

/* Questions */
.edq { display: flex; flex-direction: column; gap: 14px; }
.edq-card { border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; overflow: hidden; }
.edq-card.is-off { background: #fbfcfb; }
.edq-head { padding: 10px 16px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border-bottom: 1px solid #eef2f1; }
.edq-head > b { font-size: 14px; color: var(--cc-ink); }
.edq-tag { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: #eef4f8; color: #1f4e6b; font-size: 12px; font-weight: 700; white-space: nowrap; }
.edq-gap { flex: 1; }
.edq-grid { padding: 14px 16px 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 16px; }
.edq-half { grid-column: span 2; }
.edq-full { grid-column: 1 / -1; }
.edq-always { align-self: end; padding-bottom: 11px; }
.edq-grid .ed-f > :is(input, select):disabled { background: #f6f8f7; color: #5b6b73; }

/* Services */
.eds { display: flex; flex-direction: column; gap: 12px; }
.eds-table { border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; overflow: hidden; }
.eds-head, .eds-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 124px 168px 64px 56px 36px; align-items: center; gap: 12px; padding: 10px 16px; }
.eds-head { background: #f8faf9; font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.eds-row { border-top: 1px solid #eef2f1; }
.eds-row.is-off > :not(.eds-sw):not(.ed-binbtn):not(.ed-lockbtn) { opacity: 0.6; }
.eds-r, .eds-num { text-align: right; }
.eds-cell { margin: 0; min-width: 0; display: block; }
.eds-cell > input { width: 100%; height: 40px !important; box-sizing: border-box; font-size: 14px !important; }
.eds-cell .cc-affix input { font-size: 14px !important; }
.eds-num b { font-size: 14px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.eds-num b.is-zero { font-weight: 400; color: var(--cc-muted); }
.eds-ml { display: none; }
.eds-foot { padding: 12px 16px; border-top: 1px solid #eef2f1; background: #fbfcfb; font-size: 13px; color: #33454e; }
.eds-foot b { color: var(--cc-ink); }

/* Branch slots */
.edb { display: flex; flex-direction: column; gap: 14px; }
.edb-summary { padding: 16px 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 320px); align-items: center; gap: 24px; border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; }
.edb-intro { display: flex; flex-direction: column; gap: 4px; }
.edb-intro b { font-size: 16px; color: var(--cc-ink); }
.edb-intro small, .edb-note { font-size: 12px; line-height: 1.45; color: var(--cc-muted); }
.edb-note { margin: 0; }
.edb-alloc { display: flex; flex-direction: column; gap: 6px; }
.edb-alloc-top { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; color: var(--cc-muted); }
.edb-alloc-top strong { font-size: 15px; color: var(--cc-ink); font-variant-numeric: tabular-nums; }
.edb-bar { height: 8px; border-radius: 999px; background: #e3e8e6; overflow: hidden; }
.edb-bar i { display: block; height: 100%; border-radius: inherit; background: #e0a12e; }
.edb-bar.is-ok i { background: var(--cc-teal); }
.edb-bar.is-over i { background: #c4553f; }
.edb-alloc small { font-size: 12px; font-weight: 700; }
.edb-alloc small.is-ok { color: #1d6b3e; }
.edb-alloc small.is-warn { color: #8a4b00; }
.edb-table { border: 1px solid var(--cc-line); border-radius: 14px; background: #ffffff; overflow: hidden; }
.edb-head, .edb-row { display: grid; grid-template-columns: 64px minmax(0, 1.5fr) minmax(0, 1fr) 150px 72px 80px; align-items: center; gap: 12px; padding: 12px 18px; }
.edb-head { padding-top: 10px; padding-bottom: 10px; background: #f8faf9; font-size: 12px; font-weight: 600; color: var(--cc-muted); }
.edb-row { border-top: 1px solid #eef2f1; }
.edb-row.is-off { background: #fbfcfb; }
.edb-r, .edb-num { text-align: right; }
.edb-use { display: inline-flex; align-items: center; gap: 4px; }
.edb-lock { display: inline-grid; color: #8a9aa2; }
.edb-lock::before { width: 12px; height: 12px; }
.edb-branch, .edb-hours { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.edb-branch b { font-size: 14px; color: var(--cc-ink); }
.edb-row.is-off .edb-branch b { color: var(--cc-muted); }
.edb-branch small, .edb-hours small { font-size: 12px; color: var(--cc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.edb-hours > span { font-size: 13px; color: var(--cc-text); }
.edb-off { font-size: 13px; color: #9aa8ae; }
.edb-num { font-size: 14px; color: #33454e; font-variant-numeric: tabular-nums; }
.edb-num b { font-size: 15px; color: var(--cc-ink); }
.edb-ml { display: none; }
.edb-full { display: inline-flex; padding: 3px 9px; border-radius: 999px; background: #fde9e5; color: #a33222; font-size: 12px; font-weight: 700; }

@container edb (max-width: 760px) {
  .edq-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .eds-head, .edb-head { display: none; }
  .eds-row { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px 12px; padding: 14px 16px; }
  .eds-row > .eds-cell:not(.eds-num):not(.eds-sw) { grid-column: span 3; }
  .eds-row > :is(.eds-num, .eds-sw) { grid-column: span 2; }
  .eds-ml { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--cc-ink); }
  .eds-num, .eds-sw { text-align: left; }
  .eds-row > :is(.ed-binbtn, .ed-lockbtn) { grid-column: span 2; justify-self: end; align-self: end; }
  .edb-summary { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .edb-row { grid-template-columns: 48px minmax(0, 1fr) auto; gap: 8px 12px; padding: 14px 16px; }
  .edb-use { grid-row: 1 / span 2; align-self: start; }
  .edb-hours { grid-column: 2 / -1; }
  .edb-places { grid-column: 2; }
  .edb-row > .edb-num { grid-column: 3; text-align: right; }
  .edb-row > .edb-num:last-child { grid-row: 1; }
  .edb-row > .edb-num:nth-last-child(2) { display: none; }
  .edb-ml { display: inline; font-size: 12px; color: var(--cc-muted); }
}
@container edb (max-width: 480px) {
  .edq-grid { grid-template-columns: minmax(0, 1fr); }
  .edq-half, .edq-full { grid-column: auto; }
  .edq-always { padding-bottom: 0; }
}

/* ---------- KOCs page: calmer table, fewer columns, clearer actions ---------- */
.koc-dir3 :is(.koc-directory-head, .koc-directory-row) { grid-template-columns: minmax(170px, 1.3fr) minmax(130px, 0.9fr) minmax(150px, 1fr) 56px 116px 200px; min-width: 900px; }
.koc-dir3.has-access :is(.koc-directory-head, .koc-directory-row) { grid-template-columns: minmax(170px, 1.3fr) minmax(130px, 0.9fr) minmax(150px, 1fr) 56px 116px 104px 200px; min-width: 1000px; }
.koc-dir3 .koc-directory-head > span:last-child { text-align: right; }
.koc-dir3 .koc-name-link { text-decoration: none; font-weight: 700; color: #15384a; }
.koc-dir3 .koc-name-link:hover { text-decoration: underline; text-decoration-color: #9fc7bd; }
.koc-dir3 .whatsapp-link { font-weight: 500; }
.koc-dir3 .koc-row-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.koc-dir3 .koc-row-actions > .mobile-label { display: none !important; }
.koc-view-btn { display: inline-flex !important; align-items: center; gap: 6px; color: #15384a !important; background: #ffffff !important; font-weight: 600 !important; white-space: nowrap; }
.koc-view-btn::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.06%2012.35a1%201%200%200%201%200-.7%2010.75%2010.75%200%200%201%2019.88%200%201%201%200%200%201%200%20.7%2010.75%2010.75%200%200%201-19.88%200%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.06%2012.35a1%201%200%200%201%200-.7%2010.75%2010.75%200%200%201%2019.88%200%201%201%200%200%201%200%20.7%2010.75%2010.75%200%200%201-19.88%200%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.koc-dir3 .koc-more-popover { width: 200px; }
.koc-dir3 .koc-more-popover button { padding: 9px 10px; font-size: 14px; font-weight: 600; }
@media (max-width: 800px) {
  .koc-directory-v2.koc-dir3 :is(.koc-directory-head, .koc-directory-row) { min-width: 0; grid-template-columns: 1fr 1fr; }
  .koc-dir3 .koc-row-actions { justify-content: stretch; flex-wrap: nowrap; }
  .koc-dir3 .koc-row-actions > .koc-view-btn { flex: 1 1 auto; justify-content: center; min-height: 44px; }
  .koc-dir3 .koc-row-actions > .koc-more { flex: none; }
  .koc-dir3 .koc-more-popover { left: auto; right: 0; }
}
@media (max-width: 520px) {
  .koc-directory-v2.koc-dir3 :is(.koc-directory-head, .koc-directory-row) { grid-template-columns: 1fr; }
  .koc-dir3 .koc-row-actions { flex-wrap: wrap; }
  .koc-dir3 .koc-row-actions > :is(.approve, .reject) { flex: 1 1 40%; }
}

/* ---------- Edit visits: By month or Whole year ---------- */
.vk-period { display: flex !important; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; }
.internal-app .vk-mode { width: auto; flex: none; }
.internal-app .vk-mode label { flex: none; min-height: 34px; padding: 0 14px; font-size: 14px; white-space: nowrap; }
.vk-field { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: 12px; font-weight: 600; color: var(--muted, #5b6b73); }
.vk-field select { min-width: 120px; }
.vk-add { margin-left: auto; }
.vk-summary { flex: 1 1 100%; margin: 2px 0 0; padding: 9px 12px; border-radius: 10px; background: #f1f8f6; font-size: 13px; color: #0a5f59; }
.vk-group { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.vk-group-head { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; color: #15384a; }
.vk-group-head span { font-size: 12px; color: #5b6b73; }
.vk-item { border: 1px solid #e3e8e6; border-radius: 12px; background: #ffffff; overflow: hidden; }
.vk-item.is-open { border-color: #0d7770; }
.vk-item > .imported-visit { margin: 0; border: 0; border-top: 1px solid #eef2f1; border-radius: 0; }
.vk-sum { width: 100%; min-height: 0 !important; padding: 11px 14px !important; display: grid !important; grid-template-columns: 70px minmax(0, 1fr) auto 86px 16px; align-items: center; gap: 12px; border: 0 !important; border-radius: 0 !important; background: #ffffff !important; color: #15384a !important; text-align: left; font-weight: 400 !important; cursor: pointer; }
.vk-sum:hover { background: #f8fbfa !important; }
.vk-date { font-size: 14px; font-variant-numeric: tabular-nums; }
.vk-where { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.vk-where b { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vk-where small { font-size: 12px; color: #5b6b73; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vk-status { padding: 3px 9px; border-radius: 999px; background: #eef4f8; color: #1f4e6b; font-size: 12px; font-weight: 700; white-space: nowrap; }
.vk-status.is-good { background: #e9f5ee; color: #1d6b3e; }
.vk-status.is-off { background: #eef2f1; color: #5b6b73; }
.vk-amt { font-size: 14px; text-align: right; font-variant-numeric: tabular-nums; }
.vk-chev { width: 16px; height: 16px; background: #5b6b73; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.vk-item.is-open .vk-chev { transform: rotate(180deg); }
@media (max-width: 560px) {
  .vk-add { margin-left: 0; }
  .vk-sum { grid-template-columns: minmax(0, 1fr) auto 16px; gap: 4px 10px; }
  .vk-date { grid-column: 1; }
  .vk-where { grid-column: 1; grid-row: 2; }
  .vk-status { grid-column: 2; grid-row: 2; justify-self: end; }
  .vk-amt { grid-column: 2; grid-row: 1; }
  .vk-chev { grid-column: 3; grid-row: 1 / span 2; }
}

/* ---------- KOC activity: Total earned ---------- */
.koc-activity-summary.ka-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.koc-activity-summary .koc-activity-earned { border-color: #b9dccf; background: #f1f8f6; }
.koc-activity-earned strong { color: #0a5f59; }
.koc-activity-earned small { display: block; margin-top: 4px; font-size: 11px; color: var(--muted, #5b6b73); }
@media (max-width: 900px) { .koc-activity-summary.ka-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .koc-activity-summary.ka-4 { grid-template-columns: minmax(0, 1fr); } }


/* ================= V3.4: Overview, today and tomorrow's visits ================= */
.ov3 .ov-top { display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }
.ov-heading { display: grid; gap: 4px; }
.ov-heading h2 { margin: 0; font-size: 20px; }
.ov-heading span { color: #71838a; font-size: 13px; }
.ov-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ov-chip { min-height: 50px; padding: 7px 14px !important; display: inline-flex !important; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px; border: 1px solid #d5dedb !important; border-radius: 12px !important; background: #ffffff !important; color: #15384a !important; text-align: left; cursor: pointer; font-weight: 400 !important; box-shadow: none !important; }
.ov-chip b { font-size: 14px; }
.ov-chip span { font-size: 12px; font-weight: 600; color: #5b6b73; }
.ov-chip.has-today span { color: #0d7770; }
.ov-chip:hover { border-color: #0d7770 !important; }
.ov-chip.is-on { background: #0d7770 !important; border-color: #0d7770 !important; color: #ffffff !important; }
.ov-chip.is-on span { color: #d8f0ea; }
.ov-chip:focus-visible { outline: 3px solid #f28f4b; outline-offset: 2px; }
.ov-group-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 16px; background: #f8faf9; border-bottom: 1px solid #edf1f0; }
.ov-group-head > span { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ov-group-head b { font-size: 13px; color: #15384a; }
.ov-group-head small { font-size: 12px; color: #5b6b73; }
.ov-group-head .ov-copy { flex: none; min-height: 32px; font-size: 12px; }
.ov-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid #edf1f0; }
.ov-panel .ov-group:last-child .ov-row:last-child { border-bottom: 0; }
.ov-row > strong { font-size: 13px; }
.ov-row > div { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.ov-row small { max-width: 100%; overflow: hidden; color: #71838a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ov-status { padding: 4px 9px; border-radius: 999px; background: #eef2f1; color: #33454e; font-size: 12px; font-weight: 700; white-space: nowrap; }
.ov-status.is-ok { background: #e7f6ef; color: #168269; }
.ov-status.is-wait { background: #fff4dc; color: #8a5a00; }
.ov-status.is-done { background: #e9f5ee; color: #1d6b3e; }
@media (max-width: 760px) {
  .ov-chips { flex-wrap: nowrap; overflow-x: auto; margin-right: -16px; padding-right: 16px; scrollbar-width: none; }
  .ov-chips::-webkit-scrollbar { display: none; }
  .ov-chip { flex: none; }
  .ov-row { grid-template-columns: 64px minmax(0, 1fr); align-items: start; }
  .ov-row > .ov-status { grid-column: 2; justify-self: start; }
}
.ov-row .overview-koc-link { min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: #0a5f59 !important; text-align: left; font-size: 14px; font-weight: 700; line-height: 1.3; }
.ov-panel > header .ov-head-actions { display: flex; align-items: center; gap: 8px; }
.ov-panel > header .ov-copy-all { min-height: 34px; font-size: 12px; }
