/* Extensión de los componentes HRM existentes; sin plantilla externa. */
.cl-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px}.cl-nav{align-self:start;position:sticky;top:16px}.cl-nav button{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:8px;margin:2px 0;background:transparent;color:inherit}.cl-nav button:hover,.cl-nav button[aria-current=page]{background:#eef2ff;color:#3730a3}.cl-main{min-width:0}.cl-heading{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:22px}.cl-main button,.cl-heading button,#logout{cursor:pointer}.cl-main button{border:1px solid #dbe1e8;border-radius:8px;padding:8px 12px;background:#fff;color:#334155}.cl-main button:hover{background:#f1f5f9}.cl-main button:disabled{opacity:.5;cursor:wait}.cl-main button.primary{background:#4f46e5;color:white;border-color:#4f46e5}.cl-main button.danger{color:#b91c1c}.cl-main input,.cl-main select{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:9px;background:white;color:#0f172a}.cl-main input[type=checkbox],.cl-main input[type=radio]{width:auto;margin-right:8px}.cl-main label{display:block;font-size:13px;color:#475569}.cl-main label>input,.cl-main label>select{margin-top:5px}.cl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.cl-card{padding:16px;border:1px solid #e2e8f0;border-radius:12px;overflow-wrap:anywhere}.cl-card h3{font-weight:600;margin-bottom:10px}.cl-card strong{font-size:23px;display:block;color:#0f172a}.cl-muted{color:#64748b;font-size:13px}.cl-space{margin-top:24px}.cl-form{padding:18px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:24px}.cl-form h3{font-weight:600;margin-bottom:14px}.cl-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.cl-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:10px;margin-top:12px}.cl-main table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.cl-main th,.cl-main td{padding:11px 12px;text-align:left;border-bottom:1px solid #e2e8f0}.cl-main th{background:#f8fafc;color:#475569;font-weight:600}.cl-main tr:last-child td{border-bottom:none}.cl-badge{display:inline-block;padding:3px 7px;border-radius:6px;background:#f1f5f9;font-size:12px}.cl-positive{color:#15803d}.cl-negative{color:#b91c1c}.cl-chart{width:100%;height:260px;display:block;background:#f8fafc;border-radius:10px;margin-top:12px}.cl-pagination{display:flex;align-items:center;gap:14px;margin-top:12px}.cl-main details{margin-top:12px}.cl-main summary{cursor:pointer;font-weight:600}.cl-main pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;padding:12px;font-size:12px;max-height:350px;overflow:auto}.cl-note{padding:12px;border-radius:8px;background:#fffbeb;color:#92400e;font-size:13px;margin:12px 0}#feedback{padding:12px;border-radius:8px;margin-bottom:16px;background:#ecfdf5;color:#166534}#feedback.error{background:#fef2f2;color:#991b1b}.cl-main :focus-visible,.cl-nav :focus-visible{outline:3px solid #818cf8;outline-offset:2px}.cl-checks{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.cl-chart-caption{display:flex;justify-content:space-between;font-size:12px;color:#64748b}.cl-main h3.section-title{font-weight:600;margin-top:22px;margin-bottom:10px}
@media(max-width:850px){.cl-shell{grid-template-columns:1fr}.cl-nav{position:static;display:flex;flex-wrap:wrap;gap:4px}.cl-nav button{width:auto;font-size:13px;padding:8px}.cl-main{padding:16px}.cl-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}}

/* Móvil/tablet: controles táctiles, sin zoom involuntario al enfocar inputs. */
.cl-container{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
.cl-menu-toggle{display:none;border:1px solid #cbd5e1;background:white;border-radius:10px;padding:12px 16px;text-align:left;font-weight:600;min-height:48px}
.cl-main button,.cl-nav button,.cl-auth button,.cl-auth a{min-height:44px;min-width:44px}
.cl-main input:not([type=checkbox]):not([type=radio]),.cl-main select,.cl-auth input{min-height:48px;font-size:16px;box-sizing:border-box;min-width:0}
.cl-main label,.cl-grid>*{min-width:0}
.cl-main input[type=checkbox],.cl-main input[type=radio]{width:20px;height:20px;flex-shrink:0;vertical-align:middle;accent-color:#4f46e5}
.cl-checks label,.cl-main [data-lesson] label{min-height:44px;display:flex;align-items:center;gap:4px;padding:8px 0}
.cl-main summary{min-height:44px;display:flex;align-items:center;white-space:normal}
.cl-heading>div{min-width:0}.cl-heading h2,.cl-heading p{overflow-wrap:anywhere}
.cl-pagination{flex-wrap:wrap;gap:8px}.cl-pagination span{flex:1;min-width:75px;text-align:center;font-size:13px}
.cl-main td details{max-width:350px;white-space:normal}.cl-main td pre{max-width:100%;word-break:break-word}
.cl-auth a{display:flex;align-items:center}.cl-auth #status{overflow-wrap:anywhere}
@media(max-width:1024px){
 .cl-shell{grid-template-columns:minmax(0,1fr);gap:16px}
 .cl-menu-toggle{display:block;width:100%}
 .cl-nav{position:static;display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px}
 .cl-nav[data-open=true]{display:grid}
 .cl-nav button{width:100%;font-size:14px;padding:10px;margin:0;white-space:normal}
 .cl-main{padding:20px}
}
@media(max-width:600px){
 .cl-container{padding:12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .cl-container>header{padding:16px;margin-bottom:16px}.cl-main{padding:16px}
 .cl-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cl-heading{flex-wrap:wrap;margin-bottom:16px}.cl-heading>div{flex:1 1 170px}
 .cl-form{padding:14px}.cl-grid{grid-template-columns:minmax(0,1fr)}
 .cl-actions>*{flex:1 1 100%;width:100%}
 .cl-chart{height:200px}.cl-card strong{font-size:22px}
 .cl-auth{padding:20px}.cl-auth button{width:100%}
 /* Las filas se convierten en fichas: acciones accesibles sin desplazamiento lateral. */
 .cl-table-wrap{border:0;overflow:visible}
 .cl-main table,.cl-main tbody{display:block;width:100%;white-space:normal}
 .cl-main thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .cl-main tr{display:block;margin-bottom:12px;border:1px solid #e2e8f0;border-radius:10px;padding:6px 12px}
 .cl-main td{display:grid;grid-template-columns:minmax(75px,35%) minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;overflow-wrap:anywhere}
 .cl-main td::before{content:attr(data-label);font-weight:600;color:#475569}
 .cl-main td:last-child{border-bottom:0}.cl-main td details{min-width:0;max-width:100%;margin:0}
 .cl-main td button{white-space:normal;width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.cl-main td>button+button{grid-column:2}

.cl-chart-caption{flex-wrap:wrap;gap:8px;font-size:14px;margin-top:14px;overflow-wrap:anywhere}

/* Navegación: apariencia original de admin/include/sidebar.blade.php. */
.cl-nav{padding:0;border-radius:0;width:224px;max-height:calc(100dvh - 32px);overflow-y:auto;display:block}
.cl-shell{grid-template-columns:224px minmax(0,1fr)}
.cl-nav-brand{height:64px;flex-shrink:0}.cl-nav-brand>i{font-size:20px}
.cl-nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 16px;margin:0;border-radius:0;border-left:2px solid transparent;text-align:left;background:transparent;color:#6b6b68;font-size:13px;line-height:1.35}
.cl-nav button:hover{background:#f7f7f5;color:#1a1a18}
.cl-nav button[aria-current=page]{border-left-color:#E84040;background:#f7f7f5;color:#E84040;font-weight:600}
.cl-nav button[aria-current=page] i{color:#E84040}
.cl-nav .cl-nav-close{display:none;width:44px;min-width:44px;justify-content:center;padding:10px;border:0}
.cl-menu-toggle{gap:12px;align-items:center;border-color:#e8e8e6;color:#6b6b68;font-weight:500;background:white}
.cl-menu-toggle i{color:#9b9b98}.cl-menu-overlay{position:fixed;inset:0;z-index:40;background:rgba(26,26,24,.4);backdrop-filter:blur(3px);border:0}
.cl-menu-overlay[hidden]{display:none}
.cl-nav :focus-visible,.cl-menu-toggle:focus-visible{outline-color:#E84040}
@media(max-width:1024px){
 .cl-shell{grid-template-columns:minmax(0,1fr)}
 .cl-menu-toggle{display:flex}
 .cl-nav{position:fixed;inset:0 auto 0 0;z-index:50;width:224px;max-width:calc(100vw - 48px);height:100dvh;max-height:100dvh;display:none;box-shadow:0 8px 24px rgba(26,26,24,.18);padding:0;border:0;border-right:1px solid #e8e8e6}
 .cl-nav[data-open=true]{display:block}
 .cl-nav .cl-nav-close{display:flex}
 .cl-nav button{font-size:13px;padding:10px 16px}
}
/* Mantener la cabecera y el cierre accesibles al recorrer el menú. */
.cl-nav-brand{position:sticky;top:0;z-index:1;background:#fff}
