/* CONTROL CENTER · MODULARIZATION PHASE 6
   Module: Client 360 Visual
   Scope: Client 360 modal, cards, policy table and responsive styles
   Persistent stylesheet loaded from <head>
   No assets, no Supabase, no JavaScript
   Release candidate: 2026.09.17.22
*/

.client-360-grid { display: grid; grid-template-columns: minmax(260px, 0.85fr) minmax(320px, 1.35fr); gap: 20px; }
        #modalClient360Visual .modal { width: min(980px, calc(100vw - 40px)); max-width: 980px; max-height: min(90vh, 840px); }
        #modalClient360Visual .mb { overflow-x: hidden; }
        .client-360-visual-shell { display: grid; gap: 18px; }
        .client-360-visual-header { border: 1px solid var(--bg); background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); border-radius: 22px; padding: 20px; display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
        .client-360-visual-name { color: var(--navy); font-size: 26px; font-weight: 900; line-height: 1.1; margin: 0; }
        .client-360-visual-contact { color: var(--text-secondary); font-size: 13px; font-weight: 800; margin-top: 8px; line-height: 1.45; }
        .client-360-visual-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
        .client-360-visual-section { border: 1px solid var(--bg); background: white; border-radius: 18px; padding: 16px; }
        .client-360-visual-section-title { color: var(--text-muted); font-size: 11px; font-weight: 900; text-transform: uppercase; margin-bottom: 12px; }
        .client-360-visual-chip-row { display: flex; gap: 8px; flex-wrap: wrap; }
        .client-360-visual-chip { display: inline-flex; align-items: center; border-radius: 999px; background: #eff6ff; color: var(--primary); border: 1px solid #bfdbfe; padding: 7px 10px; font-size: 11px; font-weight: 900; }
        .client-360-visual-policy-table { width: 100%; border-collapse: collapse; font-size: 12px; }
        .client-360-visual-policy-table th { text-align: left; color: var(--text-muted); font-size: 10px; text-transform: uppercase; font-weight: 900; padding: 10px 8px; border-bottom: 1px solid var(--bg); }
        .client-360-visual-policy-table td { color: var(--text-secondary); font-weight: 800; padding: 12px 8px; border-bottom: 1px solid var(--bg); }
        .client-360-visual-empty { border: 1px dashed var(--border); background: #f8fafc; border-radius: 14px; padding: 18px; color: var(--text-muted); font-size: 13px; font-weight: 800; text-align: center; }
        @media (max-width: 760px) {
            #modalClient360Visual .modal { width: calc(100vw - 24px); max-height: calc(100vh - 24px); border-radius: 24px; }
            #modalClient360Visual .mh, #modalClient360Visual .mb, #modalClient360Visual .mf { padding-left: 18px; padding-right: 18px; }
            .client-360-visual-grid, .client-360-visual-kpis { grid-template-columns: 1fr; }
            .client-360-visual-name { font-size: 22px; }
            .client-360-visual-policy-table { min-width: 520px; }
            .client-360-visual-table-wrap { overflow-x: auto; }
        }
