
/* Hootag · Project Requirements Matrix Core · CP03.3 C13 */
.project-req-card{margin-top:16px}
.project-req-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 14px}
.project-req-summary>div{padding:10px 12px;border:1px solid var(--border,#d3dde7);border-radius:12px;background:#fff}
.project-req-summary b{display:block;font-size:17px;color:#17324d}
.project-req-summary small{font-size:10px;color:var(--muted,#718197);text-transform:uppercase;letter-spacing:.04em}
.project-req-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 14px}
.project-req-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.project-req-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}
.project-req-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#718197);padding:9px 10px;border-bottom:1px solid var(--border,#d3dde7)}
.project-req-table td{padding:10px;border-bottom:1px solid #e6ecf2;vertical-align:middle;font-size:12px}
.project-req-table tr:last-child td{border-bottom:0}
.project-req-title{font-weight:700;color:#1d2e42}
.project-req-sub{display:block;margin-top:2px;font-size:10px;color:var(--muted,#718197)}
.project-req-select{min-width:135px;border:1px solid var(--border,#d3dde7);border-radius:9px;background:#fff;padding:7px}
.project-req-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f6;color:#52667d;font-size:10px;font-weight:700}
.project-req-chip.approved{background:#e8f6ef;color:#256a4c}
.project-req-chip.observed{background:#fdeced;color:#9c3741}
.project-req-chip.under_review{background:#e8f1fb;color:#245d8a}
.project-req-chip.received{background:#eef6ff;color:#3e658a}
.project-req-chip.waived{background:#f3f3f3;color:#666}
.project-req-actions{display:flex;gap:6px}
.project-req-actions button{border:1px solid var(--border,#d3dde7);background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer}
.project-req-modal-backdrop{position:fixed;inset:0;z-index:260;background:rgba(11,26,42,.48);display:flex;align-items:center;justify-content:center;padding:20px}
.project-req-modal{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.project-req-modal h3{margin:0 0 14px}
.project-req-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.project-req-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#60758c}
.project-req-form .full{grid-column:1/-1}
.project-req-form input,.project-req-form select,.project-req-form textarea{border:1px solid var(--border,#d3dde7);border-radius:10px;padding:9px;font:inherit;background:#fff}
.project-req-form textarea{min-height:86px;resize:vertical}
.project-req-checks{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.project-req-checks label{flex-direction:row;align-items:center;color:#283c52}
.project-req-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.project-req-empty{padding:20px;text-align:center;color:var(--muted,#718197);border:1px dashed var(--border,#d3dde7);border-radius:12px}
@media(max-width:700px){
 .project-req-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-req-form{grid-template-columns:1fr}
 .project-req-form .full{grid-column:auto}
}


/* CP03.3 C15 · Recaudos + Document Core safe integration */
.project-req-head{align-items:flex-start}
.project-req-definition{max-width:780px;margin:5px 0 0;color:var(--muted,#718197);font-size:12px;line-height:1.5}
.project-req-modal{color:#17283b;background:#fff}
.project-req-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}
.project-req-modal-head small{display:block;color:#60758c;font-size:10px;letter-spacing:.06em}
.project-req-modal-head h3{margin:3px 0 0;color:#17283b;font-size:22px}
.project-req-close{width:36px;height:36px;border:1px solid #d3dde7;border-radius:10px;background:#fff;color:#42566d;font-size:22px;line-height:1;cursor:pointer}
.project-req-modal-help{margin:0 0 15px;color:#61758a;font-size:12px;line-height:1.5}
.project-req-modal-actions{border-top:1px solid #e3e9ef;padding-top:14px;display:flex;justify-content:flex-end;gap:8px}
.project-req-button{min-height:42px;padding:0 16px;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}
.project-req-button.secondary{border:1px solid #cbd7e2;background:#fff;color:#26394f}
.project-req-button.secondary:hover{background:#f4f7fa}
.project-req-button.primary{border:1px solid #185b91;background:#185b91;color:#fff;box-shadow:0 4px 12px rgba(24,91,145,.16)}
.project-req-button.primary:hover{background:#124e7e}
.project-req-button.danger{border:1px solid #b73c47;background:#b73c47;color:#fff}
.project-req-button:disabled{opacity:.55;cursor:wait}
.project-req-document-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.project-req-document-option{display:flex;flex-direction:column;gap:5px;text-align:left;padding:15px;border:1px solid #cfdbe6;border-radius:13px;background:#fff;color:#1b2e43;cursor:pointer}
.project-req-document-option:hover{background:#f7fbff;border-color:#8fb1ce}
.project-req-document-option b{font-size:13px}
.project-req-document-option span{font-size:11px;color:#6b7f94;line-height:1.4}
.project-req-document-state{margin-top:12px;color:#61758a;font-size:12px}
.project-req-document-state.ok{padding:10px;border-radius:9px;background:#eaf7f0;color:#256a4c}
.project-req-document-state.error{padding:10px;border-radius:9px;background:#fdeced;color:#9c3741}
.project-req-library-list{display:grid;gap:7px;max-height:330px;overflow:auto;margin-top:10px}
.project-req-library-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d5dfe8;border-radius:10px;background:#fff;text-align:left;cursor:pointer}
.project-req-library-list button:hover{background:#f7fbff;border-color:#92afc8}
.project-req-library-list button span:first-child{display:flex;flex-direction:column;gap:2px}
.project-req-library-list small{color:#728398}
.project-req-confirm-modal{max-width:520px}
@media(max-width:700px){
 .project-req-document-actions{grid-template-columns:1fr}
 .project-req-modal-actions{position:sticky;bottom:0;background:#fff}
}


/* CP03.3 C15A · searchable Library Picker */
.project-req-library-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:12px 0 9px}
.project-req-library-tools label{display:flex;flex-direction:column;gap:5px;flex:1;color:#60758c;font-size:11px}
.project-req-library-tools input[type="search"]{width:100%;min-height:42px;padding:9px 12px;border:1px solid #cbd8e4;border-radius:10px;background:#fff;color:#17283b;font:inherit;outline:none}
.project-req-library-tools input[type="search"]:focus{border-color:#4e88b5;box-shadow:0 0 0 3px rgba(43,112,163,.10)}
.project-req-library-tools small{color:#718197;white-space:nowrap;padding-bottom:10px}
.project-req-library-list{scrollbar-gutter:stable}
.project-req-library-list button[disabled]{opacity:.58;cursor:wait}
@media(max-width:700px){
 .project-req-library-tools{align-items:stretch;flex-direction:column}
 .project-req-library-tools small{padding-bottom:0}
}


/* CP03.3 C15B · responsive Recaudos table */
@media (max-width: 1180px){
  .project-req-table-wrap{overflow:visible!important}
  .project-req-table,
  .project-req-table tbody,
  .project-req-table tr,
  .project-req-table td{display:block;width:100%}
  .project-req-table thead{display:none}
  .project-req-table tbody{display:grid;gap:10px}
  .project-req-table tr{
    border:1px solid #dce5ed;
    border-radius:12px;
    padding:10px 12px;
    background:#fff;
  }
  .project-req-table td{
    display:grid;
    grid-template-columns:minmax(105px,135px) minmax(0,1fr);
    align-items:center;
    gap:10px;
    border:0!important;
    padding:7px 0!important;
  }
  .project-req-table td:first-child{display:block;padding-top:2px!important}
  .project-req-table td:not(:first-child)::before{
    content:attr(data-label);
    font-size:10px;
    font-weight:700;
    letter-spacing:.035em;
    text-transform:uppercase;
    color:#718197;
  }
  .project-req-select{width:100%;max-width:260px;justify-self:end}
  .project-req-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
  }
  .project-req-actions button{min-height:36px}
}
@media (max-width:640px){
  .project-req-table td{grid-template-columns:1fr;gap:4px}
  .project-req-select{max-width:none;justify-self:stretch}
  .project-req-actions{justify-content:stretch}
  .project-req-actions button{flex:1 1 auto}
}


/* CP03.3 C15C · containment correction for responsive Recaudos */
@media (max-width:1180px){
  .project-req-table-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .project-req-table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    box-sizing:border-box!important;
  }
  .project-req-table tbody{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .project-req-table tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .project-req-table td{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .project-req-table td>*{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .project-req-select{
    min-width:0!important;
    width:min(100%,260px)!important;
    max-width:100%!important;
  }
  .project-req-actions{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
  }
  .project-req-actions button{
    max-width:100%!important;
    white-space:normal!important;
  }
}


/* CP03.3 C16 · Client Request / Private Link */
.project-req-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.project-req-request-list{display:grid;gap:7px;max-height:280px;overflow:auto;padding:9px;border:1px solid #d7e0e8;border-radius:11px;background:#f8fafc}
.project-req-request-list>label{display:flex;align-items:flex-start;gap:9px;padding:9px;border-radius:9px;background:#fff;border:1px solid #e2e8ef}
.project-req-request-list span{display:flex;flex-direction:column;gap:2px}
.project-req-request-list small{color:#718197}
.project-req-share-url{display:flex;flex-direction:column;gap:5px;color:#60758c;font-size:11px}
.project-req-share-url input{width:100%;padding:11px;border:1px solid #cbd8e4;border-radius:10px;background:#f8fafc}
.project-req-share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.project-req-share-actions a{text-decoration:none;display:inline-flex;align-items:center}
.project-req-toast{position:fixed;right:18px;bottom:18px;z-index:99999;background:#17283b;color:#fff;padding:11px 14px;border-radius:10px;box-shadow:0 12px 30px #0002}
@media(max-width:700px){
 .project-req-head-actions{width:100%;justify-content:stretch}
 .project-req-head-actions .r-btn{flex:1 1 100%}
 .project-req-share-actions{flex-direction:column}
 .project-req-share-actions>*{width:100%;justify-content:center}
}


/* CP03.3 C16 R3 · explicit text contrast for all Recaudos modals */
.project-req-modal,
.project-req-modal *{
  color:inherit;
}
.project-req-modal input:not([type="checkbox"]):not([type="radio"]),
.project-req-modal textarea,
.project-req-modal select,
.project-req-form input:not([type="checkbox"]):not([type="radio"]),
.project-req-form textarea,
.project-req-form select,
.project-req-share-url input{
  color:#17283b !important;
  -webkit-text-fill-color:#17283b !important;
  caret-color:#17283b !important;
  background:#ffffff !important;
  opacity:1 !important;
}
.project-req-modal input::placeholder,
.project-req-modal textarea::placeholder,
.project-req-form input::placeholder,
.project-req-form textarea::placeholder{
  color:#8a98a8 !important;
  -webkit-text-fill-color:#8a98a8 !important;
  opacity:1 !important;
}
.project-req-modal option{
  color:#17283b !important;
  background:#ffffff !important;
}


/* ============================================================
   CP03.3 · Candidate 16 R5
   LEGAL BRANDING MODAL CORRECTION
   Uses the REAL theme variables produced by themeVars(branding):
   --brand-primary / --brand-secondary / --brand-accent
   --app-bg / --surface / --surface-alt / --border / --text / --muted
   ============================================================ */

/* Shared modal inherits the ACTIVE ORGANIZATION tokens.
   In Abogado/Legal this resolves to the legal light/navy identity. */
.r-shell.organization-context .project-req-modal{
  color-scheme:light !important;
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
  background:var(--surface,#ffffff) !important;
  border:1px solid var(--border,#d9e1e8) !important;
  border-radius:16px !important;
  box-shadow:0 20px 55px rgba(24,36,51,.16) !important;
}

/* Never use Agency/neon gradients in organization modals. */
.r-shell.organization-context .project-req-modal::before{
  display:none !important;
  content:none !important;
}

/* Legal/modal header: sober, light and consistent with existing white cards. */
.r-shell.organization-context .project-req-modal-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin:0 0 10px !important;
  padding:0 0 12px !important;
  border-bottom:1px solid var(--border,#d9e1e8) !important;
  background:transparent !important;
}

.r-shell.organization-context .project-req-modal-head > div{
  min-width:0 !important;
  flex:1 1 auto !important;
}

.r-shell.organization-context .project-req-modal-head small{
  display:block !important;
  margin:0 0 4px !important;
  color:var(--brand-primary,#284062) !important;
  -webkit-text-fill-color:var(--brand-primary,#284062) !important;
  opacity:1 !important;
  font-size:10px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
}

.r-shell.organization-context .project-req-modal-head h3{
  margin:0 !important;
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
  opacity:1 !important;
  font-family:var(--font-heading,inherit) !important;
  font-size:22px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

/* Helper copy is intentionally subtle, NOT a white slab and never white text. */
.r-shell.organization-context .project-req-modal-help{
  display:block !important;
  margin:0 0 16px !important;
  padding:0 !important;
  color:var(--muted,#6f8092) !important;
  -webkit-text-fill-color:var(--muted,#6f8092) !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  opacity:1 !important;
  font-family:var(--font-body,inherit) !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

/* Close button: visible navy/neutral control on a white surface. */
.r-shell.organization-context .project-req-close{
  flex:0 0 38px !important;
  width:38px !important;
  min-width:38px !important;
  height:38px !important;
  margin:0 !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--brand-primary,#284062) !important;
  -webkit-text-fill-color:var(--brand-primary,#284062) !important;
  background:var(--surface,#ffffff) !important;
  border:1px solid var(--border,#d9e1e8) !important;
  border-radius:10px !important;
  box-shadow:none !important;
  opacity:1 !important;
  font-size:23px !important;
  font-weight:500 !important;
  line-height:1 !important;
}
.r-shell.organization-context .project-req-close:hover,
.r-shell.organization-context .project-req-close:focus-visible{
  color:var(--brand-primary,#284062) !important;
  -webkit-text-fill-color:var(--brand-primary,#284062) !important;
  background:var(--surface-alt,#f4f7f9) !important;
  border-color:var(--brand-secondary,#7597A1) !important;
  outline:2px solid color-mix(in srgb,var(--brand-secondary,#7597A1) 20%,transparent) !important;
  outline-offset:1px !important;
}

/* Labels + controls: legal light workspace, no inherited dark-shell colors. */
.r-shell.organization-context .project-req-form label,
.r-shell.organization-context .project-req-share-url,
.r-shell.organization-context .project-req-library-tools label{
  color:var(--muted,#66788a) !important;
  -webkit-text-fill-color:var(--muted,#66788a) !important;
  font-family:var(--font-ui,inherit) !important;
  font-weight:600 !important;
  opacity:1 !important;
}

.r-shell.organization-context .project-req-modal input:not([type="checkbox"]):not([type="radio"]),
.r-shell.organization-context .project-req-modal textarea,
.r-shell.organization-context .project-req-modal select{
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
  caret-color:var(--brand-primary,#284062) !important;
  background:var(--surface,#ffffff) !important;
  border:1px solid var(--border,#d9e1e8) !important;
  border-radius:10px !important;
  box-shadow:none !important;
  opacity:1 !important;
  font-family:var(--font-body,inherit) !important;
}

.r-shell.organization-context .project-req-modal input:not([type="checkbox"]):not([type="radio"]):focus,
.r-shell.organization-context .project-req-modal textarea:focus,
.r-shell.organization-context .project-req-modal select:focus{
  border-color:var(--brand-secondary,#7597A1) !important;
  outline:3px solid color-mix(in srgb,var(--brand-secondary,#7597A1) 16%,transparent) !important;
  outline-offset:0 !important;
}

.r-shell.organization-context .project-req-modal input::placeholder,
.r-shell.organization-context .project-req-modal textarea::placeholder{
  color:var(--muted,#768696) !important;
  -webkit-text-fill-color:var(--muted,#768696) !important;
  opacity:.72 !important;
}

/* Recaudos selector: white cards on a soft legal surface, not dark cards. */
.r-shell.organization-context .project-req-request-list{
  background:var(--surface-alt,#f5f7f9) !important;
  border:1px solid var(--border,#d9e1e8) !important;
  border-radius:12px !important;
}

.r-shell.organization-context .project-req-request-list > label{
  background:var(--surface,#ffffff) !important;
  border:1px solid var(--border,#d9e1e8) !important;
  border-radius:10px !important;
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
}

.r-shell.organization-context .project-req-request-list b{
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
}
.r-shell.organization-context .project-req-request-list small{
  color:var(--muted,#66788a) !important;
  -webkit-text-fill-color:var(--muted,#66788a) !important;
}

/* Checkbox accent follows the actual organization primary color. */
.r-shell.organization-context .project-req-modal input[type="checkbox"]{
  accent-color:var(--brand-primary,#284062) !important;
}

/* Footer/action styling matches the legal buttons already used in workspace. */
.r-shell.organization-context .project-req-modal-actions{
  margin-top:16px !important;
  padding-top:14px !important;
  border-top:1px solid var(--border,#d9e1e8) !important;
  background:transparent !important;
}

.r-shell.organization-context .project-req-button.primary{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:var(--brand-primary,#284062) !important;
  border-color:var(--brand-primary,#284062) !important;
  box-shadow:0 4px 12px color-mix(in srgb,var(--brand-primary,#284062) 20%,transparent) !important;
}
.r-shell.organization-context .project-req-button.primary:hover{
  filter:brightness(.94);
}

.r-shell.organization-context .project-req-button.secondary{
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
  background:var(--surface,#ffffff) !important;
  border-color:var(--border,#d9e1e8) !important;
}

/* Abogado/Legal safeguard:
   The legal workspace is explicitly light/navy according to the master design.
   This selector prevents accidental Agency purple/dark inheritance if an old
   global selector has higher specificity. Values still use active organization
   tokens first; documented legal fallbacks are only safety fallbacks. */
.r-shell.org-legal .project-req-modal{
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
  background:var(--surface,#ffffff) !important;
}
.r-shell.org-legal .project-req-modal-head small,
.r-shell.org-legal .project-req-close{
  color:var(--brand-primary,#284062) !important;
  -webkit-text-fill-color:var(--brand-primary,#284062) !important;
}
.r-shell.org-legal .project-req-button.primary{
  background:var(--brand-primary,#284062) !important;
  border-color:var(--brand-primary,#284062) !important;
}

/* Tablet/iPad: retain white-card legal look and safe touch spacing. */
@media(max-width:700px){
  .r-shell.organization-context .project-req-modal{
    width:min(100%,calc(100vw - 20px)) !important;
    max-height:calc(100dvh - 20px) !important;
    padding:16px !important;
    border-radius:15px !important;
  }
  .r-shell.organization-context .project-req-modal-head h3{
    font-size:20px !important;
  }
}


/* ============================================================
   CP03.3 · Candidate 16 R6
   Modal theme-scope correction.
   These modals live under <body>, not inside .r-shell.
   Theme tokens are now copied to the modal by JS and the styles
   below target the modal DIRECTLY.
   ============================================================ */

.project-req-modal.org-legal-modal{
  color-scheme:light !important;
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
  background:var(--surface,#ffffff) !important;
  border:1px solid var(--border,#d9e1e8) !important;
}

/* The exact text reported as unreadable. */
.project-req-modal.org-legal-modal .project-req-modal-help{
  display:block !important;
  color:var(--muted,#627487) !important;
  -webkit-text-fill-color:var(--muted,#627487) !important;
  opacity:1 !important;
  background:transparent !important;
  border:0 !important;
  text-shadow:none !important;
}

/* Exact close button reported as too pale. */
.project-req-modal.org-legal-modal .project-req-close{
  color:var(--brand-primary,#284062) !important;
  -webkit-text-fill-color:var(--brand-primary,#284062) !important;
  background:#ffffff !important;
  border:1px solid var(--border,#cfd9e2) !important;
  opacity:1 !important;
  filter:none !important;
  text-shadow:none !important;
  box-shadow:0 1px 2px rgba(24,36,51,.05) !important;
}
.project-req-modal.org-legal-modal .project-req-close:hover,
.project-req-modal.org-legal-modal .project-req-close:focus-visible{
  color:#1f3554 !important;
  -webkit-text-fill-color:#1f3554 !important;
  border-color:var(--brand-secondary,#7597A1) !important;
  background:var(--surface-alt,#f5f8fa) !important;
}

/* Titles/labels remain in the Legal light palette. */
.project-req-modal.org-legal-modal .project-req-modal-head h3,
.project-req-modal.org-legal-modal .project-req-request-list b{
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
}
.project-req-modal.org-legal-modal .project-req-modal-head small{
  color:var(--brand-primary,#284062) !important;
  -webkit-text-fill-color:var(--brand-primary,#284062) !important;
}
.project-req-modal.org-legal-modal .project-req-form label,
.project-req-modal.org-legal-modal .project-req-request-list small{
  color:var(--muted,#627487) !important;
  -webkit-text-fill-color:var(--muted,#627487) !important;
}

/* Controls stay white + dark text regardless of global shell. */
.project-req-modal.org-legal-modal input:not([type="checkbox"]):not([type="radio"]),
.project-req-modal.org-legal-modal textarea,
.project-req-modal.org-legal-modal select{
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
  caret-color:var(--brand-primary,#284062) !important;
  background:#ffffff !important;
  border-color:var(--border,#d9e1e8) !important;
  opacity:1 !important;
}

/* Request selector cards: white on light neutral. */
.project-req-modal.org-legal-modal .project-req-request-list{
  background:var(--surface-alt,#f5f7f9) !important;
  border-color:var(--border,#d9e1e8) !important;
}
.project-req-modal.org-legal-modal .project-req-request-list > label{
  background:#ffffff !important;
  color:var(--text,#243447) !important;
  -webkit-text-fill-color:var(--text,#243447) !important;
  border-color:var(--border,#d9e1e8) !important;
}


/* ============================================================
   CP03.3 · Candidate 16 R7
   Primary button text contrast fix for Legal Recaudos modals
   ============================================================ */
.project-req-modal.org-legal-modal .project-req-actions .btn-primary,
.project-req-modal.org-legal-modal .project-req-actions button[type="submit"],
.project-req-modal.org-legal-modal [data-create-request]{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.project-req-modal.org-legal-modal .project-req-actions .btn-primary *,
.project-req-modal.org-legal-modal .project-req-actions button[type="submit"] *,
.project-req-modal.org-legal-modal [data-create-request] *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.project-req-modal.org-legal-modal .project-req-actions .btn-primary:hover,
.project-req-modal.org-legal-modal .project-req-actions .btn-primary:focus-visible,
.project-req-modal.org-legal-modal .project-req-actions button[type="submit"]:hover,
.project-req-modal.org-legal-modal .project-req-actions button[type="submit"]:focus-visible,
.project-req-modal.org-legal-modal [data-create-request]:hover,
.project-req-modal.org-legal-modal [data-create-request]:focus-visible{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}


/* CP03.3 · Candidate 16 R8
   Exact primary button contrast fix.
   The modals use .project-req-button.primary, not .btn-primary.
*/
.project-req-modal.org-legal-modal .project-req-button.primary,
.project-req-modal.org-legal-modal button.project-req-button.primary,
.project-req-modal.org-legal-modal [data-save],
.project-req-modal.org-legal-modal [data-create-request]{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.project-req-modal.org-legal-modal .project-req-button.primary:hover,
.project-req-modal.org-legal-modal .project-req-button.primary:focus-visible,
.project-req-modal.org-legal-modal [data-save]:hover,
.project-req-modal.org-legal-modal [data-save]:focus-visible,
.project-req-modal.org-legal-modal [data-create-request]:hover,
.project-req-modal.org-legal-modal [data-create-request]:focus-visible{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}


/* CP03.5 · Candidate 18 · Review + Request Management */
.project-req-review-btn{font-weight:700!important;border-color:var(--brand-secondary,#7597A1)!important;color:var(--brand-primary,#284062)!important}
.project-req-review-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.project-req-status-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--surface-alt,#f3f6f8);border:1px solid var(--border,#d9e1e8);font-size:11px;color:var(--muted,#627487)}
.project-req-review-description{color:var(--muted,#627487);line-height:1.5}
.project-req-review-files{margin:12px 0}
.project-req-review-files h4{margin:0 0 7px;color:var(--text,#243447)}
.project-req-review-file{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--border,#d9e1e8);border-radius:10px;background:var(--surface-alt,#f7f9fb);margin-top:6px}
.project-req-review-file>span{display:flex;flex-direction:column;min-width:0}
.project-req-review-file small{color:var(--muted,#627487)}
.project-req-review-file>div{display:flex;gap:6px}
.project-req-review-file a{text-decoration:none;padding:6px 9px;border:1px solid var(--border,#d9e1e8);border-radius:8px;color:var(--brand-primary,#284062);background:#fff;font-weight:700}
.project-req-review-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.project-req-review-form .full{grid-column:1/-1}
.project-req-review-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--border,#d9e1e8)}
.project-req-button.warning{background:#fff7e8!important;border-color:#dfb568!important;color:#7e5210!important;-webkit-text-fill-color:#7e5210!important}
.project-req-request-manager{width:min(860px,calc(100vw - 28px))!important}
.project-req-request-card{padding:13px;border:1px solid var(--border,#d9e1e8);border-radius:12px;background:#fff;margin-top:9px}
.project-req-request-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.project-req-request-card-head>div{display:flex;flex-direction:column}
.project-req-request-card-head small{color:var(--muted,#627487);margin-top:3px}
.project-req-request-progress{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0;color:var(--muted,#627487);font-size:11px}
.project-req-request-card details{border-top:1px solid var(--border,#e1e7ec);padding-top:8px;margin-top:7px}
.project-req-request-card summary{cursor:pointer;color:var(--brand-primary,#284062);font-weight:700}
.project-req-request-edit{display:grid;grid-template-columns:1fr 180px;gap:9px;margin-top:9px}
.project-req-request-edit label{display:flex;flex-direction:column;gap:4px;color:var(--muted,#627487);font-size:11px}
.project-req-request-edit .full{grid-column:1/-1}
.project-req-request-edit input,.project-req-request-edit textarea{color:var(--text,#243447)!important;-webkit-text-fill-color:var(--text,#243447)!important;background:#fff!important;border:1px solid var(--border,#d9e1e8)!important;border-radius:9px!important;padding:9px!important}
.project-req-request-link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid var(--border,#e1e7ec)}
.project-req-request-link small{color:var(--muted,#627487)}
.project-req-request-link>div{display:flex;gap:7px;flex-wrap:wrap}
.project-req-request-share{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin-top:8px}
.project-req-request-share input{min-width:0;color:var(--text,#243447)!important;-webkit-text-fill-color:var(--text,#243447)!important;background:#fff!important;border:1px solid var(--border,#d9e1e8)!important;border-radius:9px!important;padding:8px!important}
.project-req-request-share button,.project-req-request-share a{padding:7px 9px;border:1px solid var(--border,#d9e1e8);border-radius:8px;background:#fff;color:var(--brand-primary,#284062);text-decoration:none;font-weight:700}
@media(max-width:700px){
 .project-req-review-form,.project-req-request-edit{grid-template-columns:1fr}
 .project-req-request-edit .full{grid-column:auto}
 .project-req-review-file,.project-req-request-link,.project-req-request-card-head{align-items:stretch;flex-direction:column}
 .project-req-review-file>div,.project-req-request-link>div{width:100%}
 .project-req-review-file a,.project-req-request-link button{flex:1;text-align:center}
 .project-req-review-actions{flex-direction:column}
 .project-req-review-actions button{width:100%}
 .project-req-request-share{grid-template-columns:1fr}
}


/* CP03.6 · Candidate 19 · Notification contract activity timeline */
.project-req-activity{margin-top:8px!important;border-top:1px solid var(--border,#e1e7ec)!important;padding-top:8px!important}
.project-req-activity summary{cursor:pointer;color:var(--brand-primary,#284062);font-weight:700}
.project-req-activity-list{margin-top:8px;display:grid;gap:6px}
.project-req-activity-row{display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;align-items:start}
.project-req-activity-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-secondary,#7597A1);margin-top:5px}
.project-req-activity-row>div{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.project-req-activity-row b{font-size:12px;color:var(--text,#243447)}
.project-req-activity-row small{font-size:11px;color:var(--muted,#627487)}

/* CP04 Candidate 29 · client channel availability */
.project-req-notification-state{margin:10px 0;padding:10px 12px;border-radius:10px;border:1px solid #dbe4ea;background:#f6f9fb;color:#526579;font-size:12px;line-height:1.5}
.project-req-notification-state.ok{background:#edf8f1;border-color:#cfe8d8;color:#267244}
