:root{
  --kh-teal:#08aeb6;
  --kh-teal-dark:#0b6670;
  --kh-navy:#19314f;
  --kh-gold:#d7b34e;
  --kh-gold-soft:#fff8e7;
  --kh-mint:#eefafa;
  --kh-white:#fff;
  --kh-bg:#f3f7f8;
  --kh-border:#d9e7e9;
  --kh-text:#24313b;
  --kh-muted:#687984;
  --kh-success:#1f9d64;
  --kh-danger:#c74a4a;
  --kh-warning:#b97a11;
}
.kh-lms-app,.kh-enrollment-wrap,.kh-public-card{font-family:Arial,Helvetica,sans-serif;color:var(--kh-text);box-sizing:border-box}
.kh-lms-app *,.kh-enrollment-wrap *,.kh-public-card *{box-sizing:border-box}
.kh-lms-app{width:100%;min-height:820px;background:var(--kh-bg);display:grid;grid-template-columns:245px minmax(0,1fr);border-radius:22px;overflow:hidden;border:1px solid var(--kh-border);box-shadow:0 14px 38px rgba(25,49,79,.08)}
.kh-lms-sidebar{background:#fff;border-right:1px solid var(--kh-border);padding:20px 14px;display:flex;flex-direction:column;min-width:0}
.kh-lms-brand{padding:5px 8px 22px}.kh-lms-brand img{width:205px;max-width:100%;height:auto;display:block}
.kh-sidebar-toggle{display:none;width:100%;border:1px solid var(--kh-border);background:#fff;border-radius:10px;padding:10px;font-weight:800;color:var(--kh-navy)}
.kh-lms-nav{display:flex;flex-direction:column;gap:6px}
.kh-lms-nav a{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:12px;text-decoration:none;color:#455a66;font-weight:800;font-size:14px;transition:.15s ease}
.kh-lms-nav a:hover{background:var(--kh-mint);color:var(--kh-teal-dark)}
.kh-lms-nav a.active{background:var(--kh-teal);color:#fff;box-shadow:0 8px 22px rgba(8,174,182,.18)}
.kh-nav-icon{width:23px;text-align:center;font-size:18px}
.kh-sidebar-foot{margin-top:auto;border-top:1px solid var(--kh-border);padding:17px 10px 0;color:var(--kh-muted);display:flex;flex-direction:column}.kh-sidebar-foot span{font-size:12px}.kh-sidebar-foot small{font-weight:800;color:var(--kh-navy)}
.kh-lms-main{min-width:0}.kh-lms-topbar{background:#fff;border-bottom:1px solid var(--kh-border);padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.kh-lms-topbar h1{margin:2px 0 0;color:var(--kh-navy);font-size:28px}.kh-eyebrow,.kh-card-label{display:block;font-size:11px;font-weight:900;letter-spacing:.09em;color:var(--kh-teal-dark);text-transform:uppercase}
.kh-user-chip{display:flex;align-items:center;gap:10px}.kh-user-chip strong,.kh-user-chip small{display:block}.kh-user-chip small{font-size:11px;color:var(--kh-muted);margin-top:2px}.kh-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--kh-gold-soft);border:1px solid #ecd48e;color:#6b5314;font-weight:900}
.kh-lms-content{padding:26px;min-width:0}.kh-page-intro{margin:0 0 22px}.kh-page-intro h2,.kh-section-title h2{margin:5px 0 7px;color:var(--kh-navy);font-size:30px}.kh-page-intro p,.kh-muted{color:var(--kh-muted)}
.kh-welcome{padding:26px 28px;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#eafbfb 75%,#fff8e8 100%);border:1px solid var(--kh-border);margin-bottom:18px}.kh-welcome h2{margin:5px 0 4px;color:var(--kh-navy);font-size:34px}.kh-welcome p{margin:0;color:var(--kh-muted)}
.kh-panel{background:#fff;border:1px solid var(--kh-border);border-radius:17px;padding:20px;box-shadow:0 8px 22px rgba(31,60,70,.04)}
.kh-continue{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.kh-continue h3{font-size:23px;margin:5px 0 2px;color:var(--kh-navy)}.kh-continue p{margin:0;color:var(--kh-muted)}
.kh-btn{border:0;border-radius:11px;padding:11px 16px;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:900;cursor:pointer;transition:.15s ease}.kh-btn:hover{transform:translateY(-1px)}
.kh-btn-primary{background:var(--kh-teal);color:#fff!important}.kh-btn-secondary{background:#fff;color:var(--kh-navy)!important;border:1px solid var(--kh-border)}.kh-btn-block{width:100%}
.kh-section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:27px 0 12px}.kh-section-title>a{color:var(--kh-teal-dark);font-weight:800;text-decoration:none}
.kh-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kh-program-card{background:#fff;border:1px solid var(--kh-border);border-radius:17px;padding:18px;box-shadow:0 8px 22px rgba(31,60,70,.04)}.kh-program-card.locked{background:#fafafa}.kh-program-card h3{margin:12px 0 4px;color:var(--kh-navy);font-size:21px}.kh-program-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kh-program-type{font-size:10px;font-weight:900;color:var(--kh-teal-dark);letter-spacing:.06em}.kh-status-pill,.kh-state{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;background:#edf2f3;color:#5f7179}.kh-status-active,.kh-status-expiring{background:#e8f7ee;color:#167846}.kh-status-expiring{background:#fff5dc;color:#8a650f}.kh-status-expired,.kh-status-suspended,.kh-status-cancelled,.kh-status-pending_payment{background:#fff0f0;color:#9b3434}.kh-progress-line{height:9px;border-radius:999px;background:#e5edef;overflow:hidden;margin:15px 0 8px}.kh-progress-line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--kh-teal),#32c8ce)}.kh-progress-line.big{height:13px}.kh-progress-meta{display:flex;justify-content:space-between;gap:10px;color:var(--kh-muted);font-size:12px;margin-bottom:14px}.kh-progress-meta strong{color:var(--kh-navy)}.kh-lock-note{font-size:12px;color:#8a4b4b;background:#fff7f7;border-radius:10px;padding:9px 10px}
.kh-empty{background:#fff;border:1px dashed #bad7da;border-radius:17px;padding:30px;text-align:center}.kh-empty h2,.kh-empty h3{color:var(--kh-navy);margin-top:0}.kh-big-icon{font-size:42px}.kh-locked{max-width:720px;margin:0 auto}
.kh-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf2f3}.kh-list-row:last-child{border-bottom:0}.kh-list-row>div{display:flex;flex-direction:column}.kh-list-row small{color:var(--kh-muted)}.kh-date-badge{width:52px;height:56px;border-radius:12px;background:var(--kh-mint);display:grid!important;place-items:center;color:var(--kh-teal-dark);flex:0 0 52px}.kh-date-badge strong{font-size:20px;line-height:1}.kh-date-badge small{font-size:10px!important;font-weight:900}
.kh-breadcrumb{font-size:12px;color:var(--kh-muted);margin-bottom:15px}.kh-breadcrumb a{color:var(--kh-teal-dark);text-decoration:none;font-weight:800}
.kh-program-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;background:linear-gradient(135deg,#fff,#eafbfb);border:1px solid var(--kh-border);border-radius:20px;padding:25px;margin-bottom:22px}.kh-program-hero h2{font-size:32px;color:var(--kh-navy);margin:5px 0 7px}.kh-program-hero p{margin:0;color:var(--kh-muted)}.kh-progress-circle{width:120px;height:120px;flex:0 0 120px;border-radius:50%;display:grid;place-items:center;text-align:center;background:#fff;border:9px solid #d9f0f1}.kh-progress-circle strong{font-size:27px;color:var(--kh-navy)}.kh-progress-circle small{display:block;color:var(--kh-muted)}
.kh-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kh-section-card{display:block;text-decoration:none!important;color:inherit!important;background:#fff;border:1px solid var(--kh-border);border-radius:17px;padding:18px;transition:.15s}.kh-section-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(31,60,70,.07)}.kh-section-card h3{color:var(--kh-navy);font-size:21px;margin:8px 0}.kh-section-card p,.kh-section-card small{color:var(--kh-muted)}
.kh-topic-list{display:grid;gap:11px}.kh-topic-row{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--kh-border);border-radius:16px;padding:16px}.kh-topic-index{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--kh-mint);color:var(--kh-teal-dark);font-weight:900}.kh-topic-copy h3{margin:4px 0;color:var(--kh-navy);font-size:19px}.kh-topic-copy p{margin:0;color:var(--kh-muted);font-size:13px}.kh-topic-action{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.kh-state-completed,.kh-state-approved{background:#e8f7ee;color:#167846}.kh-state-started,.kh-state-pending,.kh-state-resubmitted{background:#fff5dc;color:#8a650f}.kh-state-correction_requested{background:#fff0f0;color:#9b3434}
.kh-class-shell{width:100%;max-width:none;min-width:0}.kh-class-shell>style:first-child{display:none}
.kh-evidence-form label,.kh-enrollment-form label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:var(--kh-navy);font-size:13px}.kh-evidence-form input,.kh-evidence-form select,.kh-evidence-form textarea,.kh-enrollment-form input,.kh-enrollment-form select,.kh-enrollment-form textarea{width:100%;border:1px solid #cddde0;border-radius:10px;padding:10px 11px;background:#fff;font:inherit;color:var(--kh-text)}.kh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.kh-form-full{grid-column:1/-1}.kh-evidence-history{border-top:1px solid var(--kh-border);margin-top:17px;padding-top:12px}.kh-evidence-history h3{color:var(--kh-navy)}
.kh-progress-programs{display:grid;gap:13px}.kh-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.kh-progress-head h3{margin:5px 0;color:var(--kh-navy);font-size:21px}.kh-progress-head>strong{font-size:28px;color:var(--kh-navy)}
.kh-calendar-row{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid #edf2f3}.kh-calendar-row h3{margin:0 0 5px;color:var(--kh-navy)}.kh-calendar-row p{margin:0 0 5px;color:var(--kh-muted)}
.kh-resource-grid,.kh-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kh-resource-card,.kh-help-card{background:#fff;border:1px solid var(--kh-border);border-radius:16px;padding:18px;color:inherit!important;text-decoration:none!important}.kh-resource-card h3,.kh-help-card h3{color:var(--kh-navy);margin:8px 0}.kh-resource-card p,.kh-help-card p{color:var(--kh-muted)}.kh-resource-card>strong{font-size:12px;color:var(--kh-teal-dark)}.kh-resource-icon,.kh-help-card>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--kh-mint);color:var(--kh-teal-dark);font-weight:900;font-size:19px}
.kh-message-list{display:grid;gap:12px}.kh-message-head{display:flex;justify-content:space-between;gap:15px}.kh-message-head h3{color:var(--kh-navy);margin:5px 0}.kh-message-head small{color:var(--kh-muted)}.kh-message-body{color:#40545e}
.kh-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kh-profile-grid h3{color:var(--kh-navy);margin-top:0}.kh-data-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #edf2f3}.kh-data-row>div{display:flex;flex-direction:column}.kh-data-row small{color:var(--kh-muted)}
.kh-flash{padding:12px 14px;border-radius:11px;margin:0 0 16px;font-weight:800}.kh-flash-success{background:#e8f7ee;color:#167846}.kh-flash-error{background:#fff0f0;color:#9b3434}.kh-flash-warning{background:#fff5dc;color:#8a650f}
.kh-public-card{max-width:620px;margin:40px auto;background:#fff;border:1px solid var(--kh-border);border-radius:20px;padding:30px;text-align:center;box-shadow:0 12px 34px rgba(31,60,70,.08)}.kh-public-card img{max-width:300px;width:70%;height:auto}.kh-public-card h2{color:var(--kh-navy)}
.kh-enrollment-wrap{max-width:1100px;margin:20px auto;padding:20px;background:#f6f9f9;border-radius:20px}.kh-enrollment-brand{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:13px 18px;border:1px solid var(--kh-border);border-radius:16px}.kh-enrollment-brand img{width:260px;max-width:55%}.kh-enrollment-brand span{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--kh-teal-dark)}.kh-enrollment-head{padding:28px 7px 18px}.kh-enrollment-head h1{font-size:38px;color:var(--kh-navy);margin:5px 0}.kh-enrollment-head p{max-width:850px;color:var(--kh-muted)}.kh-enrollment-form{display:grid;gap:14px}.kh-enroll-section{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;background:#fff;border:1px solid var(--kh-border);border-radius:17px;padding:20px}.kh-enroll-step{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--kh-teal);color:#fff;font-weight:900}.kh-enroll-section h2{margin:0 0 6px;color:var(--kh-navy)}.kh-enroll-section>div>p{color:var(--kh-muted)}.kh-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kh-doc-grid label{background:#f8fbfb;border:1px dashed #bad7da;border-radius:12px;padding:13px}.kh-contract-box{border:1px solid var(--kh-border);border-radius:14px;overflow:hidden;margin:12px 0}.kh-contract-meta{display:flex;justify-content:space-between;background:var(--kh-mint);padding:12px 14px}.kh-contract-body{padding:15px;max-height:330px;overflow:auto}.kh-accept{flex-direction:row!important;align-items:flex-start;margin:13px 0;color:var(--kh-text)!important}.kh-accept input{width:auto!important;margin-top:3px}.kh-signature-wrap{margin-top:16px}.kh-signature-wrap canvas{display:block;width:100%;height:180px;border:2px dashed #a9cdd0;border-radius:12px;background:#fff;touch-action:none;margin-top:7px}.kh-signature-actions{margin-top:8px}.kh-enroll-submit{background:linear-gradient(135deg,#fff,#eafbfb)}
@media(max-width:1100px){.kh-program-grid,.kh-section-grid,.kh-resource-grid,.kh-help-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.kh-lms-app{grid-template-columns:1fr}.kh-lms-sidebar{border-right:0;border-bottom:1px solid var(--kh-border)}.kh-sidebar-toggle{display:block}.kh-lms-nav{display:none;margin-top:8px}.kh-lms-sidebar.open .kh-lms-nav{display:grid;grid-template-columns:1fr 1fr}.kh-sidebar-foot{display:none}.kh-lms-brand{padding-bottom:10px}.kh-lms-brand img{width:190px}.kh-program-hero{align-items:flex-start}.kh-topic-row{grid-template-columns:45px 1fr}.kh-topic-action{grid-column:2}.kh-profile-grid{grid-template-columns:1fr}}
@media(max-width:620px){.kh-lms-content,.kh-lms-topbar{padding:17px}.kh-lms-topbar{align-items:flex-start}.kh-user-chip small{display:none}.kh-program-grid,.kh-section-grid,.kh-resource-grid,.kh-help-grid,.kh-form-grid,.kh-doc-grid{grid-template-columns:1fr}.kh-form-full{grid-column:auto}.kh-program-hero{display:block}.kh-progress-circle{margin-top:15px;width:95px;height:95px}.kh-continue{display:block}.kh-continue .kh-btn{margin-top:12px}.kh-topic-row{grid-template-columns:1fr}.kh-topic-index{display:none}.kh-topic-action{grid-column:auto;justify-content:flex-start}.kh-enrollment-wrap{padding:9px}.kh-enroll-section{grid-template-columns:1fr;padding:16px}.kh-enrollment-head h1{font-size:31px}.kh-contract-meta{display:block}.kh-lms-sidebar.open .kh-lms-nav{grid-template-columns:1fr}.kh-user-chip strong{font-size:12px}}
.kh-manual-contract{margin-top:15px;padding:14px;border:1px dashed #b8d4d7;border-radius:12px;background:#f9fcfc}.kh-manual-contract p{margin:5px 0 10px;color:var(--kh-muted);font-size:13px}
.kh-sidebar-foot .kh-logout{margin-top:10px;color:var(--kh-teal-dark);font-size:12px;font-weight:800;text-decoration:none}

/* v0.2 · Roles, login y paneles especializados */
.kh-role-badge{margin:0 8px 14px;padding:7px 10px;border-radius:999px;background:var(--kh-gold-soft);border:1px solid #ecd48e;color:#6b5314;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.kh-btn-disabled{background:#edf2f3;color:#78888f!important;cursor:not-allowed;pointer-events:none}
.kh-state-draft,.kh-state-empty,.kh-state-not_started{background:#edf2f3;color:#5f7179}.kh-state-rejected{background:#fff0f0;color:#9b3434}
.kh-admin-summary-front{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.kh-mini-stat{background:#fff;border:1px solid var(--kh-border);border-radius:16px;padding:18px;text-align:center}.kh-mini-stat strong{display:block;font-size:30px;color:var(--kh-navy);line-height:1}.kh-mini-stat span{display:block;color:var(--kh-muted);font-size:12px;margin-top:7px;font-weight:800}
.kh-front-table{width:100%;border-collapse:collapse}.kh-front-table th,.kh-front-table td{padding:11px;border-bottom:1px solid #e6eeee;text-align:left;vertical-align:top}.kh-front-table th{color:var(--kh-teal-dark);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.kh-codearea{width:100%;font-family:Consolas,Monaco,monospace;min-height:420px;border:1px solid #cddde0;border-radius:12px;padding:12px;line-height:1.45}
.kh-login-shell{font-family:Arial,Helvetica,sans-serif;min-height:720px;width:100%;display:grid;place-items:center;padding:30px;background:linear-gradient(135deg,#f5f9fa 0%,#eafafa 72%,#fff8e7 100%);border-radius:22px;border:1px solid var(--kh-border)}
.kh-login-card{width:min(520px,100%);background:#fff;border:1px solid var(--kh-border);border-radius:22px;padding:32px;box-shadow:0 18px 48px rgba(25,49,79,.10)}.kh-login-card>img{width:285px;max-width:78%;height:auto;display:block;margin:0 auto 25px}.kh-login-card h1{color:var(--kh-navy);font-size:34px;line-height:1.08;margin:7px 0 8px;text-align:center}.kh-login-card>p{color:var(--kh-muted);text-align:center;margin:0 0 20px}.kh-login-card>.kh-eyebrow{text-align:center}
#kh-login-form p{margin:0 0 14px}#kh-login-form label{display:block;font-weight:800;color:var(--kh-navy);font-size:13px;margin-bottom:5px}#kh-login-form input[type=text],#kh-login-form input[type=password]{width:100%;border:1px solid #cddde0;border-radius:11px;padding:12px 13px;font:inherit;background:#fff}#kh-login-form .login-remember label{display:flex;align-items:center;gap:7px;color:var(--kh-muted);font-weight:700}#kh-login-form .login-submit input{width:100%;border:0;border-radius:11px;background:var(--kh-teal);color:#fff;padding:13px 16px;font-weight:900;cursor:pointer;font-size:14px}
.kh-login-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--kh-border);padding-top:15px;margin-top:8px}.kh-login-links a{color:var(--kh-teal-dark);font-size:12px;font-weight:800;text-decoration:none}.kh-login-roles{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:18px}.kh-login-roles span{text-align:center;padding:8px 5px;border-radius:999px;background:var(--kh-mint);color:var(--kh-teal-dark);font-size:10px;font-weight:900;text-transform:uppercase}
@media(max-width:900px){.kh-admin-summary-front{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.kh-admin-summary-front{grid-template-columns:1fr 1fr}.kh-front-table{display:block;overflow-x:auto}.kh-login-shell{padding:12px}.kh-login-card{padding:22px}.kh-login-roles{grid-template-columns:1fr 1fr}}

/* v0.2.2 · Las tres páginas KINGDOM son pantalla completa e independientes del tema */
html:has(body.kh-lms-fullscreen-page),
body.kh-lms-fullscreen-page{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  background:var(--kh-bg)!important;
}
body.kh-lms-fullscreen-page #wpadminbar{display:none!important}
html:has(body.kh-lms-fullscreen-page){margin-top:0!important}
body.kh-lms-fullscreen-page .kh-lms-page-root{
  width:100%!important;
  max-width:none!important;
  min-height:100vh;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden;
}
body.kh-lms-fullscreen-page .kh-lms-page-root > *{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
}
body.kh-lms-fullscreen-page .kh-lms-app{
  min-height:100vh;
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body.kh-lms-fullscreen-page .kh-login-shell{
  min-height:100vh;
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body.kh-lms-fullscreen-page .kh-enrollment-wrap{
  width:100%;
  max-width:none;
  min-height:100vh;
  margin:0;
  border-radius:0;
  padding:clamp(16px,2.4vw,34px);
}
body.kh-lms-fullscreen-page .kh-public-card{
  margin:clamp(24px,5vw,64px) auto;
}
@media(max-width:850px){
  body.kh-lms-fullscreen-page .kh-lms-app{min-height:100vh}
}

/* v0.2.3 · /login unificado: acceso + plataforma según rol */
body.kh-lms-fullscreen-page .kh-login-shell{
  min-height:100vh;
  padding:clamp(18px,3vw,46px);
  background:
    radial-gradient(circle at 12% 18%, rgba(8,174,182,.12), transparent 34%),
    radial-gradient(circle at 88% 80%, rgba(215,179,78,.13), transparent 30%),
    linear-gradient(135deg,#f7fbfb 0%,#edf8f8 55%,#fffaf0 100%);
}
.kh-login-layout{
  width:min(1180px,100%);
  min-height:min(760px,calc(100vh - 72px));
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);
  overflow:hidden;
  border:1px solid var(--kh-border);
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 80px rgba(25,49,79,.12);
}
.kh-login-hero{
  position:relative;
  padding:clamp(34px,5vw,72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(150deg,#f4ffff 0%,#e6f7f8 64%,#fff7df 100%);
  border-right:1px solid var(--kh-border);
}
.kh-login-hero:after{
  content:"";
  position:absolute;
  width:240px;height:240px;border-radius:50%;
  right:-95px;bottom:-95px;
  border:34px solid rgba(8,174,182,.08);
  pointer-events:none;
}
.kh-login-logo{width:300px;max-width:78%;height:auto;margin:0 0 34px;display:block}
.kh-login-hero h1{margin:8px 0 16px;color:var(--kh-navy);font-size:clamp(38px,4.4vw,64px);line-height:1.02;letter-spacing:-.035em;max-width:720px}
.kh-login-hero>p{margin:0 0 28px;color:#526872;font-size:17px;line-height:1.65;max-width:720px}
.kh-login-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;position:relative;z-index:1}
.kh-login-role-grid>div{padding:15px 16px;border:1px solid rgba(11,102,112,.12);border-radius:15px;background:rgba(255,255,255,.72);backdrop-filter:blur(4px)}
.kh-login-role-grid strong{display:block;color:var(--kh-navy);font-size:13px;margin-bottom:5px}
.kh-login-role-grid span{display:block;color:var(--kh-muted);font-size:12px;line-height:1.45}
.kh-login-card{
  width:100%;
  border:0;
  border-radius:0;
  padding:clamp(32px,4vw,58px);
  box-shadow:none;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
}
.kh-login-card>.kh-eyebrow{text-align:left}
.kh-login-card h2{margin:7px 0 8px;color:var(--kh-navy);font-size:38px;line-height:1.08}
.kh-login-card>p{text-align:left;margin:0 0 24px;color:var(--kh-muted)}
#kh-login-form input[type=text],#kh-login-form input[type=password]{min-height:48px;background:#fbfdfd;transition:.15s ease}
#kh-login-form input[type=text]:focus,#kh-login-form input[type=password]:focus{outline:none;border-color:var(--kh-teal);box-shadow:0 0 0 3px rgba(8,174,182,.11);background:#fff}
#kh-login-form .login-submit input{min-height:50px;box-shadow:0 10px 24px rgba(8,174,182,.18)}
.kh-login-security{margin-top:18px;padding:11px 13px;border-radius:11px;background:var(--kh-mint);color:var(--kh-teal-dark);font-size:11px;font-weight:800;text-align:center}
@media(max-width:900px){
  .kh-login-layout{grid-template-columns:1fr;min-height:auto}
  .kh-login-hero{border-right:0;border-bottom:1px solid var(--kh-border);padding:32px}
  .kh-login-hero h1{font-size:40px}
  .kh-login-logo{width:240px;margin-bottom:23px}
}
@media(max-width:620px){
  body.kh-lms-fullscreen-page .kh-login-shell{padding:0}
  .kh-login-layout{border:0;border-radius:0;min-height:100vh}
  .kh-login-hero{padding:26px 20px}
  .kh-login-hero h1{font-size:34px}
  .kh-login-hero>p{font-size:15px}
  .kh-login-role-grid{grid-template-columns:1fr 1fr;gap:8px}
  .kh-login-role-grid>div{padding:11px}
  .kh-login-card{padding:30px 20px 38px}
  .kh-login-card h2{font-size:31px}
}


/* v0.2.4 · Login compacto, sin desbordes y responsive */
.kh-login-shell,
.kh-login-shell *{
  box-sizing:border-box;
}
body.kh-lms-fullscreen-page .kh-login-shell{
  overflow-x:hidden;
  padding:clamp(14px,2.2vw,30px);
}
.kh-login-layout{
  width:min(1120px,100%);
  min-height:min(650px,calc(100vh - 28px));
  grid-template-columns:minmax(0,1fr) minmax(350px,450px);
}
.kh-login-hero{
  min-width:0;
  padding:clamp(28px,4vw,52px);
  justify-content:center;
}
.kh-login-logo{
  width:min(300px,72%);
  max-width:300px;
  margin:0 0 clamp(22px,3vw,34px);
}
.kh-login-role-grid{
  width:100%;
  max-width:660px;
}
.kh-login-card{
  min-width:0;
  max-width:100%;
  padding:clamp(28px,3.3vw,46px);
  overflow:visible;
}
#kh-login-form,
#kh-login-form p,
#kh-login-form input{
  max-width:100%;
}
.kh-login-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:start;
}
.kh-login-links a:last-child{text-align:right}

@media(max-width:900px){
  body.kh-lms-fullscreen-page .kh-login-shell{padding:14px}
  .kh-login-layout{
    width:min(720px,100%);
    grid-template-columns:1fr;
    min-height:auto;
  }
  .kh-login-hero{
    padding:26px 28px 24px;
  }
  .kh-login-logo{
    width:230px;
    max-width:62%;
    margin:0 0 20px;
  }
  .kh-login-card{
    padding:28px;
  }
}

@media(max-width:620px){
  body.kh-lms-fullscreen-page .kh-login-shell{
    padding:0;
    min-height:100svh;
  }
  .kh-login-layout{
    width:100%;
    min-height:100svh;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .kh-login-hero{
    padding:22px 18px 18px;
  }
  .kh-login-logo{
    width:205px;
    max-width:70%;
    margin:0 0 16px;
  }
  .kh-login-role-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .kh-login-role-grid>div{
    padding:10px 11px;
    border-radius:12px;
  }
  .kh-login-role-grid strong{font-size:12px}
  .kh-login-role-grid span{font-size:11px;line-height:1.35}
  .kh-login-card{
    padding:24px 18px 30px;
  }
  .kh-login-card h2{font-size:29px}
  .kh-login-card>p{margin-bottom:18px}
  .kh-login-links{
    grid-template-columns:1fr;
    gap:10px;
  }
  .kh-login-links a:last-child{text-align:left}
}

@media(max-width:380px){
  .kh-login-role-grid{grid-template-columns:1fr}
}
