:root {
    --hep-navy: #0d3268;
    --hep-navy-2: #123f7d;
    --hep-blue: #1d4ed8;
    --hep-orange: #ff6b24;
    --hep-green: #059669;
    --hep-ink: #0b1f3a;
    --hep-muted: #64748b;
    --hep-border: #dbe4ef;
    --hep-bg: #f6f9fd;
}

.hep-request-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 16px 64px;
}

.hep-dashboard-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.hep-request-kicker,
.hep-side-kicker {
    color: var(--hep-blue);
    font-weight: 900;
    font-size: .74rem;
    letter-spacing: .15em;
    margin-bottom: 8px;
}

.hep-request-title {
    color: var(--hep-navy);
    font-weight: 900;
    font-size: 2rem;
    margin: 0 0 8px;
}

.hep-request-lead {
    color: var(--hep-muted);
    max-width: 680px;
    margin: 0;
    line-height: 1.65;
}

.hep-dashboard-home {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 136px;
    padding: 10px 15px;
    border: 1px solid var(--hep-border);
    border-radius: 11px;
    color: var(--hep-navy);
    background: #fff;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

.hep-dashboard-home:hover {
    color: var(--hep-blue);
    text-decoration: none;
    border-color: #b9c9df;
}

.hep-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}

.hep-stat-card {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 86px;
    padding: 17px 18px;
    border: 1px solid var(--hep-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(13, 50, 104, .055);
}

.hep-stat-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    border-radius: 13px;
    font-size: 1rem;
    font-weight: 900;
}

.hep-stat-copy { display: flex; flex-direction: column; }
.hep-stat-value { color: var(--hep-navy); font-size: 1.45rem; line-height: 1; }
.hep-stat-label { color: var(--hep-muted); font-size: .75rem; margin-top: 5px; font-weight: 700; }
.hep-stat-orange .hep-stat-icon { color: #c2410c; background: #fff0e6; }
.hep-stat-blue .hep-stat-icon { color: #1d4ed8; background: #eaf1ff; }
.hep-stat-green .hep-stat-icon { color: #047857; background: #e8f8ef; }
.hep-stat-slate .hep-stat-icon { color: #475569; background: #eef2f7; }

.hep-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 28px;
    align-items: start;
}

.hep-dashboard-main { min-width: 0; }
.hep-dashboard-sidebar { display: grid; gap: 18px; }

.hep-section-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.hep-section-title {
    margin: 0 0 14px;
    color: var(--hep-navy);
    font-size: 1.45rem;
    font-weight: 900;
}

.hep-section-count {
    margin-bottom: 14px;
    padding: 4px 9px;
    border-radius: 999px;
    color: var(--hep-blue);
    background: #edf3ff;
    font-size: .72rem;
    font-weight: 800;
}

.hep-request-card,
.hep-request-item,
.hep-empty,
.hep-side-card {
    background: #fff;
    border: 1px solid var(--hep-border);
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(13, 50, 104, .065);
}

.hep-request-card { padding: 26px; margin-bottom: 18px; }
.hep-request-card .btn-primary { background: var(--hep-orange); border-color: var(--hep-orange); font-weight: 700; }
.hep-request-back { color: var(--hep-navy); font-weight: 700; }

.hep-request-item {
    padding: 20px 22px;
    margin-bottom: 14px;
}

.hep-request-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.hep-request-person {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.hep-request-miniavatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #4777ec, #234fc1);
    font-size: .8rem;
    font-weight: 900;
}

.hep-request-item-head strong { color: var(--hep-ink); font-size: 1rem; }
.hep-request-topic { color: var(--hep-navy); font-weight: 800; margin-top: 3px; }
.hep-request-meta { color: var(--hep-muted); font-size: .8rem; margin: 8px 0 0 54px; }
.hep-request-details { margin: 13px 0 0 54px; padding-top: 12px; border-top: 1px solid #edf1f6; }
.hep-request-line { margin: 7px 0 0; color: #334155; line-height: 1.5; }

.hep-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}
.hep-status-new { background: #fff2e8; color: #c2410c; }
.hep-status-contacted { background: #e8f2ff; color: #1d4ed8; }
.hep-status-scheduled { background: #e8f8ef; color: #047857; }
.hep-status-closed { background: #eef2f7; color: #475569; }

.hep-request-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0 0 54px;
}

.hep-action-btn {
    border: 1px solid var(--hep-border);
    border-radius: 10px;
    padding: 8px 12px;
    color: var(--hep-navy);
    font-size: .79rem;
    font-weight: 800;
    background: #fff;
    text-decoration: none;
}

.hep-action-btn:hover { text-decoration: none; border-color: var(--hep-blue); color: var(--hep-blue); }

.hep-empty { padding: 22px; color: var(--hep-muted); }
.hep-empty-rich { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 38px 22px; }
.hep-empty-rich strong { color: var(--hep-navy); margin-top: 10px; }
.hep-empty-rich p { margin: 5px 0 0; }
.hep-empty-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--hep-blue); background: #edf3ff; font-size: 1.1rem; }

.hep-side-card { padding: 22px; }
.hep-side-title { margin: 0; color: var(--hep-navy); font-size: 1.18rem; font-weight: 900; }
.hep-side-lead { margin: 6px 0 16px; color: var(--hep-muted); font-size: .82rem; line-height: 1.55; }

.hep-promo-teacher {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 11px;
    padding: 13px 0;
    border-top: 1px solid #edf1f6;
}
.hep-promo-teacher:first-of-type { border-top: 0; }
.hep-promo-photo-link { display: block; width: 54px; height: 54px; }
.hep-promo-photo-link img.userpicture,
.hep-promo-photo { width: 54px !important; height: 54px !important; margin: 0 !important; border-radius: 50%; object-fit: cover; }
.hep-promo-copy { min-width: 0; display: flex; flex-direction: column; }
.hep-promo-name { color: var(--hep-ink); font-size: .88rem; font-weight: 900; text-decoration: none; }
.hep-promo-name:hover { color: var(--hep-blue); text-decoration: none; }
.hep-promo-branch { color: var(--hep-blue); font-size: .72rem; font-weight: 800; margin-top: 2px; }
.hep-promo-meta { color: var(--hep-muted); font-size: .68rem; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hep-promo-arrow { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--hep-navy); background: #f2f6fb; text-decoration: none; }
.hep-promo-arrow:hover { color: #fff; background: var(--hep-blue); text-decoration: none; }
.hep-promo-cta { display: flex; justify-content: center; margin-top: 14px; padding: 10px 12px; border-radius: 10px; color: #fff; background: var(--hep-navy); font-size: .78rem; font-weight: 900; text-decoration: none; }
.hep-promo-cta:hover { color: #fff; background: var(--hep-navy-2); text-decoration: none; }
.hep-promo-empty { padding: 20px 10px 8px; text-align: center; color: var(--hep-muted); }
.hep-promo-empty-icon { font-size: 1.8rem; }
.hep-promo-empty strong { display: block; color: var(--hep-navy); margin: 7px 0 4px; }
.hep-promo-empty p { margin: 0; font-size: .78rem; line-height: 1.5; }

.hep-flow-card { background: linear-gradient(145deg, #f8fbff, #f1f6ff); }
.hep-flow-step { display: grid; grid-template-columns: 32px 1fr; gap: 11px; align-items: start; padding: 13px 0; border-top: 1px solid #dfe8f5; }
.hep-flow-step:first-of-type { margin-top: 8px; }
.hep-flow-num { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: var(--hep-blue); font-size: .74rem; font-weight: 900; }
.hep-flow-text { color: #334155; font-size: .78rem; line-height: 1.5; }

@media (max-width: 1000px) {
    .hep-dashboard-grid { grid-template-columns: 1fr; }
    .hep-dashboard-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .hep-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hep-dashboard-intro { flex-direction: column; }
    .hep-dashboard-home { align-self: flex-start; }
    .hep-dashboard-sidebar { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .hep-request-wrap { padding: 18px 10px 42px; }
    .hep-request-title { font-size: 1.65rem; }
    .hep-stats-grid { gap: 10px; }
    .hep-stat-card { min-height: 76px; padding: 13px; }
    .hep-stat-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 11px; }
    .hep-stat-value { font-size: 1.2rem; }
    .hep-request-item { padding: 17px; }
    .hep-request-item-head { flex-direction: column; }
    .hep-request-meta,
    .hep-request-details,
    .hep-request-actions { margin-left: 0; }
    .hep-request-meta { margin-top: 9px; }
    .hep-request-details { margin-top: 12px; }
}

/* v0.2.2 — Teacher directory */
.hep-teacher-directory { max-width: 1120px; }
.hep-teacher-directory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}
.hep-directory-teacher-card {
    background: #fff;
    border: 1px solid #dbe4f2;
    border-radius: 20px;
    padding: 26px 22px;
    text-align: center;
    box-shadow: 0 12px 30px rgba(15, 47, 94, .08);
}
.hep-directory-photo-link { display: inline-flex; margin-bottom: 12px; }
.hep-directory-photo,
.hep-directory-photo img {
    width: 96px !important;
    height: 96px !important;
    border-radius: 50% !important;
    object-fit: cover;
}
.hep-directory-branch {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef4ff;
    color: #1553d6;
    font-size: 12px;
    font-weight: 700;
}
.hep-directory-name { margin: 12px 0 6px; color: #082b61; font-size: 21px; }
.hep-directory-meta { min-height: 38px; color: #62708a; font-size: 13px; }
.hep-directory-button {
    display: inline-flex;
    justify-content: center;
    margin-top: 12px;
    padding: 10px 16px;
    border-radius: 10px;
    background: #0d3977;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}
@media (max-width: 900px) {
    .hep-teacher-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .hep-teacher-directory-grid { grid-template-columns: 1fr; }
}

/* v0.2.4 — Active requests and history separation */
.hep-section-title-tight { margin-bottom: 2px; }
.hep-section-subtitle {
    margin: 0 0 14px;
    color: var(--hep-muted);
    font-size: .79rem;
    line-height: 1.5;
}
.hep-section-count-history {
    color: #64748b;
    background: #f1f5f9;
}
.hep-history-section {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid #e7edf5;
}
.hep-history-list {
    display: grid;
    gap: 10px;
}
.hep-request-history-item {
    margin-bottom: 0;
    padding: 15px 18px;
    background: #fbfcfe;
    border-color: #e7edf5;
    box-shadow: none;
}
.hep-request-history-item .hep-request-miniavatar {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    background: linear-gradient(145deg, #94a3b8, #64748b);
}
.hep-request-history-item .hep-request-topic {
    color: #475569;
}
.hep-request-history-item .hep-request-meta {
    margin-left: 48px;
}
.hep-request-meta-flat { margin-left: 0; }
.hep-student-request-section + .hep-history-section { margin-top: 28px; }

@media (max-width: 520px) {
    .hep-section-heading-row { align-items: flex-start; }
    .hep-request-history-item .hep-request-meta { margin-left: 0; }
}


/* v0.2.5 — Request details and student card actions */
.hep-request-outgoing-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}
.hep-request-actions-history { margin-top: 12px; }
.hep-action-primary {
    color: #fff !important;
    border-color: var(--hep-navy);
    background: var(--hep-navy);
}
.hep-action-primary:hover {
    color: #fff !important;
    border-color: var(--hep-navy-2);
    background: var(--hep-navy-2);
}
.hep-request-detail-page { max-width: 1120px; }
.hep-detail-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 26px 28px;
    border: 1px solid var(--hep-border);
    border-radius: 20px;
    background: linear-gradient(135deg, #fff 0%, #fffaf4 100%);
}
.hep-detail-hero-copy { min-width: 0; }
.hep-detail-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}
.hep-detail-back {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--hep-border);
    border-radius: 10px;
    color: var(--hep-navy);
    background: #fff;
    font-size: .8rem;
    font-weight: 800;
    text-decoration: none;
}
.hep-detail-back:hover { color: var(--hep-blue); text-decoration: none; }
.hep-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 20px;
    margin-top: 20px;
}
.hep-detail-card,
.hep-detail-side-card {
    border: 1px solid var(--hep-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 47, 94, .05);
}
.hep-detail-card { padding: 24px; }
.hep-detail-title {
    margin: 0 0 18px;
    color: var(--hep-navy);
    font-size: 1.15rem;
    font-weight: 900;
}
.hep-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.hep-detail-row {
    padding: 14px;
    border-radius: 12px;
    background: #f7f9fc;
}
.hep-detail-label {
    display: block;
    color: var(--hep-muted);
    font-size: .71rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.hep-detail-value {
    display: block;
    margin-top: 5px;
    color: var(--hep-ink);
    font-size: .91rem;
    line-height: 1.45;
}
.hep-detail-note {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid #e7edf5;
    border-radius: 12px;
}
.hep-detail-note-text { margin: 7px 0 0; color: #334155; line-height: 1.6; }
.hep-detail-side { display: grid; gap: 16px; align-content: start; }
.hep-detail-complete {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #475569;
    background: #eef2f7;
    font-size: .8rem;
    font-weight: 800;
}
@media (max-width: 860px) {
    .hep-detail-grid { grid-template-columns: 1fr; }
    .hep-detail-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .hep-detail-hero { flex-direction: column; padding: 20px; }
    .hep-detail-hero-actions { justify-content: flex-start; }
    .hep-detail-list { grid-template-columns: 1fr; }
    .hep-detail-side { grid-template-columns: 1fr; }
    .hep-request-outgoing-actions { justify-content: flex-start; }
}

/* ================================================================
   HEP ONLINE — Ziyaretçi / Tanıtım Sistemi V1
   Public pages only. Private HEP app styles above remain untouched.
   ================================================================ */
body.hep-public-page {
    --hep-navy:#0b2a5b; --hep-navy2:#123d78; --hep-blue:#315fda; --hep-orange:#ff6f22;
    --hep-green:#1aaa73; --hep-purple:#8056e8; --hep-ink:#15233d; --hep-muted:#65738b;
    --hep-line:#e4e9f1; --hep-soft:#f6f8fc; --hep-white:#fff;
    margin:0; background:#fff; color:var(--hep-ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
body.hep-public-page #page-wrapper { min-height:0; }
body.hep-public-page .hep-public-shell { min-height:100vh; display:flex; flex-direction:column; background:#fff; }
body.hep-public-page .hep-public-container { width:min(1160px,calc(100% - 40px)); margin:0 auto; }
body.hep-public-page .hep-public-header { position:sticky; top:0; z-index:1000; border-bottom:1px solid var(--hep-line); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
body.hep-public-page .hep-public-nav { min-height:74px; display:flex; align-items:center; gap:26px; }
body.hep-public-page .hep-public-brand { display:flex; align-items:center; gap:10px; min-width:max-content; color:var(--hep-navy); text-decoration:none; }
body.hep-public-page .hep-public-brand>span:last-child { display:flex; flex-direction:column; line-height:1.05; }
body.hep-public-page .hep-public-brand strong { font-size:18px; letter-spacing:-.3px; }
body.hep-public-page .hep-public-brand small { margin-top:5px; color:var(--hep-muted); font-size:9px; text-align:center; }
body.hep-public-page .hep-public-mark { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; position:relative; font-size:25px; font-weight:900; letter-spacing:-8px; }
body.hep-public-page .hep-public-mark b:first-child { color:var(--hep-blue); transform:translate(-2px,-2px); }
body.hep-public-page .hep-public-mark b:last-child { color:var(--hep-orange); transform:translate(3px,2px); }
body.hep-public-page .hep-public-nav nav { flex:1; display:flex; justify-content:center; gap:26px; }
body.hep-public-page .hep-public-nav nav a { color:#26354e; text-decoration:none; font-size:13px; font-weight:700; }
body.hep-public-page .hep-public-nav nav a:hover { color:var(--hep-blue); }
body.hep-public-page .hep-public-login { min-height:40px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:var(--hep-navy); color:#fff!important; text-decoration:none; font-size:12px; font-weight:850; }
body.hep-public-page .hep-public-nav-actions { display:flex; align-items:center; gap:9px; margin-left:auto; }
body.hep-public-page .hep-public-request-nav { min-height:40px; padding:0 15px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:var(--hep-orange); color:#fff!important; text-decoration:none; font-size:12px; font-weight:850; box-shadow:0 8px 18px rgba(255,111,34,.16); }
body.hep-public-page .hep-public-request-nav:hover { color:#fff!important; transform:translateY(-1px); }
body.hep-public-page .hep-public-main { flex:1; }
body.hep-public-page .hep-public-hero { padding:76px 0 58px; background:linear-gradient(135deg,#fff 0%,#f4f7ff 100%); border-bottom:1px solid #eef2f7; }
body.hep-public-page .hep-public-hero.compact { padding:62px 0 48px; }
body.hep-public-page .hep-public-kicker { display:inline-block; color:var(--hep-blue); font-size:10px; letter-spacing:1.6px; font-weight:900; }
body.hep-public-page .hep-public-hero h1,
body.hep-public-page .hep-public-demo-hero h1 { max-width:800px; margin:12px 0 14px; color:var(--hep-navy); font-size:clamp(34px,5vw,58px); line-height:1.05; letter-spacing:-1.6px; }
body.hep-public-page .hep-public-hero p,
body.hep-public-page .hep-public-demo-hero p { max-width:720px; margin:0; color:var(--hep-muted); font-size:16px; line-height:1.75; }
body.hep-public-page .hep-public-section { padding:54px 0; }
body.hep-public-page .hep-public-section.soft { background:var(--hep-soft); border-top:1px solid #edf1f6; border-bottom:1px solid #edf1f6; }
body.hep-public-page .hep-public-section-head { margin-bottom:24px; }
body.hep-public-page .hep-public-section-head>span { color:var(--hep-blue); font-size:10px; letter-spacing:1.4px; font-weight:900; }
body.hep-public-page .hep-public-section-head h2 { margin:7px 0 0; color:var(--hep-navy); font-size:30px; letter-spacing:-.7px; }
body.hep-public-page .hep-public-section-head.inline { display:flex; align-items:end; justify-content:space-between; gap:20px; }
body.hep-public-page .hep-public-section-head.inline>a { color:var(--hep-blue); text-decoration:none; font-size:13px; font-weight:800; }
body.hep-public-page .hep-public-card { padding:26px; border:1px solid var(--hep-line); border-radius:16px; background:#fff; box-shadow:0 12px 30px rgba(19,43,82,.06); }
body.hep-public-page .hep-public-card.soft { background:#f8faff; box-shadow:none; }
body.hep-public-page .hep-public-card.soft strong { color:var(--hep-navy); }
body.hep-public-page .hep-public-card.soft p { color:var(--hep-muted); line-height:1.65; font-size:13px; }
body.hep-public-page .hep-public-card.soft a { color:var(--hep-blue); font-weight:800; text-decoration:none; font-size:12px; }
body.hep-public-page .hep-request-public-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:26px; align-items:start; }
body.hep-public-page .hep-public-form { display:grid; gap:16px; }
body.hep-public-page .hep-public-form label { display:grid; gap:7px; color:#25354f; font-size:12px; font-weight:800; }
body.hep-public-page .hep-public-form label small { color:#8490a3; font-weight:600; }
body.hep-public-page .hep-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
body.hep-public-page .hep-public-form input,
body.hep-public-page .hep-public-form select,
body.hep-public-page .hep-public-form textarea { width:100%; min-height:44px; box-sizing:border-box; padding:10px 12px; border:1px solid #ccd5e2; border-radius:9px; background:#fff; color:#17243d; font:inherit; font-size:13px; outline:none; }
body.hep-public-page .hep-public-form textarea { min-height:104px; resize:vertical; }
body.hep-public-page .hep-public-form input:focus,
body.hep-public-page .hep-public-form select:focus,
body.hep-public-page .hep-public-form textarea:focus { border-color:#6f92e8; box-shadow:0 0 0 3px rgba(49,95,218,.1); }
body.hep-public-page .hep-consent { display:flex!important; grid-template-columns:none!important; flex-direction:row; align-items:flex-start; gap:10px!important; padding:13px; border-radius:10px; background:#f7f9fc; color:#5e6c82!important; font-weight:600!important; line-height:1.5; }
body.hep-public-page .hep-consent input { width:18px!important; min-height:18px!important; margin-top:2px; flex:0 0 18px; }
body.hep-public-page .hep-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
body.hep-public-page .hep-public-primary,
body.hep-public-page a.hep-public-primary { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:0 20px; border:0; border-radius:9px; background:var(--hep-orange); color:#fff!important; text-decoration:none; font-size:12px; font-weight:900; cursor:pointer; box-shadow:0 10px 24px rgba(255,111,34,.18); }
body.hep-public-page .hep-public-secondary { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:0 20px; border:1px solid #bcc8d9; border-radius:9px; background:#fff; color:var(--hep-navy)!important; text-decoration:none; font-size:12px; font-weight:850; }
body.hep-public-page .hep-public-errors { margin-bottom:18px; padding:14px 16px; border:1px solid #ffd3d3; border-radius:10px; background:#fff5f5; color:#a53333; font-size:12px; line-height:1.6; }
body.hep-public-page .hep-public-side { display:grid; gap:16px; }
body.hep-public-page .hep-public-steps { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:14px; }
body.hep-public-page .hep-public-steps li { display:flex; gap:11px; align-items:flex-start; color:#58677e; font-size:13px; line-height:1.5; }
body.hep-public-page .hep-public-steps b { width:26px; height:26px; flex:0 0 26px; display:grid; place-items:center; border-radius:50%; background:#eaf0ff; color:var(--hep-blue); font-size:11px; }
body.hep-public-page .hep-public-filter { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
body.hep-public-page .hep-public-filter a { padding:8px 12px; border:1px solid #dce3ed; border-radius:999px; background:#fff; color:#536078; text-decoration:none; font-size:11px; font-weight:800; }
body.hep-public-page .hep-public-filter a.active { border-color:var(--hep-navy); background:var(--hep-navy); color:#fff; }
body.hep-public-page .hep-public-teacher-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.hep-public-page .hep-public-teacher-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.hep-public-page .hep-public-teacher-card { padding:26px; border:1px solid var(--hep-line); border-radius:16px; background:#fff; box-shadow:0 10px 25px rgba(18,43,80,.05); }
body.hep-public-page .hep-public-avatar { width:72px; height:72px; display:grid; place-items:center; overflow:hidden; border-radius:50%; background:linear-gradient(145deg,#4777ec,#244fc3); color:#fff; font-size:22px; font-weight:900; }
body.hep-public-page .hep-public-avatar.photo { background:#eef2f8; }
body.hep-public-page .hep-public-avatar.photo img { width:100%; height:100%; margin:0; border:0; border-radius:50%; object-fit:cover; }
body.hep-public-page .hep-public-branch { display:inline-block; margin-top:16px; padding:5px 9px; border-radius:999px; background:#edf2ff; color:var(--hep-blue); font-size:10px; font-weight:850; }
body.hep-public-page .hep-public-teacher-card h2 { margin:9px 0 5px; color:var(--hep-navy); font-size:20px; }
body.hep-public-page .hep-public-teacher-card p { margin:0 0 4px; color:#55647a; font-size:12px; }
body.hep-public-page .hep-public-teacher-card small { color:#8691a3; font-size:11px; }
body.hep-public-page .hep-public-card-actions { display:flex; gap:8px; margin-top:18px; }
body.hep-public-page .hep-public-card-actions a { flex:1; min-height:38px; display:flex; align-items:center; justify-content:center; border:1px solid #cfd8e5; border-radius:8px; color:var(--hep-navy); text-decoration:none; font-size:11px; font-weight:850; }
body.hep-public-page .hep-public-card-actions a.primary { border-color:var(--hep-orange); background:var(--hep-orange); color:#fff; }
body.hep-public-page .hep-public-inline-link { display:inline-block; margin-top:15px; color:var(--hep-blue); text-decoration:none; font-size:12px; font-weight:850; }
body.hep-public-page .hep-public-empty { padding:40px; border:1px dashed #cfd7e4; border-radius:14px; background:#fafbfe; color:#718097; text-align:center; }
body.hep-public-page .hep-public-wide-cta { margin-top:24px; padding:22px 24px; display:flex; align-items:center; gap:12px; border-radius:14px; background:var(--hep-navy); color:#fff; }
body.hep-public-page .hep-public-wide-cta>div { flex:1; display:grid; gap:3px; }
body.hep-public-page .hep-public-wide-cta span { color:#cbd8ed; font-size:11px; }
body.hep-public-page .hep-public-wide-cta a { padding:10px 14px; border-radius:8px; background:#fff; color:var(--hep-navy); text-decoration:none; font-size:11px; font-weight:850; }
body.hep-public-page .hep-public-wide-cta a.primary { background:var(--hep-orange); color:#fff; }
body.hep-public-page .hep-public-demo-hero { padding:74px 0; background:linear-gradient(135deg,#fff,#f3f7ff); border-bottom:1px solid #edf1f7; }
body.hep-public-page .hep-demo-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; }
body.hep-public-page .hep-public-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
body.hep-public-page .hep-demo-window { overflow:hidden; border:1px solid #dce4ef; border-radius:17px; background:#fff; box-shadow:0 25px 55px rgba(11,42,91,.13); }
body.hep-public-page .hep-demo-top { height:48px; display:flex; align-items:center; gap:7px; padding:0 16px; background:#f6f8fb; border-bottom:1px solid #e6ebf2; }
body.hep-public-page .hep-demo-top i { width:9px; height:9px; border-radius:50%; background:#cbd3df; }
body.hep-public-page .hep-demo-top i:nth-child(1){background:#ff7a71}.hep-demo-top i:nth-child(2){background:#f7bf54}.hep-demo-top i:nth-child(3){background:#64c987}
body.hep-public-page .hep-demo-top span { margin-left:8px; color:#7c899c; font-size:10px; font-weight:700; }
body.hep-public-page .hep-demo-panel { padding:28px; }
body.hep-public-page .hep-demo-panel>strong { color:var(--hep-navy); font-size:22px; }
body.hep-public-page .hep-demo-stats { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
body.hep-public-page .hep-demo-stats span { padding:14px; display:grid; gap:4px; border-radius:11px; background:#f5f7fb; color:#6b788e; font-size:10px; }
body.hep-public-page .hep-demo-stats b { color:var(--hep-blue); font-size:22px; }
body.hep-public-page .hep-demo-bars { display:grid; gap:9px; margin-top:19px; }
body.hep-public-page .hep-demo-bars i { display:block; height:12px; border-radius:7px; background:#e9edf4; }
body.hep-public-page .hep-demo-bars i:nth-child(1){width:92%}.hep-demo-bars i:nth-child(2){width:72%}.hep-demo-bars i:nth-child(3){width:84%}
body.hep-public-page .hep-public-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
body.hep-public-page .hep-public-stat-grid>div { padding:24px; display:grid; gap:5px; border:1px solid var(--hep-line); border-radius:14px; background:#fff; }
body.hep-public-page .hep-public-stat-grid strong { color:var(--hep-navy); font-size:31px; }
body.hep-public-page .hep-public-stat-grid span { color:#6d7a8f; font-size:11px; }
body.hep-public-page .hep-public-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
body.hep-public-page .hep-public-feature-grid article { padding:24px; border:1px solid #e2e7ef; border-radius:14px; background:#fff; }
body.hep-public-page .hep-public-feature-grid article>b { width:36px; height:36px; display:grid; place-items:center; border-radius:9px; background:#edf2ff; color:var(--hep-blue); }
body.hep-public-page .hep-public-feature-grid h3 { margin:14px 0 6px; color:var(--hep-navy); font-size:16px; }
body.hep-public-page .hep-public-feature-grid p { margin:0; color:#68768b; font-size:12px; line-height:1.6; }
body.hep-public-page .hep-public-final-cta { padding:66px 0; background:var(--hep-navy); color:#fff; text-align:center; }
body.hep-public-page .hep-public-final-cta span { color:#b9c9e2; font-size:10px; letter-spacing:1.4px; font-weight:900; }
body.hep-public-page .hep-public-final-cta h2 { margin:9px 0 8px; font-size:34px; }
body.hep-public-page .hep-public-final-cta p { margin:0 auto 22px; max-width:650px; color:#d2dced; font-size:14px; }
body.hep-public-page .hep-public-success { min-height:68vh; display:grid; place-items:center; padding:60px 20px; background:#f7f9fc; }
body.hep-public-page .hep-public-success-card { width:min(620px,100%); padding:42px; box-sizing:border-box; border:1px solid var(--hep-line); border-radius:18px; background:#fff; box-shadow:0 18px 42px rgba(12,42,89,.08); text-align:center; }
body.hep-public-page .hep-success-icon { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 18px; border-radius:50%; background:#e8f8f1; color:var(--hep-green); font-size:28px; font-weight:900; }
body.hep-public-page .hep-public-success-card h1 { margin:8px 0 12px; color:var(--hep-navy); font-size:36px; }
body.hep-public-page .hep-public-success-card p { color:#66748a; line-height:1.7; font-size:14px; }
body.hep-public-page .hep-public-success-actions { display:flex; justify-content:center; gap:10px; margin:24px 0 14px; }
body.hep-public-page .hep-public-success-card small { color:#8994a6; }
body.hep-public-page .hep-public-footer { margin-top:auto; padding:24px 0; border-top:1px solid var(--hep-line); background:#fff; color:#718097; }
body.hep-public-page .hep-public-footer .hep-public-container { display:flex; justify-content:space-between; gap:20px; font-size:11px; }
body.hep-public-page .hep-public-footer strong { color:var(--hep-navy); }

@media (max-width:900px) {
 body.hep-public-page .hep-public-nav nav { display:none; }
 body.hep-public-page .hep-public-nav { gap:12px; }
 body.hep-public-page .hep-public-nav-actions { margin-left:auto; }
 body.hep-public-page .hep-request-public-grid,
 body.hep-public-page .hep-demo-hero-grid { grid-template-columns:1fr; }
 body.hep-public-page .hep-public-teacher-grid,
 body.hep-public-page .hep-public-teacher-grid.compact { grid-template-columns:1fr 1fr; }
 body.hep-public-page .hep-public-stat-grid { grid-template-columns:1fr 1fr; }
 body.hep-public-page .hep-public-feature-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
 body.hep-public-page .hep-public-container { width:min(100% - 28px,1160px); }
 body.hep-public-page .hep-public-brand small { display:none; }
 body.hep-public-page .hep-public-brand strong { font-size:14px; }
 body.hep-public-page .hep-public-mark { width:34px; height:34px; font-size:21px; }
 body.hep-public-page .hep-public-hero,
 body.hep-public-page .hep-public-demo-hero { padding:46px 0 38px; }
 body.hep-public-page .hep-public-hero h1,
 body.hep-public-page .hep-public-demo-hero h1 { font-size:34px; }
 body.hep-public-page .hep-form-row,
 body.hep-public-page .hep-public-teacher-grid,
 body.hep-public-page .hep-public-teacher-grid.compact,
 body.hep-public-page .hep-public-feature-grid { grid-template-columns:1fr; }
 body.hep-public-page .hep-public-stat-grid { grid-template-columns:1fr 1fr; }
 body.hep-public-page .hep-public-wide-cta { align-items:stretch; flex-direction:column; }
 body.hep-public-page .hep-public-wide-cta a { text-align:center; }
 body.hep-public-page .hep-public-section-head.inline { align-items:flex-start; flex-direction:column; }
 body.hep-public-page .hep-public-success-actions { flex-direction:column; }
 body.hep-public-page .hep-public-footer .hep-public-container { flex-direction:column; text-align:center; }
}
.hep-request-visitor-chip{display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;background:#fff0e8;color:#d75a16;font-size:9px;font-weight:850;vertical-align:middle}

body.hep-public-page .hep-public-request-ref{margin:22px auto 4px;padding:14px 18px;max-width:330px;border:1px solid #dce5f1;border-radius:12px;background:#f8faff;display:grid;gap:3px}body.hep-public-page .hep-public-request-ref span{color:#758198;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}body.hep-public-page .hep-public-request-ref strong{color:var(--hep-navy);font-size:20px;letter-spacing:.04em}body.hep-public-page .hep-public-request-ref small{color:#8994a6;font-size:10px}


/* v0.3.2 — Visitor request form clarity + WhatsApp actions */
.hep-form-guidance {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
    padding:14px 16px;
    border:1px solid #dfe8f5;
    border-radius:12px;
    background:linear-gradient(135deg,#f8fbff,#fffaf6);
}
.hep-form-guidance > div { display:grid; gap:3px; }
.hep-form-guidance strong { color:var(--hep-navy); font-size:.92rem; }
.hep-form-guidance span { color:#64748b; font-size:.76rem; line-height:1.5; }
.hep-form-guidance small { flex:0 0 auto; color:#64748b; font-size:.72rem; white-space:nowrap; }
.hep-field-title {
    display:flex;
    align-items:center;
    gap:7px;
    min-height:20px;
    color:#152a4b;
    font-size:.77rem;
    font-weight:850;
}
.hep-required { color:#e45716; font-style:normal; }
.hep-optional {
    display:inline-flex;
    align-items:center;
    padding:2px 7px;
    border-radius:999px;
    color:#64748b;
    background:#f1f5f9;
    font-size:.62rem;
    font-style:normal;
    font-weight:750;
}
.hep-field-help {
    display:block;
    margin-top:6px;
    color:#7b8799;
    font-size:.67rem;
    font-weight:500;
    line-height:1.45;
}
.hep-contact-actions {
    display:grid;
    gap:7px;
    margin:14px 0 4px;
    padding:12px;
    border:1px solid #d8efe3;
    border-radius:12px;
    background:#f4fbf7;
}
.hep-whatsapp-cta {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 14px;
    border-radius:10px;
    color:#fff !important;
    background:#168a55;
    text-decoration:none !important;
    font-size:.8rem;
    font-weight:900;
}
.hep-whatsapp-cta:hover { color:#fff !important; background:#117346; }
.hep-contact-helper { color:#60746a; font-size:.67rem; text-align:center; }

@media (max-width:620px) {
    .hep-form-guidance { display:grid; }
    .hep-form-guidance small { white-space:normal; }
}

@media (max-width:620px) {
  body.hep-public-page .hep-public-request-nav { display:none; }
}


/* HEP visitor-to-student conversion v0.4.0 */
.hep-convert-success{margin:0 0 18px;padding:18px 20px;border:1px solid #b9ead1;border-radius:16px;background:#f0fbf5;color:#165f44}.hep-convert-success>strong{display:block;color:#0b5a3b;font-size:16px}.hep-convert-success p{margin:5px 0 12px;font-size:12px}.hep-convert-credentials{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;align-items:center}.hep-convert-credentials span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.hep-convert-credentials code{display:inline-flex;width:max-content;max-width:100%;padding:5px 8px;border-radius:8px;background:#fff;color:#0b2a5b;font-size:12px;font-weight:800}.hep-convert-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:11px;background:#ff6b27;color:#fff!important;font-size:11px;font-weight:900;text-decoration:none;box-shadow:0 8px 18px rgba(255,107,39,.18)}.hep-convert-card{border-color:#ffd7c4}.hep-converted-card{border-color:#cbe9d9;background:#f8fdfa}.hep-convert-shell{max-width:1120px;margin:0 auto;padding:28px 18px 56px;color:#17243d}.hep-convert-hero{position:relative;padding:25px 27px;border:1px solid #dfe7f2;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#f4f7ff);box-shadow:0 14px 34px rgba(18,42,80,.05)}.hep-convert-hero h1{margin:7px 0 7px;color:#0b2a5b;font-size:30px;font-weight:950}.hep-convert-hero p{margin:0 0 13px;max-width:720px;color:#65758b;font-size:13px;line-height:1.55}.hep-convert-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:20px;margin-top:20px}.hep-convert-form,.hep-convert-summary{padding:22px;border:1px solid #dfe7f2;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(18,42,80,.05)}.hep-convert-form h2{margin:0 0 5px;color:#0b2a5b;font-size:21px}.hep-convert-form>p{margin:0 0 18px;color:#738096;font-size:11px;line-height:1.5}.hep-convert-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hep-convert-formgrid label{display:grid;gap:6px}.hep-convert-formgrid label.is-wide{grid-column:1/-1}.hep-convert-formgrid label>span{color:#66758a;font-size:10px;font-weight:850}.hep-convert-formgrid input,.hep-convert-formgrid select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #d4deeb;border-radius:10px;background:#fff;color:#17243d}.hep-convert-submit{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;min-height:44px;padding:10px 16px;border:0;border-radius:11px;background:#0b2a5b;color:#fff;font-size:11px;font-weight:900;cursor:pointer}.hep-convert-errors{margin-top:16px;padding:13px 15px;border:1px solid #f3c1bc;border-radius:12px;background:#fff4f2;color:#a23b31;font-size:11px}.hep-convert-errors div+div{margin-top:5px}.hep-convert-summary h3{margin:7px 0 4px;color:#0b2a5b;font-size:19px}.hep-convert-summary>p{margin:4px 0;color:#6d7c90;font-size:12px}.hep-convert-summary>strong{display:block;margin-top:10px;color:#17243d}.hep-convert-flow{display:grid;grid-template-columns:28px 1fr;gap:8px 10px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #edf1f6}.hep-convert-flow p{margin:0;color:#53657e;font-size:11px;font-weight:750}.hep-convert-step{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#edf3ff;color:#1754d1;font-size:10px;font-weight:900}@media(max-width:780px){.hep-convert-grid{grid-template-columns:1fr}.hep-convert-formgrid{grid-template-columns:1fr}.hep-convert-formgrid label.is-wide{grid-column:auto}.hep-convert-shell{padding:18px 10px 40px}.hep-convert-hero{padding:20px}.hep-convert-hero h1{font-size:25px}}
