/* AP3 Provider Visibility Kit — shared engine stylesheet
   Client-specific colors come from CSS custom properties set in each
   client's index.html (see clients/_template/index.html). Defaults below
   are the original Ellie Pembroke Pines palette, used as fallback. */

:root{
  --brand-bg:#F2F6FA;
  --brand-navy:#0D2B4E;
  --brand-teal:#2E9BA3;
  --brand-teal-hover:#3FB3BB;
  --brand-text:#0D2B4E;
  --brand-muted:#6B7A8D;
  --brand-border:#E0E8F0;
  --brand-gold-border:#E8D5A3;
  --brand-gold-accent:#C8952A;
  --brand-gold-bg:#FFFDF4;
  --tag-sp-bg:#E8F5E8; --tag-sp-text:#1A7A32;
  --tag-emdr-bg:#E3F4F7; --tag-emdr-text:#0D6B73;
  --tag-sl-bg:#FFF8E8; --tag-sl-text:#9A6B00;
  --tag-t1-bg:#FFF3D4; --tag-t1-text:#9A6B00;
  --tag-warn-bg:#FDECEA; --tag-warn-text:#9B2020;
  --av-teal-bg:#D4F4F5; --av-teal-text:#0D7A7A;
  --av-gold-bg:#FFF0CC; --av-gold-text:#9A6B00;
  --av-green-bg:#D6F5E3; --av-green-text:#1A6B3A;
  --av-coral-bg:#FFE8E3; --av-coral-text:#9B3020;
  --style-obs:#2E9BA3;
  --style-sb:#6B5EA7;
  --style-dir:#5A7A9B;
  --font-family:'Plus Jakarta Sans',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-family);background:var(--brand-bg);color:var(--brand-text);min-height:100vh;-webkit-font-smoothing:antialiased}
.logo-bar{background:#fff;text-align:center;padding:18px 20px 14px;border-bottom:1px solid #E7EEF5}
.logo-img{height:74px;width:auto;max-width:88%}
.header{background:var(--brand-navy);padding:28px 20px;text-align:center}
.header-eyebrow{color:var(--brand-teal);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px}
.header-title{color:#fff;font-size:24px;font-weight:700;margin-bottom:6px;line-height:1.2}
.header-sub{color:rgba(255,255,255,.55);font-size:13px}
.header-purpose{color:#7FD4DB;font-size:12px;font-weight:600;margin-top:8px;line-height:1.5}
.header-inst{background:rgba(46,155,163,.12);border:1px solid rgba(46,155,163,.25);border-radius:8px;padding:10px 16px;margin:16px auto 0;max-width:520px;font-size:12px;color:rgba(255,255,255,.7);line-height:1.55}
.provider-section{padding:20px 16px 12px;max-width:760px;margin:0 auto}
.section-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#8A96A8;margin-bottom:12px}
.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(min-width:480px){.provider-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:640px){.provider-grid{grid-template-columns:repeat(6,1fr)}}
.pill{background:#fff;border:1.5px solid var(--brand-border);border-radius:10px;padding:10px 6px;cursor:pointer;transition:all .2s;text-align:center;-webkit-tap-highlight-color:transparent}
.pill:hover{border-color:var(--brand-teal);transform:translateY(-1px)}
.pill.active{border-color:var(--brand-teal);border-width:2px;background:#F0FBFB}
.pill.tier1{border-color:var(--brand-gold-border)}
.pill.tier1.active{border-color:var(--brand-gold-accent);background:var(--brand-gold-bg)}
.pill-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin:0 auto 5px}
.av-teal{background:var(--av-teal-bg);color:var(--av-teal-text)}
.av-gold{background:var(--av-gold-bg);color:var(--av-gold-text)}
.av-green{background:var(--av-green-bg);color:var(--av-green-text)}
.av-coral{background:var(--av-coral-bg);color:var(--av-coral-text)}
.pill-name{font-size:10px;font-weight:700;color:var(--brand-navy);line-height:1.2}
.pill-cred{font-size:9px;color:#8A96A8;margin-top:1px}
.tier-badge{font-size:8px;background:var(--tag-t1-bg);color:var(--tag-t1-text);padding:1px 5px;border-radius:3px;margin-top:3px;display:inline-block;font-weight:700}
.content{padding:0 16px 40px;max-width:760px;margin:0 auto}
.provider-card{background:#fff;border-radius:14px;padding:20px;margin-bottom:16px;border:1px solid var(--brand-border);box-shadow:0 1px 4px rgba(0,0,0,.04)}
.pc-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.pc-av{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}
.pc-info{flex:1}
.pc-name{font-size:18px;font-weight:700;color:var(--brand-navy);line-height:1.2;margin-bottom:2px}
.pc-role{font-size:12px;color:var(--brand-muted);margin-bottom:7px}
.pc-tags{display:flex;flex-wrap:wrap;gap:5px}
.tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px}
.tag-sp{background:var(--tag-sp-bg);color:var(--tag-sp-text)}
.tag-emdr{background:var(--tag-emdr-bg);color:var(--tag-emdr-text)}
.tag-sl{background:var(--tag-sl-bg);color:var(--tag-sl-text)}
.tag-t1{background:var(--tag-t1-bg);color:var(--tag-t1-text)}
.tag-warn{background:var(--tag-warn-bg);color:var(--tag-warn-text)}
.pc-specs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.spec{font-size:11px;background:#F4F7FB;color:#4A5568;padding:3px 9px;border-radius:6px;border:1px solid var(--brand-border)}
.pc-quote{font-size:12px;color:#8A96A8;font-style:italic;padding-top:10px;border-top:1px solid #EDF1F7}
.steve-warn{background:#FDF0EF;border:1px solid #F0C0C0;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:12px;color:#9B2020;font-weight:600;display:none}
.platform-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:2px}
.plat-tab{flex-shrink:0;padding:8px 16px;border-radius:8px;border:1px solid var(--brand-border);background:#fff;color:var(--brand-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font-family);white-space:nowrap}
.plat-tab.active{background:var(--brand-teal);color:#fff;border-color:var(--brand-teal)}
.plat-tab:hover:not(.active){border-color:var(--brand-teal);color:var(--brand-teal)}
.caption-list{display:flex;flex-direction:column;gap:12px}
.cap-card{background:#fff;border-radius:12px;border:1px solid var(--brand-border);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.cap-header{padding:11px 16px 9px;border-bottom:1px solid #EDF1F7;display:flex;justify-content:space-between;align-items:center}
.cap-style{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.style-obs{color:var(--style-obs)}
.style-sb{color:var(--style-sb)}
.style-dir{color:var(--style-dir)}
.style-warm{color:var(--brand-gold-accent)}
.cap-hint{font-size:9px;color:#A8B0BC;margin-top:1px}
.cap-body{padding:14px 16px}
.cap-text{font-size:13px;line-height:1.75;color:#1A2332;white-space:pre-wrap;word-wrap:break-word}
.cap-footer{padding:9px 16px;border-top:1px solid #EDF1F7;display:flex;justify-content:flex-end}
.copy-btn{background:#F4F7FB;border:1px solid var(--brand-border);border-radius:7px;padding:7px 14px;font-size:12px;font-weight:700;color:var(--brand-navy);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:5px;font-family:var(--font-family)}
.copy-btn:hover{background:var(--brand-teal);color:#fff;border-color:var(--brand-teal)}
.copy-btn.copied{background:#E8F5E8;color:#1A7A32;border-color:#A8D8A8}
.card-slot{background:#fff;border:1.5px dashed #C8D8E8;border-radius:12px;padding:22px;text-align:center;margin-top:16px}
.cs-icon{font-size:26px;margin-bottom:8px}
.cs-title{font-size:13px;font-weight:700;color:var(--brand-navy);margin-bottom:4px}
.cs-sub{font-size:12px;color:#8A96A8;line-height:1.5}
.haaris-note{background:#EDF8FA;border:1px solid #B8DDE4;border-left:3px solid var(--brand-teal);border-radius:8px;padding:12px 14px;margin-top:16px}
.hn-title{font-size:10px;font-weight:700;color:var(--brand-teal);letter-spacing:.8px;text-transform:uppercase;margin-bottom:4px}
.hn-text{font-size:12px;color:#4A6070;line-height:1.6}
.footer{text-align:center;padding:24px 20px;background:var(--brand-navy);color:rgba(255,255,255,.4);font-size:11px;margin-top:32px}
.footer strong{color:rgba(255,255,255,.7)}
.strat-intro{font-size:12px;color:var(--brand-muted);line-height:1.6;margin-bottom:14px}
.strat-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand-teal);margin:6px 0 10px}
.tip-card{background:#fff;border:1px solid var(--brand-border);border-left:3px solid var(--brand-teal);border-radius:10px;padding:12px 15px;margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.tip-title{font-size:13px;font-weight:700;color:var(--brand-navy);margin-bottom:3px}
.tip-text{font-size:12px;color:#4A6070;line-height:1.6}
.prompt-fill{background:#FFF8E8;color:#9A6B00;border:1px solid #F0E0B0;border-radius:6px;padding:7px 11px;font-size:11px;line-height:1.5;margin:0 16px 12px;display:block}
.cap-text.prompt{font-size:12px;color:#27313F}
.card-area{margin-top:16px}
.card-box{background:#fff;border:1px solid var(--brand-border);border-radius:14px;padding:14px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.card-img{width:100%;max-width:440px;height:auto;border-radius:10px;display:block;margin:0 auto 12px;background:#F4F7FB}
.card-dl{display:inline-block;background:var(--brand-navy);color:#fff;text-decoration:none;font-size:13px;font-weight:700;padding:11px 20px;border-radius:8px;transition:background .2s}
.card-dl:hover{background:var(--brand-teal)}
.content-lib{margin-top:18px;background:linear-gradient(135deg,var(--brand-navy),#15487a);border-radius:16px;padding:24px 20px;text-align:center;color:#fff}
.cl-eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#7FD4DB;margin-bottom:6px}
.cl-title{font-size:19px;font-weight:800;margin-bottom:8px;color:#fff}
.cl-text{font-size:13px;line-height:1.6;color:#D8E4F0;max-width:540px;margin:0 auto 16px}
.cl-btn{display:inline-block;background:var(--brand-teal);color:#fff;text-decoration:none;font-size:14px;font-weight:700;padding:13px 28px;border-radius:9px;transition:background .2s}
.cl-btn:hover{background:var(--brand-teal-hover)}
.cl-note{font-size:11px;color:#9DB4CC;margin-top:11px}
