:root{
  --ink:#13293D;
  --white:#FAF9F6;
  --teal:#1F6F76;
  --teal-dark:#164F54;
  --red:#B23A48;
  --slate:#5B6B73;
  --sand:#EFE7D8;
  --line:#DDD4C2;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--white);color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces',serif;margin:0;line-height:1.08;}
p{margin:0;}
.container{max-width:1080px;margin:0 auto;padding:0 24px;}
a{color:inherit;}

/* ---------- pulse divider (signature element) ---------- */
.pulse{width:100%;height:34px;}
.pulse svg{width:100%;height:100%;display:block;}
.pulse path{
  fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:600;stroke-dashoffset:600;
  animation:draw 2.6s ease-out forwards;
}
@keyframes draw{to{stroke-dashoffset:0;}}
@media (prefers-reduced-motion: reduce){.pulse path{animation:none;stroke-dashoffset:0;}}

/* ---------- header ---------- */
header{padding:22px 0;border-bottom:1px solid var(--line);}
header .container{display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:600;font-size:20px;letter-spacing:-.01em;}
.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--red);}
.badge-row{display:flex;gap:8px;flex-wrap:wrap;}
.badge{font-size:12px;font-weight:600;color:var(--teal-dark);background:#E7F1F1;border:1px solid #CFE2E2;padding:5px 10px;border-radius:100px;white-space:nowrap;}

/* ---------- hero ---------- */
.hero{padding:56px 0 40px;}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:start;}
.eyebrow{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:14px;display:block;}
.hero h1{font-size:44px;font-weight:600;margin-bottom:18px;}
.hero .sub{font-size:18px;color:var(--slate);line-height:1.55;max-width:46ch;margin-bottom:26px;}
.trust-list{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.trust-item{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink);}
.trust-item svg{flex-shrink:0;margin-top:2px;}

/* ---------- form card ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 20px 40px -28px rgba(19,41,61,.35);}
.form-card h3{font-size:21px;margin-bottom:4px;}
.form-card .form-sub{font-size:13.5px;color:var(--slate);margin-bottom:20px;display:block;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;padding:11px 12px;border-radius:8px;border:1px solid #D8D2C4;font-size:14.5px;font-family:'Inter',sans-serif;background:#FDFCFA;color:var(--ink);}
.field textarea{resize:vertical;}
.field input:focus,.field select:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cta-btn{width:100%;background:var(--teal);color:#fff;border:none;padding:14px;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;font-family:'Inter',sans-serif;margin-top:6px;transition:background .15s ease;}
.cta-btn:hover{background:var(--teal-dark);}
.cta-btn:disabled{opacity:.6;cursor:not-allowed;}
.form-note{font-size:11.5px;color:var(--slate);margin-top:10px;display:block;text-align:center;}
.form-error{background:#F3E3E3;color:var(--red);font-size:13px;padding:10px 12px;border-radius:8px;margin-bottom:14px;display:none;}
.success-msg{display:none;text-align:center;padding:20px 4px;}
.success-msg .check{width:44px;height:44px;border-radius:50%;background:#E7F1F1;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.success-msg h3{margin-bottom:6px;}
.success-msg p{color:var(--slate);font-size:14px;}
.hp-field{position:absolute;left:-9999px;top:-9999px;}
.radio-group{display:flex;flex-direction:column;gap:8px;}
.radio-option{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink);padding:9px 12px;border:1px solid #D8D2C4;border-radius:8px;background:#FDFCFA;cursor:pointer;}
.radio-option input{width:auto;margin:0;accent-color:var(--teal);}
.consent-field{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--slate);line-height:1.45;margin:16px 0 4px;}
.consent-field input{width:auto;margin:2px 0 0;flex-shrink:0;accent-color:var(--teal);}

/* ---------- course paths ---------- */
.section{padding:52px 0;}
.section-head{max-width:640px;margin-bottom:32px;}
.section-head .eyebrow{margin-bottom:10px;}
.section-head h2{font-size:30px;font-weight:600;margin-bottom:10px;}
.section-head p{color:var(--slate);font-size:15.5px;line-height:1.55;}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.path-card{border:1px solid var(--line);border-radius:16px;background:#fff;position:relative;overflow:hidden;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.path-card:hover{transform:translateY(-4px);box-shadow:0 22px 38px -24px rgba(19,41,61,.32);border-color:#D3E3E3;}
.path-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
.path-card.highlight{border-color:var(--teal);background:linear-gradient(180deg,#F5FAFA 0%,#fff 55%);}
.path-card.highlight::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--teal),#7FC4C4);}
.path-card-image{width:100%;aspect-ratio:16/10;background:var(--sand);overflow:hidden;position:relative;}
/* Fallback for browsers without aspect-ratio support (e.g. iOS Safari <15):
   the padding-top trick reserves the same box via @supports not. */
@supports not (aspect-ratio: 16/10){
  .path-card-image{height:0;padding-top:62.5%;}
  .path-card-image img{position:absolute;top:0;left:0;}
}
.path-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.path-card:hover .path-card-image img{transform:scale(1.05);}
.path-card-body{padding:18px;}
.path-tag{font-family:'Space Grotesk',sans-serif;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:9px;display:inline-flex;align-items:center;gap:6px;background:#EAF3F3;padding:3px 9px;border-radius:100px;}
.path-card h3{font-size:16px;margin-bottom:6px;letter-spacing:-.01em;line-height:1.3;}
.path-card p.desc{color:var(--slate);font-size:12.5px;line-height:1.5;margin-bottom:12px;}
.path-price{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;color:var(--teal-dark);margin-bottom:10px;}
.path-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--ink);border-top:1px solid var(--line);padding-top:10px;}
.path-meta span{display:flex;align-items:center;gap:5px;}
.path-more{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;font-weight:600;color:var(--teal-dark);transition:gap .15s ease;}
.path-card:hover .path-more{gap:10px;}

/* ---------- learn/watch/practise static grid ---------- */
.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.skills-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;}
.skills-card .icon{font-size:22px;margin-bottom:10px;}
.skills-card h4{font-family:'Fraunces',serif;font-size:17px;font-weight:600;margin-bottom:8px;}
.skills-card p{font-size:13.5px;color:var(--slate);line-height:1.55;}
@media(max-width:860px){.skills-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.skills-grid{grid-template-columns:1fr;}}

/* ---------- included ---------- */
.include-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.include-item .num{font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:600;color:var(--red);margin-bottom:8px;}
.include-item h4{font-family:'Fraunces',serif;font-size:16.5px;font-weight:600;margin-bottom:6px;}
.include-item p{font-size:13.5px;color:var(--slate);line-height:1.5;}

/* ---------- testimonial ---------- */
.testimonial{background:var(--ink);color:var(--white);border-radius:16px;padding:44px;margin:0 24px;}
.testimonial .container{max-width:680px;padding:0;}
.testimonial p.quote{font-family:'Fraunces',serif;font-size:22px;font-weight:400;line-height:1.5;margin-bottom:18px;}
.testimonial .who{font-size:13px;color:#B9C4CC;}

/* ---------- final cta ---------- */
.final-cta{text-align:center;padding:56px 24px;}
.final-cta h2{font-size:28px;margin-bottom:10px;}
.final-cta p{color:var(--slate);margin-bottom:22px;}
.final-cta .cta-btn{width:auto;padding:14px 34px;display:inline-block;}

/* ---------- course detail modal ---------- */
.course-modal-overlay{position:fixed;inset:0;background:rgba(19,41,61,.5);display:none;align-items:center;justify-content:center;z-index:100;padding:24px;}
.course-modal-overlay.open{display:flex;}
.course-modal{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:88vh;overflow-y:auto;position:relative;box-shadow:0 30px 60px -20px rgba(19,41,61,.4);}
.course-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--line);color:var(--ink);font-size:15px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;}
.course-modal-close:hover{background:#fff;}
#courseModalImageWrap img{width:100%;max-height:280px;object-fit:cover;display:block;}
.course-modal-body{padding:28px;}
.course-modal-body h3{font-size:24px;margin-bottom:10px;}
.course-modal-desc{color:var(--slate);font-size:15px;line-height:1.6;margin-bottom:18px;white-space:pre-wrap;}
.course-modal-body .path-meta{margin-bottom:20px;}
.course-modal-body .cta-btn{width:100%;}

/* ---------- reviews page ---------- */
.review-summary-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;}
.review-summary-grid{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;}
.review-summary-score{text-align:center;padding-right:32px;border-right:1px solid var(--line);}
.review-summary-number{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:48px;color:var(--ink);line-height:1;}
.review-summary-bars{display:flex;flex-direction:column;gap:8px;}
.rating-bar-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--slate);}
.rating-bar-row span:first-child{width:26px;flex-shrink:0;}
.rating-bar{flex:1;height:8px;background:#F0ECE3;border-radius:4px;overflow:hidden;}
.rating-bar-fill{height:100%;background:#E8A73E;}
.rating-bar-count{width:24px;text-align:right;flex-shrink:0;}

.star-picker{display:flex;gap:6px;}
.star-btn{background:none;border:none;font-size:30px;line-height:1;color:#D8D2C4;cursor:pointer;padding:2px;transition:color .1s ease;}
.star-btn.filled{color:#E8A73E;}

.review-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:14px;}
.review-card-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.avatar-circle{width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;flex-shrink:0;}
.review-card-name{font-weight:600;font-size:14.5px;color:var(--ink);}
.review-card-date{margin-left:auto;font-size:12px;color:var(--slate);white-space:nowrap;}
.review-card-text{font-size:14.5px;color:var(--ink);line-height:1.6;white-space:pre-wrap;}

@media(max-width:600px){
  .review-summary-grid{grid-template-columns:1fr;gap:20px;}
  .review-summary-score{border-right:none;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:20px;}
  .review-card-head{flex-wrap:wrap;}
  .review-card-date{margin-left:56px;}
}

/* ---------- homepage review carousel ---------- */
.rc-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:stretch;}
.rc-summary{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.rc-summary-title{font-family:'Fraunces',serif;font-weight:600;font-size:19px;color:var(--ink);margin-bottom:10px;}
.rc-summary-score{font-size:14px;color:var(--slate);margin:8px 0 18px;}
.rc-verified-badge{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:16px;width:100%;justify-content:center;}
.rc-verified-label{font-size:12.5px;font-weight:700;color:var(--ink);text-align:left;}
.rc-verified-sub{font-size:11px;color:var(--slate);text-align:left;}

.rc-carousel-outer{position:relative;display:flex;align-items:center;gap:8px;min-width:0;}
.rc-viewport{overflow:hidden;flex:1;min-width:0;}
.rc-track{display:flex;gap:16px;transition:transform .4s cubic-bezier(.22,.61,.36,1);will-change:transform;}
.rc-card{flex:0 0 260px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;}
.rc-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.rc-verified-pill{display:inline-flex;align-items:center;gap:4px;background:#E7F1E9;color:#2A6B33;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:100px;}
.rc-card-text{font-size:13.5px;color:var(--ink);line-height:1.55;margin-bottom:4px;flex:1;}
.rc-read-more{background:none;border:none;color:var(--red);font-size:12.5px;font-weight:600;cursor:pointer;padding:0;text-align:left;margin-bottom:10px;align-self:flex-start;}
.rc-card-name{font-size:12.5px;color:var(--slate);margin-top:auto;padding-top:8px;}

.rc-arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease;}
.rc-arrow:hover{background:#F0ECE3;}
.rc-arrow:active{transform:scale(.93);}
.rc-arrow:disabled{opacity:.35;cursor:not-allowed;}
.rc-dots{display:flex;justify-content:center;gap:7px;margin-top:18px;}
.rc-dot{width:7px;height:7px;border-radius:50%;border:none;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:background .2s ease,transform .2s ease;}
.rc-dot.active{background:#fff;transform:scale(1.3);}

@media(max-width:860px){
  .rc-wrap{grid-template-columns:minmax(0,1fr);}
  .rc-summary{padding:22px;}
}
@media(max-width:600px){
  .rc-card{flex:0 0 240px;}
  .rc-arrow{width:32px;height:32px;font-size:17px;}
}

footer{border-top:1px solid var(--line);padding:26px 0;}
footer .container{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--slate);}
footer a.link{color:var(--slate);text-decoration:underline;font-size:12.5px;}

@media(max-width:980px){
  .path-grid{grid-template-columns:1fr 1fr;}
}

@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .include-grid{grid-template-columns:1fr 1fr;}
  .row-2{grid-template-columns:1fr;}
  .hero h1{font-size:32px;}
  .section-head h2{font-size:26px;}
}

@media(max-width:600px){
  .container{padding:0 18px;}
  header{padding:16px 0;}
  header .container{flex-direction:column;align-items:flex-start;gap:10px;}
  .brand{font-size:18px;}
  .hero{padding:32px 0 28px;}
  .hero h1{font-size:27px;}
  .hero .sub{font-size:16px;}
  .form-card{padding:20px;}
  .section{padding:36px 0;}
  .section-head h2{font-size:23px;}
  .include-grid{grid-template-columns:1fr;}
  .path-grid{grid-template-columns:1fr;}
  .path-card-body{padding:20px;}
  .testimonial{margin:0 12px;padding:28px 22px;border-radius:14px;}
  .testimonial p.quote{font-size:18px;}
  .final-cta{padding:40px 20px;}
  .final-cta h2{font-size:23px;}
  .final-cta .cta-btn{width:100%;}
  footer .container{flex-direction:column;gap:10px;align-items:flex-start;}

  /* course modal becomes a near-full-screen sheet on phones */
  .course-modal-overlay{padding:0;align-items:flex-end;}
  .course-modal{max-width:100%;max-height:92vh;border-radius:16px 16px 0 0;}
  .course-modal-body{padding:22px;}
  .course-modal-body h3{font-size:20px;}
  #courseModalImageWrap img{max-height:200px;}
}

@media(max-width:400px){
  .badge-row{gap:6px;}
  .badge{font-size:11px;padding:4px 8px;}
  .hero h1{font-size:24px;}
  .trust-item{font-size:13.5px;}
}

/* =====================================================
   DASHBOARD
   ===================================================== */
body.dashboard{background:#F5F3EE;}
.db-header{background:var(--ink);color:#fff;padding:20px 0;position:relative;}
.db-header .container{display:flex;justify-content:space-between;align-items:center;}
.db-header .brand{color:#fff;}
.db-header .who{font-size:12.5px;color:#B9C4CC;}
.db-back{background:none;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 14px;border-radius:8px;font-size:13px;cursor:pointer;font-family:'Inter',sans-serif;text-decoration:none;}
.db-nav-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.db-nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;width:40px;height:40px;border-radius:8px;font-size:19px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;}
.db-body{padding:28px 0 60px;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;}
.stat-card .label{font-size:12px;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
.stat-card .value{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:700;color:var(--ink);}
.stat-card .sub{font-size:12px;color:var(--teal-dark);margin-top:4px;}
.db-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:16px;}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;}
.panel h3{font-family:'Fraunces',serif;font-size:16px;margin-bottom:14px;}
.loc-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #F0ECE3;font-size:13.5px;}
.loc-row:last-child{border-bottom:none;}
.loc-bar{background:#E7F1F1;height:6px;border-radius:4px;overflow:hidden;flex:1;margin:0 12px;}
.loc-bar-fill{background:var(--teal);height:100%;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--slate);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);}
td{padding:10px;border-bottom:1px solid #F0ECE3;color:var(--ink);}
select.status-select{font-size:12.5px;padding:5px 8px;border-radius:6px;border:1px solid var(--line);font-family:'Inter',sans-serif;background:#FDFCFA;}
.empty-state{text-align:center;padding:40px 20px;color:var(--slate);}
.empty-state h4{font-family:'Fraunces',serif;color:var(--ink);margin-bottom:6px;font-size:17px;}
.consent-yes{color:#2A6B33;font-weight:600;}
.consent-no{color:var(--slate);}

/* ---------- filter bar ---------- */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.filter-bar input[type="text"]{flex:1;min-width:200px;padding:9px 12px;border-radius:8px;border:1px solid var(--line);font-size:13.5px;font-family:'Inter',sans-serif;background:#FDFCFA;}
.filter-bar select{padding:9px 10px;border-radius:8px;border:1px solid var(--line);font-size:13px;font-family:'Inter',sans-serif;background:#FDFCFA;}
.filter-bar input:focus,.filter-bar select:focus{outline:2px solid var(--teal);outline-offset:1px;}
.export-btn{color:var(--teal-dark);border-color:var(--teal);background:#F5FAFA;text-decoration:none;font-weight:600;}
.export-btn:hover{background:#E7F1F1;}

/* secondary button for use on light/white backgrounds (panels, overlays) —
   deliberately separate from .db-back, which is white-on-transparent for
   the dark header and would be invisible here */
.btn-ghost{background:none;border:1px solid var(--line);color:var(--ink);padding:8px 14px;border-radius:8px;font-size:13px;cursor:pointer;font-family:'Inter',sans-serif;text-decoration:none;display:inline-block;}
.btn-ghost:hover{background:#F0ECE3;}
.btn-ghost:disabled{opacity:.35;cursor:not-allowed;}
.btn-ghost.danger{color:var(--red);border-color:var(--red);}
.btn-ghost.danger:hover{background:#F3E3E3;}

/* sortable table headers */
th.sortable{cursor:pointer;user-select:none;}
th.sortable:hover{color:var(--teal-dark);}
th.sortable::after{content:'⇅';opacity:.35;margin-left:4px;font-size:10px;}
th.sortable.sort-active::after{opacity:1;content:attr(data-dir);}
th.sortable.sort-active[data-dir="asc"]::after{content:'↑';}
th.sortable.sort-active[data-dir="desc"]::after{content:'↓';}

/* notes button + panel */
.notes-btn{background:#F0ECE3;border:1px solid var(--line);color:var(--ink);font-size:12px;padding:5px 10px;border-radius:100px;cursor:pointer;font-family:'Inter',sans-serif;white-space:nowrap;}
.notes-btn:hover{background:#E7E0CE;}
.notes-overlay{position:fixed;inset:0;background:rgba(19,41,61,.35);display:none;align-items:center;justify-content:flex-end;z-index:50;}
.notes-overlay.open{display:flex;}
.notes-panel{background:#fff;width:100%;max-width:420px;height:100%;padding:24px;display:flex;flex-direction:column;box-shadow:-12px 0 30px rgba(19,41,61,.15);}
.notes-panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;}
.notes-panel-head h3{font-size:19px;}
.lead-details{background:var(--sand);border-radius:10px;padding:12px 14px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px;}
.lead-detail-row{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;}
.lead-detail-row span{color:var(--slate);}
.lead-detail-row strong{color:var(--ink);font-weight:600;text-align:right;}
.panel-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;}
.tab-btn{background:none;border:none;padding:9px 4px;margin-right:16px;font-size:13.5px;font-weight:600;color:var(--slate);cursor:pointer;font-family:'Inter',sans-serif;border-bottom:2px solid transparent;}
.tab-btn.active{color:var(--teal-dark);border-bottom-color:var(--teal);}
.tab-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto;}
.email-item{background:#FAF9F6;border:1px solid #F0ECE3;border-radius:8px;padding:10px 12px;}
.email-item .email-subject{font-weight:600;font-size:13.5px;margin-bottom:2px;}
.email-item .email-body-preview{font-size:13px;color:var(--slate);line-height:1.5;white-space:pre-wrap;}
.email-status-pill{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:100px;text-transform:uppercase;letter-spacing:.03em;}
.email-status-sent{background:#DFF0E0;color:#2A6B33;}
.email-status-failed{background:#F3E3E3;color:var(--red);}

/* star ratings (shared: admin list + public review page) */
.star-display{color:#E8A73E;font-size:15px;letter-spacing:1px;margin-left:8px;}
.notes-list{flex:1;overflow-y:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:14px;display:flex;flex-direction:column;gap:12px;}
.note-item{background:#FAF9F6;border:1px solid #F0ECE3;border-radius:8px;padding:10px 12px;}
.note-meta{font-size:11.5px;color:var(--slate);margin-bottom:4px;}
.note-text{font-size:13.5px;line-height:1.5;white-space:pre-wrap;}
#addNoteForm{display:flex;flex-direction:column;gap:8px;}
#addNoteForm textarea{width:100%;padding:10px;border-radius:8px;border:1px solid var(--line);font-family:'Inter',sans-serif;font-size:13.5px;resize:vertical;}

/* course admin rows */
.course-row-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.course-row-head strong{font-family:'Fraunces',serif;font-size:16px;}
.course-row-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;}
.course-row-actions .btn-ghost{padding:5px 10px;font-size:12px;}

/* tables scroll horizontally on narrow screens rather than squeezing columns unreadably */
#leadsTableWrap{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative;}
#leadsTableWrap table{min-width:840px;}
.table-scroll-hint{display:none;}
@media(max-width:860px){
  #leadsTableWrap{background:linear-gradient(to right, transparent calc(100% - 24px), rgba(0,0,0,.06));}
  .table-scroll-hint{display:block;font-size:11.5px;color:var(--slate);margin-bottom:6px;}
}

/* course image upload/preview (admin) */
.course-thumb{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0;border:1px solid var(--line);}
.image-preview-wrap{margin-top:8px;display:flex;align-items:center;gap:10px;}
.image-preview-wrap img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line);}

/* ---------- dashboard/admin responsiveness ---------- */
@media(max-width:860px){
  .db-grid{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:1fr 1fr;}
}

@media(max-width:700px){
  .db-nav-toggle{display:flex;}
  .db-nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);flex-direction:column;align-items:stretch;gap:8px;padding:14px 18px 20px;box-shadow:0 16px 28px -10px rgba(0,0,0,.4);z-index:60;border-top:1px solid rgba(255,255,255,.12);}
  .db-nav-links.open{display:flex;}
  .db-nav-links .db-back{width:100%;text-align:center;box-sizing:border-box;}
  .db-nav-links .who{order:-1;margin-bottom:4px;}
}

@media(max-width:600px){
  .db-body{padding:20px 0 40px;}
  .stat-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .stat-card{padding:14px 16px;}
  .stat-card .value{font-size:24px;}
  .panel{padding:16px;}
  .filter-bar{flex-direction:column;align-items:stretch;}
  .filter-bar input[type="text"]{min-width:0;}
  .notes-panel{max-width:100%;}
}

@media(max-width:420px){
  .stat-grid{grid-template-columns:1fr;}
}

@media(max-width:480px){
  .login-card{margin:40px 16px !important;max-width:none !important;padding:24px !important;}
}
