:root{--navy:#10233f;--teal:#168f91;--bg:#f5f7fb;--danger:#b42318;--warn:#b54708;--ok:#176b3a;--muted:#667085}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#1f2937}header{background:var(--navy);color:#fff;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:18px}header h1{margin:0;font-size:22px}header span{font-size:12px;opacity:.85}nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}nav a,nav button{color:#fff;background:none;border:0;text-decoration:none;cursor:pointer;font:inherit}.wrap{max-width:1380px;margin:24px auto;padding:0 18px}.card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 12px #00000012;margin-bottom:18px}.drop{border:2px dashed #94a3b8;border-radius:12px;padding:22px;text-align:center;background:#fafcff}.drop.drag{border-color:var(--teal);background:#effafa}.btn,.small-btn{background:var(--teal);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.small-btn{padding:7px 10px;font-size:12px}.muted{color:var(--muted);font-size:13px}.flash{background:#fff3cd;padding:10px;border-radius:8px;margin-bottom:12px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.metrics>div{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 10px #00000010}.metrics b{display:block;font-size:26px;margin-top:4px}.urgent b{color:var(--danger)}.follow b{color:var(--warn)}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.toolbar label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#475467}.toolbar select,.toolbar input,.user-grid input,.user-grid select,.login-card input{padding:9px;border:1px solid #cbd5e1;border-radius:7px;min-width:150px}.toolbar .search{flex:1}.toolbar .search input{width:100%}.tablewrap{overflow:auto;max-height:620px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{position:sticky;top:0;background:#eef2f7;z-index:1}.pill{display:inline-block;padding:4px 8px;border-radius:999px;font-weight:700;font-size:12px}.p-urgent{background:#fee4e2;color:#912018}.p-follow{background:#fef0c7;color:#7a2e0e}.p-normal{background:#dcfae6;color:#176b3a}.p-inactive{background:#eaecf0;color:#344054}textarea{min-width:180px;min-height:50px}.login-card{max-width:430px;margin:10vh auto;background:#fff;padding:28px;border-radius:14px;box-shadow:0 2px 14px #0002}.login-card form{display:grid;gap:14px}.login-card label{display:grid;gap:6px}.user-grid{display:grid;grid-template-columns:1.2fr 1.4fr 1.4fr .8fr auto;gap:10px}@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.user-grid{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}}

.analytics-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.analytics-heading h2{margin:0 0 4px}.analytics-metrics{grid-template-columns:repeat(5,1fr)}.analytics-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.analytics-strip>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.analytics-strip span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.analytics-strip strong{font-size:22px;color:var(--navy)}.analytics-table{max-height:440px}@media(max-width:900px){.analytics-metrics{grid-template-columns:repeat(2,1fr)}.analytics-strip{grid-template-columns:repeat(2,1fr)}.analytics-heading{flex-direction:column}}
.linkbtn{text-decoration:none;display:inline-block}.crm-heading,.message-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.crm-heading h2,.message-heading h2{margin:0 0 5px}.crm-layout{display:grid;grid-template-columns:minmax(520px,1.05fr) minmax(390px,.95fr);gap:18px}.crm-list{max-height:690px;border:1px solid #e5e7eb;border-radius:10px}.crm-row{cursor:pointer}.crm-row:hover,.crm-row.selected{background:#f0fdfa}.crm-detail{border:1px solid #e5e7eb;border-radius:12px;padding:18px;min-height:420px}.detail-head{display:flex;justify-content:space-between}.detail-head h3{margin:0 0 4px}.crm-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.crm-form label{display:grid;gap:5px;font-size:12px;color:#475467}.crm-form input,.crm-form select,.crm-form textarea{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:7px}.crm-form .wide{grid-column:1/-1}.crm-form textarea{min-height:95px}.consent{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.consent.opted_in{background:#dcfae6;color:#176b3a}.consent.opted_out{background:#fee4e2;color:#912018}.consent.unknown{background:#eaecf0;color:#344054}.mini-list{display:grid;gap:8px}.mini-list>div{padding:10px;background:#f8fafc;border-radius:8px}.history{display:grid;gap:8px;max-height:250px;overflow:auto}.history-item{padding:10px;border:1px solid #e5e7eb;border-radius:8px}.empty-state{padding:35px;text-align:center;color:var(--muted)}.sms-banner{border-left:5px solid var(--warn);background:#fffbeb}.sms-banner p{margin-bottom:0}.message-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.message-metrics>div{background:#fff;padding:15px;border-radius:12px;box-shadow:0 2px 10px #00000010}.message-metrics span{display:block;color:var(--muted);font-size:12px}.message-metrics b{font-size:24px;color:var(--navy)}.message-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:12px 0}.message-card textarea{width:100%;min-height:90px;padding:11px;border:1px solid #cbd5e1;border-radius:8px;margin:10px 0}.message-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.message-type{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef2ff;color:#3730a3}.message-type.past_due,.message-type.lapse_risk{background:#fee4e2;color:#912018}.message-type.birthday{background:#ecfdf3;color:#176b3a}.message-type.anniversary{background:#fef0c7;color:#7a2e0e}.message-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.secondary{background:#eef2f7;color:#344054;text-decoration:none}.message-actions button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:950px){.crm-layout{grid-template-columns:1fr}.message-metrics{grid-template-columns:repeat(2,1fr)}.crm-heading,.message-heading{flex-direction:column}.crm-form{grid-template-columns:1fr}.crm-form .wide{grid-column:auto}}
.history-row{display:grid;grid-template-columns:1.6fr 1fr .9fr;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #e5e7eb}.status-badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:capitalize;background:#e5e7eb}.status-badge.delivered{background:#dcfce7}.status-badge.sent{background:#dbeafe}.status-badge.queued{background:#fef3c7}.status-badge.undelivered,.status-badge.failed{background:#fee2e2}.status-badge.received{background:#ede9fe}.error-text{font-size:.78rem;margin-top:4px}.message-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}@media(max-width:760px){.history-row{grid-template-columns:1fr}.message-heading{align-items:flex-start;flex-direction:column}}

/* Public insurance site */
.public-site{max-width:1120px;margin:0 auto;padding:0 22px 60px;color:#142033}
.public-nav{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid #e7ebf1}
.public-brand{font-size:1.15rem;font-weight:800;letter-spacing:.2px}
.public-brand small{display:block;font-size:.78rem;font-weight:600;color:#667085;margin-top:2px}
.public-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.public-links a{color:#24324a;text-decoration:none;font-weight:700}
.public-btn{display:inline-block;background:#142d54;color:#fff!important;padding:11px 16px;border-radius:10px;text-decoration:none;font-weight:800}
.public-hero{display:grid;grid-template-columns:1.35fr .85fr;gap:34px;align-items:center;padding:72px 0 54px}
.public-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.78rem;color:#4b6b9a}
.public-hero h1{font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.02;margin:12px 0 18px;color:#10284b}
.public-hero p{font-size:1.12rem;line-height:1.7;color:#4b5565;max-width:720px}
.public-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.public-outline{display:inline-block;border:1px solid #b7c3d4;color:#142d54;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:800}
.public-card{background:linear-gradient(145deg,#f6f8fb,#eef3f8);border:1px solid #dde5ef;border-radius:22px;padding:30px;box-shadow:0 18px 50px rgba(16,40,75,.08)}
.public-card h3{margin-top:0;color:#10284b}
.public-card ul{padding-left:18px;line-height:1.8;color:#455468}
.public-section{padding:42px 0}
.public-section h2{font-size:2rem;color:#10284b;margin:0 0 10px}
.public-section>p{color:#596579;max-width:760px;line-height:1.7}
.public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.public-service{border:1px solid #e1e7ef;border-radius:16px;padding:22px;background:#fff}
.public-service h3{color:#18365f;margin-top:0}
.public-service p{color:#5c6778;line-height:1.6}
.public-notice{background:#f7f9fc;border-left:4px solid #244f84;padding:18px 20px;border-radius:8px;line-height:1.6;color:#4d5868}
.public-footer{margin-top:48px;padding-top:26px;border-top:1px solid #e4e9f0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#6b7280;font-size:.9rem}
.public-footer a{color:#35547e}
.legal-page{max-width:880px;margin:0 auto;padding:36px 22px 70px;color:#243047}
.legal-page h1,.legal-page h2{color:#10284b}
.legal-page p,.legal-page li{line-height:1.7;color:#4d596d}
@media(max-width:800px){.public-hero,.public-grid{grid-template-columns:1fr}.public-hero{padding-top:44px}.public-links{font-size:.9rem}}
