/* Communication Strategy Hub
   Layered on top of villa_hub_pack + lily_workflow_expansion.
   All preview-only / in-memory. No external sends. */

.cms-wrap{max-width:1200px;margin:0 auto;padding:0 .5rem}
.cms-hero{background:linear-gradient(135deg,#141310,#1A1916);color:#fff;border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
.cms-hero h2{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;letter-spacing:.4px;margin-bottom:.4rem}
.cms-hero p{font-size:13px;color:rgba(255,255,255,.78);line-height:1.5;max-width:680px}
.cms-stats{display:flex;gap:8px;flex-wrap:wrap}
.cms-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:8px 12px;text-align:center;min-width:78px}
.cms-stat strong{font-family:'Barlow Condensed',sans-serif;font-size:20px;display:block;color:#fff;line-height:1}
.cms-stat span{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:600}

.cms-banner{background:#fff9e6;border:1px solid #f0d060;border-radius:12px;padding:.85rem 1rem;margin-bottom:.85rem;color:#6a4a00;font-size:13px;line-height:1.5}
.cms-banner.danger{background:#ffeceb;border-color:#f5a99a;color:#7a2113}
.cms-banner b{font-weight:700}

.cms-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:.85rem}
.cms-toolbar .cms-search{flex:1;min-width:240px;position:relative}
.cms-toolbar .cms-search input{width:100%;padding:9px 14px 9px 36px;border:1.5px solid var(--bd);border-radius:10px;font-size:13px;font-family:'Barlow',sans-serif;background:#fff;outline:none}
.cms-toolbar .cms-search input:focus{border-color:var(--teal)}
.cms-toolbar .cms-search-ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--tx-lt);pointer-events:none;font-size:14px}
.cms-toolbar select{padding:9px 12px;border:1.5px solid var(--bd);border-radius:10px;font-size:13px;background:#fff;outline:none}
.cms-toolbar select:focus{border-color:var(--teal)}

.cms-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1rem}
@media (max-width: 880px){ .cms-grid{grid-template-columns:1fr} }

.cms-card{background:#fff;border:1px solid var(--bd-lt);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .15s, box-shadow .15s}
.cms-card:hover{border-color:var(--teal);box-shadow:0 6px 22px rgba(255,107,0,.12)}
.cms-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.cms-card-title{font-weight:700;color:var(--navy);font-size:14px;line-height:1.3}
.cms-card-meta{font-size:11px;color:var(--tx-lt);margin-top:2px;line-height:1.4}
.cms-card-tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.cms-tag-sms{background:#e8f4ff;color:#1458a0}
.cms-tag-email{background:#f0e8ff;color:#5c3a8a}
.cms-tag-internal{background:#dcf5ef;color:#0a5c48}
.cms-tag-external{background:#ffeceb;color:#a13720}
.cms-tag-filed{background:#e8ffe8;color:#1a6b1a}
.cms-tag-flag{background:#fff4dc;color:#8a5c00}

.cms-summary{background:#f3faf8;border:1px solid #FFD4B0;border-radius:10px;padding:.6rem .75rem;font-size:12.5px;color:var(--tx-md);line-height:1.45}
.cms-summary b{color:var(--navy);font-weight:700}
.cms-summary .cms-summary-lbl{display:block;font-size:10px;font-weight:700;color:var(--teal-dk);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}

.cms-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:.25rem}
.cms-btn{padding:6px 10px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--bd);background:#fff;color:var(--tx);cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:'Barlow',sans-serif;transition:all .15s;white-space:nowrap}
.cms-btn:hover{border-color:var(--teal);color:var(--teal)}
.cms-btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}
.cms-btn.primary:hover{background:var(--teal-dk);border-color:var(--teal-dk);color:#fff}
.cms-btn.danger{background:#fff;color:#a13720;border-color:#f5a99a}
.cms-btn.danger:hover{background:#ffeceb}
.cms-btn[disabled]{opacity:.45;cursor:not-allowed}

.cms-thread{background:#fff;border:1px solid var(--bd-lt);border-radius:10px;max-height:340px;overflow:auto;padding:.5rem .6rem}
.cms-msg{padding:.55rem .65rem;margin-bottom:6px;border-radius:8px;background:#f8fbfa;border:1px solid var(--bd-lt);font-size:13px;line-height:1.45}
.cms-msg.them{background:#fff4dc;border-color:#f1d490}
.cms-msg.us{background:#FFF0E5;border-color:#bfe2dc}
.cms-msg-head{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;color:var(--tx-md);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.cms-msg-body{color:var(--tx);white-space:pre-wrap;word-wrap:break-word}
.cms-msg.match{outline:2px solid #e9c46a;background:#fff6db}
.cms-msg .cms-hl{background:#ffe27a;color:#2a1f00;padding:0 2px;border-radius:3px;font-weight:700}

.cms-search-box{display:flex;gap:6px;margin-bottom:.6rem;flex-wrap:wrap;align-items:center}
.cms-search-box input{flex:1;min-width:180px;padding:8px 12px;border:1.5px solid var(--bd);border-radius:8px;font-size:13px;background:#fff;outline:none}
.cms-search-box input:focus{border-color:var(--teal)}
.cms-search-status{font-size:12px;color:var(--tx-md);font-weight:600}
.cms-search-status.hit{color:var(--teal-dk)}
.cms-search-status.miss{color:#a13720}

.cms-audit{background:#fff;border:1px solid var(--bd-lt);border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem}
.cms-audit h4{font-family:'Barlow Condensed',sans-serif;font-size:15px;color:var(--navy);margin-bottom:.4rem;letter-spacing:.4px;text-transform:uppercase}
.cms-audit ol{list-style:none;padding:0;margin:0}
.cms-audit li{padding:.4rem .5rem;border-bottom:1px solid var(--bd-lt);font-size:12.5px;color:var(--tx-md);line-height:1.5}
.cms-audit li:last-child{border-bottom:0}
.cms-audit li b{color:var(--navy)}
.cms-audit-empty{font-size:12.5px;color:var(--tx-lt);font-style:italic;padding:.4rem 0}

.cms-section{background:#fff;border:1px solid var(--bd-lt);border-radius:14px;padding:1rem 1.25rem;margin-bottom:1rem}
.cms-section h3{font-family:'Barlow Condensed',sans-serif;font-size:17px;color:var(--navy);margin-bottom:.5rem;letter-spacing:.4px}
.cms-section p.sub{font-size:12.5px;color:var(--tx-md);margin-bottom:.65rem;line-height:1.5}

.cms-result-row{display:flex;justify-content:space-between;gap:8px;padding:.45rem .55rem;border-bottom:1px solid var(--bd-lt);font-size:12.5px;cursor:pointer;border-radius:6px}
.cms-result-row:hover{background:#f3faf8}
.cms-result-row b{color:var(--navy)}
.cms-result-row .meta{color:var(--tx-lt);font-size:11px}

.cms-link-row{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:6px;margin-top:.4rem}
.cms-link-chip{background:#f8fbfa;border:1px solid var(--bd-lt);border-radius:8px;padding:6px 8px;font-size:11.5px;color:var(--tx-md);text-align:center;cursor:pointer;transition:all .15s}
.cms-link-chip:hover{border-color:var(--teal);color:var(--teal-dk);background:#eef9f7}

.cms-pill-link{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:#eef9f7;border:1px solid #FFD4B0;color:var(--teal-dk);font-size:11.5px;font-weight:700;border-radius:999px;cursor:pointer;font-family:'Barlow',sans-serif}
.cms-pill-link:hover{background:#dcf3ef}

.cms-empty{padding:1.5rem;text-align:center;color:var(--tx-lt);font-size:13px;background:#f8fbfa;border:1px dashed var(--bd);border-radius:12px}

.cms-back-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--bd-lt);border-radius:10px;padding:.55rem .75rem;margin-bottom:.85rem}
.cms-back-bar button{padding:6px 12px;border-radius:8px;border:1px solid var(--bd);background:#fff;color:var(--tx);font-weight:600;cursor:pointer;font-size:12.5px;font-family:'Barlow',sans-serif}
.cms-back-bar button:hover{border-color:var(--teal);color:var(--teal)}
.cms-back-bar .title{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--navy);letter-spacing:.4px;flex:1}

/* Project-level back bar — visible at the top of major full-page navigations
   (Projects, Service, etc.) to satisfy the portal-wide back rule. */
.vs-projbar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--bd-lt);border-radius:10px;padding:.5rem .8rem;margin:0 0 .85rem}
.vs-projbar button{padding:6px 12px;border-radius:8px;border:1px solid var(--bd);background:#fff;color:var(--tx);font-weight:600;cursor:pointer;font-size:12.5px;font-family:'Barlow',sans-serif}
.vs-projbar button:hover{border-color:var(--teal);color:var(--teal)}
.vs-projbar .ttl{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--navy);letter-spacing:.4px;flex:1}
.vs-projbar .hint{font-size:11px;color:var(--tx-lt)}

@media (max-width: 540px){
  .cms-hero{grid-template-columns:1fr}
  .cms-stats{justify-content:flex-start}
  .cms-card-head{flex-direction:column}
  .vs-projbar{flex-wrap:wrap}
}
