.tt-required-docs-card { border-color: rgba(31,125,91,.28); background: linear-gradient(145deg,rgba(238,250,245,.92),rgba(255,255,255,.98)); }
.tt-required-docs-card .tt-site-card-eyebrow { color:#167a58; }
.tt-required-docs-shell { max-width:1120px; margin:0 auto; }
.tt-required-docs-panel { display:grid; gap:20px; }
.tt-required-docs-titlebar { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.tt-required-docs-kicker { color:#167a58; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.tt-required-docs-title { margin:5px 0 4px; color:#111827; font-size:clamp(26px,4vw,38px); line-height:1.05; letter-spacing:-.035em; }
.tt-required-docs-sub { color:#64746f; font-size:15px; line-height:1.5; max-width:720px; }
.tt-required-docs-back { flex:0 0 auto; }
.tt-required-docs-coverage { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:16px 18px; border:1px solid #cfe3da; border-radius:18px; background:#f4fbf8; }
.tt-required-docs-coverage.is-off { border-color:#f2cf83; background:#fff9ec; }
.tt-required-docs-coverage strong { display:block; color:#19332a; font-size:15px; }
.tt-required-docs-coverage span { display:block; margin-top:3px; color:#65756f; font-size:13px; line-height:1.45; }
.tt-required-docs-counts { display:flex; flex-wrap:wrap; gap:8px; }
.tt-required-docs-count { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; background:#eef4f1; color:#33463f; font-size:12px; font-weight:800; }
.tt-required-docs-list { display:grid; gap:14px; }
.tt-required-doc { border:1px solid #dce7e2; border-radius:22px; background:#fff; overflow:hidden; box-shadow:0 10px 28px rgba(15,23,42,.035); }
.tt-required-doc-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:18px; }
.tt-required-doc-source { color:#167a58; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.tt-required-doc-name { margin-top:5px; color:#17212d; font-size:20px; font-weight:900; line-height:1.2; }
.tt-required-doc-purpose { margin-top:6px; color:#66756f; font-size:14px; line-height:1.48; }
.tt-required-doc-status { align-self:start; padding:7px 11px; border-radius:999px; font-size:12px; font-weight:900; white-space:nowrap; background:#edf1ef; color:#44534d; }
.tt-required-doc-status.is-complete,.tt-required-doc-status.is-not_applicable { background:#def4e8; color:#146c4d; }
.tt-required-doc-status.is-under_review,.tt-required-doc-status.is-expiring_soon,.tt-required-doc-status.is-not_yet_effective { background:#fff0c9; color:#80570c; }
.tt-required-doc-status.is-expired,.tt-required-doc-status.is-missing { background:#fee8e5; color:#9b2c25; }
.tt-required-doc-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 18px 16px; }
.tt-required-doc-meta div { min-width:0; padding:11px 12px; border-radius:14px; background:#f6f8f7; }
.tt-required-doc-meta span { display:block; color:#7a8883; font-size:10px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.tt-required-doc-meta strong { display:block; margin-top:4px; color:#26342f; font-size:13px; line-height:1.35; }
.tt-required-doc-actions { display:flex; flex-wrap:wrap; gap:9px; padding:14px 18px 18px; border-top:1px solid #edf1ef; }
.tt-required-doc-history { padding:0 18px 18px; }
.tt-required-doc-history summary { cursor:pointer; color:#40514a; font-size:13px; font-weight:850; }
.tt-required-doc-history-list { display:grid; gap:8px; margin-top:10px; }
.tt-required-doc-history-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:10px 12px; border-radius:12px; background:#f7f9f8; color:#54645e; font-size:12px; }
.tt-required-doc-history-row strong { color:#25332e; }
.tt-required-doc-history-row.is-rejected { background:#fff1ef; }
.tt-required-doc-empty { padding:36px 20px; border:1px dashed #cfdad5; border-radius:20px; text-align:center; color:#687771; }
.tt-required-doc-loading { padding:38px 20px; text-align:center; color:#687771; font-weight:750; }
.tt-required-doc-modal { position:fixed; inset:0; z-index:10040; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(15,23,42,.42); backdrop-filter:blur(8px); }
.tt-required-doc-modal-card { width:min(560px,100%); max-height:min(760px,90vh); overflow:auto; padding:22px; border-radius:24px; background:#fff; box-shadow:0 30px 90px rgba(15,23,42,.22); }
.tt-required-doc-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.tt-required-doc-modal-title { color:#17212d; font-size:22px; font-weight:950; letter-spacing:-.025em; }
.tt-required-doc-modal-copy { margin-top:4px; color:#6b7974; font-size:13px; line-height:1.45; }
.tt-required-doc-close { width:38px; height:38px; border:0; border-radius:50%; background:#f0f4f2; color:#33433d; font-size:22px; cursor:pointer; }
.tt-required-doc-form { display:grid; gap:14px; margin-top:18px; }
.tt-required-doc-field { display:grid; gap:6px; color:#34453e; font-size:12px; font-weight:850; }
.tt-required-doc-input { width:100%; box-sizing:border-box; padding:12px 13px; border:1px solid #cfdad5; border-radius:12px; background:#fff; color:#17212d; font:inherit; font-size:14px; }
textarea.tt-required-doc-input { min-height:100px; resize:vertical; }
.tt-required-doc-form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:4px; }
.tt-required-doc-note { padding:11px 12px; border-radius:12px; background:#f7f9f8; color:#687771; font-size:12px; line-height:1.45; }
.tt-required-doc-note.is-warning { background:#fff7e6; color:#795817; }
@media (max-width:720px) {
  .tt-required-docs-titlebar,.tt-required-docs-coverage { flex-direction:column; }
  .tt-required-docs-meta { grid-template-columns:1fr; }
  .tt-required-doc-head { grid-template-columns:1fr; }
  .tt-required-doc-status { justify-self:start; }
  .tt-required-doc-history-row { flex-direction:column; gap:4px; }
}

/* Fill the control-centre canvas instead of sizing to document content. */
@media(min-width:901px){
  #screenAdmin .tt-required-docs-shell{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }
}
