/* [1.5.911] Cartões da coluna principal do projeto (teste, equipa, local, itens, transferência, entrega, datas, dias de
   filmagem, contrato, visão, documentos), prefixos pjs-x-, pjs-k-, pjs-d-, pjs-t-, pjs-v-. Dono: tarefa B1b.
   Desenho do handoff do titular (spec §14-§17): sem bordas, raio 32 nos cartões, 18-24 nos blocos, 100 nas pílulas;
   ícone e cor junto de cada texto; texto colorido sempre nos tons -ink. Usa as primitivas de cartão de
   vip-project-site.css (B1a) e as primitivas vx- de vip-expressive.css (F0), sem as redefinir. */

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   1. Partilhado pelos cartões
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
#rmbz-vip .pjs-x-head{ flex-wrap:wrap; }
#rmbz-vip .pjs-x-head > .pjs-card-titles{ flex:1 1 150px; }
#rmbz-vip .pjs-x-head > .pjs-pill{ flex:none; }
#rmbz-vip .pjs-x-text{ margin:0; font:400 13.5px/1.55 'Geist',system-ui,sans-serif; color:var(--text2); text-wrap:pretty; }
#rmbz-vip .pjs-x-text b{ color:var(--text); font-weight:700; }
#rmbz-vip .pjs-x-facts{ display:flex; flex-wrap:wrap; gap:8px; }
#rmbz-vip .pjs-x-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#rmbz-vip .pjs-x-actions > form{ display:flex; margin:0; }
#rmbz-vip .pjs-x-mono{ font-family:'JetBrains Mono',ui-monospace,monospace; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
#rmbz-vip .pjs-x-wide{ width:100%; }
#rmbz-vip .pjs-x-initial{ font:800 14px/1 'Geist',system-ui,sans-serif; }

/* Botões no tom do contentor: cheio (--tone) ou suave (--tone-soft). */
#rmbz-vip .pjs-btn.pjs-x-btn--tone{ background:var(--tone,var(--brand)); color:var(--tone-on,#FFFFFF); }
#rmbz-vip .pjs-btn.pjs-x-btn--tone:hover{ background:color-mix(in srgb,var(--tone,var(--brand)) 88%,#000); }
#rmbz-vip .pjs-btn.pjs-x-btn--tone > .ms{ font-variation-settings:'FILL' 1; }
#rmbz-vip .pjs-btn.pjs-x-btn--soft{ background:var(--tone-soft,var(--elev)); color:var(--tone-ink,var(--text)); }
#rmbz-vip .pjs-btn.pjs-x-btn--soft:hover{ background:color-mix(in srgb,var(--tone-soft,var(--elev)) 80%,var(--tone,var(--muted))); }

/* Grupos M3 Expressive: blocos colados com cantos pequenos por dentro e grandes nas pontas. */
#rmbz-vip .pjs-x-receipt, #rmbz-vip .pjs-x-decisions, #rmbz-vip .pjs-x-daylist{ display:flex; flex-direction:column; gap:4px; min-width:0; }
#rmbz-vip .pjs-x-receipt > *, #rmbz-vip .pjs-x-decisions > *, #rmbz-vip .pjs-x-daylist > *{ border-radius:6px; }
#rmbz-vip .pjs-x-receipt > :first-child, #rmbz-vip .pjs-x-decisions > :first-child, #rmbz-vip .pjs-x-daylist > :first-child{ border-top-left-radius:20px; border-top-right-radius:20px; }
#rmbz-vip .pjs-x-receipt > :last-child, #rmbz-vip .pjs-x-decisions > :last-child, #rmbz-vip .pjs-x-daylist > :last-child{ border-bottom-left-radius:20px; border-bottom-right-radius:20px; }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   2. Equipa do vídeo (recibo, duas opções)
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
#rmbz-vip .pjs-x-receipt-row{ border-radius:6px; }
#rmbz-vip .pjs-x-fee{ flex:none; font:700 13px/1 'JetBrains Mono',ui-monospace,monospace; color:var(--text); white-space:nowrap; }
#rmbz-vip .pjs-x-receipt-total, #rmbz-vip .pjs-x-receipt-balance{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; font:700 13px/1.3 'Geist',system-ui,sans-serif; }
#rmbz-vip .pjs-x-receipt-total > span, #rmbz-vip .pjs-x-receipt-balance > span:first-child{ display:inline-flex; align-items:center; gap:6px; }
#rmbz-vip .pjs-x-receipt-total .ms, #rmbz-vip .pjs-x-receipt-balance .ms{ font-size:18px; }
#rmbz-vip .pjs-x-receipt-total{ background:var(--brand-soft); color:var(--brand-ink); }
#rmbz-vip .pjs-x-receipt-total b{ font-size:16px; color:var(--brand-ink); }
#rmbz-vip .pjs-x-receipt-balance{ background:var(--elev); color:var(--text2); font-weight:600; }

#rmbz-vip .pjs-x-options{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; }
#rmbz-vip .pjs-x-option-form{ display:contents; }
#rmbz-vip .pjs-x-option{ -webkit-appearance:none; appearance:none; display:grid; grid-template-columns:48px minmax(0,1fr); grid-template-rows:auto auto; gap:8px 14px; align-items:start; width:100%; min-height:44px; padding:16px; border:0; border-radius:24px; background:var(--elev); color:var(--text); text-align:left; font:inherit; cursor:pointer;
  transition:background-color calc(200ms*var(--k,1)) var(--ease-effect,ease), transform calc(150ms*var(--k,1)) var(--ease-effect,ease); }
#rmbz-vip .pjs-x-option:hover{ background:var(--highest); }
#rmbz-vip .pjs-x-option:active{ transform:scale(.98); }
#rmbz-vip .pjs-x-option-ico{ grid-row:1 / span 2; width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; border-radius:16px; background:var(--tone-soft,var(--surface)); color:var(--tone-ink,var(--text2)); }
#rmbz-vip .pjs-x-option-ico .ms{ font-size:24px; }
#rmbz-vip .pjs-x-option-copy{ min-width:0; }
#rmbz-vip .pjs-x-option-copy b{ display:block; font:700 14.5px/1.3 'Geist',system-ui,sans-serif; color:var(--text); }
#rmbz-vip .pjs-x-option-copy small{ display:block; margin-top:3px; font:400 12.5px/1.5 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-x-option > .pjs-chip{ grid-column:2; justify-self:start; white-space:normal; height:auto; min-height:32px; padding-top:6px; padding-bottom:6px; line-height:1.25; }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   3. Local e itens por decidir
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
#rmbz-vip .pjs-x-locs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; }
#rmbz-vip .pjs-x-loc{ display:flex; flex-direction:column; gap:12px; min-width:0; padding:16px; border-radius:24px; background:var(--elev); }
#rmbz-vip .pjs-x-loc-head{ display:flex; align-items:center; gap:12px; min-width:0; }
#rmbz-vip .pjs-x-loc-head > div{ display:flex; flex-direction:column; gap:1px; min-width:0; }
#rmbz-vip .pjs-x-loc-head small{ font:400 12px/1.3 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-x-loc-head b{ font:800 18px/1.15 'Bricolage Grotesque','Geist',sans-serif; color:var(--text); overflow-wrap:anywhere; }
#rmbz-vip .pjs-x-loc-pin{ width:42px; height:42px; flex:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--surface); color:var(--warning-ink); }
#rmbz-vip .pjs-x-loc-pin .ms{ font-size:22px; }
#rmbz-vip .pjs-x-loc-items{ display:flex; flex-direction:column; gap:6px; margin:0; padding:0; list-style:none; }
#rmbz-vip .pjs-x-loc-items li{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; font:400 13px/1.45 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-x-loc-items li > span:first-child{ min-width:0; }
#rmbz-vip .pjs-x-loc-items small{ display:block; font-size:11.5px; color:var(--muted); }
#rmbz-vip .pjs-x-loc-items .pjs-x-mono{ font-size:12.5px; color:var(--text); }
#rmbz-vip .pjs-x-loc-total{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 10px; padding:12px 14px; border-radius:18px; background:var(--surface); font:600 12.5px/1.3 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-x-loc-total > span{ display:inline-flex; align-items:center; gap:6px; }
#rmbz-vip .pjs-x-loc-total .ms{ font-size:18px; color:var(--brand-ink); }
#rmbz-vip .pjs-x-loc-total b{ font-size:16px; color:var(--text); }
#rmbz-vip .pjs-x-loc > form{ margin:auto 0 0; display:flex; }
#rmbz-vip .pjs-x-loc .pjs-btn{ white-space:normal; text-align:center; }

#rmbz-vip .pjs-x-form{ display:flex; flex-direction:column; gap:12px; margin:0; }
#rmbz-vip .pjs-x-decision{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; padding:12px 14px; background:var(--elev); }
#rmbz-vip .pjs-x-decision-copy{ flex:1 1 200px; min-width:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; }
#rmbz-vip .pjs-x-decision-copy b{ font:700 13.5px/1.35 'Geist',system-ui,sans-serif; color:var(--text); }
#rmbz-vip .pjs-x-decision-copy .pjs-x-mono{ font-size:12.5px; color:var(--text2); }
#rmbz-vip .pjs-x-decision-copy small{ flex-basis:100%; font:400 12px/1.4 'Geist',system-ui,sans-serif; color:var(--muted); }
#rmbz-vip .pjs-x-seg{ display:inline-flex; flex-wrap:wrap; gap:4px; padding:4px; border-radius:100px; background:var(--surface); }
#rmbz-vip .pjs-x-seg-opt{ position:relative; display:inline-flex; cursor:pointer; }
#rmbz-vip .pjs-x-seg-opt input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
#rmbz-vip .pjs-x-seg-face{ display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 14px 0 10px; border-radius:100px; font:700 12.5px/1 'Geist',system-ui,sans-serif; color:var(--text2); white-space:nowrap;
  transition:background-color calc(200ms*var(--k,1)) var(--ease-effect,ease), color calc(200ms*var(--k,1)) var(--ease-effect,ease); }
#rmbz-vip .pjs-x-seg-face .ms{ font-size:17px; }
#rmbz-vip .pjs-x-seg-opt input:checked + .pjs-x-seg-face{ background:var(--brand); color:var(--on-brand); }
#rmbz-vip .pjs-x-seg-opt input:focus-visible + .pjs-x-seg-face{ outline:2px solid var(--brand); outline-offset:2px; }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   4. Formulários dentro dos cartões (abertos por «Propor outras datas», «Aceitar e validar», «Recusar»)
   O botão do painel troca style.display entre none e block, por isso o espaçamento é por margens.
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
#rmbz-vip .pjs-x-subform{ margin:0; padding:18px; border-radius:24px; background:var(--elev); }
#rmbz-vip .pjs-x-subform > * + *{ margin-top:14px; }
#rmbz-vip .pjs-x-subform .pjs-x-decision{ background:var(--surface); }
#rmbz-vip .pjs-x-subform .pjs-x-seg{ background:var(--elev); }
#rmbz-vip .pjs-x-fields{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; }
#rmbz-vip .pjs-x-field{ display:flex; flex-direction:column; gap:6px; min-width:0; font:600 12.5px/1.35 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-x-field-title{ font:700 13px/1.35 'Geist',system-ui,sans-serif; color:var(--text); }
#rmbz-vip .pjs-x-field .inp, #rmbz-vip .pjs-x-box .inp{ width:100%; min-height:48px; margin:0; padding:12px 14px; border:2px solid transparent; border-radius:16px; background:var(--surface); color:var(--text); font:500 14.5px/1.3 'Geist',system-ui,sans-serif; }
#rmbz-vip .pjs-x-field textarea.inp{ min-height:96px; resize:vertical; }
#rmbz-vip .pjs-x-field .inp:focus, #rmbz-vip .pjs-x-box .inp:focus{ border-color:var(--brand); outline:none; }
#rmbz-vip .pjs-x-field .inp[type="file"]{ padding:10px 12px; font-size:13px; }
#rmbz-vip .pjs-x-check.rvu-chk{ margin:0; border:0; border-radius:18px; background:var(--surface); color:var(--text2); }
#rmbz-vip .pjs-x-dialog .pjs-x-check.rvu-chk{ background:var(--elev); }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   5. Diálogos dos cartões (mesmos data-* e classes de antes; só o desenho muda)
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
#rmbz-vip .dialog.pjs-x-dialog{ border:0; border-radius:32px; background:var(--surface); color:var(--text); }
#rmbz-vip .dialog.pjs-x-dialog:not(.team-builder):not(.project-quiz-dialog):not(.rmbz-vterms-modal):not(.pjs-k-doc){ padding:24px; }
#rmbz-vip .dialog.pjs-x-dialog--wide{ width:min(600px,calc(100vw - 32px)); max-width:600px; }
#rmbz-vip .pjs-x-dhead{ display:flex; align-items:center; gap:12px; margin:0 0 14px; }
#rmbz-vip .pjs-x-dhead > div{ flex:1 1 auto; min-width:0; }
#rmbz-vip .pjs-x-dtitle{ margin:0; font:800 20px/1.15 'Bricolage Grotesque','Geist',sans-serif; color:var(--text); }
#rmbz-vip .pjs-x-dsub{ margin:2px 0 0; font:400 12.5px/1.4 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-x-dclose{ width:44px; height:44px; flex:none; display:inline-flex; align-items:center; justify-content:center; padding:0; border:0; border-radius:50%; background:var(--elev); color:var(--text2); cursor:pointer; }
#rmbz-vip .pjs-x-dclose:hover{ background:var(--highest); }
#rmbz-vip .pjs-x-dclose .ms{ font-size:22px; }
#rmbz-vip .pjs-x-dfoot{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin:16px 0 0; }
#rmbz-vip .pjs-x-dfoot > .pjs-btn{ flex:1 1 auto; }
#rmbz-vip .pjs-x-dialog > .pjs-x-text{ margin:0 0 12px; }
#rmbz-vip .pjs-x-terms{ margin:0 0 14px; padding-left:20px; font:400 12.5px/1.6 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-x-terms b{ color:var(--text); }
#rmbz-vip .pjs-x-box{ display:flex; flex-direction:column; gap:10px; margin:0 0 12px; padding:14px; border-radius:20px; background:var(--elev); }
#rmbz-vip .pjs-x-box-title{ display:flex; align-items:center; gap:7px; font:700 13px/1.3 'Geist',system-ui,sans-serif; color:var(--text); }
#rmbz-vip .pjs-x-box-title .ms{ font-size:18px; color:var(--brand-ink); }
/* Teste das regras: opções sem borda, a escolhida em Brand. */
#rmbz-vip .pjs-x-dialog .project-quiz-dialog-head{ align-items:center; margin:0; }
#rmbz-vip .pjs-x-dialog .project-quiz-q legend{ font:700 16px/1.4 'Geist',system-ui,sans-serif; }
#rmbz-vip .pjs-x-dialog .project-quiz-opt{ min-height:48px; border:0; border-radius:18px; background:var(--elev); }
#rmbz-vip .pjs-x-dialog .project-quiz-opt:hover{ background:var(--highest); }
#rmbz-vip .pjs-x-dialog .project-quiz-letter{ background:var(--surface); }
#rmbz-vip .pjs-x-dialog .project-quiz-opt:has(input:checked){ background:var(--brand-soft); box-shadow:0 0 0 2px var(--brand); }
#rmbz-vip .pjs-x-dialog .project-quiz-sec.is-project{ color:var(--brand-ink); }
#rmbz-vip .pjs-t-bar{ height:8px; border-radius:8px; background:var(--highest); }
#rmbz-vip .pjs-t-bar span{ border-radius:8px; }
#rmbz-vip .pjs-x-dialog .project-quiz-nav{ flex-wrap:wrap; }
#rmbz-vip .pjs-x-dialog [data-quiz-submit].is-busy{ opacity:.7; pointer-events:none; }
/* Equipa: o construtor mantém o desenho dele (vip-artist-team.js), com os cantos e o cabeçalho novos. */
#rmbz-vip .dialog.team-builder.pjs-x-dialog .team-builder-head{ align-items:flex-start; margin:0; }
#rmbz-vip .dialog.team-builder.pjs-x-dialog .team-builder-head > div{ flex:1 1 auto; min-width:0; }
/* Contrato original e Termos. */
#rmbz-vip .dialog.pjs-k-doc{ width:min(860px,96vw); max-width:none; height:min(88vh,940px); display:flex; flex-direction:column; padding:18px 20px; }
#rmbz-vip .pjs-k-doc .pjs-x-dhead{ flex-wrap:wrap; }
#rmbz-vip .pjs-k-doc-view{ flex:1 1 auto; min-height:0; border-radius:20px; background:var(--elev); overflow:hidden; }
#rmbz-vip .pjs-k-doc-view object{ display:block; width:100%; height:100%; }
#rmbz-vip .pjs-k-doc-img{ height:100%; overflow:auto; padding:14px; text-align:center; }
#rmbz-vip .pjs-k-doc-img img{ max-width:100%; border-radius:12px; }
#rmbz-vip .pjs-k-doc-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; height:100%; padding:32px; text-align:center; }
#rmbz-vip .pjs-k-doc-empty > .ms{ font-size:40px; color:var(--muted); }
#rmbz-vip .pjs-k-doc-empty p{ margin:0; font:400 13px/1.5 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .dialog.pjs-k-terms{ border-radius:32px; }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   6. Teste das regras (T; spec §15)
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
#rmbz-vip .pjs-t-card{ gap:14px; }
#rmbz-vip .pjs-row2 > .pjs-t-card--pass{ flex:1 1 260px; }
#rmbz-vip .pjs-t-top{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
#rmbz-vip .pjs-t-copy{ flex:1 1 220px; min-width:0; display:flex; flex-direction:column; gap:4px; }
#rmbz-vip .pjs-t-kicker{ display:flex; align-items:center; gap:5px; font:700 12px/1.3 'Geist',system-ui,sans-serif; color:var(--tone-ink,var(--text2)); }
#rmbz-vip .pjs-t-kicker .ms{ font-size:16px; }
#rmbz-vip .pjs-t-title{ margin:0; font:800 21px/1.12 'Bricolage Grotesque','Geist',sans-serif; color:var(--text); text-wrap:balance; }
#rmbz-vip .pjs-t-text{ margin:0; font:400 13px/1.5 'Geist',system-ui,sans-serif; color:var(--text2); text-wrap:pretty; }
#rmbz-vip .vx-cookie__fg.pjs-t-score{ flex-direction:column; line-height:1; color:var(--tone-on,#FFFFFF); text-align:center; }
#rmbz-vip .pjs-t-score b{ font:800 21px/1 'Bricolage Grotesque','Geist',sans-serif; }
#rmbz-vip .pjs-t-score small{ margin-top:2px; font:600 10px/1 'Geist',system-ui,sans-serif; }
#rmbz-vip .pjs-t-missed{ padding:14px 16px; border-radius:20px; background:var(--elev); }
#rmbz-vip .pjs-t-missed-title{ display:flex; align-items:center; gap:6px; margin-bottom:8px; font:700 12.5px/1.3 'Geist',system-ui,sans-serif; color:var(--text); }
#rmbz-vip .pjs-t-missed-title .ms{ font-size:17px; color:var(--danger-ink); }
#rmbz-vip .pjs-t-missed ul{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
#rmbz-vip .pjs-t-missed li{ display:flex; align-items:flex-start; gap:8px; font:400 12.5px/1.45 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-t-missed li > .ms{ flex:none; font-size:17px; color:var(--danger-ink); }
#rmbz-vip .pjs-t-missed small{ display:block; font-size:11px; color:var(--muted); }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   7. Datas de gravação (D; spec §14) e dias de filmagem
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
/* As larguras do protótipo só valem lado a lado (.pjs-row2); sozinho na coluna o cartão ocupa a largura toda. */
#rmbz-vip .pjs-row2 > .pjs-d-card{ flex:2 1 380px; }
#rmbz-vip .pjs-d-dates{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; }
#rmbz-vip .pjs-d-date{ display:flex; align-items:center; gap:12px; min-width:0; padding:16px; border-radius:22px; background:var(--elev); }
#rmbz-vip .pjs-d-date-ico{ width:42px; height:42px; flex:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--surface); }
#rmbz-vip .pjs-d-date-ico .ms{ font-size:22px; }
#rmbz-vip .pjs-d-date--start .pjs-d-date-ico{ color:var(--success-ink); }
#rmbz-vip .pjs-d-date--end .pjs-d-date-ico{ color:var(--danger-ink); }
#rmbz-vip .pjs-d-date-copy{ display:flex; flex-direction:column; gap:2px; min-width:0; }
#rmbz-vip .pjs-d-date-copy small{ font:400 12px/1.3 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-d-date-copy b{ font:700 18px/1.15 'JetBrains Mono',ui-monospace,monospace; color:var(--text); white-space:nowrap; }
#rmbz-vip .pjs-d-swap{ display:flex; flex-direction:column; }
#rmbz-vip .pjs-d-term{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:14px 16px; border-radius:22px; background:var(--tone-soft,var(--elev)); color:var(--tone-ink,var(--text)); }
#rmbz-vip .pjs-d-term-copy{ flex:1 1 160px; min-width:0; display:flex; flex-direction:column; gap:1px; }
#rmbz-vip .pjs-d-term-copy b{ font:700 13.5px/1.3 'Geist',system-ui,sans-serif; color:inherit; }
#rmbz-vip .pjs-d-term-copy small{ font:400 12.5px/1.4 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-d-term-ico{ width:44px; height:44px; flex:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--tone,var(--muted)); color:var(--tone-on,#FFFFFF); }
#rmbz-vip .pjs-d-term-ico .ms{ font-size:22px; }

#rmbz-vip .pjs-x-day{ background:var(--elev); overflow:hidden; }
#rmbz-vip .pjs-x-day > summary{ list-style:none; cursor:pointer; flex-wrap:wrap; border-radius:0; background:transparent; }
#rmbz-vip .pjs-x-day > summary::-webkit-details-marker{ display:none; }
#rmbz-vip .pjs-x-day > summary > .pjs-chip{ margin-left:auto; }
#rmbz-vip .pjs-x-day .pjs-row-ico .pjs-x-initial{ font-size:12px; }
#rmbz-vip .pjs-x-day .pjs-row-copy > small{ display:flex; flex-wrap:wrap; align-items:center; gap:2px 4px; }
#rmbz-vip .pjs-x-day .pjs-row-copy > small .ms{ font-size:14px; color:var(--muted); }
#rmbz-vip .pjs-x-day-chev{ flex:none; font-size:22px; color:var(--muted); transition:transform calc(200ms*var(--k,1)) var(--ease-effect,ease); }
#rmbz-vip .pjs-x-day[open] .pjs-x-day-chev{ transform:rotate(180deg); }
#rmbz-vip .pjs-x-day-body{ display:flex; flex-direction:column; gap:12px; padding:0 14px 14px; }
#rmbz-vip .pjs-x-day-next{ display:flex; align-items:center; gap:6px; font:600 12.5px/1.4 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-x-day-next .ms{ font-size:17px; color:var(--info-ink); }
#rmbz-vip .pjs-x-day-empty{ font:400 12.5px/1.45 'Geist',system-ui,sans-serif; color:var(--muted); }
#rmbz-vip .pjs-x-day-group{ display:flex; flex-direction:column; gap:8px; }
#rmbz-vip .pjs-x-day-group-head{ display:flex; align-items:center; gap:6px; font:700 12.5px/1.3 'Geist',system-ui,sans-serif; color:var(--text); }
#rmbz-vip .pjs-x-day-group-head .ms{ font-size:17px; color:var(--info-ink); }
#rmbz-vip .pjs-x-people{ display:flex; flex-wrap:wrap; gap:8px; }
#rmbz-vip .pjs-x-person{ display:inline-flex; align-items:center; gap:8px; min-width:0; max-width:100%; padding:6px 14px 6px 6px; border-radius:100px; background:var(--surface); }
#rmbz-vip .pjs-x-person-av{ width:32px; height:32px; flex:none; border-radius:50%; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; background:var(--info); color:#FFFFFF; font:800 13px/1 'Geist',system-ui,sans-serif; }
#rmbz-vip .pjs-x-person-av img{ width:100%; height:100%; object-fit:cover; display:block; }
#rmbz-vip .pjs-x-person-copy{ display:flex; flex-direction:column; min-width:0; }
#rmbz-vip .pjs-x-person-copy b{ font:700 12.5px/1.25 'Geist',system-ui,sans-serif; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#rmbz-vip .pjs-x-person-copy small{ font:400 11px/1.3 'Geist',system-ui,sans-serif; color:var(--muted); }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   8. Contrato e identidade (K; spec §16), contas geridas
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
#rmbz-vip .pjs-row2 > .pjs-k-card, #rmbz-vip .pjs-row2 > .pjs-k-managed{ flex:1 1 320px; }
#rmbz-vip .pjs-k-rows{ display:flex; flex-direction:column; gap:8px; }
#rmbz-vip .pjs-k-rows:not(:has(> *)){ display:none; }
/* Prazo a terminar: o desenho do prazo de pagamento, no último dia (vermelho e contorno). */
#rmbz-vip .pjs-k-deadline{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:16px 18px; border-radius:24px; background:var(--surface); box-shadow:0 0 0 2px var(--danger); }
#rmbz-vip .pjs-k-deadline-copy{ flex:1 1 200px; min-width:0; display:flex; flex-direction:column; gap:2px; }
#rmbz-vip .pjs-k-deadline-kicker{ display:flex; align-items:center; gap:5px; font:700 12px/1.3 'Geist',system-ui,sans-serif; color:var(--danger-ink); }
#rmbz-vip .pjs-k-deadline-kicker .ms{ font-size:16px; }
#rmbz-vip .pjs-k-deadline-copy > b{ font:800 18px/1.15 'Bricolage Grotesque','Geist',sans-serif; color:var(--text); }
#rmbz-vip .pjs-k-deadline-warn{ display:flex; align-items:flex-start; gap:5px; font:400 12.5px/1.4 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-k-deadline-warn .ms{ flex:none; font-size:15px; color:var(--danger); margin-top:1px; }
#rmbz-vip .pjs-k-terms-note{ margin:0; }
#rmbz-vip .pjs-k-sub{ display:flex; align-items:center; gap:12px; }
#rmbz-vip .pjs-k-sub .pjs-sq{ width:40px; height:40px; border-radius:14px; }
#rmbz-vip .pjs-k-sub .pjs-sq > .ms{ font-size:21px; }
#rmbz-vip .pjs-k-sub b{ display:block; font:700 14px/1.3 'Geist',system-ui,sans-serif; color:var(--text); }
#rmbz-vip .pjs-k-sub small{ display:block; font:400 12.5px/1.4 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-k-steps{ display:flex; flex-direction:column; gap:8px; margin:0; padding:0; list-style:none; }
#rmbz-vip .pjs-k-steps li{ display:flex; align-items:flex-start; gap:8px; font:400 13px/1.5 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-k-steps li > .ms{ flex:none; font-size:18px; color:var(--info-ink); margin-top:1px; }
#rmbz-vip .pjs-k-steps b{ color:var(--text); }
#rmbz-vip .pjs-k-reject{ background:var(--danger-soft); }
/* Contas geridas: os cartões da produção financiada e do conceito vêm dos módulos, no desenho novo. */
#rmbz-vip .pjs-k-managed{ min-width:0; display:flex; flex-direction:column; gap:20px; }
#rmbz-vip .pjs-k-managed > .project-section-card{ margin:0; padding:24px; border:0; border-radius:32px; background:var(--surface); }
#rmbz-vip .pjs-k-managed .project-section-head{ gap:12px; margin-bottom:16px; }
#rmbz-vip .pjs-k-managed .project-section-icon{ width:48px; height:48px; flex:0 0 48px; border-radius:16px; background:var(--brand-soft); color:var(--brand-ink); font-size:24px; }
#rmbz-vip .pjs-k-managed .project-section-title{ font:800 20px/1.1 'Bricolage Grotesque','Geist',sans-serif; color:var(--text); }
#rmbz-vip .pjs-k-managed .project-section-subtitle{ font:400 12.5px/1.45 'Geist',system-ui,sans-serif; color:var(--text2); }
#rmbz-vip .pjs-k-managed .project-state{ border:0; border-radius:20px; }
#rmbz-vip .pjs-k-managed .project-state.info .project-state-title, #rmbz-vip .pjs-k-managed .project-state.info .project-state-icon{ color:var(--info-ink); }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   9. Visão criativa (V; spec §17) e documentos
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
#rmbz-vip .pjs-v-card{ gap:14px; }
#rmbz-vip .pjs-row2 > .pjs-v-card{ flex:1 1 280px; }
#rmbz-vip .pjs-v-card .pjs-sq--surface{ color:var(--brand-ink); }
#rmbz-vip .pjs-v-quote{ display:flex; gap:10px; margin:0; padding:16px; border-radius:20px; background:var(--surface); }
#rmbz-vip .pjs-v-quote > .ms{ flex:none; font-size:22px; color:var(--brand-ink); }
#rmbz-vip .pjs-v-text{ min-width:0; font:400 14.5px/1.5 'Geist',system-ui,sans-serif; color:var(--text); white-space:pre-line; overflow-wrap:anywhere; }

#rmbz-vip .pjs-x-doc{ flex-wrap:wrap; }
#rmbz-vip .pjs-x-doc > .pjs-row-copy{ flex:1 1 160px; }
#rmbz-vip .pjs-x-doc > .pjs-btn{ margin-left:auto; }
#rmbz-vip .pjs-x-plan{ display:flex; flex-direction:column; gap:4px; }
#rmbz-vip .pjs-x-plan > .pjs-row{ border-radius:18px 18px 6px 6px; }
#rmbz-vip .pjs-x-plan-text{ max-height:160px; overflow-y:auto; padding:14px 16px; border-radius:6px 6px 18px 18px; background:var(--elev); font:400 13px/1.6 'Geist',system-ui,sans-serif; color:var(--text2); white-space:pre-line; overflow-wrap:anywhere; }

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   10. Telemóvel (< 700 px): cartões com 20/18 px por dentro nos grandes, botões a toda a largura
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
@media (max-width:699px){
  #rmbz-vip .pjs-t-card.pjs-card--lg{ padding:20px 18px; }
  #rmbz-vip .pjs-x-actions > .pjs-btn, #rmbz-vip .pjs-x-actions > form{ flex:1 1 100%; }
  #rmbz-vip .pjs-x-actions > form > .pjs-btn{ width:100%; }
  #rmbz-vip .pjs-x-actions .pjs-btn{ white-space:normal; text-align:center; }
  #rmbz-vip .pjs-x-seg{ width:100%; flex-wrap:nowrap; }
  #rmbz-vip .pjs-x-seg-opt{ flex:1 1 0; min-width:0; }
  #rmbz-vip .pjs-x-seg-face{ width:100%; justify-content:center; gap:4px; padding:4px 10px 4px 8px; font-size:12px; line-height:1.15; white-space:normal; text-align:center; }
  #rmbz-vip .pjs-x-loc-total b{ font-size:15px; }
  #rmbz-vip .pjs-k-deadline{ padding:14px; }
  #rmbz-vip .pjs-x-doc > .pjs-btn{ margin-left:0; width:100%; }
  #rmbz-vip .dialog.pjs-x-dialog:not(.team-builder):not(.project-quiz-dialog):not(.rmbz-vterms-modal):not(.pjs-k-doc){ padding:20px 18px; }
  #rmbz-vip .dialog.pjs-k-doc{ padding:14px; }
}
