:root{--nav:#062b55;--nav2:#0b3d78;--blue:#1768ff;--blue2:#2f86ff;--bg:#f3f7fc;--text:#061d3b;--muted:#5a6d8e;--line:#d8e5f4;--card:#fff;--green:#22a957;--greenBg:#dff5e5;--orange:#ff9f1c;--orangeBg:#ffe8cc;--red:#e43d55;--redBg:#fee2e2;--soft:#eef5ff;--grayBg:#edf2f7}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}body{overflow-x:hidden}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#052754,#1768ff)}.loginbox{width:min(390px,92vw);background:#fff;border-radius:20px;padding:34px;box-shadow:0 20px 60px #001f5a55}.login-logo{font-size:34px;color:var(--blue);margin-bottom:8px}.login h1{margin:0 0 8px}.login input{width:100%;padding:13px 14px;border:1px solid #cbd7e8;border-radius:9px;margin:8px 0;font-size:15px}.form-msg{color:var(--red);font-weight:700}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:linear-gradient(180deg,#082f5f,#052144);color:#fff;position:fixed;inset:0 auto 0 0;padding:20px 16px;overflow:auto}.brand{display:flex;gap:12px;align-items:center;font-weight:900;font-size:22px;line-height:1}.brand small{display:block;font-size:12px;margin-top:7px;color:#d9e9ff;font-weight:600}.logoMark{font-size:31px;color:#ffd24d}.nav{margin-top:22px;display:grid;gap:6px}.nav a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:13px 13px;border-radius:11px;font-weight:800}.nav a span{font-size:19px;width:22px}.nav a b{margin-left:auto;opacity:.75}.nav a:hover,.nav a.active{background:#1768ff}.sideSummary{margin-top:28px;background:#093b73;border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:18px}.sideSummary p{margin:12px 0 2px;color:#dbeaff;font-size:13px}.sideSummary strong{display:block;font-size:26px;color:#ffb01d}.sideSummary .ok{color:#74df7c}.main{margin-left:250px;width:calc(100% - 250px);min-height:100vh}.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:0 24px;position:sticky;top:0;z-index:5}.hamb{border:0;background:transparent;font-size:23px;color:#0a3266}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.top-actions input,.toolbar input,.filters input,.filters select,.controls-card input,.controls-card select{border:1px solid #cbd9ec;border-radius:10px;padding:10px 13px;font-size:14px;background:#fff}.content{padding:24px;max-width:1920px}.page{display:none}.page.active{display:block}.page h1,.page-head h1{font-size:34px;margin:0 0 10px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}.page-head p{margin:0;color:var(--muted)}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:900;cursor:pointer;background:#e7edf7;color:#09254a}.btn.primary,.btn.green{background:#1768ff;color:#fff}.btn.green{background:#16a34a}.btn.red{background:#e2334d;color:#fff}.actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 28px rgba(18,42,80,.06);padding:18px;margin-bottom:16px;min-width:0}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;border-bottom:1px solid #e8eef7;padding-bottom:11px}.card h3,.card-head h3{margin:0;font-size:19px}.card-head small,.card-head a{color:#31517a;font-weight:800;text-decoration:none}.kpis{display:grid;grid-template-columns:repeat(9,minmax(145px,1fr));gap:13px;margin-bottom:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;gap:12px;align-items:center;box-shadow:0 8px 24px rgba(18,42,80,.06)}.kpi i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900;font-style:normal}.kpi span{display:block;color:#233d61;font-weight:700;font-size:13px}.kpi b{font-size:24px;display:block}.kpi small{color:#1768ff;font-size:12px}.i-purple{background:#7b4bd2}.i-blue{background:#1768ff}.i-green{background:#20a64b}.i-orange{background:#f8a21b}.i-red{background:#de3d55}.dashboard-layout{display:grid;grid-template-columns:1fr 340px;gap:16px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.chart{height:290px;display:flex;align-items:end;gap:14px;overflow:hidden;padding-top:8px}.barbox{flex:1;text-align:center;min-width:0}.bar{background:linear-gradient(180deg,#1474ff,#71b8ff);border-radius:9px 9px 4px 4px;min-height:24px;display:flex;align-items:flex-start;justify-content:center;color:#06234b;font-weight:900;padding-top:5px}.barlabel{font-size:11px;font-weight:800;margin-top:8px;line-height:1.08;color:#061d3b;word-break:break-word}.donutrow{display:flex;align-items:center;gap:22px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#1768ff 0 45%,#22a957 45% 75%,#ff9f1c 75% 100%);position:relative;flex:0 0 auto}.donut:after{content:'Total';position:absolute;inset:44px;background:#fff;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#08234a}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar input{min-width:220px}.tablewrap{overflow:auto;width:100%;border-radius:12px;border:1px solid var(--line);background:#fff}.auto-fit{max-height:calc(100vh - 215px)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eaf3ff;color:#073464;position:sticky;top:0;z-index:1;text-align:left}.compact th,.compact td{padding:9px 10px}.checkcol{width:36px;text-align:center}.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px}.b-blue{background:#e0efff;color:#0050b8}.b-green{background:#dbf7e5;color:#08752c}.b-red{background:#ffe2e5;color:#b91c1c}.b-orange{background:#ffe9c9;color:#a54c00}.modal{position:fixed;inset:0;background:#001b3a88;display:none;align-items:center;justify-content:center;z-index:20;padding:18px}.modal.show{display:flex}.modal-box{width:min(980px,96vw);background:#fff;border-radius:17px;box-shadow:0 30px 90px #001f5a70;max-height:92vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-head button{border:0;background:#edf3fa;border-radius:8px;font-size:24px;width:38px;height:38px}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px}.formgrid.four{grid-template-columns:repeat(4,minmax(0,1fr));padding:0}.formgrid label{font-weight:800;color:#173b65;font-size:13px}.formgrid input,.formgrid select{width:100%;margin-top:6px;border:1px solid #cbd9ec;border-radius:9px;padding:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px}.controls-card{padding:18px}.legendline{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:15px;color:#31517a;font-weight:700}.legendline i{display:inline-block;width:34px;height:18px;border-radius:4px;border:1px solid #c8d5e5;vertical-align:middle;margin-right:7px}.freeDot{background:#daf5dd}.busyDot{background:#ffead1}.offDot{background:#edf1f5}.todayDot{background:#fff;border:2px solid #1768ff!important}.weeknames{display:grid;grid-template-columns:repeat(7,1fr);background:#072d5e;color:#fff;border-radius:12px 12px 0 0;overflow:hidden}.weeknames b{text-align:center;padding:13px;border-right:1px solid rgba(255,255,255,.25)}.month{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0 0 12px 12px;overflow:hidden}.day{min-height:132px;padding:10px;border-right:1px solid var(--line);border-top:1px solid var(--line);background:#fff}.day.empty{background:#f8fbff}.day.today{outline:3px solid #1768ff;outline-offset:-3px}.day strong{font-size:16px;color:#092b57}.day small{display:block;color:#6b7d97}.event{font-size:12px;margin:7px 0;padding:7px;border-radius:7px;background:#e6f1ff;border-left:4px solid #1768ff}.event.assigned{background:#ffe9d4;border-left-color:#f97316;color:#9a3a00}.event.freeBlock{background:#dcf5df;border-left-color:#22a957;color:#08752c}.event.off{background:#edf1f5;border-left-color:#9aa7b6;color:#5a6574;text-align:center}.daySummary{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}.hoursTag{font-size:11px;padding:4px 6px;border-radius:6px;font-weight:900}.hoursTag.assigned{background:#ffead1;color:#b24d00}.hoursTag.free{background:#dbf7e5;color:#08752c}.availability-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}.day-report{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.day-report h4{margin:0 0 9px;color:#073464}.slot{padding:7px;border-radius:7px;margin:5px 0;font-size:12px;font-weight:800}.slot.free{background:#dcf5df;color:#08752c}.slot.busy{background:#ffe9d4;color:#9a3a00}.import-card{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.import-card p{width:100%;margin:0 0 8px}.filters{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px}.contactLine{display:grid;grid-template-columns:24px 90px 1fr;gap:7px;align-items:center;border-bottom:1px solid #edf2fa;padding:10px 0}.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.mini-cal div{min-height:48px;border:1px solid #e3edf9;border-radius:7px;padding:5px;font-size:11px}.mini-event{display:block;background:#e6f1ff;border-radius:4px;margin-top:4px;padding:3px}.small-kpis .kpi{box-shadow:none}.report-total{font-size:26px;font-weight:900}@media(max-width:1500px){.kpis{grid-template-columns:repeat(3,1fr)}.dashboard-layout{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}}@media(max-width:1000px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.main{margin-left:0;width:100%}.grid2,.grid3,.grid4,.formgrid,.formgrid.four{grid-template-columns:1fr}.month{grid-template-columns:1fr}.weeknames{display:none}.top-actions input{display:none}.content{padding:14px}.kpis{grid-template-columns:1fr}.chart{overflow:auto}.barbox{min-width:80px}}@media print{.sidebar,.topbar,.toolbar,.actions,.modal{display:none!important}.main{margin:0;width:100%}.page{display:block}.content{padding:0}.card{box-shadow:none;break-inside:avoid}}

/* Ajustes v8: interfaz más liviana, compacta y profesional */
body{font-weight:400}.brand{font-size:19px}.brand small{font-weight:500}.logoMark{font-size:24px}.nav a{font-weight:650;padding:11px 12px}.nav a span.mi{font-size:16px;width:20px;display:inline-grid;place-items:center}.logoutLink{margin-top:8px;background:rgba(226,51,77,.15)!important}.sideSummary b,.sideSummary strong{font-weight:700}.page h1,.page-head h1{font-size:30px;font-weight:750}.card h3,.card-head h3{font-size:17px;font-weight:750}.card-head small,.card-head a{font-weight:650}.btn{font-weight:700;padding:10px 13px}.kpis{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:11px}.kpi{padding:12px;gap:10px}.kpi i{width:38px;height:38px;border-radius:11px;font-size:17px}.kpi span{font-weight:600;font-size:12px}.kpi b{font-size:20px;font-weight:750}.kpi small{font-weight:500}.dashboard-layout{grid-template-columns:minmax(0,1fr) 320px}.chart{height:210px;gap:10px}.bar{border-radius:8px 8px 4px 4px;font-size:12px;font-weight:700;padding-top:4px}.barlabel{font-size:10px;font-weight:650;line-height:1.15}.donut{width:118px;height:118px}.donut:after{inset:35px;font-size:12px}.badge{font-weight:700;font-size:11px;padding:5px 8px}.card{padding:16px}.grid2{gap:14px}.grid3{gap:14px}.top-actions .btn.red{display:inline-flex}.filter-card{padding:14px;margin-top:6px}.filter-card h3{font-size:15px;margin:0 0 10px}.compact-filters{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));}.paste-card textarea{width:100%;min-height:150px;max-height:250px;border:1px solid #cbd9ec;border-radius:10px;padding:12px;font-family:Consolas,monospace;font-size:12px;resize:vertical;background:#fbfdff}.help{color:var(--muted);font-size:13px;line-height:1.45}.pasted-table{max-height:280px}.pasted-table table{min-width:1200px}.small-kpis .kpi i{width:34px;height:34px;font-size:14px}.small-kpis .kpi b{font-size:18px}.tablewrap.auto-fit{max-height:calc(100vh - 300px)}th,td{font-weight:400}th{font-weight:700}.day{min-height:116px}.event{font-weight:500}.hoursTag{font-weight:650}.day-report h4{font-weight:700}.slot{font-weight:650}.report-total{font-weight:750}.mini-cal div{min-height:42px}.sideSummary strong{font-size:22px}@media(max-width:1500px){.dashboard-layout{grid-template-columns:1fr}.chart{height:200px}}@media(max-width:1200px){.charts-top.grid2,.grid2{grid-template-columns:1fr}.tablewrap.auto-fit{max-height:none}}


/* ===== HCJ Academy v9: tipografía ligera y calendario mensual tipo agenda ===== */
body{font-weight:400;letter-spacing:0;color:#102033}
b,strong,.brand,.nav a,.btn,.badge,.kpi b,.kpi span,.card h3,.card-head h3,.page h1,.page-head h1,th{font-weight:600!important}
.page h1,.page-head h1{font-size:28px!important;letter-spacing:-.3px}
.page-head p,.help,.card-head small,.day small{font-weight:400!important;color:#5f7088}
.sidebar{width:238px}.main{margin-left:238px;width:calc(100% - 238px)}
.logoMark{font-size:20px}.brand{font-size:18px}.nav a{font-size:14px;padding:10px 12px}.nav a span.mi{font-size:15px}.sideSummary strong{font-size:20px;font-weight:600!important}.sideSummary b{font-size:14px}
.content{padding:20px}.card{padding:14px;border-radius:13px}.kpis{gap:10px}.kpi{padding:11px}.kpi i{width:34px;height:34px;border-radius:10px;font-size:15px}.kpi b{font-size:18px}.kpi span{font-size:12px}.kpi small{font-size:11px}
.chart{height:178px;gap:8px}.bar{font-weight:600!important;font-size:11px;border-radius:7px 7px 4px 4px}.barlabel{font-weight:500!important;font-size:10px;line-height:1.15}.donut{width:104px;height:104px}.donut:after{inset:31px;font-weight:600!important}.donutrow{gap:14px}.badge{font-size:11px;padding:4px 8px}
button,input,select,textarea,td{font-weight:400!important}th{font-size:12px}.tablewrap table{font-size:12.5px}
.calendar-card{padding:0;overflow:hidden}.calendar-title{background:#07366c;color:#fff;padding:13px 16px;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px}.calendar-card .weeknames{display:grid;grid-template-columns:repeat(7,1fr);background:#07366c;color:#fff;border-radius:0}.calendar-card .weeknames span{text-align:center;padding:12px 8px;border-right:1px solid rgba(255,255,255,.25);font-weight:600;font-size:13px}.calendar-card .month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-radius:0;background:#f8fbff;border:0;gap:0}.calendar-card .day{min-height:124px;padding:8px 8px 6px;border-right:1px solid #dbe5f2;border-top:1px solid #dbe5f2;background:#fff;overflow:hidden}.calendar-card .day.empty{background:#f6f9fd}.calendar-card .day strong{font-size:15px;font-weight:600!important;color:#0b376b}.calendar-card .day small{font-size:11px;margin-top:1px}.calendar-card .daySummary{display:none}.calendar-card .event{font-size:11px;line-height:1.25;margin:5px 0;padding:6px 7px;border-radius:6px;border-left:3px solid #1768ff;font-weight:400!important}.calendar-card .event b{font-weight:600!important}.calendar-card .event.assigned{background:#ffe6bf;border-left-color:#f08a1c;color:#a04600}.calendar-card .event.freeBlock{background:#e4f7e6;border-left-color:#25a949;color:#08752c}.calendar-card .event.off{background:#f0f3f7;border-left-color:#cbd5e1;color:#69778a;font-weight:400!important;text-align:center}.calendar-card .day.today{outline:2px solid #1768ff;outline-offset:-2px;background:#fbfdff}.legendline{font-weight:500!important}.hoursTag{font-weight:500!important}.slot{font-weight:500!important}.day-report h4{font-weight:600!important}.formgrid label{font-weight:500!important}.controls-card{padding:14px}.controls-card input,.controls-card select{padding:9px 11px}.grid2{gap:13px}.grid3{gap:13px}.grid4{gap:12px}
@media(max-width:1200px){.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}.calendar-card .day{min-height:110px}.chart{height:160px}}
@media(max-width:1000px){.main{margin-left:0;width:100%}.calendar-card .month{grid-template-columns:1fr}.calendar-card .weeknames{display:none}.calendar-card .day{min-height:auto}.sidebar{width:250px}}

/* ===== HCJ Academy v10: contactos editables, filtros dashboard y gráficos compactos ===== */
.hidden-control{display:none!important}
.dashboard-filter{padding:12px 14px;margin-bottom:12px}.dashboard-filter h3{font-size:15px;margin:0 0 10px;font-weight:600!important}.dashboard-filter .filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.formgrid.two{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
.chart{height:145px!important;gap:7px!important;padding-top:4px}.bar{font-size:10px!important;font-weight:600!important;padding-top:3px!important}.barlabel{font-size:9.5px!important;font-weight:500!important;line-height:1.1!important}.card .chart{margin-top:-2px}.charts-top .card,.page#reports .grid2 .card{min-height:205px}.donut{width:92px!important;height:92px!important}.donut:after{inset:28px!important;font-size:11px!important}.donutrow{gap:10px!important}.donutrow p{margin:5px 0}.kpis{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important}.kpi{padding:9px!important}.kpi i{width:30px!important;height:30px!important;font-size:13px!important}.kpi b{font-size:16px!important}.kpi span{font-size:11px!important}.kpi small{font-size:10px!important}.card{padding:12px}.card-head{margin-bottom:8px;padding-bottom:8px}.card h3,.card-head h3{font-size:16px!important;font-weight:600!important}body,td,input,select,textarea,button{font-weight:400!important}.nav a{font-weight:600!important}.page h1,.page-head h1{font-weight:650!important}.calendar-card .day strong{display:inline-block;margin-right:5px}.calendar-card .dayNameTop{display:inline-block!important;color:#3c5d85!important;font-size:11px!important;font-weight:500!important;background:#f2f6fb;border-radius:999px;padding:1px 6px;margin-bottom:5px}.mini-cal div b{display:block;font-weight:600!important;font-size:11px;color:#0b376b}.contact-card .btn{margin-top:10px;width:100%}.contactLine{grid-template-columns:24px minmax(75px,95px) 1fr}.contactLine b{font-weight:600!important}.contactLine span{font-weight:400!important}.page#contacts .tablewrap{max-height:calc(100vh - 250px)}.page#contacts table{min-width:1100px}.modal .formgrid input{font-weight:400!important}.controls-card .formgrid.two{max-width:620px}.availability-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.day-report{padding:10px}.slot{font-size:11px}.top-actions .btn.red{display:inline-flex!important}@media(max-width:1500px){.dashboard-layout{grid-template-columns:1fr}.chart{height:135px!important}.charts-top .card,.page#reports .grid2 .card{min-height:195px}}@media(max-width:900px){.dashboard-filter .filters{grid-template-columns:1fr}.formgrid.two{grid-template-columns:1fr}}

/* ===== HCJ Academy v11: gráficos con números visibles y calendario tipo imagen aprobada ===== */
.chart{height:190px!important;align-items:flex-end!important;overflow:visible!important;padding:18px 0 4px!important;gap:10px!important}
.barbox{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;min-width:54px!important;position:relative!important;overflow:visible!important}
.barvalue{font-size:11px!important;font-weight:600!important;color:#082f5f!important;line-height:1!important;margin-bottom:4px!important;min-height:13px!important;display:block!important;position:relative!important;z-index:3!important}
.bar{width:100%!important;max-width:70px!important;background:linear-gradient(180deg,#1f77ff 0%,#60aefb 100%)!important;border-radius:8px 8px 4px 4px!important;display:block!important;padding:0!important;color:transparent!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)!important}
.barlabel{font-size:10px!important;font-weight:500!important;line-height:1.08!important;color:#09284f!important;margin-top:8px!important;min-height:35px!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;text-align:center!important;word-break:normal!important;overflow-wrap:anywhere!important}
.charts-top .card,.page#reports .grid2 .card{min-height:245px!important;overflow:visible!important}.card .chart{margin-top:0!important}
@media(max-width:1500px){.chart{height:180px!important}.charts-top .card,.page#reports .grid2 .card{min-height:235px!important}.barbox{min-width:58px!important}.chart{overflow-x:auto!important;overflow-y:visible!important}}

/* Calendario mensual estilo celdas con encabezado de días dentro del grid */
.calendar-card .weeknames{display:none!important}
.calendar-card .month.pro-month{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;background:#fff!important;border:0!important;padding:14px!important;border-radius:0 0 12px 12px!important;overflow:visible!important}
.calendar-card .day{border:1px solid #d5e2f2!important;border-radius:10px!important;background:#fff!important;min-height:122px!important;padding:8px!important;overflow:hidden!important}
.calendar-card .day.weekday-head{min-height:70px!important;background:#fff!important;color:#07366c!important;font-size:17px!important;font-weight:600!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;padding:10px 12px!important}
.calendar-card .day.empty{background:#fff!important}
.calendar-card .day .dayNum{font-size:16px!important;font-weight:600!important;color:#0a376c!important;margin-bottom:5px!important;display:inline-block!important}
.calendar-card .dayNameTop{display:none!important}
.calendar-card .event.assigned{background:#ffe4b6!important;color:#b54b00!important;border-left:0!important;border-radius:6px!important;padding:5px 7px!important;margin:5px 0!important;font-size:11px!important;line-height:1.15!important;font-weight:500!important}
.calendar-card .event.assigned b{font-weight:600!important}
.calendar-card .event.freeBlock{background:#e4f7e6!important;color:#08752c!important;border-left:0!important;border-radius:6px!important;padding:5px 7px!important;margin:5px 0!important;font-size:11px!important;line-height:1.15!important;font-weight:500!important}
.calendar-card .event.off{background:transparent!important;border:0!important;color:#4e6480!important;text-align:left!important;padding:0!important;margin:0!important;font-weight:400!important}
.calendar-card .free-note{font-size:12px!important;margin-top:2px!important}
.calendar-card .day.today{outline:2px solid #1768ff!important;outline-offset:-2px!important}
@media(max-width:1000px){.calendar-card .month.pro-month{grid-template-columns:1fr!important}.calendar-card .day.weekday-head{display:none!important}}

/* ===== HCJ Academy v12: tarjetas verticales y estadísticas en cero hasta importar cursos ===== */
.page#availability #availabilityKpis,
.page#availability #pasteKpis{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  max-width:430px!important;
}
.page#availability #availabilityKpis .kpi,
.page#availability #pasteKpis .kpi{
  min-height:70px!important;
}
.emptyChart{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#667a94;
  font-size:13px;
  font-weight:400!important;
  text-align:center;
  padding:20px;
}
.calendar-empty{
  grid-column:span 7;
  min-height:120px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#667a94;
  font-weight:400!important;
}
.mini-empty{
  grid-column:span 7;
  min-height:80px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  color:#667a94;
  font-weight:400!important;
}
.page#availability .grid4.small-kpis,
.page#availability .grid4#availabilityKpis{
  margin-bottom:14px;
}
@media(max-width:900px){
  .page#availability #availabilityKpis,
  .page#availability #pasteKpis{max-width:100%!important;}
}


/* ===== HCJ Academy v13: tarjetas en 2 filas y estadísticas reiniciadas hasta importar ===== */
.page#availability #availabilityKpis,
.page#availability #pasteKpis{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(210px,1fr))!important;
  gap:12px!important;
  max-width:900px!important;
  width:100%!important;
}
.page#availability #availabilityKpis .kpi,
.page#availability #pasteKpis .kpi{
  min-height:74px!important;
}
.page#calendar #monthSummary{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(210px,1fr))!important;
  gap:12px!important;
  max-width:900px!important;
  width:100%!important;
}
.page#calendar #monthSummary .kpi{min-height:74px!important;}
@media(max-width:760px){
  .page#availability #availabilityKpis,
  .page#availability #pasteKpis,
  .page#calendar #monthSummary{
    grid-template-columns:1fr!important;
    max-width:100%!important;
  }
}

/* ===== HCJ Academy v14: tarjetas en fila y lista debajo ===== */
.page#availability #availabilityKpis,
.page#availability #pasteKpis,
.page#calendar #monthSummary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(180px,1fr))!important;
  gap:12px!important;
  max-width:100%!important;
  width:100%!important;
  margin-bottom:14px!important;
}
.page#availability #availabilityKpis .kpi,
.page#availability #pasteKpis .kpi,
.page#calendar #monthSummary .kpi{
  min-height:72px!important;
}
.page#availability .paste-card .tablewrap.pasted-table{
  margin-top:12px!important;
  display:block!important;
  width:100%!important;
  max-height:360px!important;
}
.page#availability .paste-card textarea{
  min-height:150px!important;
}
.page#availability .paste-card #pasteKpis{
  margin-top:12px!important;
}
.page#availability .grid2{
  align-items:start!important;
}
@media(max-width:1300px){
  .page#availability #availabilityKpis,
  .page#availability #pasteKpis,
  .page#calendar #monthSummary{
    grid-template-columns:repeat(2,minmax(220px,1fr))!important;
  }
}
@media(max-width:760px){
  .page#availability #availabilityKpis,
  .page#availability #pasteKpis,
  .page#calendar #monthSummary{
    grid-template-columns:1fr!important;
  }
}


/* v15: donas con porcentajes y sin resumen lateral */
.sideSummary{display:none!important}
.donut.dynamic-donut{position:relative;display:grid;place-items:center}
.donut.dynamic-donut:after{display:none!important}
.donut.dynamic-donut span{width:50px;height:50px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;font-weight:750;color:#08234a;line-height:1.05;box-shadow:0 0 0 1px #e8eef7 inset}
.donut.dynamic-donut span small{font-size:9px;font-weight:500;color:#53677f;margin-top:2px}
.donut-legend{display:grid;gap:5px;min-width:170px}
.legend-item{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:#0a254a;line-height:1.2}
.legend-item b{font-weight:750;margin-left:auto}
.legend-item small{color:#526b86;font-weight:650;background:#f1f5fb;border-radius:999px;padding:2px 6px}
.legend-dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex:0 0 auto}
.grid3 .card{min-height:150px}
@media(max-width:1200px){.grid3{grid-template-columns:1fr!important}.donutrow{justify-content:flex-start}}

/* v16: tabla de horas asignadas colocada debajo de las tarjetas */
.page#availability #pasteKpis{display:none!important}
.page#availability #availabilityKpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(180px,1fr))!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  margin:14px 0 14px!important;
}
.page#availability #availabilityKpis .kpi{min-height:72px!important}
.page#availability .assigned-list-card{margin-top:0!important}
.page#availability .assigned-list-card .card-head{margin-bottom:8px!important}
.page#availability .assigned-list-card .pasted-table{max-height:360px!important;overflow:auto!important}
.page#availability .assigned-list-card table{min-width:1250px!important}
@media(max-width:1300px){.page#availability #availabilityKpis{grid-template-columns:repeat(2,minmax(220px,1fr))!important}}
@media(max-width:760px){.page#availability #availabilityKpis{grid-template-columns:1fr!important}}


/* ===== HCJ Academy v18: calendario contenido, orden desde 08:00 y filtros con limpiar ===== */
.formgrid.with-clear{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:end!important}
.formgrid.with-clear .btn{height:42px;margin-top:20px}
.page#calendar .controls-card .formgrid.four{grid-template-columns:repeat(5,minmax(150px,1fr))!important;align-items:end!important}
.page#reports .filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.calendar-card{overflow:hidden!important;max-width:100%!important;padding:0!important}.calendar-card .calendar-title{margin:0!important;border-radius:0!important}
.calendar-card .month.pro-month{max-width:100%!important;overflow:hidden!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;padding:14px!important}
.calendar-card .day{min-width:0!important;max-width:100%!important;overflow:hidden!important;min-height:118px!important}
.calendar-card .event{max-width:100%!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important}
.calendar-card .event.assigned,.calendar-card .event.freeBlock{font-size:10.5px!important;padding:5px 6px!important;margin:4px 0!important;line-height:1.15!important}
.calendar-card .event.freeBlock{order:-1!important}.calendar-card .day.weekday-head{min-height:46px!important;padding:9px 10px!important;font-size:15px!important}
#dashCalendar{overflow:hidden!important}.mini-cal{grid-template-columns:repeat(7,minmax(0,1fr))!important;max-width:100%!important;overflow:hidden!important;gap:5px!important}.mini-cal div{min-width:0!important;overflow:hidden!important}.mini-event{font-size:10px!important;line-height:1.15!important;max-height:42px!important;overflow:hidden!important}
.chart{max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important}.dashboard-layout aside{min-width:0!important}.dashboard-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px)!important}.content{overflow-x:hidden!important}.main{overflow-x:hidden!important}
@media(max-width:1500px){.dashboard-layout{grid-template-columns:1fr!important}.page#calendar .controls-card .formgrid.four{grid-template-columns:repeat(2,minmax(180px,1fr))!important}}
@media(max-width:760px){.formgrid.with-clear,.page#calendar .controls-card .formgrid.four{grid-template-columns:1fr!important}.calendar-card .month.pro-month{grid-template-columns:1fr!important}.calendar-card .day.weekday-head{display:none!important}}


/* ===== HCJ Academy v19: logo HCJ Logistics e iconografía profesional ===== */
:root{--hcj-navy:#0d1b2a;--hcj-teal:#43d1b5;--hcj-blue:#1f5fa8;}
.sidebar{background:linear-gradient(180deg,#071d38 0%,#082f5f 55%,#061b35 100%)!important;padding:14px 12px!important;}
.brand-hcj{display:block!important;margin:2px 0 18px!important;padding:0!important;}
.brand-logo-card{background:#fff;border-radius:14px;padding:10px 9px;box-shadow:0 10px 28px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.12);overflow:hidden;}
.brand-logo-card img{display:block;width:100%;height:auto;max-height:82px;object-fit:contain;}
.brand-caption{margin-top:9px;padding:0 6px;color:#fff;line-height:1.1;}
.brand-caption strong{display:block;font-size:17px;font-weight:750!important;letter-spacing:.2px;text-transform:uppercase;}
.brand-caption small{display:block;color:#cfe5ff;font-size:12px;font-weight:500!important;margin-top:4px;}
.nav{gap:7px!important;margin-top:18px!important;}
.nav a{position:relative;gap:11px!important;border:1px solid transparent;padding:11px 12px!important;border-radius:12px!important;font-weight:650!important;color:#edf7ff!important;transition:background .18s ease,transform .18s ease,border-color .18s ease;}
.nav a:hover{background:rgba(67,209,181,.12)!important;border-color:rgba(67,209,181,.22);transform:translateX(2px);}
.nav a.active{background:linear-gradient(90deg,#1768ff,#1f84ff)!important;border-color:rgba(255,255,255,.20);box-shadow:0 10px 24px rgba(23,104,255,.28);}
.nav a.logoutLink{margin-top:18px!important;background:rgba(226,51,77,.16)!important;border-color:rgba(226,51,77,.22)!important;}
.nav a.logoutLink:hover{background:rgba(226,51,77,.28)!important;}
.nav .mi{width:24px!important;height:24px!important;display:inline-grid!important;place-items:center!important;flex:0 0 24px!important;font-size:0!important;}
.nav-icon{width:19px;height:19px;display:block;fill:currentColor;opacity:.98;}
.nav a.active .nav-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));}
.nav-text{font-size:14px;font-weight:650!important;line-height:1.1;}
.nav a b{font-size:18px;font-weight:600!important;opacity:.65;}
.logoMark{display:none!important;}
.topbar b::before{content:'';display:inline-block;width:24px;height:24px;margin-right:9px;vertical-align:-6px;background:url('../img/hcj-icon.svg') center/contain no-repeat;}
.login-brand{text-align:center;margin-bottom:12px;}
.login-brand img{width:210px;max-width:100%;height:auto;margin:0 auto 12px;display:block;border-radius:12px;background:#fff;}
.login-brand h1{margin:0 0 8px!important;}
.login-brand p{margin:0 0 12px;color:#334155;}
@media(max-width:1000px){.brand-logo-card img{max-height:70px}.brand-caption strong{font-size:16px}.nav-text{font-size:13px}}


/* ===== Ajustes v20: logo sin fondo blanco y menú más limpio ===== */
.brand-logo-card{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 2px 4px 10px !important;
  overflow: visible !important;
}
.brand-logo-card img{
  width: 188px !important;
  max-width: 100% !important;
  max-height: 72px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.brand-caption{margin-top:4px!important;padding:0 8px!important;}
.brand-caption strong{
  font-size:16px!important;
  font-weight:600!important;
  letter-spacing:.2px!important;
}
.brand-caption small{
  font-size:11px!important;
  font-weight:400!important;
  opacity:.88!important;
}
.nav{gap:5px!important;margin-top:14px!important;}
.nav a{
  min-height:44px!important;
  padding:9px 11px!important;
  gap:10px!important;
  font-weight:400!important;
  border-radius:11px!important;
}
.nav .mi{width:21px!important;height:21px!important;flex-basis:21px!important;}
.nav-icon{width:16px!important;height:16px!important;opacity:.92!important;}
.nav-text{
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}
.nav a.active .nav-text{font-weight:600!important;}
.nav a b{font-size:16px!important;font-weight:400!important;opacity:.55!important;}
.nav a.logoutLink{margin-top:14px!important;}
.sidebar{padding-top:16px!important;}
.login-brand img{
  background: transparent !important;
  border-radius: 0 !important;
  width: 245px !important;
}

/* ===== HCJ Academy v21: menú lateral limpio sin logo gráfico ===== */
.sidebar{
  background:radial-gradient(circle at 30% 0%,rgba(29,120,255,.20),transparent 34%),linear-gradient(180deg,#071f3d 0%,#082b55 47%,#061a32 100%)!important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.06), 8px 0 28px rgba(0,22,50,.10)!important;
}
.brand-hcj.brand-text-only{
  padding:26px 26px 24px!important;
  margin:0 0 18px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.brand-hcj.brand-text-only .brand-caption strong{
  display:block!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1.05!important;
  letter-spacing:.8px!important;
  font-weight:500!important;
  text-transform:uppercase!important;
}
.brand-hcj.brand-text-only .brand-caption small{
  display:block!important;
  color:rgba(255,255,255,.72)!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:400!important;
  margin-top:14px!important;
}
.brand-logo-card{display:none!important}
.nav{padding:0 18px 22px!important;gap:8px!important;display:flex!important;flex-direction:column!important}
.nav a{
  height:auto!important;
  min-height:58px!important;
  padding:13px 16px!important;
  border-radius:16px!important;
  color:rgba(255,255,255,.90)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:500!important;
  letter-spacing:.1px!important;
  transition:all .22s ease!important;
}
.nav a .nav-text{
  font-weight:500!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.nav a .mi{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  display:inline-grid!important;
  place-items:center!important;
  margin-right:12px!important;
  background:rgba(30,177,224,.08)!important;
}
.nav a .nav-icon{
  width:26px!important;
  height:26px!important;
  fill:none!important;
  stroke:#62d9e5!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.98!important;
}
.nav a b{
  margin-left:auto!important;
  font-size:30px!important;
  color:rgba(255,255,255,.55)!important;
  font-weight:300!important;
  line-height:1!important;
}
.nav a:hover{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.08)!important;
  transform:translateX(3px)!important;
}
.nav a.active{
  background:linear-gradient(135deg,#0d6cff 0%,#0d54e8 100%)!important;
  border-color:rgba(87,158,255,.65)!important;
  box-shadow:0 12px 30px rgba(0,104,255,.28), inset 0 1px 0 rgba(255,255,255,.20)!important;
  color:#fff!important;
}
.nav a.active .mi{background:rgba(255,255,255,.14)!important}
.nav a.active .nav-icon{stroke:#78e5ff!important;filter:drop-shadow(0 0 5px rgba(120,229,255,.35))!important}
.nav a.logoutLink{
  margin-top:18px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  background:rgba(122,65,98,.18)!important;
  border-color:rgba(255,112,132,.18)!important;
}
.nav a.logoutLink .nav-icon{stroke:#ff7b91!important}
.nav a.logoutLink:hover{background:rgba(255,93,113,.18)!important}
.topbar b{font-weight:500!important}
.sidebar + .main{border-left:0!important}
@media(max-width:900px){
  .brand-hcj.brand-text-only{padding:22px 20px 18px!important}
  .brand-hcj.brand-text-only .brand-caption strong{font-size:24px!important}
  .brand-hcj.brand-text-only .brand-caption small{font-size:15px!important;margin-top:7px!important}
  .nav a{min-height:52px!important;font-size:14px!important}
}

/* ===== HCJ Academy v22: sidebar sin scroll y menú más compacto ===== */
.sidebar{
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
}
.brand-hcj.brand-text-only{
  flex:0 0 auto!important;
  padding:22px 22px 16px!important;
  margin:0 0 10px!important;
}
.brand-hcj.brand-text-only .brand-caption strong{
  font-size:25px!important;
  line-height:1.02!important;
  letter-spacing:.6px!important;
  font-weight:500!important;
}
.brand-hcj.brand-text-only .brand-caption small{
  font-size:15px!important;
  margin-top:8px!important;
  line-height:1.15!important;
}
.nav{
  flex:1 1 auto!important;
  overflow:hidden!important;
  padding:0 14px 12px!important;
  gap:5px!important;
  margin-top:8px!important;
}
.nav a{
  min-height:44px!important;
  padding:8px 12px!important;
  border-radius:13px!important;
  gap:8px!important;
}
.nav a .mi{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  margin-right:8px!important;
}
.nav a .nav-icon{
  width:20px!important;
  height:20px!important;
  stroke-width:1.8!important;
}
.nav a .nav-text{
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.08!important;
}
.nav a b{
  font-size:20px!important;
  opacity:.45!important;
}
.nav a.logoutLink{
  margin-top:10px!important;
  flex:0 0 auto!important;
}
.sideSummary{display:none!important;}
@media(max-height:760px){
  .brand-hcj.brand-text-only{padding:16px 20px 12px!important;margin-bottom:8px!important;}
  .brand-hcj.brand-text-only .brand-caption strong{font-size:22px!important;}
  .brand-hcj.brand-text-only .brand-caption small{font-size:13px!important;margin-top:5px!important;}
  .nav{gap:3px!important;padding-bottom:8px!important;}
  .nav a{min-height:39px!important;padding:7px 10px!important;}
  .nav a .mi{width:28px!important;min-width:28px!important;height:28px!important;}
  .nav a .nav-icon{width:18px!important;height:18px!important;}
  .nav a .nav-text{font-size:12.8px!important;}
}


/* v23: dashboard limpio, tarjetas compactas y contactos seleccionables */
.dashboard-layout{grid-template-columns:1fr!important;}
#dashContactCard,.contact-card{display:none!important;}
.kpis{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))!important;gap:14px!important;}
.kpi.refined-kpi{min-height:82px;padding:14px 16px!important;border:1px solid #d9e8fb;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 24px rgba(18,42,80,.055);}
.kpi.refined-kpi i{width:38px!important;height:38px!important;border-radius:12px!important;font-size:16px!important;box-shadow:0 8px 16px rgba(23,104,255,.14);}
.kpi.refined-kpi span{font-size:12px!important;font-weight:500!important;color:#49617d;letter-spacing:.1px;}
.kpi.refined-kpi b{font-size:21px!important;font-weight:700!important;color:#0d2748;line-height:1.1;margin-top:2px;}
.kpi small,.kpi.refined-kpi small{display:none!important;}
#contacts .page-head .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
#contacts table th:nth-child(1),#contacts table td:nth-child(1){width:42px;text-align:center;}
#contacts table th:nth-child(2),#contacts table td:nth-child(2){width:56px;text-align:center;}
#contacts table td b{font-weight:600!important;color:#0a3567;}
#contacts .tablewrap table{min-width:1180px;}
#contacts .btn{font-weight:600!important;}
#contacts .btn.red{background:#e2334d;color:#fff;}

/* ===== HCJ Academy v24: tooltip completo del CSV en calendario ===== */
.calendar-card, .calendar-card .month.pro-month, .calendar-card .day, .calendar-card .event.assigned{overflow:visible!important;}
.calendar-card .event.assigned{position:relative;cursor:help;z-index:1;}
.calendar-card .event.assigned:hover{z-index:50;box-shadow:0 8px 22px rgba(8,34,74,.18);}
.course-tooltip{display:none;position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);width:360px;max-width:80vw;background:#fff;color:#0b1f3a;border:1px solid #d5e2f2;border-radius:14px;box-shadow:0 18px 45px rgba(8,34,74,.24);padding:14px;z-index:9999;text-align:left;font-size:12px;line-height:1.25;}
.calendar-card .day:nth-child(7n) .course-tooltip,.calendar-card .day:nth-child(7n+6) .course-tooltip{left:auto;right:0;transform:none;}
.calendar-card .day:nth-child(7n+1) .course-tooltip{left:0;transform:none;}
.event.assigned:hover .course-tooltip{display:block;}
.course-tooltip:before{content:'';position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:12px;height:12px;background:#fff;border-left:1px solid #d5e2f2;border-top:1px solid #d5e2f2;rotate:45deg;}
.tt-title{font-size:15px;font-weight:700;color:#07366c;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #edf2fa;}
.tt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;}
.tt-grid div{min-width:0;}
.tt-grid span{display:block;color:#667895;font-size:10px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;}
.tt-grid b{display:block;color:#0b1f3a;font-weight:600;word-break:break-word;}
.mini-event{cursor:help;}
@media(max-width:900px){.course-tooltip{position:fixed;left:12px!important;right:12px!important;top:90px!important;transform:none!important;width:auto;max-width:none}.tt-grid{grid-template-columns:1fr}}


/* ===== HCJ Academy v26: cursos aprobados y programados en calendario ===== */
.calendar-card .event.approvedSchedule{
  background:linear-gradient(180deg,#dcebff,#cfe2ff)!important;
  color:#0649b8!important;
  border-left:0!important;
  border:1px solid #86b7ff!important;
  border-radius:6px!important;
  padding:5px 7px!important;
  margin:5px 0!important;
  font-size:11px!important;
  line-height:1.18!important;
  font-weight:500!important;
  position:relative;
  cursor:help;
  z-index:1;
}
.calendar-card .event.approvedSchedule:hover{z-index:60;box-shadow:0 8px 22px rgba(23,104,255,.20)}
.calendar-card .event.approvedSchedule b{font-weight:600!important;color:#0758d5!important}
.calendar-card .event.approvedSchedule small{display:inline-block!important;margin-top:2px;color:#0758d5!important;font-size:10px!important;font-weight:700!important}
.event.approvedSchedule:hover .course-tooltip{display:block;}
.approvedDot{background:#dcebff;border-color:#86b7ff!important}
.slot.approved{background:#e8f1ff;color:#0b57d0;border-left:3px solid #1768ff}

/* V28 - Módulo Horas Disponibles exportable */
.availability-head{align-items:center;gap:18px}.availability-head .actions{display:flex;gap:10px;flex-wrap:wrap}.availability-filter-card h3{margin:0 0 12px;font-size:18px;font-weight:700;color:#0b2b55}.availability-filters{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:14px;align-items:end}.availability-filters label{font-size:13px;font-weight:700;color:#193a65}.availability-filters input,.availability-filters select{width:100%;height:42px;border:1px solid #cfe0f5;border-radius:8px;padding:0 12px;background:#fff;font-size:14px}.availability-filters .btn{height:42px}.availability-kpi-row{margin:16px 0}.availability-legend{justify-content:center;margin:10px 0 18px}.availability-calendar-card{overflow:hidden}.availability-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));border:1px solid #d7e4f4;border-radius:12px;overflow:hidden;background:#fff}.av-day-card{min-height:245px;border-right:1px solid #d7e4f4;border-bottom:1px solid #d7e4f4;background:#fff;padding:0 10px 12px}.av-day-card:nth-child(7n){border-right:none}.av-day-head{margin:0 -10px 10px;padding:12px 10px;text-align:center;background:linear-gradient(180deg,#f8fbff,#edf5ff);border-bottom:1px solid #d7e4f4;color:#0a3470}.av-day-head b{display:block;font-size:16px;font-weight:700}.av-day-head span{display:block;font-size:13px;font-weight:600}.av-slots{display:flex;flex-direction:column;gap:8px}.av-slot{position:relative;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.25;border:1px solid transparent;cursor:default}.av-slot strong{display:block;margin-top:2px;font-size:12px;font-weight:700}.av-slot small{display:block;font-size:12px;margin-top:2px}.freeSlot{background:#e4f6e8;border-color:#c5ebce;color:#08752c;font-weight:700}.busySlot{background:#ffe4b8;border-color:#ffd294;color:#b94a00;font-weight:700}.approvedSlot{background:#dbeafe;border-color:#b6d5ff;color:#0555cc;font-weight:700}.approvedSlot:after{content:'✓';position:absolute;right:8px;top:8px;background:#1768ff;color:#fff;border-radius:50%;width:18px;height:18px;text-align:center;line-height:18px;font-size:12px}.offSlot{background:#f1f5f9;border-color:#e2e8f0;color:#52657d;text-align:center;padding:28px 10px}.availability-empty{grid-column:1/-1;padding:30px;text-align:center;color:#50647f;background:#f8fbff}.availability-calendar-grid .course-tooltip{left:50%;top:calc(100% + 6px);transform:translateX(-50%);z-index:20}.availability-calendar-grid .av-day-card:nth-child(7n) .course-tooltip,.availability-calendar-grid .av-day-card:nth-child(7n-1) .course-tooltip{left:auto;right:0;transform:none}.availability-calendar-grid .av-day-card:nth-child(7n+1) .course-tooltip{left:0;transform:none}
@media(max-width:1400px){.availability-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}.availability-calendar-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.av-day-card:nth-child(7n){border-right:1px solid #d7e4f4}}
@media(max-width:900px){.availability-filters{grid-template-columns:1fr 1fr}.availability-calendar-grid{grid-template-columns:1fr}.av-day-card{min-height:auto;border-right:none}.availability-head{align-items:flex-start}.availability-head .actions{width:100%}}
@media print{.availability-filter-card,.paste-card,.topbar,.sidebar,.availability-head .actions{display:none!important}.availability-calendar-grid{grid-template-columns:repeat(7,1fr)!important}.av-day-card{break-inside:avoid}}

/* ===== HCJ Academy v30: tooltip completo en Horas Disponibles ===== */
.av-slot:hover .course-tooltip,
.av-slot:focus-within .course-tooltip{
  display:block;
}
.av-slot .course-tooltip{
  pointer-events:none;
  min-width:360px;
}
.availability-calendar-grid .av-slot:hover{
  z-index:50;
}
@media(max-width:900px){
  .av-slot .course-tooltip{min-width:0;}
}

/* Ayuda visual */
.help-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px;background:linear-gradient(135deg,#ffffff,#eef6ff)}
.help-hero h2{margin:0 0 6px;color:#06234a;font-size:26px}.help-hero p{margin:0;color:#5b6b84}.help-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.help-badges span{background:#e7f0ff;color:#075bd8;border:1px solid #c9dcff;border-radius:999px;padding:8px 12px;font-weight:600;font-size:13px}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.help-card{overflow:hidden}.help-card img{width:100%;height:260px;object-fit:cover;object-position:top;border-bottom:1px solid #d8e5f5;background:#f8fbff}.help-body{padding:16px}.help-body h3{margin:0 0 8px;color:#082b5e}.help-body ol{margin:0;padding-left:20px;color:#21324a;line-height:1.55}.help-steps{margin-top:16px;padding:18px}.help-accordion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.help-accordion details{border:1px solid #d5e3f4;border-radius:12px;background:#fff;padding:12px}.help-accordion summary{cursor:pointer;font-weight:700;color:#07336d}.help-accordion p{margin:10px 0 0;color:#51617a;line-height:1.45}@media(max-width:900px){.help-grid,.help-accordion{grid-template-columns:1fr}.help-hero{display:block}.help-badges{justify-content:flex-start;margin-top:12px}.help-card img{height:200px}}

/* v33 - gráficos más atractivos y con paletas diferentes */
.chart-head{border-bottom:1px solid #e8eef7;position:relative}
.chart-head:before{content:'';position:absolute;left:0;bottom:-1px;width:72px;height:3px;border-radius:999px;background:var(--accent,#1768ff)}
.chart-head h3{display:flex;align-items:center;gap:8px;font-weight:650!important}
.chart-icon{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:9px;background:color-mix(in srgb,var(--accent,#1768ff) 14%,#fff);color:var(--accent,#1768ff);font-weight:800;font-size:13px}
.barbox.colorful .bar{transition:height .25s ease, transform .18s ease, filter .18s ease}
.barbox.colorful:hover .bar{transform:translateY(-3px);filter:saturate(1.15)}
.barbox.colorful .barvalue{font-weight:700!important;font-size:11px;margin-bottom:4px}
.barbox.colorful .barlabel{font-weight:500!important;color:#15365c}
.emptyChart{width:100%;min-height:120px;display:grid;place-items:center;color:#64748b;background:linear-gradient(135deg,#f8fbff,#fff);border:1px dashed #cbd9ec;border-radius:12px;font-size:13px}
#chEmp,#chAs,#chCur,#chReg,#rep1,#rep2,#rep3{background:linear-gradient(180deg,#ffffff,#fbfdff)}
#chEmp .chart-head{--accent:#1768ff}
#chAs .chart-head{--accent:#22a957}
#chCur .chart-head{--accent:#7b4bd2}
#chReg .chart-head{--accent:#f97316}
#rep1 .chart-head{--accent:#16a34a}
#rep2 .chart-head{--accent:#de3d55}
#rep3 .chart-head{--accent:#0ea5e9}

/* ===== HCJ Academy v34: opción 1 - gráficos modernos y coloridos alternados ===== */
.hcj-chart-card{
  position:relative;
  overflow:hidden!important;
  background:linear-gradient(180deg,#ffffff 0%,var(--chart-soft,#f8fbff) 100%)!important;
  border-color:color-mix(in srgb,var(--chart-accent,#1768ff) 22%,#d9e7f7)!important;
  box-shadow:0 12px 32px rgba(15,42,90,.08)!important;
}
.hcj-chart-card:before{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--chart-accent,#1768ff),color-mix(in srgb,var(--chart-accent,#1768ff) 38%,#ffffff));
  border-radius:0 0 14px 14px;
}
.hcj-chart-card .chart-head{
  background:linear-gradient(90deg,var(--chart-soft,#f8fbff),#fff)!important;
  border-radius:12px 12px 0 0;
  padding:8px 10px 10px;
}
.hcj-chart-card .chart-head:before{
  width:92px!important;
  height:4px!important;
  background:linear-gradient(90deg,var(--chart-accent,#1768ff),color-mix(in srgb,var(--chart-accent,#1768ff) 35%,#fff))!important;
}
.hcj-chart-card .chart-head h3{
  color:var(--chart-accent,#1768ff)!important;
}
.hcj-chart-card .chart-icon{
  width:30px!important;height:30px!important;
  border-radius:50%!important;
  background:var(--chart-accent,#1768ff)!important;
  color:#fff!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--chart-accent,#1768ff) 28%,transparent)!important;
}
.hcj-chart-card .chart{
  background-image:linear-gradient(to top,rgba(15,42,90,.08) 1px,transparent 1px);
  background-size:100% 34px;
  border-radius:0 0 12px 12px;
  padding-left:8px!important;
  padding-right:8px!important;
}
.hcj-chart-card .bar{
  border:1px solid color-mix(in srgb,var(--chart-accent,#1768ff) 18%,#ffffff)!important;
}
.hcj-chart-card .barbox.colorful:hover .bar{
  transform:translateY(-5px) scale(1.02)!important;
}
.hcj-chart-card .barvalue{
  text-shadow:0 1px 0 #fff;
}
.hcj-chart-card .barlabel{
  color:#0b2a50!important;
}
.chart-theme-blue .barlabel,.chart-theme-purple .barlabel{color:#08234a!important}
.chart-theme-green .barlabel{color:#063b21!important}
.chart-theme-orange .barlabel{color:#4a2600!important}

/* ===== HCJ Academy v34: opción 2 - oscuro y neón ===== */
.hcj-chart-card{
  position:relative;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb,var(--chart-accent,#2f8cff) 28%,transparent) 0%, transparent 34%),
    linear-gradient(180deg,#111b39 0%, #071026 100%)!important;
  border-color:color-mix(in srgb,var(--chart-accent,#2f8cff) 36%,#1f2b4a)!important;
  box-shadow:0 18px 42px rgba(0,12,35,.22)!important;
}
.hcj-chart-card:before{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:4px;
  background:linear-gradient(90deg,var(--chart-accent,#2f8cff),color-mix(in srgb,var(--chart-accent,#2f8cff) 40%,#ffffff));
  box-shadow:0 0 18px var(--chart-accent,#2f8cff);
}
.hcj-chart-card .chart-head{
  background:transparent!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  padding:8px 10px 10px!important;
}
.hcj-chart-card .chart-head:before{
  width:90px!important;
  height:3px!important;
  background:linear-gradient(90deg,var(--chart-accent,#2f8cff),transparent)!important;
  box-shadow:0 0 12px var(--chart-accent,#2f8cff);
}
.hcj-chart-card .chart-head h3{
  color:#f7fbff!important;
  text-shadow:0 0 12px color-mix(in srgb,var(--chart-accent,#2f8cff) 38%,transparent);
}
.hcj-chart-card .chart-head small{
  color:color-mix(in srgb,var(--chart-accent,#2f8cff) 35%,#ffffff)!important;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:5px 10px;
}
.hcj-chart-card .chart-icon{
  width:31px!important;
  height:31px!important;
  border-radius:50%!important;
  background:var(--chart-accent,#2f8cff)!important;
  color:#061026!important;
  box-shadow:0 0 20px color-mix(in srgb,var(--chart-accent,#2f8cff) 65%,transparent)!important;
}
.hcj-chart-card .chart{
  background-image:linear-gradient(to top,rgba(255,255,255,.10) 1px,transparent 1px)!important;
  background-size:100% 34px!important;
  padding-left:8px!important;
  padding-right:8px!important;
}
.hcj-chart-card .bar{
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 12px 24px color-mix(in srgb,var(--chart-accent,#2f8cff) 22%,transparent)!important;
}
.hcj-chart-card .barvalue{
  color:#ffffff!important;
  text-shadow:0 0 8px var(--chart-accent,#2f8cff)!important;
  font-weight:700!important;
}
.hcj-chart-card .barlabel{
  color:#eef6ff!important;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}
.hcj-chart-card .emptyChart{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.15)!important;
  color:#d6e7ff!important;
}
#chEmp .chart-head,#rep3 .chart-head{--accent:#2f8cff!important}
#chAs .chart-head,#rep1 .chart-head{--accent:#ff2d9a!important}
#chCur .chart-head,#rep4 .chart-head{--accent:#22d3ee!important}
#chReg .chart-head,#rep2 .chart-head{--accent:#facc15!important}


/* ===== HCJ Academy v35: corrección de números visibles en gráficos ===== */
.hcj-chart-card{overflow:visible!important;}
.hcj-chart-card .chart{
  height:190px!important;
  padding-top:28px!important;
  overflow:visible!important;
  align-items:flex-end!important;
}
.hcj-chart-card .barbox{
  overflow:visible!important;
  padding-top:4px!important;
}
.hcj-chart-card .barvalue{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:24px!important;
  height:19px!important;
  padding:0 7px!important;
  margin-bottom:7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#071b35!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  text-shadow:none!important;
  box-shadow:0 4px 12px rgba(0,0,0,.18)!important;
  position:relative!important;
  z-index:10!important;
}
.hcj-chart-card .bar{
  max-width:64px!important;
}
#chEmp,#rep1{--chart-accent:#2f8cff!important;--chart-soft:#081a38!important;}
#chAs,#rep2{--chart-accent:#22c55e!important;--chart-soft:#061f14!important;}
#chCur,#rep3{--chart-accent:#8b5cf6!important;--chart-soft:#1a0b2e!important;}
#chReg,#rep4{--chart-accent:#f97316!important;--chart-soft:#261304!important;}
#chEmp .chart-head,#rep1 .chart-head{--accent:#2f8cff!important;}
#chAs .chart-head,#rep2 .chart-head{--accent:#22c55e!important;}
#chCur .chart-head,#rep3 .chart-head{--accent:#8b5cf6!important;}
#chReg .chart-head,#rep4 .chart-head{--accent:#f97316!important;}
@media(max-width:1500px){.hcj-chart-card .chart{height:180px!important;padding-top:26px!important}.hcj-chart-card .bar{max-width:58px!important}}

/* v36: contador y resumen en tabla de reportes */
.col-num{width:54px;text-align:center!important;}
.row-counter{font-weight:700;text-align:center;color:#0b3a7e;background:#eef6ff;border-radius:10px;}
.report-summary{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:10px 0 18px;}
.summary-pill{background:#fff;border:1px solid #d9e8fb;border-radius:12px;padding:10px 14px;color:#102033;box-shadow:0 4px 12px rgba(2,22,50,.04);}
.summary-pill b{color:#0b3a7e;}

/* Backup module */
.backup-top{align-items:stretch;margin-bottom:18px}
.backup-card{overflow:hidden}
.backup-settings{padding:18px;display:grid;gap:12px}
.backup-settings label{display:block;font-weight:500;color:#334155}
.backup-settings input[type="time"],.backup-settings input[type="number"]{margin-top:6px;max-width:220px}
.day-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}
.day-checks label{display:flex;align-items:center;gap:8px;margin:0;font-size:14px}
.backup-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}
.backup-summary div{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #dbeafe;border-radius:14px;padding:14px;text-align:center}
.backup-summary b{display:block;font-size:22px;color:#0f4c81;margin-bottom:6px}
.backup-summary span{font-size:12px;color:#64748b}
.backup-notes{padding:0 18px 18px;color:#475569;line-height:1.5}
#backupRows code{font-size:12px;color:#334155;background:#f1f5f9;border-radius:6px;padding:3px 6px}
@media(max-width:900px){.backup-summary{grid-template-columns:1fr}.backup-top{grid-template-columns:1fr!important}}


/* v41 - Ayuda actualizada */
.help-grid-wide{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.help-card img{width:100%;height:210px;object-fit:cover;object-position:top;border-radius:14px 14px 0 0;background:#eef4fb}.help-body h3{margin-top:0;color:#082b63}.help-body ol{padding-left:20px;line-height:1.55}.help-hero{background:linear-gradient(135deg,#ffffff,#eef6ff);border-left:5px solid #1769ff}.help-badges span{display:inline-block;margin:5px;padding:8px 12px;border-radius:999px;background:#eaf2ff;color:#0b56c8;font-weight:600}.help-steps summary{cursor:pointer;font-weight:600;color:#082b63;padding:12px 0}.help-steps details{border-bottom:1px solid #dbe7f6}.help-steps p{margin-top:0;color:#4b5f7a}


/* V43 - Imagenes de ayuda ampliables */
.help-card img{cursor:zoom-in;transition:transform .2s ease, filter .2s ease;}
.help-card img:hover{transform:scale(1.015);filter:brightness(.96);}
.help-image-modal{position:fixed;inset:0;background:rgba(3,18,43,.82);backdrop-filter:blur(5px);z-index:99999;display:none;align-items:center;justify-content:center;padding:24px;}
.help-image-modal.show{display:flex;}
.help-modal-content{max-width:min(96vw,1400px);max-height:92vh;background:#fff;border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.35);padding:12px;display:flex;flex-direction:column;gap:10px;}
.help-modal-content img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:12px;display:block;}
.help-modal-caption{font-size:14px;color:#0b2346;font-weight:600;padding:4px 8px 8px;text-align:center;}
.help-modal-close{position:fixed;top:18px;right:24px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#0b2346;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:100000;}
.help-modal-close:hover{background:#eef5ff;}
@media(max-width:760px){.help-image-modal{padding:10px}.help-modal-close{top:10px;right:10px}.help-modal-content{max-width:98vw;padding:8px}.help-modal-content img{max-height:78vh}}


/* Importar / Exportar v45 */
.import-modern{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-left:5px solid #1e66f5}.import-title h3{margin:0 0 6px;color:#0b2341;font-size:20px;font-weight:700}.import-title p{margin:0;color:#4b607a}.import-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-actions input[type=file]{background:#fff;border:1px solid #cfe0f4;border-radius:10px;padding:10px;min-width:280px}.import-summary-card{margin-top:14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h3{margin:0;font-weight:700;color:#0b2341}.section-title span{font-size:13px;color:#53657d}.import-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.import-stat{background:linear-gradient(180deg,#f8fbff,#eef6ff);border:1px solid #d5e5fa;border-radius:14px;padding:14px 16px;box-shadow:0 8px 22px rgba(12,47,92,.05)}.import-stat span{display:block;font-size:12px;color:#56708e;margin-bottom:5px}.import-stat b{display:block;font-size:22px;color:#0b2341}.empty-state{grid-column:1/-1;color:#5d7088;background:#f8fbff;border:1px dashed #bdd2ee;border-radius:12px;padding:18px}.tablewrap .section-title{padding:12px 14px 0}.tablewrap + .tablewrap{margin-top:14px}

/* V53 - Selección múltiple de backups */
.backup-count{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#eef6ff;color:#0a3b73;font-weight:700;font-size:13px}
#backupRows tr.selected-row{background:#eef6ff!important;box-shadow:inset 4px 0 0 #1768ff}
#backupRows tr.selected-row td{background:#eef6ff!important}
#backupSelectAll,.backup-check{width:16px;height:16px;cursor:pointer}


/* ===== HCJ Academy v54: barras con color igual al icono/título de cada gráfico ===== */
.hcj-chart-card .barbox.colorful .bar{
  background:linear-gradient(180deg,var(--bar-color),color-mix(in srgb,var(--bar-color) 82%,#ffffff) 48%,color-mix(in srgb,var(--bar-color) 70%,#000000))!important;
  border-color:color-mix(in srgb,var(--bar-color) 72%,#ffffff)!important;
  box-shadow:0 10px 24px var(--bar-glow), inset 0 1px 0 rgba(255,255,255,.32)!important;
}
.hcj-chart-card .barbox.colorful:hover .bar{
  box-shadow:0 13px 30px var(--bar-glow), 0 0 18px color-mix(in srgb,var(--bar-color) 42%,transparent), inset 0 1px 0 rgba(255,255,255,.38)!important;
}
.hcj-chart-card .barvalue{
  border:1px solid color-mix(in srgb,var(--bar-color,#2f8cff) 45%,#ffffff)!important;
}
#chEmp,#rep1{--chart-accent:#2f8cff!important;--chart-soft:#081a38!important;}
#chAs,#rep2{--chart-accent:#22c55e!important;--chart-soft:#061f14!important;}
#chCur,#rep3{--chart-accent:#8b5cf6!important;--chart-soft:#1a0b2e!important;}
#chReg,#rep4{--chart-accent:#f97316!important;--chart-soft:#261304!important;}


/* v56: Mostrar el panel grande de detalle tambien en cursos aprobados/programados (azules). */
.approvedSlot:hover > .course-tooltip,
.approvedSlot:focus-within > .course-tooltip,
.event.approvedSchedule:hover > .course-tooltip,
.event.approvedSchedule:focus-within > .course-tooltip,
.av-slot.approvedSlot:hover .course-tooltip,
.av-slot.approvedSlot:focus-within .course-tooltip{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto;
}
.av-slot.approvedSlot{cursor:help;}
.event.approvedSchedule{position:relative;cursor:help;}
/* Evita que el check azul tape el hover del bloque */
.approvedSlot:after{pointer-events:none;}

/* ===== HCJ Academy v58: Dashboard ampliado y tarjetas modernas ===== */
.i-teal{background:#14b8a6!important}
.dashboard-charts.grid3{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.dashboard-charts .hcj-chart-card{min-height:272px!important;margin-bottom:0!important}
.dashboard-charts .hcj-chart-card .chart{height:190px!important}
.modern-kpi{
  position:relative;overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%)!important;
  border:1px solid #dbeafe!important;border-radius:16px!important;box-shadow:0 12px 28px rgba(15,48,90,.08)!important;
}
.modern-kpi:after{content:'';position:absolute;right:-28px;top:-34px;width:90px;height:90px;border-radius:50%;background:rgba(23,104,255,.055)}
.modern-kpi i{box-shadow:0 10px 20px rgba(15,76,160,.18)!important;position:relative;z-index:1}
.modern-kpi div{position:relative;z-index:1}.modern-kpi small{display:block!important;color:#607897!important;font-size:11px!important;margin-top:3px!important;font-weight:500!important}.modern-kpi b{font-size:22px!important}.modern-kpi span{color:#2e496d!important}
.horizontal-chart-card .hchart{padding:10px 18px 16px;display:grid;gap:8px;height:198px;overflow:hidden}
.horizontal-chart-card .hrow{display:grid;grid-template-columns:minmax(90px,185px) 1fr 34px;gap:10px;align-items:center;color:#eaf4ff;font-size:11px;line-height:1.05}
.horizontal-chart-card .hrow span{font-weight:650;text-align:right;color:#eaf4ff}.horizontal-chart-card .htrack{height:13px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.horizontal-chart-card .htrack b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bar-color),color-mix(in srgb,var(--bar-color) 68%,#fff));box-shadow:0 0 12px color-mix(in srgb,var(--bar-color) 55%,transparent)}
.horizontal-chart-card .hrow em{font-style:normal;color:#fff;font-weight:800;text-align:left}
.line-chart-card .line-wrap{height:198px;padding:10px 18px 16px}.line-chart-card svg{width:100%;height:100%;overflow:visible}.line-chart-card .line{fill:none;stroke:var(--chart-accent,#ff4d8d);stroke-width:4;filter:drop-shadow(0 0 7px var(--chart-accent,#ff4d8d))}.line-chart-card .area{fill:color-mix(in srgb,var(--chart-accent,#ff4d8d) 22%,transparent)}.line-chart-card circle{fill:#fff;stroke:var(--chart-accent,#ff4d8d);stroke-width:3}.line-chart-card text{fill:#fff;font-size:12px;font-weight:800}.line-chart-card .xlabel{font-size:11px;fill:#eaf4ff;font-weight:650}
.import-summary-grid .import-stat-modern{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:10px;min-height:78px;background:linear-gradient(135deg,#fff,#f8fbff)!important;box-shadow:0 12px 24px rgba(15,48,90,.06)!important}.import-stat-modern i{grid-row:1/3;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal;color:#fff;font-weight:800;background:#1768ff;box-shadow:0 8px 17px rgba(23,104,255,.18)}.import-stat-modern span{margin:0!important}.import-stat-modern b{font-size:22px!important}.import-stat-modern.im-0 i,.import-stat-modern.im-6 i{background:#7b4bd2}.import-stat-modern.im-1 i,.import-stat-modern.im-3 i{background:#1768ff}.import-stat-modern.im-2 i,.import-stat-modern.im-7 i,.import-stat-modern.im-8 i{background:#20a64b}.import-stat-modern.im-4 i{background:#f97316}.import-stat-modern.im-5 i{background:#f8a21b}
@media(max-width:1500px){.dashboard-charts.grid3{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-charts .hcj-chart-card{min-height:250px!important}}
@media(max-width:900px){.dashboard-charts.grid3{grid-template-columns:1fr!important}.horizontal-chart-card .hrow{grid-template-columns:100px 1fr 28px}.line-chart-card .line-wrap{height:175px}}

/* ===== HCJ Academy v59: Dashboard ejecutivo final ===== */
.brand-academy-logo{display:flex;align-items:center;gap:10px;padding:18px 18px 12px!important;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-academy-logo img{width:58px;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}
.brand-academy-logo .brand-caption strong{display:block;font-size:18px;line-height:1.05;letter-spacing:.3px;color:#fff}.brand-academy-logo .brand-caption small{font-size:12px;color:#c8daef}.dashboard-import-summary{margin-top:18px}.dashboard-import-summary .import-summary-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.dashboard-import-summary .import-stat-modern{min-height:72px}.dashboard-import-summary .import-stat-modern b{font-size:20px!important;white-space:normal;word-break:normal;line-height:1.15}.dashboard-import-summary .import-stat-modern.im-6 b{font-size:17px!important}.dashboard-donut-card{min-height:272px!important}.dash-donut-wrap{height:198px;display:grid;grid-template-columns:145px 1fr;gap:18px;align-items:center;padding:8px 18px 16px;color:#eaf4ff}.dash-donut{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 22px color-mix(in srgb,var(--chart-accent) 35%,transparent)}.dash-donut span{width:76px;height:76px;border-radius:50%;background:#fff;color:#0d2748;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:600}.dash-donut span b{font-size:24px;line-height:1;color:#0d2748}.dash-donut span small{font-size:10px;color:#50647f}.dash-donut-legend{display:grid;gap:8px}.dash-donut-legend p{margin:0;display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:12px;color:#eaf4ff}.dash-donut-legend span{width:10px;height:10px;border-radius:50%;display:inline-block}.dash-donut-legend b{font-weight:700;color:#fff}.line-chart-card .chart-head small,.dashboard-donut-card .chart-head small{border-color:color-mix(in srgb,var(--chart-accent) 50%,#fff);color:var(--chart-accent)}
@media(max-width:1050px){.dash-donut-wrap{grid-template-columns:1fr;height:auto}.dash-donut{margin:auto}.dashboard-donut-card{min-height:auto!important}}

/* v60 - Ajuste de tarjeta Monto total en Importar / Exportar */
.import-summary-card:not(.dashboard-import-summary) .import-summary-grid{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.import-summary-card:not(.dashboard-import-summary) .import-stat-modern{
  min-width:0;
  overflow:hidden;
}
.import-summary-card:not(.dashboard-import-summary) .import-stat-modern b{
  max-width:100%;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.12;
}
.import-summary-card:not(.dashboard-import-summary) .import-stat-modern.im-6 b{
  font-size:18px!important;
  letter-spacing:-.2px;
}
@media (max-width:1400px){
  .import-summary-card:not(.dashboard-import-summary) .import-summary-grid{
    grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  }
  .import-summary-card:not(.dashboard-import-summary) .import-stat-modern.im-6 b{
    font-size:16px!important;
  }
}


/* ===== HCJ Academy v61: encabezado lateral con ícono solamente ===== */
.brand-academy-logo{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:18px 18px 12px!important;
}
.brand-academy-logo img{
  width:44px!important;
  height:44px!important;
  object-fit:contain!important;
  flex:0 0 44px!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))!important;
}
.brand-academy-logo .brand-caption strong{
  font-size:18px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.brand-academy-logo .brand-caption small{
  display:block!important;
  margin-top:4px!important;
  font-size:12px!important;
}
.dash-donut-legend{
  max-height:172px;
  overflow:auto;
  padding-right:4px;
}
.dash-donut-legend p{
  grid-template-columns:12px minmax(0,1fr) auto!important;
}


/* ===== HCJ Academy v62: menú lateral estilo ejecutivo aprobado ===== */
.sidebar{
  width:238px!important;
  min-height:100vh!important;
  height:100vh!important;
  position:fixed!important;
  inset:0 auto 0 0!important;
  padding:22px 14px 18px!important;
  background:
    radial-gradient(circle at 15% 8%, rgba(37,99,235,.38), transparent 28%),
    linear-gradient(180deg,#071b36 0%,#08264d 48%,#061a33 100%)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  box-shadow:8px 0 28px rgba(2,18,40,.22)!important;
}
.main{margin-left:238px!important;width:calc(100% - 238px)!important;}
.brand-academy-logo{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 10px 20px!important;
  margin:0 0 14px!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
.brand-academy-logo img{
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 16px rgba(0,110,255,.32))!important;
  flex:0 0 auto!important;
}
.brand-academy-logo .brand-caption{margin:0!important;padding:0!important;line-height:1.08!important;}
.brand-academy-logo .brand-caption strong{
  display:block!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:700!important;
  letter-spacing:.2px!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.brand-academy-logo .brand-caption small{
  display:block!important;
  margin-top:4px!important;
  color:#d2e3f8!important;
  font-size:12px!important;
  font-weight:500!important;
}
.nav{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  flex:1!important;
}
.nav a{
  min-height:42px!important;
  display:grid!important;
  grid-template-columns:38px 1fr 12px!important;
  align-items:center!important;
  gap:10px!important;
  padding:7px 8px!important;
  margin:0!important;
  border-radius:9px!important;
  color:#f2f7ff!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.12!important;
  text-decoration:none!important;
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  transition:background .18s ease, transform .18s ease, border-color .18s ease!important;
}
.nav a .mi{
  width:32px!important;
  height:32px!important;
  border-radius:9px!important;
  display:grid!important;
  place-items:center!important;
  color:#eaf6ff!important;
  background:rgba(255,255,255,.06)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)!important;
}
.nav a .nav-icon{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.nav a .nav-text{font-weight:500!important;color:inherit!important;}
.nav a b{font-size:18px!important;font-weight:400!important;color:rgba(255,255,255,.68)!important;}
.nav a:hover{background:rgba(255,255,255,.08)!important;transform:translateX(2px)!important;}
.nav a.active{
  background:linear-gradient(135deg,#0b6bff,#0d57db)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 10px 22px rgba(0,98,255,.26)!important;
}
.nav a.active .mi{background:rgba(255,255,255,.18)!important;color:#fff!important;}
.nav a.logoutLink{display:none!important;}
.sidebar-user{
  margin:12px 0 10px!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:34px 1fr 14px!important;
  gap:9px!important;
  align-items:center!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:#fff!important;
}
.sidebar-user .avatar{
  width:34px!important;height:34px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:linear-gradient(135deg,#eaf2ff,#93a7c2)!important;color:#0b2a4d!important;
  font-size:12px!important;font-weight:700!important;
}
.sidebar-user strong{display:block!important;font-size:12px!important;font-weight:650!important;color:#fff!important;line-height:1.05!important;}
.sidebar-user small{display:block!important;font-size:10px!important;color:#cfe0f3!important;margin-top:2px!important;}
.user-chevron{color:#cfe0f3!important;font-size:15px!important;}
.sidebar-logout{
  border:0!important;background:transparent!important;color:#e7f0fb!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  padding:10px 8px!important;margin-top:auto!important;cursor:pointer!important;
  font-size:12px!important;font-weight:500!important;border-radius:10px!important;
}
.sidebar-logout:hover{background:rgba(255,255,255,.07)!important;}
.logout-ico{color:#ff405f!important;font-size:18px!important;line-height:1!important;}
@media(max-height:760px){
  .sidebar{padding-top:14px!important}.brand-academy-logo{padding-bottom:12px!important;margin-bottom:8px!important}
  .nav{gap:3px!important}.nav a{min-height:38px!important;padding:5px 7px!important}.nav a .mi{width:30px!important;height:30px!important}
  .sidebar-user{padding:8px!important;margin:8px 0!important}.sidebar-logout{padding:7px!important}
}
@media(max-width:1000px){.sidebar{width:238px!important}.main{margin-left:0!important;width:100%!important}}

/* ===== HCJ Academy v63: nuevo logo oficial del sistema ===== */
.login-brand{
  text-align:center!important;
}
.login-brand img.login-academy-icon{
  width:74px!important;
  height:74px!important;
  object-fit:contain!important;
  margin:0 auto 14px!important;
  display:block!important;
  filter:drop-shadow(0 10px 22px rgba(0,70,180,.22))!important;
}
.brand-academy-logo img{
  content:url('../img/hcj-academy-icon-128.png')!important;
  width:40px!important;
  height:40px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 16px rgba(0,110,255,.34))!important;
}
.topbar b::before{
  background:url('../img/hcj-academy-icon-128.png') center/contain no-repeat!important;
  width:26px!important;
  height:26px!important;
  margin-right:9px!important;
  vertical-align:-7px!important;
}
@media print{
  .brand-academy-logo img,
  .topbar b::before{filter:none!important;}
}

/* ===== HCJ Academy v64: menú lateral expandible / contraíble ===== */
:root{--sidebar-expanded:238px;--sidebar-collapsed:78px;}
.sidebar,.main{transition:width .22s ease, margin-left .22s ease, padding .22s ease!important;}
body.sidebar-collapsed .sidebar{
  width:var(--sidebar-collapsed)!important;
  padding:18px 10px!important;
  overflow:hidden!important;
}
body.sidebar-collapsed .main{
  margin-left:var(--sidebar-collapsed)!important;
  width:calc(100% - var(--sidebar-collapsed))!important;
}
body.sidebar-collapsed .brand-academy-logo{
  justify-content:center!important;
  padding:0 0 16px!important;
  margin-bottom:12px!important;
  gap:0!important;
}
body.sidebar-collapsed .brand-academy-logo img{
  width:42px!important;
  height:42px!important;
}
body.sidebar-collapsed .brand-academy-logo .brand-caption,
body.sidebar-collapsed .nav a .nav-text,
body.sidebar-collapsed .nav a b,
body.sidebar-collapsed .sidebar-user div,
body.sidebar-collapsed .sidebar-user .user-chevron,
body.sidebar-collapsed .sidebar-logout span:not(.logout-ico){
  display:none!important;
}
body.sidebar-collapsed .nav{
  align-items:center!important;
  gap:8px!important;
}
body.sidebar-collapsed .nav a{
  width:48px!important;
  min-height:48px!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  padding:8px!important;
  gap:0!important;
  border-radius:13px!important;
}
body.sidebar-collapsed .nav a .mi{
  width:34px!important;
  height:34px!important;
}
body.sidebar-collapsed .nav a:hover{
  transform:none!important;
}
body.sidebar-collapsed .sidebar-user{
  width:48px!important;
  height:48px!important;
  padding:7px!important;
  margin:12px auto 10px!important;
  display:flex!important;
  justify-content:center!important;
}
body.sidebar-collapsed .sidebar-user .avatar{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
}
body.sidebar-collapsed .sidebar-logout{
  width:48px!important;
  height:48px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
  padding:8px!important;
}
body.sidebar-collapsed .topbar .hamb{
  color:#1768ff!important;
}
@media(max-width:1000px){
  body.sidebar-collapsed .sidebar{width:238px!important;padding:22px 14px 18px!important;}
  body.sidebar-collapsed .main{margin-left:0!important;width:100%!important;}
  body.sidebar-collapsed .brand-academy-logo .brand-caption,
  body.sidebar-collapsed .nav a .nav-text,
  body.sidebar-collapsed .nav a b,
  body.sidebar-collapsed .sidebar-user div,
  body.sidebar-collapsed .sidebar-user .user-chevron,
  body.sidebar-collapsed .sidebar-logout span:not(.logout-ico){display:block!important;}
  body.sidebar-collapsed .nav a{width:auto!important;grid-template-columns:38px 1fr 12px!important;justify-items:stretch!important;}
}

/* ===== HCJ Academy v65: tooltips en menu contraido y dashboard responsive ===== */
.main,.content,.page,#dashboard{min-width:0!important;}
.content{overflow-x:hidden!important;}
.sidebar{z-index:80!important;}
body.sidebar-collapsed .sidebar,
body.sidebar-collapsed .nav{overflow:visible!important;}
body.sidebar-collapsed .nav a{position:relative!important;}
body.sidebar-collapsed .nav a[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  left:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%) translateX(-6px);
  min-width:max-content;
  max-width:230px;
  padding:9px 12px;
  border-radius:10px;
  background:#081f3f;
  color:#fff;
  font-size:12px;
  font-weight:650;
  line-height:1.15;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(2,18,40,.28);
  border:1px solid rgba(255,255,255,.14);
  opacity:0;
  pointer-events:none;
  visibility:hidden;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:9999;
}
body.sidebar-collapsed .nav a[data-tooltip]::before{
  content:'';
  position:absolute;
  left:calc(100% + 5px);
  top:50%;
  width:10px;
  height:10px;
  transform:translateY(-50%) rotate(45deg);
  background:#081f3f;
  border-left:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  opacity:0;
  pointer-events:none;
  visibility:hidden;
  transition:opacity .16s ease, visibility .16s ease;
  z-index:9998;
}
body.sidebar-collapsed .nav a[data-tooltip]:hover::after,
body.sidebar-collapsed .nav a[data-tooltip]:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0);
}
body.sidebar-collapsed .nav a[data-tooltip]:hover::before,
body.sidebar-collapsed .nav a[data-tooltip]:focus-visible::before{
  opacity:1;
  visibility:visible;
}
body:not(.sidebar-collapsed) .nav a::after,
body:not(.sidebar-collapsed) .nav a::before{display:none!important;}

#dashboard .dashboard-charts.grid3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
#dashboard .dashboard-charts .hcj-chart-card{
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
}
#dashboard .dashboard-charts .hcj-chart-card .chart,
#dashboard .dashboard-charts .line-chart-card .line-wrap,
#dashboard .dashboard-charts .dashboard-donut-card .dash-donut-wrap,
#dashboard .dashboard-charts .horizontal-chart-card .hchart{
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
#dashboard .dashboard-charts .hcj-chart-card .chart{
  gap:clamp(5px,.75vw,14px)!important;
  padding-left:clamp(4px,.55vw,12px)!important;
  padding-right:clamp(4px,.55vw,12px)!important;
}
#dashboard .dashboard-charts .hcj-chart-card .barbox{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
#dashboard .dashboard-charts .hcj-chart-card .bar{
  max-width:clamp(28px,3.2vw,64px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#dashboard .dashboard-charts .hcj-chart-card .barlabel{
  font-size:clamp(8px,.62vw,11px)!important;
  line-height:1.05!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
#dashboard .dashboard-charts .card-head h3{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#dashboard .dashboard-charts .card-head small{
  flex:0 0 auto!important;
}
#dashboard .kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;}
@media(max-width:1500px){
  #dashboard .dashboard-charts.grid3{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:980px){
  #dashboard .dashboard-charts.grid3{grid-template-columns:1fr!important;}
  #dashboard .dashboard-charts .hcj-chart-card .chart{height:220px!important;}
}
@media(max-width:620px){
  #dashboard .kpis{grid-template-columns:1fr!important;}
  #dashboard .dashboard-charts .hcj-chart-card .chart{height:200px!important;}
  #dashboard .dashboard-charts .card-head h3{font-size:14px!important;}
}


/* v66 Usuarios + seguridad */
.user-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px}
.user-stat em{display:block;font-style:normal;color:#64748b;font-size:12px;margin-top:2px}.security-checks{display:grid;gap:10px}.security-item{border:1px solid #dbeafe;border-radius:14px;padding:12px;background:linear-gradient(135deg,#fff,#f8fbff)}.security-item b{display:block;color:#08224a;margin-bottom:6px}.security-item span{display:inline-block;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px;background:#e0f2fe;color:#075985}.security-item .sec-activo,.security-item span[class*="activo"]{background:#dcfce7;color:#166534}.security-item span[class*="parcial"]{background:#fef3c7;color:#92400e}.security-item p{margin:6px 0 0;color:#475569}.sidebar-collapsed .nav a[data-title]{position:relative}.sidebar-collapsed .nav a[data-title]:hover:after{content:attr(data-title);position:absolute;left:74px;top:50%;transform:translateY(-50%);background:#0f2748;color:white;padding:9px 12px;border-radius:10px;white-space:nowrap;box-shadow:0 12px 28px rgba(0,0,0,.22);z-index:9999;font-weight:600}.sidebar-collapsed .nav a[data-title]:hover:before{content:"";position:absolute;left:66px;top:50%;transform:translateY(-50%);border:7px solid transparent;border-right-color:#0f2748;z-index:9999}

/* v70 - Gestión de permisos por usuario */
.permission-hidden{display:none!important}
.permissions-panel{margin-top:16px}
.permissions-layout{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}
.form-label{display:block;font-weight:700;color:#0b376d;margin-bottom:8px}
#permUserSelect{width:100%;height:44px;border:1px solid #c9daf0;border-radius:10px;padding:0 12px;background:#fff;color:#0b2341}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px}
.permission-item{display:flex;gap:10px;align-items:center;border:1px solid #d5e4f6;border-radius:14px;padding:12px;background:#f8fbff;transition:.2s ease;cursor:pointer}
.permission-item.enabled{background:linear-gradient(135deg,#ecfdf5,#eff6ff);border-color:#74d19a;box-shadow:0 6px 18px rgba(34,197,94,.12)}
.permission-item input{width:18px;height:18px;accent-color:#16a34a}
.permission-item b{display:block;color:#082a55;font-size:14px}
.permission-item small{display:block;color:#64748b;font-size:12px;margin-top:2px}
.perm-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:8px}
.security-item{border:1px solid #dbe7f5;border-radius:12px;padding:12px;margin-bottom:10px;background:#fff}
.security-item b{color:#082a55}.security-item span{float:right;border-radius:999px;padding:3px 8px;font-size:12px;background:#eaf2ff;color:#0b63ce}.security-item p{clear:both;margin:8px 0 0;color:#516784;font-size:13px}
@media(max-width:900px){.permissions-layout{grid-template-columns:1fr}.perm-actions{justify-content:flex-start}}


/* ===== HCJ Academy v73: menu dinamico por permisos ===== */
.nav a.module-hidden,
.nav a[hidden],
.page.permission-hidden{
  display:none!important;
}
body.sidebar-collapsed .nav a.module-hidden,
body.sidebar-collapsed .nav a[hidden]{
  display:none!important;
}

/* v75 - Detalle al hacer clic en cursos aprobados/programados del Calendario Mensual */
.event.approvedSchedule{cursor:pointer;}
.event.approvedSchedule:hover{filter:brightness(1.03);box-shadow:0 6px 18px rgba(23,104,255,.18);}
.calendar-detail-box{width:min(420px,94vw);border-radius:16px;overflow:hidden;}
.calendar-detail-box .modal-head{padding:16px 20px;}
.calendar-detail-box .modal-head h2{font-size:20px;color:#073464;}
.calendar-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding:18px 20px 22px;background:#fff;}
.calendar-detail-grid div{min-width:0;border-bottom:1px solid #edf2fa;padding-bottom:7px;}
.calendar-detail-grid span{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800;color:#6d7f9d;margin-bottom:4px;}
.calendar-detail-grid b{display:block;font-size:13px;line-height:1.22;color:#08234a;word-break:break-word;}
@media(max-width:560px){.calendar-detail-grid{grid-template-columns:1fr;}.calendar-detail-box{width:96vw;}}

/* ===== HCJ Academy v76: tooltip estable para cursos aprobados/programados azules ===== */
.calendar-card .event.approvedSchedule,
.calendar-card .event.approvedSchedule *{
  overflow:visible!important;
}
.calendar-card .event.approvedSchedule .course-tooltip{
  display:none!important;
  pointer-events:none!important;
}
.calendar-card .event.approvedSchedule:hover .course-tooltip,
.calendar-card .event.approvedSchedule:focus .course-tooltip,
.calendar-card .event.approvedSchedule:focus-within .course-tooltip{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:99999!important;
}
.calendar-card .event.approvedSchedule{position:relative!important;z-index:2!important;}
.calendar-card .event.approvedSchedule:hover{z-index:9999!important;}
.calendar-card .day:has(.event.approvedSchedule:hover){z-index:999!important;}


/* v78 - Módulo Sesiones de Usuario */
.session-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.sessions-tabs{display:flex;gap:12px;border-bottom:1px solid var(--border,#dbe7f7);margin:4px 0 14px}.sessions-tabs button{background:transparent;border:0;padding:12px 16px;font-weight:700;color:#445b78;cursor:pointer}.sessions-tabs button.active{color:#0b63f6;border-bottom:3px solid #0b63f6}.user-cell{display:flex;align-items:center;gap:10px}.avatar.mini{width:32px;height:32px;font-size:12px}.session-course-panel{position:sticky;top:84px}.session-user-head{display:flex;gap:12px;align-items:center;border-bottom:1px solid #e2edf8;padding-bottom:12px;margin-bottom:12px}.session-user-head h3{margin:0}.session-user-head p{margin:2px 0 6px;color:#526984}.session-mini-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px}.session-mini-grid div{background:#f3f7fd;border:1px solid #dce9f8;border-radius:12px;padding:10px}.session-mini-grid small{display:block;color:#526984}.session-mini-grid b{font-size:17px}.course-session-item{display:grid;grid-template-columns:10px 1fr auto;gap:10px;padding:10px;border:1px solid #e0eaf7;border-radius:12px;margin-bottom:8px;background:#fff}.course-session-item b{display:block;color:#0b2c56}.course-session-item small{display:block;color:#4b6280;margin-top:2px}.course-session-item em{font-style:normal;font-weight:800;color:#0b63f6;white-space:nowrap}.dot{width:9px;height:9px;border-radius:50%;margin-top:6px;background:#2563eb}.dot-1{background:#22c55e}.dot-2{background:#8b5cf6}.dot-3{background:#f97316}.dot-4{background:#f43f5e}.dot-5{background:#14b8a6}.linkbtn{border:0;background:transparent;color:#0b63f6;font-weight:700;cursor:pointer;padding:0}.session-filters .filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1.2fr}@media(max-width:1200px){.session-layout{grid-template-columns:1fr}.session-course-panel{position:static}.session-filters .filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.session-filters .filters{grid-template-columns:1fr}.sessions-tabs{overflow:auto}.course-session-item{grid-template-columns:10px 1fr}.course-session-item em{grid-column:2}}

/* v79 Dashboard individual de cursos por usuario */
.user-detail-dashboard{margin:18px 0 24px;}
.user-detail-dashboard.hidden,.hidden{display:none!important;}
.user-detail-top{display:flex;align-items:center;gap:18px;margin-bottom:14px;}
.user-detail-breadcrumb{font-size:14px;color:#64748b;}
.user-detail-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start;}
.user-profile-card{background:#fff;border:1px solid #d8e6f7;border-radius:16px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.06);}
.user-profile-card .avatar.xl{width:66px;height:66px;font-size:22px;margin-bottom:12px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e8f1ff;color:#0b3b77;font-weight:800;}
.user-profile-card h3{margin:4px 0 2px;font-size:20px;color:#0b2240;}
.user-profile-card p{margin:0 0 10px;color:#64748b;}
.user-profile-card dl{margin:18px 0 0;display:grid;gap:12px;}
.user-profile-card dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:800;}
.user-profile-card dd{margin:0;color:#0b2240;font-weight:650;}
.user-detail-main h2{margin:0 0 4px;color:#061a33;font-size:28px;}
.muted{color:#64748b;margin:0 0 14px;}
.user-dash-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;margin-bottom:16px;}
.user-dash-card{position:relative;overflow:hidden;min-height:126px;background:#fff;border:1px solid #d8e6f7;border-radius:16px;padding:20px;display:flex;gap:16px;align-items:flex-start;box-shadow:0 12px 28px rgba(15,23,42,.05);}
.user-dash-card:after{content:"";position:absolute;right:-28px;top:-28px;width:90px;height:90px;border-radius:50%;background:rgba(37,99,235,.06);}
.user-dash-ico{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:#e8f1ff;box-shadow:0 10px 20px rgba(37,99,235,.12);}
.user-dash-card small{display:block;color:#405a7c;font-weight:750;margin-bottom:6px;}
.user-dash-card b{display:block;color:#061a33;font-size:24px;line-height:1.15;}
.user-dash-card p{margin:6px 0 0;color:#64748b;font-size:13px;}
.user-dash-card em{display:block;margin-top:6px;color:#64748b;font-style:normal;font-size:12px;}
.user-dash-card.green{border-color:#bcebd1;background:linear-gradient(135deg,#fff,#f1fff7)}
.user-dash-card.orange{border-color:#fde5b6;background:linear-gradient(135deg,#fff,#fff8eb)}
.user-dash-card.purple{border-color:#e6d8ff;background:linear-gradient(135deg,#fff,#f8f3ff)}
.user-dash-card.red{border-color:#ffd8de;background:linear-gradient(135deg,#fff,#fff4f6)}
.user-dash-card.teal{border-color:#b8f0f1;background:linear-gradient(135deg,#fff,#f1feff)}
.user-dash-card.gray{border-color:#dce5ef;background:linear-gradient(135deg,#fff,#f7fafc)}
.progress-line{height:8px;border-radius:99px;background:#e5e7eb;margin-top:12px;overflow:hidden;min-width:160px;}
.progress-line span{display:block;height:100%;border-radius:99px;background:#2563eb;}
.user-dash-card.green .progress-line span{background:#16a34a}.user-dash-card.orange .progress-line span{background:#f59e0b}.user-dash-card.red .progress-line span{background:#ef4444}
.user-insights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.user-insights-grid>div{background:#fff;border:1px solid #d8e6f7;border-radius:14px;padding:14px;}
.user-insights-grid small{display:block;color:#64748b;font-weight:700}.user-insights-grid b{display:block;margin-top:4px;color:#0b2240}.user-insights-grid em{display:block;color:#64748b;font-style:normal;margin-top:3px;font-size:12px}
.user-course-table-card .card-head{align-items:center}.user-course-table-card .card-head>div{display:flex;gap:10px;align-items:center}.user-course-table-card select{padding:9px 12px;border:1px solid #cfe0f5;border-radius:10px;background:#fff;}
.progress-cell{height:8px;width:90px;background:#e5e7eb;border-radius:99px;display:inline-block;vertical-align:middle;overflow:hidden;margin-right:8px;}.progress-cell span{display:block;height:100%;border-radius:99px;background:#2563eb;}
@media(max-width:1100px){.user-detail-layout{grid-template-columns:1fr}.user-dash-grid{grid-template-columns:repeat(2,1fr)}.user-insights-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.user-dash-grid,.user-insights-grid{grid-template-columns:1fr}.user-detail-top{flex-direction:column;align-items:flex-start}}


/* v84: se elimina el panel lateral de detalle en Sesiones de Usuario y se deja el listado a pantalla completa. */
#sessionCourseDetail,.session-course-panel{display:none!important;}
#sessions .session-layout{grid-template-columns:1fr!important;}
#sessions .session-layout>.card{width:100%;}

/* v85 - Modulo de Ayuda como manual interactivo */
.help-doc-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.help-index{position:sticky;top:82px;padding:16px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 110px);overflow:auto}
.help-index h3{margin:0 0 8px;color:#082b63}
.help-index a{display:block;text-decoration:none;color:#163b70;background:#f4f8ff;border:1px solid #d8e6f7;border-radius:12px;padding:10px 12px;font-weight:650;font-size:13px}
.help-index a:hover{background:#e9f2ff;color:#075bd8;border-color:#b8d4ff}
.help-doc-content{min-width:0}
.help-search{margin-top:14px;max-width:520px}
.help-search input{width:100%;height:42px;border:1px solid #cbdcf0;border-radius:12px;padding:0 14px;font-size:14px;background:#fff}
.help-flow{margin-top:16px;padding:18px}
.help-flow h3{margin:0 0 14px;color:#082b63}
.help-flow-steps{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.help-flow-steps span{background:#eaf2ff;color:#0b56c8;border:1px solid #c9dcff;border-radius:999px;padding:9px 13px;font-weight:700;font-size:13px}
.help-flow-steps b{color:#6580a7}
.help-card[hidden]{display:none!important}
.help-card .help-body p.tip{background:#f8fbff;border-left:4px solid #1769ff;padding:10px 12px;border-radius:10px;color:#31445f}
@media(max-width:1050px){.help-doc-layout{grid-template-columns:1fr}.help-index{position:relative;top:auto;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.help-index h3{grid-column:1/-1}}

/* v86 - Reinicio por usuario y global */
.reset-zone{border-left:4px solid #ef4444}
.reset-user-panel{grid-template-columns:minmax(280px,1fr) auto;align-items:end}
.global-reset-zone code{background:#fee2e2;color:#991b1b;padding:2px 6px;border-radius:6px;font-weight:800}
@media(max-width:800px){.reset-user-panel{grid-template-columns:1fr}.reset-user-panel .btn{width:100%}}


/* v89: el calendario principal permanece visible dentro de Horas Disponibles */
#availability .availability-calendar-card{display:block!important;visibility:visible!important;margin-top:18px;min-height:180px;}
#availability #availabilityCalendar{display:grid!important;visibility:visible!important;min-height:120px;width:100%;}
#availability .calendar-title{display:block;padding:15px 18px;background:#0c427d;color:#fff;font-weight:700;font-size:17px;border-radius:10px 10px 0 0;}
#availability .availability-empty{min-height:90px;display:flex;align-items:center;justify-content:center;}

/* v90: filtros completos y siempre visibles en Horas Disponibles */
#availability .availability-filter-card{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:16px;
}
#availability .availability-filters{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(145px,1fr));
  gap:14px;
  align-items:end;
}
#availability .availability-filters label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
#availability .availability-filters .btn{
  width:100%;
}
@media(max-width:1400px){
  #availability .availability-filters{grid-template-columns:repeat(4,minmax(150px,1fr));}
}
@media(max-width:900px){
  #availability .availability-filters{grid-template-columns:repeat(2,minmax(140px,1fr));}
}
@media(max-width:560px){
  #availability .availability-filters{grid-template-columns:1fr;}
}
.assistant-fab{position:fixed;bottom:22px;right:22px;width:56px;height:56px;border-radius:50%;background:#002f6c;color:#fff;border:0;font-size:24px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:9998;display:flex;align-items:center;justify-content:center}
.assistant-panel{position:fixed;bottom:90px;right:22px;width:340px;max-width:92vw;height:460px;max-height:70vh;background:#fff;border:1px solid #dbe5f2;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.25);display:none;flex-direction:column;overflow:hidden;z-index:9998}
.assistant-panel.open{display:flex}
.assistant-head{background:#002f6c;color:#fff;padding:12px 14px;font-weight:800;display:flex;justify-content:space-between;align-items:center}
.assistant-body{flex:1;overflow-y:auto;padding:10px;background:#f3f6fa;display:flex;flex-direction:column}
.assistant-msg{max-width:85%;margin:6px 0;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.4;white-space:pre-wrap}
.assistant-msg.bot{background:#fff;border:1px solid #dbe5f2;align-self:flex-start}
.assistant-msg.user{background:#2367e8;color:#fff;align-self:flex-end}
.assistant-foot{display:flex;gap:6px;padding:10px;border-top:1px solid #dbe5f2}
.assistant-foot input{flex:1;border:1px solid #cbd5e1;border-radius:8px;padding:8px}
.assistant-link{padding:6px 10px;font-size:12px;color:#61708a;border-top:1px solid #eef2f7}
