:root{
  --ecc-blue:#0b5bd3;
  --ecc-blue2:#0a4bb0;
  --ecc-bg:#f3f6fb;
  --ecc-card:#ffffff;
  --ecc-text:#111827;
  --ecc-muted:#6b7280;
  --ecc-border:#e5e7eb;
  --ecc-shadow:0 10px 30px rgba(17,24,39,.08);
  --ecc-danger:#b91c1c;
}
.pec-ecc-wrap{max-width:1100px;margin:0 auto;padding:20px;color:var(--ecc-text);}
.pec-ecc-hero{border-radius:16px;background:linear-gradient(135deg,var(--ecc-blue2),var(--ecc-blue));box-shadow:var(--ecc-shadow);padding:22px;color:#fff;margin-bottom:18px;border:1px solid rgba(255,255,255,.10);}
.pec-ecc-hero-inner{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.pec-ecc-hero h1{margin:0;font-size:34px;line-height:1.1;letter-spacing:-.5px;color:#fff !important;text-shadow:0 2px 10px rgba(0,0,0,.25);}
.pec-ecc-sub{margin-top:6px;opacity:.88;font-size:14px;color:#fff !important;}
.pec-ecc-hero-actions{display:flex;gap:10px;align-items:center;}

/* Hero: force readable text even when theme overrides headings/links */
.pec-ecc-hero a,
.pec-ecc-hero a:visited,
.pec-ecc-hero a:hover,
.pec-ecc-hero a:focus{color:#fff !important;text-decoration:none;}

/* Hero: make ghost buttons look like real CTAs on dark background */
.pec-ecc-hero .pec-ecc-btn-ghost{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.32);
  color:#fff !important;
  border-radius:999px;
  padding:10px 14px;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.pec-ecc-hero .pec-ecc-btn-ghost:hover{background:rgba(255,255,255,.22);}
.pec-ecc-hero .pec-ecc-btn-ghost:focus{outline:3px solid rgba(255,255,255,.25);outline-offset:3px;}

@media (max-width:600px){
  .pec-ecc-hero-inner{flex-direction:column;align-items:flex-start;}
  .pec-ecc-hero-actions{width:100%;justify-content:flex-end;}
}
.pec-ecc-grid{display:grid;gap:16px;}
.pec-ecc-grid-top{grid-template-columns:.55fr 1.25fr .75fr;align-items:stretch;}
@media (max-width:900px){.pec-ecc-grid-top{grid-template-columns:1fr;}}
.pec-ecc-card{background:var(--ecc-card);border:1px solid var(--ecc-border);border-radius:16px;box-shadow:var(--ecc-shadow);padding:18px;}
.pec-ecc-card-soft{background:#f9fbff;}
.pec-ecc-card h3{margin:0 0 12px 0;font-size:20px;}
.pec-ecc-row{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:10px;}
.pec-ecc-muted{color:var(--ecc-muted);font-size:13px;}
.pec-ecc-actions-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px;}
.pec-ecc-btn{border:none;background:var(--ecc-blue);color:#fff;padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:800;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.pec-ecc-btn:hover{background:var(--ecc-blue2);}
.pec-ecc-btn-ghost{background:transparent;color:var(--ecc-blue);border:1px solid var(--ecc-blue);}
.pec-ecc-btn-ghost:hover{background:rgba(11,91,211,.08);}
.pec-ecc-btn-danger{background:var(--ecc-danger);}
.pec-ecc-check{display:flex;gap:10px;align-items:center;font-weight:700;margin-bottom:12px;}
.pec-ecc-timer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.pec-ecc-timer{font-size:56px;font-weight:900;letter-spacing:1px;}
.pec-ecc-timer-sub{color:var(--ecc-muted);font-size:14px;}
.pec-ecc-timer-mini{color:var(--ecc-muted);font-size:13px;margin-top:2px;}
.pec-ecc-timer-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center;}
.pec-ecc-range{width:100%;margin:8px 0 10px 0;}
.pec-ecc-bigread{font-size:22px;font-weight:900;color:var(--ecc-text);}
.pec-ecc-form-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.pec-ecc-form-grid label span{display:block;font-size:13px;color:var(--ecc-muted);margin-bottom:6px;font-weight:700;}
.pec-ecc-form-grid select,.pec-ecc-form-grid textarea{width:100%;border:1px solid var(--ecc-border);border-radius:12px;padding:10px 12px;font-size:14px;color:var(--ecc-text);background:#fff;}
.pec-ecc-toast{margin-left:6px;font-weight:800;font-size:13px;color:var(--ecc-muted);opacity:0;transform:translateY(4px);transition:all .2s ease;}
.pec-ecc-toast.show{opacity:1;transform:translateY(0);}
.pec-ecc-toast.ok{color:#065f46;}
.pec-ecc-toast.bad{color:var(--ecc-danger);}
.pec-ecc-table-wrap{overflow:auto;}
.pec-ecc-table{width:100%;border-collapse:collapse;font-size:14px;}
.pec-ecc-table th,.pec-ecc-table td{padding:10px;border-bottom:1px solid var(--ecc-border);text-align:left;white-space:nowrap;}
.pec-ecc-table th{font-size:12px;color:var(--ecc-muted);text-transform:uppercase;letter-spacing:.04em;}
.pec-ecc-coach{border:1px solid var(--ecc-border);border-radius:14px;padding:14px;background:#fff;}
.pec-ecc-coach-title{font-weight:900;font-size:16px;margin-bottom:6px;}
.pec-ecc-coach-body{color:var(--ecc-muted);font-size:14px;line-height:1.4;}
.pec-ecc-coach-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.pec-ecc-pillbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pec-ecc-pill{background:rgba(11,91,211,.10);color:var(--ecc-blue);border:1px solid rgba(11,91,211,.25);padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px;}
.pec-ecc-pill-ghost{background:transparent;color:var(--ecc-muted);border-color:var(--ecc-border);}
.pec-ecc-plan-title{font-weight:900;font-size:16px;margin-bottom:8px;}
.pec-ecc-plan-list{margin:0;padding-left:18px;color:var(--ecc-muted);}
.pec-ecc-plan-list li{margin:6px 0;}
.pec-ecc-modal{position:fixed;inset:0;z-index:99999;}
.pec-ecc-modal-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.60);}
.pec-ecc-modal-card{position:relative;max-width:720px;margin:6vh auto;background:#fff;border-radius:18px;border:1px solid var(--ecc-border);box-shadow:var(--ecc-shadow);padding:16px;z-index:1;}
.pec-ecc-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;}
.pec-ecc-modal-title{font-size:18px;font-weight:900;}
.pec-ecc-modal-step{font-weight:900;color:var(--ecc-muted);}
.pec-ecc-modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px;}
.pec-ecc-q-label{font-weight:900;font-size:16px;margin-bottom:10px;}
.pec-ecc-opt{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--ecc-border);border-radius:12px;margin-bottom:10px;cursor:pointer;}
.pec-ecc-opt input{transform:scale(1.05);}
body.pec-ecc-noscroll{overflow:hidden;}

/* Coach media card */
.pec-ecc-coach-media-card{display:flex;flex-direction:column;justify-content:flex-start;}
.pec-ecc-coach-media-btn{border:0;background:transparent;padding:0;margin:0;cursor:pointer;display:block;border-radius:14px;overflow:hidden;}
.pec-ecc-coach-media-btn:focus{outline:3px solid rgba(11,91,211,.25);outline-offset:3px;}
.pec-ecc-coach-media{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--ecc-border);box-shadow:0 8px 20px rgba(17,24,39,.08);}

/* Media modal (zoom) */
.pec-ecc-media-modal-card{position:relative;max-width:min(920px,92vw);max-height:88vh;margin:6vh auto;background:transparent;border-radius:18px;z-index:1;display:flex;align-items:center;justify-content:center;}
.pec-ecc-media-modal-img{max-width:92vw;max-height:88vh;border-radius:16px;border:1px solid rgba(255,255,255,.20);box-shadow:0 20px 60px rgba(0,0,0,.35);background:#fff;}
.pec-ecc-media-close{position:absolute;top:-10px;right:-10px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(17,24,39,.72);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.pec-ecc-media-close:hover{background:rgba(17,24,39,.88);}

/* Techniques module */
.pec-ecc-tech-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.pec-ecc-tech-filter{border:1px solid var(--ecc-border);background:#fff;color:var(--ecc-muted);padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px;cursor:pointer;}
.pec-ecc-tech-filter:hover{border-color:rgba(11,91,211,.35);}
.pec-ecc-tech-filter.is-active{background:rgba(11,91,211,.10);color:var(--ecc-blue);border-color:rgba(11,91,211,.25);}

.pec-ecc-tech-list{margin-top:12px;display:flex;flex-direction:column;gap:10px;}
.pec-ecc-tech-item{border:1px solid var(--ecc-border);border-radius:14px;overflow:hidden;background:#fff;}
.pec-ecc-tech-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:0;background:transparent;cursor:pointer;text-align:left;}
.pec-ecc-tech-title{font-weight:900;}
.pec-ecc-tech-badges{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.pec-ecc-tech-chip{font-size:12px;font-weight:900;padding:6px 10px;border-radius:999px;border:1px solid var(--ecc-border);color:var(--ecc-muted);background:transparent;}
.pec-ecc-tech-chip[data-level="basic"]{background:#059669;border-color:rgba(5,150,105,.45);color:#fff;}
.pec-ecc-tech-chip[data-level="medium"]{background:#0b5bd3;border-color:rgba(11,91,211,.45);color:#fff;}
.pec-ecc-tech-chip[data-level="advanced"]{background:#f59e0b;border-color:rgba(245,158,11,.55);color:#fff;}
.pec-ecc-tech-chip[data-level="pro"]{background:#ef4444;border-color:rgba(239,68,68,.55);color:#fff;}
.pec-ecc-tech-status{font-size:16px;}

.pec-ecc-tech-body{padding:0 14px 14px 14px;border-top:1px solid var(--ecc-border);}
.pec-ecc-tech-meta{padding-top:12px;color:var(--ecc-muted);display:flex;flex-direction:column;gap:6px;}
.pec-ecc-tech-block{margin-top:12px;}
.pec-ecc-tech-block-title{font-weight:900;margin-bottom:8px;}
.pec-ecc-tech-ul{margin:0;padding-left:18px;color:var(--ecc-muted);}
.pec-ecc-tech-ul li{margin:6px 0;}
.pec-ecc-tech-warn{background:rgba(239,68,68,.06);border:1px dashed rgba(239,68,68,.25);border-radius:12px;padding:10px 12px;}
.pec-ecc-tech-locked-note{margin-top:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--ecc-border);background:rgba(17,24,39,.03);color:var(--ecc-muted);font-weight:700;}

.pec-ecc-tech-item.is-locked .pec-ecc-tech-body{filter:blur(1.5px);opacity:.70;}
.pec-ecc-tech-item.is-locked .pec-ecc-tech-locked-note,
.pec-ecc-tech-item.is-locked .pec-ecc-btn{filter:none;opacity:1;}

.pec-ecc-tech-item.is-locked .pec-ecc-tech-head{background:rgba(17,24,39,.02);}
.pec-ecc-tech-item.is-unlocked .pec-ecc-tech-head:hover{background:rgba(11,91,211,.05);}

/* PRO: voice controls */
.pec-ecc-voicebar{margin-top:10px;gap:10px;flex-wrap:wrap;}
.pec-ecc-voicebar .pec-ecc-btn{white-space:nowrap;}

.pec-ecc-voice-label{
  font-size:12px;
  opacity:0.9;
  color:var(--ecc-muted);
}

.pec-ecc-select{
  font-size:13px;
  line-height:1.2;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid var(--ecc-border);
  background:#fff;
  color:var(--ecc-text);
  outline:none;
}

.pec-ecc-select:focus{border-color:rgba(11,91,211,.55); box-shadow:0 0 0 2px rgba(11,91,211,.12);}

.pec-ecc-select option{color:#111;}

.pec-ecc-select-compact{padding:7px 10px;}
