/* ChilledTutor Partner Hub 10.0 */
:root {
    --ph-primary: #0b63ce;
    --ph-primary-deep: #073b7a;
    --ph-ink: #10233f;
    --ph-muted: #6b7f99;
    --ph-line: #d9e3ef;
    --ph-soft: #f4f8fc;
    --ph-success: #128a59;
    --ph-warning: #b7791f;
    --ph-danger: #c2413b;
    --ph-sidebar: 270px;
}

body.partner-public-page,
body.partner-auth-page,
body.partner-portal-page {
    background: #f4f7fb;
    color: var(--ph-ink);
}

.partner-hero {
    background:
        radial-gradient(circle at 80% 20%, rgba(78, 166, 255, .28), transparent 30%),
        linear-gradient(135deg, #071f45 0%, #0a4f9e 55%, #0d78c6 100%);
    color: #fff;
    padding: clamp(4rem, 8vw, 7rem) 0;
}
.partner-hero h1 { font-size: clamp(2.3rem, 5vw, 4.6rem); letter-spacing: -.045em; max-width: 900px; }
.partner-hero p { color: rgba(255,255,255,.82); max-width: 760px; font-size: 1.05rem; }
.partner-benefit-card,
.partner-application-card,
.ph-card {
    background: #fff;
    border: 1px solid var(--ph-line);
    border-radius: 20px;
    box-shadow: 0 14px 40px rgba(28, 54, 89, .08);
}
.partner-benefit-card { padding: 1.4rem; height: 100%; }
.partner-benefit-card i { color: var(--ph-primary); font-size: 1.5rem; }
.partner-application-card { padding: clamp(1.25rem, 3vw, 2.25rem); }
.partner-step { display:flex; gap:.9rem; align-items:flex-start; }
.partner-step__number { flex:0 0 34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#e7f1ff; color:var(--ph-primary-deep); font-weight:800; }

.partner-auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 2rem 1rem;
    background:
        radial-gradient(circle at 10% 15%, rgba(11, 99, 206, .12), transparent 30%),
        radial-gradient(circle at 90% 85%, rgba(18, 138, 89, .10), transparent 28%),
        #f5f8fc;
}
.partner-auth-card { width:min(100%, 520px); background:#fff; border:1px solid var(--ph-line); border-radius:24px; padding:clamp(1.4rem,4vw,2.4rem); box-shadow:0 20px 60px rgba(21,49,83,.12); }
.partner-auth-logo { height:52px; width:auto; }

.ph-shell { min-height:100vh; display:grid; grid-template-columns:var(--ph-sidebar) minmax(0,1fr); background:#f4f7fb; }
.ph-sidebar { position:sticky; top:0; height:100vh; background:#0c2342; color:#e6effa; display:flex; flex-direction:column; overflow:hidden; z-index:1030; }
.ph-sidebar__brand { padding:1.25rem; border-bottom:1px solid rgba(255,255,255,.1); }
.ph-sidebar__brand img { width:150px; max-height:48px; object-fit:contain; filter:brightness(0) invert(1); }
.ph-sidebar__brand small { display:block; color:#9fb7d3; margin-top:.35rem; }
.ph-sidebar__scroll { padding:.85rem; overflow:auto; flex:1; scrollbar-width:thin; }
.ph-nav-label { padding:.7rem .75rem .35rem; color:#7f9ab9; text-transform:uppercase; letter-spacing:.08em; font-size:.69rem; font-weight:800; }
.ph-nav-link { display:flex; align-items:center; gap:.7rem; color:#c8d7e8; text-decoration:none; padding:.72rem .8rem; border-radius:11px; margin:.12rem 0; font-weight:650; font-size:.91rem; }
.ph-nav-link:hover { background:rgba(255,255,255,.08); color:#fff; }
.ph-nav-link.active { background:#fff; color:#0c3f7b; box-shadow:0 8px 24px rgba(0,0,0,.14); }
.ph-nav-link .badge { margin-left:auto; }
.ph-sidebar__footer { padding:1rem; border-top:1px solid rgba(255,255,255,.1); }
.ph-sidebar__user { display:flex; gap:.65rem; align-items:center; color:#fff; }
.ph-avatar { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#1683d8; color:#fff; font-weight:800; }
.ph-main { min-width:0; }
.ph-topbar { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem clamp(1rem,2.5vw,2rem); background:#fff; border-bottom:1px solid var(--ph-line); position:sticky; top:0; z-index:1020; }
.ph-topbar__title small { color:var(--ph-muted); display:block; }
.ph-content { width:min(100%, 1600px); margin:0 auto; padding:clamp(1rem,2.5vw,2rem); }
.ph-page-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; flex-wrap:wrap; margin-bottom:1.25rem; }
.ph-page-heading h1 { font-size:clamp(1.6rem,3vw,2.35rem); margin:0; letter-spacing:-.035em; }
.ph-page-heading p { color:var(--ph-muted); margin:.3rem 0 0; }

.ph-hero-card { background:linear-gradient(125deg,#092957,#0b64b9); color:#fff; border-radius:24px; padding:clamp(1.35rem,3vw,2.3rem); overflow:hidden; position:relative; box-shadow:0 18px 44px rgba(6,65,129,.2); }
.ph-hero-card::after { content:""; position:absolute; width:320px; height:320px; right:-120px; top:-130px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.04), 0 0 0 85px rgba(255,255,255,.03); }
.ph-hero-card p { color:rgba(255,255,255,.78); max-width:780px; }
.ph-chip { display:inline-flex; gap:.4rem; align-items:center; padding:.35rem .65rem; border-radius:999px; font-size:.78rem; font-weight:800; background:rgba(255,255,255,.14); color:#fff; }

.ph-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.ph-metric { background:#fff; border:1px solid var(--ph-line); border-radius:18px; padding:1.1rem; min-width:0; }
.ph-metric__icon { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:#eaf3ff; color:var(--ph-primary); margin-bottom:.8rem; }
.ph-metric__label { color:var(--ph-muted); font-size:.82rem; }
.ph-metric__value { font-size:1.55rem; font-weight:850; letter-spacing:-.03em; margin-top:.2rem; overflow-wrap:anywhere; }
.ph-metric__sub { color:var(--ph-muted); font-size:.75rem; margin-top:.25rem; }

.ph-card { padding:1.25rem; min-width:0; }
.ph-card__header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; flex-wrap:wrap; }
.ph-card__header h2,.ph-card__header h3 { margin:0; font-size:1.05rem; }
.ph-card__header p { margin:.25rem 0 0; color:var(--ph-muted); font-size:.84rem; }
.ph-two-col { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr); gap:1rem; }
.ph-equal-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.ph-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }

.ph-table-wrap { width:100%; overflow:auto; border:1px solid var(--ph-line); border-radius:14px; scrollbar-width:thin; }
.ph-table { margin:0; min-width:920px; }
.ph-table th { background:#f6f9fc; color:#5d718c; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
.ph-table td { vertical-align:middle; }
.ph-table .ph-actions { position:sticky; right:0; background:#fff; box-shadow:-7px 0 14px rgba(30,60,90,.06); white-space:nowrap; z-index:2; }
.ph-table th.ph-actions { background:#f6f9fc; z-index:3; }

.ph-status { display:inline-flex; align-items:center; gap:.35rem; padding:.3rem .6rem; border-radius:999px; font-weight:750; font-size:.73rem; white-space:nowrap; background:#edf2f7; color:#4d6078; }
.ph-status--active,.ph-status--paid,.ph-status--completed,.ph-status--approved,.ph-status--won { background:#e4f7ee; color:#08704a; }
.ph-status--pending,.ph-status--onboarding,.ph-status--trial,.ph-status--awaiting-signoff,.ph-status--prepared { background:#fff4d8; color:#90610a; }
.ph-status--suspended,.ph-status--reversed,.ph-status--declined,.ph-status--lost { background:#fdeaea; color:#a43131; }
.ph-status--payable,.ph-status--in-progress,.ph-status--under-review { background:#e9f2ff; color:#165eaf; }

.ph-progress { height:8px; border-radius:999px; background:#e7edf5; overflow:hidden; }
.ph-progress > span { display:block; height:100%; background:linear-gradient(90deg,#0a61bf,#19a4dd); border-radius:inherit; }
.ph-task { border:1px solid var(--ph-line); border-radius:14px; padding:1rem; margin-bottom:.75rem; }
.ph-task--done { border-color:#b7e4cf; background:#f4fcf8; }
.ph-task__meta { display:flex; gap:.55rem; flex-wrap:wrap; align-items:center; color:var(--ph-muted); font-size:.78rem; }

.ph-empty { text-align:center; padding:2.2rem 1rem; color:var(--ph-muted); border:1px dashed #ccd8e6; border-radius:16px; background:#fbfdff; }
.ph-empty i { display:block; font-size:2rem; color:#8da4bd; margin-bottom:.6rem; }
.ph-referral-box { display:flex; gap:.5rem; align-items:center; background:#f4f8fc; border:1px solid var(--ph-line); border-radius:12px; padding:.55rem; }
.ph-referral-box input { border:0; background:transparent; min-width:0; flex:1; color:var(--ph-ink); }
.ph-onboarding-step { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:.8rem; align-items:center; padding:.9rem 0; border-bottom:1px solid #edf1f5; }
.ph-onboarding-step:last-child { border-bottom:0; }
.ph-onboarding-step__icon { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#eff3f8; color:#6b7e94; }
.ph-onboarding-step--done .ph-onboarding-step__icon { background:#e3f7ed; color:#0d7c50; }

.ph-mobile-toggle { display:none; }
.ph-backdrop { display:none; }

.partner-certificate-page { background:#eef3f8; min-height:100vh; padding:2rem; }
.partner-certificate { width:min(1120px,100%); aspect-ratio:1.414/1; margin:auto; background:#fff; border:12px solid #0b315f; box-shadow:0 20px 55px rgba(22,45,72,.18); padding:3.5%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; position:relative; }
.partner-certificate::before { content:""; position:absolute; inset:16px; border:2px solid #c69a35; pointer-events:none; }
.partner-certificate h1 { font-family:Sora,Manrope,sans-serif; color:#0b315f; font-size:clamp(1.8rem,4vw,3.6rem); }
.partner-certificate .company { font-size:clamp(1.5rem,3vw,2.8rem); font-weight:850; color:#0a67b7; margin:1rem 0; }

@media (max-width: 1200px) {
    .ph-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ph-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
    .ph-shell { display:block; }
    .ph-sidebar { position:fixed; inset:0 auto 0 0; width:min(86vw,var(--ph-sidebar)); transform:translateX(-105%); transition:transform .2s ease; box-shadow:20px 0 50px rgba(0,0,0,.2); }
    body.ph-nav-open .ph-sidebar { transform:translateX(0); }
    .ph-backdrop { position:fixed; inset:0; background:rgba(8,21,39,.48); z-index:1025; }
    body.ph-nav-open .ph-backdrop { display:block; }
    .ph-mobile-toggle { display:inline-flex; }
    .ph-two-col,.ph-equal-two { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
    .ph-content { padding:1rem .75rem; }
    .ph-topbar { padding:.7rem .75rem; }
    .ph-metric-grid,.ph-three { grid-template-columns:1fr; }
    .ph-card { padding:1rem; border-radius:16px; }
    .ph-page-heading { align-items:flex-start; }
    .ph-onboarding-step { grid-template-columns:36px minmax(0,1fr); }
    .ph-onboarding-step > :last-child { grid-column:2; justify-self:start; }
    .partner-certificate-page { padding:.5rem; }
}

@media print {
    body.partner-certificate-page { background:#fff; padding:0; }
    .partner-certificate-actions { display:none !important; }
    .partner-certificate { width:100%; height:100vh; box-shadow:none; margin:0; }
}

/* Main Administrator Partner Management Centre */
body.partner-admin-page { background:#f4f7fb; color:var(--ph-ink); }
.partner-admin-centre { max-width:1900px; margin-inline:auto; min-width:0; }
.partner-admin-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; padding:clamp(1.2rem,2.5vw,2rem); border:1px solid #d7e2ef; border-radius:22px; background:linear-gradient(120deg,#ffffff 0%,#f5faff 68%,#e8f3ff 100%); box-shadow:0 12px 34px rgba(32,59,92,.07); }
.partner-admin-hero h1 { font:700 clamp(1.65rem,3vw,2.45rem)/1.1 Sora,Manrope,sans-serif; letter-spacing:-.035em; color:#10233f; }
.partner-admin-hero p { color:var(--ph-muted); max-width:920px; }
.partner-kicker { display:inline-flex; gap:.4rem; align-items:center; text-transform:uppercase; letter-spacing:.075em; color:#2872bf; font-weight:800; font-size:.72rem; margin-bottom:.4rem; }
.partner-admin-tabs { display:flex; gap:.45rem; overflow-x:auto; scrollbar-width:thin; padding:.45rem; border:1px solid #dbe5ef; border-radius:15px; background:#fff; box-shadow:0 7px 24px rgba(30,55,88,.05); }
.partner-admin-tabs a { display:inline-flex; gap:.5rem; align-items:center; flex:0 0 auto; text-decoration:none; color:#526a85; font-weight:750; font-size:.86rem; padding:.72rem .9rem; border-radius:10px; }
.partner-admin-tabs a:hover { color:#0b63ce; background:#f1f7ff; }
.partner-admin-tabs a.active { color:#fff; background:#0b63ce; box-shadow:0 7px 18px rgba(11,99,206,.2); }
.partner-panel { background:#fff; border:1px solid #dbe5ef; border-radius:20px; padding:clamp(1rem,2vw,1.4rem); box-shadow:0 10px 30px rgba(31,58,91,.055); min-width:0; }
.partner-panel__head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; margin-bottom:1.1rem; }
.partner-panel__head h2 { margin:0; font:700 1.1rem/1.25 Sora,Manrope,sans-serif; letter-spacing:-.02em; }
.partner-panel__head p { margin:.35rem 0 0; color:var(--ph-muted); font-size:.86rem; max-width:900px; }
.partner-panel__head > a { font-size:.82rem; font-weight:750; text-decoration:none; }
.partner-count-pill { display:grid; place-items:center; min-width:34px; height:34px; padding:0 .6rem; border-radius:999px; background:#edf5ff; color:#0c5fb6; font-weight:850; font-size:.8rem; }
.partner-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.partner-metric-card { display:flex; gap:.8rem; align-items:flex-start; min-width:0; padding:1.05rem; border:1px solid #dce6f0; border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(31,59,92,.05); }
.partner-metric-icon { flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:#0a67c2; background:#eaf4ff; }
.partner-metric-card small,.partner-metric-card span { display:block; color:#74869c; }
.partner-metric-card strong { display:block; color:#122946; font-size:1.35rem; line-height:1.2; margin:.1rem 0 .18rem; overflow-wrap:anywhere; }
.partner-metric-card span { font-size:.72rem; }
.partner-compact-row { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.78rem 0; border-bottom:1px solid #edf1f5; }
.partner-compact-row:last-child { border-bottom:0; }
.partner-compact-row strong,.partner-compact-row small { display:block; }
.partner-compact-row small { color:var(--ph-muted); font-size:.75rem; margin-top:.12rem; }
.partner-admin-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.partner-admin-card-grid--wide { grid-template-columns:repeat(3,minmax(0,1fr)); }
.partner-admin-record { border:1px solid #dfe7f0; border-radius:16px; padding:1rem; min-width:0; background:linear-gradient(180deg,#fff,#fcfdff); }
.partner-detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 1rem; margin:1rem 0; }
.partner-detail-list > div { min-width:0; }
.partner-detail-list dt { color:#71849b; font-size:.69rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:.2rem; }
.partner-detail-list dd { margin:0; font-size:.85rem; overflow-wrap:anywhere; }
.partner-note { border-left:3px solid #3a88d5; background:#f2f8ff; border-radius:9px; padding:.75rem .85rem; font-size:.82rem; }
.partner-note--muted { border-color:#a7b6c7; background:#f7f9fb; }
.partner-note p { margin:.2rem 0 0; color:#526c87; }
.partner-mini-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.partner-mini-metrics > div { border-radius:11px; background:#f5f8fc; padding:.65rem; min-width:0; }
.partner-mini-metrics strong,.partner-mini-metrics span { display:block; }
.partner-mini-metrics strong { font-size:.98rem; overflow-wrap:anywhere; }
.partner-mini-metrics span { color:#778ba2; font-size:.67rem; margin-top:.15rem; }
.partner-status-stack { display:grid; gap:.55rem; }
.partner-status-stack > div { display:flex; justify-content:space-between; gap:.7rem; align-items:center; font-size:.8rem; }
.partner-admin-details { border-top:1px solid #e8eef5; }
.partner-admin-details > summary { cursor:pointer; color:#1768b9; font-weight:750; font-size:.82rem; padding-top:.8rem; list-style-position:inside; }
.partner-admin-table-wrap { border:1px solid #dfe7f0; border-radius:14px; }
.partner-admin-table { min-width:1120px; margin:0; }
.partner-admin-table th { white-space:nowrap; background:#f6f9fc; color:#637a94; font-size:.72rem; text-transform:uppercase; letter-spacing:.045em; }
.min-w-260 { min-width:260px; }
.partner-ticket-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,310px); gap:1rem; padding:1rem 0; border-bottom:1px solid #e9eff5; }
.partner-ticket-row:last-child { border-bottom:0; }
.partner-ticket-row strong,.partner-ticket-row small { display:block; }
.partner-ticket-row small { color:var(--ph-muted); font-size:.76rem; margin:.2rem 0; }
.partner-ticket-row p { color:#516b86; font-size:.82rem; margin:.45rem 0 0; }
.partner-ticket-action { display:grid; gap:.45rem; align-self:start; }
.partner-payout-row { border:1px solid #e0e8f1; border-radius:15px; padding:1rem; margin-bottom:.8rem; }
.partner-payout-main { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.partner-payout-main strong,.partner-payout-main small { display:block; }
.partner-payout-main small { color:#7689a0; font-size:.74rem; margin-top:.2rem; }
.partner-payout-main .text-end strong { font-size:1.15rem; }
.partner-payout-meta { display:flex; gap:.8rem 1.2rem; flex-wrap:wrap; color:#687d95; font-size:.74rem; margin-top:.7rem; }
.partner-proof-input { width:min(250px,100%); }
.partner-sticky-panel { position:sticky; top:100px; }
.partner-empty-state { grid-column:1/-1; text-align:center; padding:2rem 1rem; border:1px dashed #cbd8e6; border-radius:15px; color:#71849a; background:#fbfdff; }
.partner-empty-state i { display:block; font-size:1.8rem; margin-bottom:.5rem; }
.partner-empty-state h3 { font-size:1rem; color:#2d4662; }

[data-theme="dark"] body.partner-admin-page,
[data-theme="dark"] body.partner-portal-page { background:#101820; color:#dce7f4; }
[data-theme="dark"] .partner-admin-hero,
[data-theme="dark"] .partner-panel,
[data-theme="dark"] .partner-metric-card,
[data-theme="dark"] .partner-admin-tabs,
[data-theme="dark"] .partner-admin-record { background:#17222d; border-color:#2c3d4e; color:#e5edf6; }
[data-theme="dark"] .partner-admin-hero h1,
[data-theme="dark"] .partner-panel__head h2,
[data-theme="dark"] .partner-metric-card strong { color:#eef5fc; }
[data-theme="dark"] .partner-admin-tabs a { color:#b5c6d8; }
[data-theme="dark"] .partner-mini-metrics > div,
[data-theme="dark"] .partner-note--muted { background:#1d2b38; }
[data-theme="dark"] .partner-admin-table th { background:#1d2b38; color:#b2c2d3; }
[data-theme="dark"] .partner-empty-state { background:#15202a; border-color:#3a4b5b; }

@media (max-width:1450px) {
    .partner-admin-card-grid--wide { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .partner-metric-grid--admin { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
    .partner-admin-card-grid,.partner-admin-card-grid--wide { grid-template-columns:1fr; }
    .partner-metric-grid--admin { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .partner-sticky-panel { position:static; }
}
@media (max-width:680px) {
    .partner-admin-centre { padding-inline:.75rem !important; }
    .partner-admin-hero { align-items:flex-start; border-radius:16px; }
    .partner-admin-hero .btn { flex:1 1 100%; }
    .partner-metric-grid--admin { grid-template-columns:1fr; }
    .partner-detail-list,.partner-mini-metrics { grid-template-columns:1fr; }
    .partner-ticket-row { grid-template-columns:1fr; }
    .partner-payout-main { flex-direction:column; }
    .partner-payout-main .text-end { text-align:left !important; }
    .partner-proof-input { width:100%; }
}
.partner-agreement-document { max-width:900px; margin-inline:auto; }
.partner-agreement-terms h2 { font:700 1rem/1.4 Sora,Manrope,sans-serif; color:#173c66; margin:1.5rem 0 .45rem; }
.partner-agreement-terms p { color:#425d78; line-height:1.7; font-size:.9rem; }
@media print {
    .partner-agreement-actions,.app-navbar,.app-footer { display:none !important; }
    body.partner-portal-page { background:#fff !important; }
    .partner-agreement-document { border:0 !important; box-shadow:none !important; max-width:none; padding:0 !important; }
}

/* Partner Academy Visual Wizard 10.1 */
.ph-academy-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem);
    overflow: hidden;
    margin-bottom: 1.25rem;
    padding: clamp(1.5rem, 3.5vw, 2.7rem);
    border-radius: 26px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 10%, rgba(255,255,255,.18), transparent 28%),
        radial-gradient(circle at 10% 95%, rgba(51,166,223,.24), transparent 35%),
        linear-gradient(125deg, #071f45 0%, #0b56a5 58%, #0b76bf 100%);
    box-shadow: 0 20px 46px rgba(8, 64, 124, .2);
}
.ph-academy-hero::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -120px;
    bottom: -190px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(255,255,255,.04), 0 0 0 88px rgba(255,255,255,.03);
}
.ph-academy-hero > * { position: relative; z-index: 1; }
.ph-academy-hero h1 {
    margin: .8rem 0 .55rem;
    font: 700 clamp(1.9rem, 4vw, 3.4rem)/1.08 Sora, Manrope, sans-serif;
    letter-spacing: -.045em;
}
.ph-academy-hero p { max-width: 820px; margin: 0; color: rgba(255,255,255,.8); font-size: 1rem; line-height: 1.65; }
.ph-academy-hero__stats { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.25rem; }
.ph-academy-hero__stats span { display: flex; align-items: baseline; gap: .35rem; color: rgba(255,255,255,.72); font-size: .8rem; }
.ph-academy-hero__stats strong { color: #fff; font-size: 1rem; }
.ph-academy-hero__progress { display: grid; justify-items: center; gap: .55rem; min-width: 150px; }
.ph-academy-hero__progress small { color: rgba(255,255,255,.76); text-align: center; }
.ph-academy-hero__ring {
    --academy-progress: 0;
    position: relative;
    width: 126px;
    height: 126px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#72d6ff calc(var(--academy-progress) * 1%), rgba(255,255,255,.2) 0);
}
.ph-academy-hero__ring::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: #0a4b91; }
.ph-academy-hero__ring span { position: relative; font: 700 1.55rem/1 Sora, Manrope, sans-serif; }

.ph-academy-guide-note,
.ph-academy-assessment-lock {
    display: flex;
    gap: .9rem;
    align-items: flex-start;
    margin-bottom: 1.25rem;
    padding: 1rem 1.15rem;
    border: 1px solid #cfe0f1;
    border-radius: 16px;
    background: #f1f7fe;
    color: #294760;
}
.ph-academy-guide-note > i,
.ph-academy-assessment-lock > i { flex: 0 0 auto; color: #0b63ce; font-size: 1.25rem; margin-top: .05rem; }
.ph-academy-guide-note strong,
.ph-academy-assessment-lock strong { display: block; color: #153a61; }
.ph-academy-guide-note p,
.ph-academy-assessment-lock p { margin: .2rem 0 0; font-size: .86rem; line-height: 1.55; }

.ph-academy-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.15rem; }
.ph-academy-module-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--ph-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(28,54,89,.075);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ph-academy-module-card:hover { transform: translateY(-2px); border-color: #b9d2eb; box-shadow: 0 19px 42px rgba(28,54,89,.12); }
.ph-academy-module-card__image { display: block; width: 100%; aspect-ratio: 16 / 7.2; object-fit: cover; background: #eef4fa; }
.ph-academy-module-card__body { padding: 1.2rem; }
.ph-academy-module-card__top { display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.ph-academy-module-card__top > span:first-child { color: var(--ph-primary); font-size: .72rem; font-weight: 850; letter-spacing: .075em; }
.ph-academy-module-card h2 { margin: .65rem 0 .45rem; font: 700 1.2rem/1.25 Sora, Manrope, sans-serif; letter-spacing: -.025em; }
.ph-academy-module-card p { min-height: 3.2em; margin: 0; color: var(--ph-muted); font-size: .85rem; line-height: 1.6; }
.ph-academy-module-card__meta { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin-top: 1rem; color: #5f748c; font-size: .75rem; }
.ph-academy-module-card__meta i { color: var(--ph-primary); margin-right: .25rem; }
.ph-academy-module-card__footer { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-top: 1rem; }
.ph-academy-module-card__footer > span { color: var(--ph-muted); font-size: .75rem; }
.ph-academy-module-card__footer .btn { white-space: nowrap; }

.ph-academy-wizard-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1.25rem;
    margin-bottom: 1.2rem;
}
.ph-academy-wizard-heading h1 { margin: .25rem 0 .35rem; font: 700 clamp(1.7rem, 3vw, 2.55rem)/1.1 Sora, Manrope, sans-serif; letter-spacing: -.04em; }
.ph-academy-wizard-heading p { max-width: 900px; margin: 0; color: var(--ph-muted); line-height: 1.6; }
.ph-academy-back { display: inline-flex; align-items: center; gap: .35rem; margin-bottom: .55rem; color: #42627f; font-size: .8rem; font-weight: 750; text-decoration: none; }
.ph-academy-back:hover { color: var(--ph-primary); }
.ph-academy-kicker { color: var(--ph-primary); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ph-academy-wizard-heading__meta { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; justify-content: flex-end; }
.ph-academy-wizard-heading__meta > span:not(.ph-status) { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .65rem; border: 1px solid var(--ph-line); border-radius: 999px; background: #fff; color: #5b7189; font-size: .75rem; white-space: nowrap; }

.ph-academy-wizard { display: grid; grid-template-columns: minmax(270px, 315px) minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.ph-academy-outline {
    position: sticky;
    top: 92px;
    max-height: calc(100vh - 112px);
    overflow: auto;
    padding: 1rem;
    border: 1px solid var(--ph-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(28,54,89,.065);
    scrollbar-width: thin;
}
.ph-academy-outline__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .65rem; color: var(--ph-muted); font-size: .76rem; }
.ph-academy-outline__head strong { color: var(--ph-ink); }
.ph-academy-outline__steps { display: grid; gap: .35rem; margin-top: .9rem; }
.ph-academy-outline__step {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    align-items: center;
    gap: .7rem;
    padding: .72rem;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #3f5872;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.ph-academy-outline__step:hover { border-color: #d6e4f1; background: #f7faff; color: #174f88; }
.ph-academy-outline__step.is-current { border-color: #b7d3ef; background: #edf6ff; color: #0c5eaf; }
.ph-academy-outline__step.is-complete:not(.is-current) { color: #176d4e; }
.ph-academy-outline__number { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #edf2f7; color: #57708a; font-weight: 850; font-size: .75rem; }
.ph-academy-outline__step.is-current .ph-academy-outline__number { background: var(--ph-primary); color: #fff; }
.ph-academy-outline__step.is-complete .ph-academy-outline__number { background: #dcf5e9; color: #08704a; }
.ph-academy-outline__step strong,
.ph-academy-outline__step small { display: block; }
.ph-academy-outline__step strong { font-size: .78rem; line-height: 1.35; }
.ph-academy-outline__step small { margin-top: .15rem; color: #8293a7; font-size: .66rem; }
.ph-academy-field-note { display: flex; gap: .65rem; margin-top: 1rem; padding: .8rem; border-radius: 13px; background: #fff8df; color: #6a5417; }
.ph-academy-field-note > i { flex: 0 0 auto; color: #b78212; }
.ph-academy-field-note strong { display: block; font-size: .75rem; }
.ph-academy-field-note p { margin: .18rem 0 0; font-size: .7rem; line-height: 1.45; }

.ph-academy-lesson {
    min-width: 0;
    padding: clamp(1rem, 2.4vw, 1.65rem);
    border: 1px solid var(--ph-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(28,54,89,.07);
}
.ph-academy-lesson__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1.1rem; }
.ph-academy-lesson__header h2 { margin: .28rem 0 .35rem; font: 700 clamp(1.45rem, 2.8vw, 2.15rem)/1.15 Sora, Manrope, sans-serif; letter-spacing: -.035em; }
.ph-academy-lesson__header p { max-width: 900px; margin: 0; color: var(--ph-muted); line-height: 1.65; }
.ph-academy-time { display: inline-flex; align-items: center; gap: .35rem; flex: 0 0 auto; padding: .42rem .7rem; border-radius: 999px; background: #edf5ff; color: #0d5fae; font-size: .72rem; font-weight: 750; white-space: nowrap; }
.ph-academy-visual { overflow: hidden; margin: 0 0 1.15rem; border: 1px solid #d7e3ef; border-radius: 18px; background: #eef4fa; }
.ph-academy-visual img { display: block; width: 100%; height: auto; }
.ph-academy-visual figcaption { display: flex; align-items: center; gap: .4rem; padding: .65rem .85rem; border-top: 1px solid #d7e3ef; background: #fff; color: #687e95; font-size: .72rem; }
.ph-academy-route { display: flex; gap: .7rem; align-items: center; margin-bottom: 1rem; padding: .8rem .9rem; border: 1px solid #cfe0f1; border-radius: 14px; background: #f4f9ff; }
.ph-academy-route > i { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 11px; background: #dceeff; color: #0b63ce; }
.ph-academy-route strong,
.ph-academy-route span { display: block; }
.ph-academy-route strong { color: #173c64; font-size: .72rem; text-transform: uppercase; letter-spacing: .045em; }
.ph-academy-route span { margin-top: .1rem; color: #526d86; font-size: .82rem; }

.ph-academy-section { margin-top: 1rem; padding: 1rem; border: 1px solid #dfe8f1; border-radius: 17px; background: #fff; }
.ph-academy-section__title { display: flex; align-items: flex-start; gap: .7rem; margin-bottom: .85rem; }
.ph-academy-section__title > span,
.ph-academy-section__title > i { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 34px; border-radius: 10px; background: #e8f2ff; color: #0b63ce; font-weight: 850; }
.ph-academy-section__title h3 { margin: 0; font: 700 .98rem/1.3 Sora, Manrope, sans-serif; }
.ph-academy-section__title p { margin: .15rem 0 0; color: var(--ph-muted); font-size: .76rem; line-height: 1.45; }
.ph-academy-action-list { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.ph-academy-action-list li { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: .65rem; align-items: start; }
.ph-academy-action-list li > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #0c63bd; color: #fff; font-size: .7rem; font-weight: 850; }
.ph-academy-action-list p { margin: .15rem 0 0; color: #344f69; font-size: .84rem; line-height: 1.55; }
.ph-academy-two-col { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.ph-academy-section--success { background: #f7fcf9; border-color: #cfe9dc; }
.ph-academy-section--success .ph-academy-section__title > i { background: #dff5e9; color: #08704a; }
.ph-academy-section--warning { background: #fffaf5; border-color: #f1dfca; }
.ph-academy-section--warning .ph-academy-section__title > i { background: #fff0dc; color: #a8610b; }
.ph-academy-check-list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.ph-academy-check-list li { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: .45rem; align-items: start; color: #445f78; font-size: .78rem; line-height: 1.5; }
.ph-academy-section--success .ph-academy-check-list i { color: #0d7b52; }
.ph-academy-section--warning .ph-academy-check-list i { color: #b25d2a; }
.ph-academy-practical { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: .9rem; margin-top: 1rem; padding: 1.05rem; border-radius: 18px; color: #fff; background: linear-gradient(125deg,#173d70,#2e75b8); }
.ph-academy-practical__icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; background: rgba(255,255,255,.14); font-size: 1.25rem; }
.ph-academy-practical span { display: block; color: #b9ddff; font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.ph-academy-practical h3 { margin: .25rem 0 .35rem; font-size: .96rem; line-height: 1.45; }
.ph-academy-practical p { margin: 0; color: rgba(255,255,255,.78); font-size: .76rem; line-height: 1.5; }

.ph-academy-knowledge { background: #f8fbff; border-color: #cfe0f1; }
.ph-academy-knowledge fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.ph-academy-knowledge legend,
.ph-academy-exam-question legend { width: auto; margin-bottom: .8rem; color: #1f3d5b; font-size: .9rem; font-weight: 750; line-height: 1.5; }
.ph-academy-option { display: grid; grid-template-columns: 20px 34px minmax(0,1fr); align-items: center; gap: .6rem; width: 100%; margin-bottom: .55rem; padding: .7rem .75rem; border: 1px solid #d8e4ef; border-radius: 13px; background: #fff; color: #3e5871; font-size: .8rem; cursor: pointer; }
.ph-academy-option:hover { border-color: #a9c9e8; background: #f8fbff; }
.ph-academy-option:has(input:checked) { border-color: #76aee0; background: #edf6ff; box-shadow: 0 0 0 2px rgba(11,99,206,.08); }
.ph-academy-option input { margin: 0; accent-color: #0b63ce; }
.ph-academy-option__letter { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: #eef3f8; color: #4d6680; font-weight: 850; }
.ph-academy-option:has(input:checked) .ph-academy-option__letter { background: #0b63ce; color: #fff; }
.ph-academy-answer-feedback { margin-top: .8rem; padding: .8rem .9rem; border-radius: 12px; font-size: .8rem; line-height: 1.5; }
.ph-academy-answer-feedback.is-correct { border: 1px solid #bde3d1; background: #e9f8f1; color: #096844; }
.ph-academy-answer-feedback.is-incorrect { border: 1px solid #efc6c6; background: #fff0f0; color: #9b3333; }
.ph-academy-lesson__actions { display: flex; justify-content: space-between; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #dce6ef; }
.ph-academy-complete-note { display: inline-flex; align-items: center; gap: .35rem; color: #08704a; font-size: .78rem; font-weight: 750; }
.ph-academy-assessment { border-top: 4px solid #0b63ce; }
.ph-academy-exam-question { margin: 0 0 1rem; padding: 1rem; border: 1px solid #dce6ef; border-radius: 15px; }
.ph-academy-assessment-lock { margin-bottom: 0; background: #f7f9fb; border-color: #dce4ec; }
.ph-academy-assessment-lock > i { color: #6d7e91; }

[data-theme="dark"] .ph-academy-module-card,
[data-theme="dark"] .ph-academy-outline,
[data-theme="dark"] .ph-academy-lesson,
[data-theme="dark"] .ph-academy-section,
[data-theme="dark"] .ph-academy-visual figcaption,
[data-theme="dark"] .ph-academy-option,
[data-theme="dark"] .ph-academy-wizard-heading__meta > span:not(.ph-status) { background: #17222d; border-color: #2d4052; color: #dce7f4; }
[data-theme="dark"] .ph-academy-module-card h2,
[data-theme="dark"] .ph-academy-wizard-heading h1,
[data-theme="dark"] .ph-academy-lesson__header h2,
[data-theme="dark"] .ph-academy-section__title h3,
[data-theme="dark"] .ph-academy-knowledge legend,
[data-theme="dark"] .ph-academy-exam-question legend { color: #eef5fc; }
[data-theme="dark"] .ph-academy-section--success { background: #152a24; border-color: #285344; }
[data-theme="dark"] .ph-academy-section--warning { background: #2b241b; border-color: #59452c; }
[data-theme="dark"] .ph-academy-knowledge,
[data-theme="dark"] .ph-academy-route,
[data-theme="dark"] .ph-academy-guide-note { background: #152636; border-color: #2d4b65; color: #c6d7e8; }
[data-theme="dark"] .ph-academy-route strong,
[data-theme="dark"] .ph-academy-guide-note strong { color: #e8f3fe; }
[data-theme="dark"] .ph-academy-outline__step { color: #c7d6e5; }
[data-theme="dark"] .ph-academy-outline__step:hover,
[data-theme="dark"] .ph-academy-outline__step.is-current { background: #1c3348; border-color: #3d6384; }
[data-theme="dark"] .ph-academy-option:has(input:checked) { background: #1c3348; border-color: #4e86b6; }

@media (max-width: 1240px) {
    .ph-academy-wizard { grid-template-columns: 270px minmax(0,1fr); }
    .ph-academy-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
    .ph-academy-hero { grid-template-columns: 1fr; }
    .ph-academy-hero__progress { grid-template-columns: auto minmax(0,1fr); justify-items: start; align-items: center; }
    .ph-academy-hero__ring { width: 96px; height: 96px; }
    .ph-academy-wizard-heading { align-items: flex-start; flex-direction: column; }
    .ph-academy-wizard-heading__meta { justify-content: flex-start; }
    .ph-academy-wizard { grid-template-columns: 1fr; }
    .ph-academy-outline { position: static; max-height: none; overflow: visible; }
    .ph-academy-outline__steps { display: flex; overflow-x: auto; padding-bottom: .4rem; scroll-snap-type: x proximity; scrollbar-width: thin; }
    .ph-academy-outline__step { flex: 0 0 min(250px, 78vw); scroll-snap-align: start; }
}
@media (max-width: 760px) {
    .ph-academy-grid { grid-template-columns: 1fr; }
    .ph-academy-two-col { grid-template-columns: 1fr; }
    .ph-academy-lesson__header { flex-direction: column; }
    .ph-academy-module-card p { min-height: 0; }
}
@media (max-width: 560px) {
    .ph-academy-hero { padding: 1.2rem; border-radius: 19px; }
    .ph-academy-hero__progress { grid-template-columns: 1fr; }
    .ph-academy-hero__stats { display: grid; gap: .5rem; }
    .ph-academy-module-card__body,
    .ph-academy-lesson { padding: .95rem; }
    .ph-academy-module-card__footer { align-items: stretch; flex-direction: column; }
    .ph-academy-module-card__footer .btn { width: 100%; }
    .ph-academy-lesson__actions { align-items: stretch; flex-direction: column; }
    .ph-academy-lesson__actions > *,
    .ph-academy-lesson__actions > div,
    .ph-academy-lesson__actions .btn { width: 100%; }
    .ph-academy-option { grid-template-columns: 18px 30px minmax(0,1fr); padding: .65rem; }
    .ph-academy-practical { grid-template-columns: 1fr; }
    .ph-academy-visual figcaption { align-items: flex-start; }
}

@media print {
    .ph-sidebar,
    .ph-topbar,
    .ph-academy-outline,
    .ph-academy-lesson__actions,
    .ph-academy-back,
    .app-footer { display: none !important; }
    .ph-shell,
    .ph-main,
    .ph-content,
    .ph-academy-wizard { display: block !important; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
    .ph-academy-lesson { border: 0; box-shadow: none; padding: 0; }
    .ph-academy-visual { break-inside: avoid; }
}

/* Partner Academy 10.1 sequential lesson locking */
.ph-academy-outline__step.is-locked {
    cursor: not-allowed;
    opacity: .6;
    color: #718399;
    background: #f7f9fb;
    border-color: #e4eaf0;
}
.ph-academy-outline__step.is-locked .ph-academy-outline__number {
    background: #e7edf3;
    color: #718399;
}
.ph-academy-sequence-note {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin-bottom: 1rem;
    padding: .78rem .9rem;
    border: 1px solid #cfe0f1;
    border-radius: 13px;
    background: #f1f7fe;
    color: #315777;
    font-size: .8rem;
    line-height: 1.5;
}
.ph-academy-sequence-note i { flex: 0 0 auto; color: #0b63ce; margin-top: .08rem; }
[data-theme="dark"] .ph-academy-outline__step.is-locked { background: #131d26; border-color: #2a3947; color: #7e90a2; }
[data-theme="dark"] .ph-academy-sequence-note { background: #152636; border-color: #2d4b65; color: #c6d7e8; }

/* Partner Academy Curriculum and Tenant Training Wizard 10.3 */
.ph-academy-topic-brief {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 0 0 1rem;
}
.ph-academy-topic-brief > div {
    min-width: 0;
    padding: .85rem .9rem;
    border: 1px solid #d8e5f0;
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfdff, #f6faff);
}
.ph-academy-topic-brief span,
.ph-academy-topic-brief strong { display: block; }
.ph-academy-topic-brief span {
    margin-bottom: .35rem;
    color: #58718a;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.ph-academy-topic-brief span i { margin-right: .3rem; color: #0b63ce; }
.ph-academy-topic-brief strong { color: #213f5d; font-size: .76rem; line-height: 1.5; }

.ph-academy-before-start {
    border-color: #c9def2;
    background: #f4f9ff;
}
.ph-academy-preparation-list {
    display: grid;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ph-academy-preparation-list li {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    color: #3f5d79;
    font-size: .8rem;
    line-height: 1.55;
}
.ph-academy-preparation-list i { margin-top: .1rem; color: #0b63ce; }

.ph-academy-procedure-section { padding: clamp(1rem, 2vw, 1.25rem); background: #fbfdff; }
.ph-academy-procedure {
    display: grid;
    gap: .95rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: academy-procedure;
}
.ph-academy-procedure__step {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
}
.ph-academy-procedure__step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 44px;
    bottom: -.95rem;
    left: 21px;
    width: 2px;
    background: linear-gradient(#b9d4ed, #dfeaf4);
}
.ph-academy-procedure__number {
    position: relative;
    z-index: 1;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 5px solid #eef6fd;
    border-radius: 50%;
    background: #0b63ce;
    color: #fff;
    box-shadow: 0 0 0 1px #bdd6ee;
    font-size: .78rem;
    font-weight: 900;
}
.ph-academy-procedure__body {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d7e4ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(28, 54, 89, .055);
}
.ph-academy-procedure__kicker {
    padding: .8rem .9rem 0;
    color: #0b63ce;
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.ph-academy-procedure__body h4 {
    margin: .2rem .9rem .35rem;
    color: #173a5d;
    font: 700 .98rem/1.35 Sora, Manrope, sans-serif;
}
.ph-academy-procedure__instruction {
    margin: 0 .9rem .85rem;
    color: #3e5871;
    font-size: .82rem;
    line-height: 1.58;
}
.ph-academy-procedure__details {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    border-top: 1px solid #e0e9f2;
    background: #fbfdff;
}
.ph-academy-procedure__details > div { min-width: 0; padding: .9rem; }
.ph-academy-procedure__details > div + div { border-left: 1px solid #e0e9f2; background: #f5fbf8; }
.ph-academy-procedure__details span {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: .35rem;
    color: #315a82;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.ph-academy-procedure__details > div + div span { color: #176b4b; }
.ph-academy-procedure__details p,
.ph-academy-procedure__evidence p { margin: 0; color: #4b647c; font-size: .76rem; line-height: 1.6; }
.ph-academy-procedure__evidence {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    padding: .75rem .9rem;
    border-top: 1px solid #e0e9f2;
    background: #fff8e8;
}
.ph-academy-procedure__evidence > i {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #ffedbe;
    color: #94620c;
}
.ph-academy-procedure__evidence strong { display: block; margin-bottom: .15rem; color: #6f5015; font-size: .7rem; }

.ph-academy-troubleshooting { border-color: #f0d5c9; background: #fffaf7; }
.ph-academy-troubleshooting__items { display: grid; gap: .55rem; }
.ph-academy-troubleshooting details {
    overflow: hidden;
    border: 1px solid #ead6ca;
    border-radius: 13px;
    background: #fff;
}
.ph-academy-troubleshooting summary {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 20px;
    gap: .45rem;
    align-items: center;
    padding: .75rem .8rem;
    color: #70462f;
    font-size: .78rem;
    font-weight: 750;
    cursor: pointer;
    list-style: none;
}
.ph-academy-troubleshooting summary::-webkit-details-marker { display: none; }
.ph-academy-troubleshooting summary > i:first-child { color: #c46a38; }
.ph-academy-troubleshooting summary > i:last-child { transition: transform .18s ease; }
.ph-academy-troubleshooting details[open] summary > i:last-child { transform: rotate(180deg); }
.ph-academy-troubleshooting details > div {
    padding: .75rem .8rem .85rem 2.95rem;
    border-top: 1px solid #f0ded4;
    background: #fffdfb;
}
.ph-academy-troubleshooting details strong { display: block; color: #844724; font-size: .7rem; }
.ph-academy-troubleshooting details p { margin: .2rem 0 0; color: #674f42; font-size: .76rem; line-height: 1.6; }

.ph-academy-completion-standard {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    margin-top: 1rem;
    padding: .95rem 1rem;
    border: 1px solid #bfe2cf;
    border-radius: 16px;
    background: #eefaf4;
}
.ph-academy-completion-standard > i {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #d7f2e4;
    color: #0d744e;
}
.ph-academy-completion-standard span { display: block; color: #0c6847; font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.ph-academy-completion-standard p { margin: .2rem 0 0; color: #365f50; font-size: .78rem; line-height: 1.6; }

[data-theme="dark"] .ph-academy-topic-brief > div,
[data-theme="dark"] .ph-academy-procedure__body,
[data-theme="dark"] .ph-academy-troubleshooting details { background: #17222d; border-color: #304355; }
[data-theme="dark"] .ph-academy-topic-brief strong,
[data-theme="dark"] .ph-academy-procedure__body h4 { color: #edf5fc; }
[data-theme="dark"] .ph-academy-before-start,
[data-theme="dark"] .ph-academy-procedure-section { background: #152636; border-color: #2d4b65; }
[data-theme="dark"] .ph-academy-procedure__details { background: #131f2a; border-color: #304355; }
[data-theme="dark"] .ph-academy-procedure__details > div + div { background: #162a24; border-color: #304355; }
[data-theme="dark"] .ph-academy-procedure__evidence { background: #302716; border-color: #4b4028; }
[data-theme="dark"] .ph-academy-procedure__details p,
[data-theme="dark"] .ph-academy-procedure__evidence p,
[data-theme="dark"] .ph-academy-preparation-list li { color: #c4d3e1; }
[data-theme="dark"] .ph-academy-troubleshooting { background: #2b211d; border-color: #5b4135; }
[data-theme="dark"] .ph-academy-troubleshooting summary,
[data-theme="dark"] .ph-academy-troubleshooting details > div { background: #211a17; border-color: #4f392f; color: #efd8ca; }
[data-theme="dark"] .ph-academy-troubleshooting details p { color: #d4c0b5; }
[data-theme="dark"] .ph-academy-completion-standard { background: #152a24; border-color: #285344; }
[data-theme="dark"] .ph-academy-completion-standard p { color: #c6ddd3; }

@media (max-width: 980px) {
    .ph-academy-topic-brief { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .ph-academy-procedure__details { grid-template-columns: 1fr; }
    .ph-academy-procedure__details > div + div { border-top: 1px solid #e0e9f2; border-left: 0; }
}
@media (max-width: 560px) {
    .ph-academy-procedure__step { grid-template-columns: 34px minmax(0, 1fr); gap: .55rem; }
    .ph-academy-procedure__number { width: 34px; height: 34px; border-width: 4px; }
    .ph-academy-procedure__step:not(:last-child)::after { top: 34px; left: 16px; }
    .ph-academy-procedure__body h4,
    .ph-academy-procedure__instruction { margin-left: .75rem; margin-right: .75rem; }
    .ph-academy-procedure__details > div,
    .ph-academy-procedure__evidence { padding: .75rem; }
    .ph-academy-troubleshooting details > div { padding-left: .8rem; }
}
@media print {
    .ph-academy-procedure__step { break-inside: avoid; }
    .ph-academy-troubleshooting details { break-inside: avoid; }
    .ph-academy-troubleshooting details > div { display: block !important; }
}


/* Partner Academy curriculum pathway and tenant teach-back guidance 10.3 */
.ph-academy-curriculum {
    margin: 1rem 0 1.2rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid #d7e5f1;
    border-radius: 20px;
    background: linear-gradient(145deg, #f8fbff, #f3f8fc);
    box-shadow: 0 12px 30px rgba(32, 65, 94, .07);
}
.ph-academy-curriculum__heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: .9rem;
}
.ph-academy-curriculum__heading span {
    display: block;
    color: #0b63ce;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ph-academy-curriculum__heading h2 { margin: .2rem 0 0; color: #183a59; font-size: clamp(1rem, 2vw, 1.25rem); }
.ph-academy-curriculum__heading > i { color: #0b63ce; font-size: 1.8rem; }
.ph-academy-curriculum__path {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ph-academy-curriculum__path li {
    min-width: 0;
    padding: .75rem;
    border: 1px solid #dce8f2;
    border-radius: 14px;
    background: #fff;
}
.ph-academy-curriculum__path li > span {
    display: block;
    margin-bottom: .25rem;
    color: #0b63ce;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.ph-academy-curriculum__path li > strong { display: block; color: #274760; font-size: .75rem; line-height: 1.4; }

.ph-academy-trainer {
    margin-top: 1rem;
    border-color: #cfd9f6;
    background: linear-gradient(145deg, #f7f8ff, #f2f6ff);
}
.ph-academy-trainer .ph-academy-section__title > span { background: #e3e8ff; color: #4a58b8; }
.ph-academy-trainer__steps {
    display: grid;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ph-academy-trainer__steps li {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .7rem;
    align-items: start;
    padding: .75rem;
    border: 1px solid #dce2f7;
    border-radius: 13px;
    background: rgba(255,255,255,.9);
}
.ph-academy-trainer__steps li > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #5364c7;
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
}
.ph-academy-trainer__steps p { margin: .15rem 0 0; color: #465b78; font-size: .78rem; line-height: 1.6; }

[data-theme="dark"] .ph-academy-curriculum,
[data-theme="dark"] .ph-academy-trainer { background: #152636; border-color: #2d4b65; }
[data-theme="dark"] .ph-academy-curriculum__heading h2,
[data-theme="dark"] .ph-academy-curriculum__path li > strong { color: #edf5fc; }
[data-theme="dark"] .ph-academy-curriculum__path li,
[data-theme="dark"] .ph-academy-trainer__steps li { background: #17222d; border-color: #304355; }
[data-theme="dark"] .ph-academy-trainer__steps p { color: #c4d3e1; }

@media (max-width: 1180px) {
    .ph-academy-curriculum__path { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .ph-academy-curriculum__path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .ph-academy-curriculum__heading { align-items: flex-start; }
    .ph-academy-curriculum__path { grid-template-columns: 1fr; }
    .ph-academy-trainer__steps li { grid-template-columns: 30px minmax(0, 1fr); padding: .65rem; }
    .ph-academy-trainer__steps li > span { width: 28px; height: 28px; }
}
@media print {
    .ph-academy-curriculum__path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ph-academy-trainer { break-inside: avoid; }
}

/* Partner Academy manual-aligned operations pathway 10.4 */
.ph-academy-guide-note > div { flex: 1 1 auto; min-width: 0; }
.ph-academy-guide-note > .btn { flex: 0 0 auto; margin-left: auto; white-space: nowrap; }

.ph-academy-source {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .9rem;
    align-items: center;
    margin: 0 0 1.15rem;
    padding: .9rem 1rem;
    border: 1px solid #bedbed;
    border-radius: 14px;
    background: #f3f9fc;
}
.ph-academy-source__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #dff1fa;
    color: #075985;
    font-size: 1.2rem;
}
.ph-academy-source__body { min-width: 0; }
.ph-academy-source__body > span {
    display: block;
    color: #075985;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.ph-academy-source h2 { margin: .15rem 0 .2rem; color: #173b55; font-size: .98rem; }
.ph-academy-source p { margin: 0; color: #4d687c; font-size: .78rem; line-height: 1.55; }
.ph-academy-source__refs { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .45rem; }
.ph-academy-source__refs span {
    padding: .25rem .5rem;
    border-radius: 999px;
    background: #e3f2f9;
    color: #245a78;
    font-size: .66rem;
    font-weight: 700;
}

.ph-academy-pathway-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}
.ph-academy-pathway-summary a {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .2rem .75rem;
    padding: .85rem;
    border: 1px solid #d5e5f0;
    border-radius: 12px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}
.ph-academy-pathway-summary a:hover { border-color: #7fb5d2; }
.ph-academy-pathway-summary span { grid-column: 1 / -1; color: #075985; font-size: .65rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ph-academy-pathway-summary strong { color: #1d4059; font-size: .86rem; }
.ph-academy-pathway-summary small { color: #5c7284; white-space: nowrap; }

.ph-academy-path { margin-top: 1.6rem; scroll-margin-top: 1rem; }
.ph-academy-path__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .9rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid #d9e4ec;
}
.ph-academy-path__heading span { display: block; color: #075985; font-size: .66rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.ph-academy-path__heading h2 { margin: .15rem 0 .2rem; color: #183a52; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.ph-academy-path__heading p { margin: 0; color: var(--ph-muted); font-size: .8rem; }
.ph-academy-path__heading > strong { color: #496679; font-size: .76rem; white-space: nowrap; }

.ph-academy-module-card--manual { border-radius: 14px; box-shadow: 0 8px 22px rgba(28,54,89,.07); }
.ph-academy-module-card__manual-cover {
    min-height: 128px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    background: linear-gradient(135deg, #e8f5fb, #d5edf8);
    color: #075985;
}
.ph-academy-module-card__manual-cover i { font-size: 2.2rem; }
.ph-academy-module-card__manual-cover span { padding: .3rem .55rem; border-radius: 999px; background: rgba(255,255,255,.76); font-size: .65rem; font-weight: 800; }
.ph-academy-module-card__source {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-top: .75rem;
    color: #0b6785;
    font-size: .7rem;
    font-weight: 750;
}

[data-theme="dark"] .ph-academy-source,
[data-theme="dark"] .ph-academy-pathway-summary a { background: #152636; border-color: #2d4b65; }
[data-theme="dark"] .ph-academy-source__icon,
[data-theme="dark"] .ph-academy-source__refs span { background: #193548; color: #82cbea; }
[data-theme="dark"] .ph-academy-source h2,
[data-theme="dark"] .ph-academy-pathway-summary strong,
[data-theme="dark"] .ph-academy-path__heading h2 { color: #edf5fc; }
[data-theme="dark"] .ph-academy-source p { color: #c4d3e1; }
[data-theme="dark"] .ph-academy-path__heading { border-color: #304355; }
[data-theme="dark"] .ph-academy-module-card__manual-cover { background: linear-gradient(135deg, #173247, #1c465d); color: #8ed4f1; }
[data-theme="dark"] .ph-academy-module-card__manual-cover span { background: rgba(9,25,38,.65); }

@media (max-width: 760px) {
    .ph-academy-guide-note { flex-wrap: wrap; }
    .ph-academy-guide-note > .btn { width: 100%; margin-left: 0; }
    .ph-academy-source { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
    .ph-academy-source > .btn { grid-column: 1 / -1; width: 100%; }
    .ph-academy-pathway-summary { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .ph-academy-source { grid-template-columns: 1fr; }
    .ph-academy-source__icon { width: 38px; height: 38px; }
    .ph-academy-path__heading { align-items: flex-start; flex-direction: column; }
}
@media print {
    .ph-academy-source > .btn,
    .ph-academy-pathway-summary { display: none !important; }
    .ph-academy-source { grid-template-columns: auto 1fr; break-inside: avoid; }
}
