:root{--green:#2f8a43;--navy:#092a32;--blue:#0e637c;--orange:#ef6f2e;--gold:#d1a15a;--brown:#4c371a;--bg:#f6f4ef;--line:#e7e2d8;--muted:#6d746c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#20251f;font-family:"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(90deg,rgba(18,63,37,.92),rgba(18,63,37,.72))}.login-card{width:min(430px,100%);display:grid;gap:15px;background:white;border:1px solid rgba(209,161,90,.35);border-radius:8px;padding:34px;box-shadow:0 18px 50px rgba(41,36,25,.12)}.login-card img{width:230px}.login-card h1,header h1{margin:0;color:var(--brown);font-family:Georgia,"Times New Roman",serif;font-weight:500}.login-card p{margin:0 0 10px;color:var(--muted)}label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px 11px;background:white}button{border:0;border-radius:6px;background:var(--green);color:white;min-height:38px;padding:0 14px;font-weight:900;cursor:pointer}
.shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.shell>aside{background:var(--navy);color:white;padding:22px 16px}.shell>aside img{width:150px;background:white;border-radius:6px;padding:8px;margin-bottom:28px}nav{display:grid;gap:6px}nav button{background:transparent;color:#c5d5d4;text-align:left}nav button.active{background:rgba(47,138,67,.25);color:white}nav details{border-top:1px solid rgba(255,255,255,.08);padding-top:8px}nav summary{list-style:none;color:white;font-weight:900;font-size:12px;text-transform:uppercase;padding:10px 8px;cursor:pointer}nav summary::-webkit-details-marker{display:none}nav details button{width:100%;padding-left:22px;font-size:13px}
main{padding:26px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}header span{color:var(--green);font-size:12px;font-weight:900;text-transform:uppercase}header b{border-radius:999px;background:#edf6ee;color:var(--green);padding:8px 12px;font-size:12px}.session-tools{display:flex;gap:10px;align-items:center}.session-tools .row-action{min-height:34px}.view{display:none}.active-view{display:block}
.metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px;margin-bottom:18px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px rgba(41,36,25,.09)}.metric{padding:16px}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:800}.metric strong{display:block;margin-top:6px;color:var(--brown);font-size:26px}.panel{padding:20px;margin-bottom:16px}.panel h2{margin:0 0 16px;font-size:18px}.grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.2fr);gap:18px}
.legend{display:flex;flex-wrap:wrap;gap:10px}.legend span{font-size:12px;color:var(--muted);font-weight:800}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.bar-row{display:grid;grid-template-columns:170px 1fr 55px;gap:12px;align-items:center;margin:10px 0;font-size:13px}.bar{height:9px;background:#eee8dd;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green)}
.filters{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) minmax(220px,1.4fr);gap:12px;margin-bottom:16px;align-items:end}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:840px}th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase}.pill{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:900}.Listo{background:#edf6ee;color:var(--green)}.Pendiente{background:#f8efd9;color:#c58022}.En-progreso{background:#e8f0fb;color:#2f78bd}.Stand-By{background:#eee;color:#62656c}.row-action{border:1px solid var(--line);background:white;color:var(--green)}
.form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.wide{grid-column:1/-1}.project-picker{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.user-form{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 140px auto;gap:10px;margin-bottom:18px}.danger-action{background:#b94b45!important;color:white!important;border:0!important}.password-cell{font-family:Consolas,monospace;color:#4c371a;font-weight:800}
.matrix-wrap{overflow:auto}.matrix{width:100%;min-width:920px;border-collapse:collapse;border:1px solid #676767}.matrix th,.matrix td{height:32px;padding:0;border:1px solid var(--orange)}.matrix .title{height:48px;background:var(--orange);color:white;font-size:30px;font-weight:500;text-align:center;text-transform:none}.blank{border:0!important;background:white}.unit-head,.total-head{background:var(--orange);color:white;text-align:center}.stage-head{background:var(--blue);color:white;text-align:center}.unit{width:230px;padding-left:6px;background:#ececec;color:#ff7100;text-align:left;text-transform:none}.cell{position:relative;width:210px;min-width:185px;background:#f7f7f7;text-align:right;overflow:hidden}.cell .fill{position:absolute;left:1px;top:1px;bottom:1px;background:linear-gradient(90deg,#ffc84d,#ffe9ad);border:1px solid #f0b039}.cell strong{position:relative;display:block;padding-right:4px;font-size:16px;line-height:30px}.total{width:104px;background:#a8a8a8;color:white;text-align:center;border-color:#565656!important}.total strong{font-size:20px}
dialog{width:min(920px,calc(100vw - 32px));border:0;border-radius:8px;padding:0;box-shadow:0 28px 90px rgba(0,0,0,.28)}.dialog{padding:24px;display:grid;gap:16px;background:white}.close{justify-self:end;width:34px;border-radius:50%;background:white;color:#222;border:1px solid var(--line);font-size:22px}
.panel-filters{display:flex;gap:10px;margin-bottom:16px;align-items:end}.panel-filters select{max-width:220px}.project-row{display:grid;grid-template-columns:220px 1fr 62px;gap:12px;align-items:center;margin:10px 0;padding:8px;border-radius:6px;cursor:pointer}.project-row:hover,.project-row.selected{background:#edf6ee}.project-row b{color:var(--brown)}.panel-task-list{display:grid;gap:8px}.panel-task{display:grid;grid-template-columns:1.5fr 1fr 140px 80px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.section-head select{max-width:220px}.unit-board{margin:16px 0 22px}.unit-board h3{margin:0 0 8px;color:#4a8cff}.unit-board table{min-width:980px}.timeline{height:9px;background:#d8dbe2;border-radius:999px;overflow:hidden}.timeline span{display:block;height:100%;background:#4a8cff}.digital-layout,.it-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px}.it-layout{display:flex;flex-direction:column;gap:16px}.it-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;align-items:start}.digital-filters,.it-filters{background:white;border:2px solid var(--orange);padding:14px;display:grid;align-content:start;gap:22px}.panel-button{background:var(--blue);width:132px;justify-self:center}.digital-main{min-width:0}.td-title{text-align:center;color:#002647;font-size:32px;font-weight:900;border-bottom:3px solid var(--blue);margin-bottom:18px}.td-metrics{width:min(380px,100%);display:grid;border:1px solid #777;margin-bottom:18px}.td-metric{display:grid;grid-template-columns:1fr 112px;min-height:27px;border-bottom:1px solid #999}.td-metric:last-child{border-bottom:0}.td-metric span{padding:5px;color:#ff7100;font-size:12px;font-weight:900}.td-metric strong{display:grid;place-items:center;background:#a8a8a8;border:1px solid #555;color:white}.td-metric.ready strong{background:#b8e6b8;color:#083}.td-metric.pending strong{background:#fff0a8;color:#5b4a00}.td-metric.progress strong{background:#77c5e3;color:#00394d}.td-grid{display:grid;grid-template-columns:360px minmax(420px,1fr);gap:18px}.td-card{min-height:320px}.td-pivot{overflow:auto}.pivot-table{min-width:720px;border-collapse:collapse}.pivot-table th{background:#bde7f2;color:#001d2b}.pivot-table td,.pivot-table th{border:1px solid #222;padding:5px 7px;font-size:13px}.pivot-stage{font-weight:900;color:#001d2b}.pivot-project{font-weight:900}.pivot-status{background:#ffeca1;color:#a45b00}.pivot-empty{color:var(--muted);font-weight:800}.it-row{cursor:pointer}.it-row:hover,.it-row.selected{background:#edf6ee}.it-detail-card{display:grid;align-content:start;gap:14px}.it-detail-card strong{display:block;border:2px solid #222;padding:8px;text-align:center}.it-detail-text{min-height:280px;border:2px solid #222;display:grid;place-items:center;text-align:center;padding:24px;font-size:17px;line-height:1.45}
.gantt-filter-bar{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:12px;margin-bottom:16px;align-items:end}.gantt-legend{margin-bottom:12px;font-size:12px;color:var(--muted);font-weight:800}.gantt-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.gantt-header,.gantt-row{display:grid;grid-template-columns:300px minmax(860px,1fr)}.gantt-header{background:#f9f8f5;border-bottom:2px solid var(--line);position:sticky;top:0;z-index:10}.gantt-row{min-height:64px;border-bottom:1px solid var(--line)}.gantt-row:hover .gantt-lcol,.gantt-row:hover .gantt-tcol{background:rgba(47,138,67,.04)}.gantt-lcol{padding:8px 12px;border-right:2px solid var(--line);display:grid;align-content:center;gap:3px;min-width:0}.gantt-header .gantt-lcol{height:34px;align-content:center}.gantt-tcol{position:relative;min-width:860px}.gantt-header .gantt-tcol{height:34px}.gantt-count{font-size:11px;font-weight:900;color:var(--muted)}.gantt-month{position:absolute;top:0;bottom:0;border-left:1px dashed rgba(0,0,0,.1);padding:8px 4px 0;font-size:10px;font-weight:900;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:clip}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--orange);z-index:4;opacity:.85;pointer-events:none}.gantt-bar{position:absolute;top:13px;height:30px;border-radius:5px;overflow:hidden;min-width:5px;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.2);opacity:.9}.gantt-prog{position:absolute;left:0;top:0;height:100%;background:rgba(255,255,255,.25)}.gantt-bar-label{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:900;color:rgba(255,255,255,.95);white-space:nowrap;pointer-events:none}.gantt-req{position:absolute;top:5px;width:3px;height:42px;background:#b94b45;border-radius:2px;z-index:3}.gantt-req::before{content:"R";position:absolute;top:-13px;left:-2px;font-size:9px;font-weight:900;color:#b94b45}.gantt-unit-header{background:var(--navy);color:white;padding:9px 14px;font-weight:900;font-size:13px;letter-spacing:.3px}.gantt-proj-header{background:#f0ece4;color:var(--brown);padding:5px 22px;font-size:12px;font-weight:900;border-bottom:1px solid var(--line)}.gantt-title{font-size:12px;font-weight:700;color:#20251f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.gantt-meta{display:flex;gap:6px;align-items:center}.gantt-resp{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-dates{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-empty{color:var(--muted);font-weight:800;text-align:center;padding:40px}
@media(max-width:900px){.shell{grid-template-columns:1fr}.shell>aside{display:none}main{padding:14px}.metrics,.grid,.filters,.form,.project-picker,.user-form,.digital-layout,.it-main,.td-grid{grid-template-columns:1fr}.it-filters{flex-direction:column}.panel-task{grid-template-columns:1fr}.panel-filters{display:grid}}
/* Módulo: Libro de Actividades */
.admin-only:not(.view){display:none}
.act-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.act-filters select,.act-filters input{min-width:150px;flex:1}
.act-tarea-cell{max-width:340px;word-break:break-word}.act-num{text-align:right;font-variant-numeric:tabular-nums}.act-empty{text-align:center;color:var(--muted);padding:32px!important}
.act-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:900;background:#e8eeeb;color:#265c3a}
.act-badge.act-tipo-Desarrollo{background:#e8f0fb;color:#2f78bd}.act-badge.act-tipo-Reunión{background:#f8efd9;color:#a06010}.act-badge.act-tipo-Operaciones{background:#f0eafb;color:#6b45a8}.act-badge.act-tipo-Capacitación{background:#edf6ee;color:var(--green)}.act-badge.act-tipo-Análisis{background:#fdf2e8;color:#cc6600}.act-badge.act-tipo-Organización{background:#f2f2f2;color:#444}.act-badge.act-tipo-Inducción{background:#e8f5fb;color:#1a7aaa}.act-badge.act-tipo-Otro{background:#f5f5f5;color:#888}
.act-impacto{display:inline-block;padding:2px 9px;border-radius:4px;font-size:11px;font-weight:900}.act-imp-alto{background:#edf6ee;color:var(--green)}.act-imp-medio{background:#f8efd9;color:#a06010}.act-imp-bajo{background:#f2f2f2;color:#666}
.act-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.act-kpi-card{padding:20px 22px;display:grid;gap:6px}.act-kpi-label{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase}.act-kpi-value{font-size:32px;font-weight:900;color:var(--brown);line-height:1}.act-kpi-suffix{font-size:14px;font-weight:700;color:var(--muted);margin-left:4px}
.act-dashboard-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px;padding:14px 16px}.act-dashboard-filter>div{display:grid;gap:3px;min-width:240px;margin-right:auto}.act-dashboard-filter strong{color:var(--brown);font-size:15px}.act-dashboard-filter span{color:var(--muted);font-size:12px;font-weight:700}.act-dashboard-filter label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.act-dashboard-filter input{min-width:150px}.act-dashboard-filter button{height:39px}
.act-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.act-chart-card{min-width:0}
.act-bar-chart{display:grid;gap:10px;padding:4px 0}.act-bar-row{display:grid;grid-template-columns:160px 1fr 64px;gap:10px;align-items:center;font-size:13px}.act-bar-label{color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.act-bar-track{height:12px;background:#eee8dd;border-radius:999px;overflow:hidden}.act-bar{height:100%;background:var(--green);border-radius:999px;transition:width .4s ease}.act-bar-value{text-align:right;font-weight:900;color:var(--brown)}
.act-imp-bar-Alto{background:var(--green)}.act-imp-bar-Medio{background:var(--gold)}.act-imp-bar-Bajo{background:#ccc}
.act-table-section{margin-top:4px}.act-unit-table table{min-width:500px}
.act-loading{padding:2rem;color:var(--muted);text-align:center}
.act-date-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:var(--muted);min-width:140px}.act-date-label input{min-width:0}
.act-actions{white-space:nowrap;display:flex;gap:6px}
@media(max-width:900px){.act-kpi-grid{grid-template-columns:1fr}.act-charts-grid{grid-template-columns:1fr}.act-bar-row{grid-template-columns:120px 1fr 50px}.act-filters{flex-direction:column}.act-dashboard-filter{display:grid}.act-dashboard-filter>div{min-width:0}}
/* Módulo: Feed de Actualizaciones */
.feed-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}
.feed-sidebar{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:12px;position:sticky;top:20px}
.feed-compose-btn{background:var(--green);color:white;width:100%;font-size:14px;padding:10px;border-radius:6px}
.feed-main{display:grid;gap:14px}
.feed-post-card{background:white;border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 2px 8px rgba(41,36,25,.07);display:grid;gap:12px}
.feed-post-header{display:flex;align-items:center;gap:10px}.feed-post-titulo{margin:0;font-size:15px;font-weight:700;flex:1;color:#20251f}.feed-post-menu{position:relative}.feed-menu-btn{background:white;color:var(--muted);border:1px solid var(--line);padding:0 8px;min-height:28px;font-size:18px;border-radius:4px}.feed-menu-dropdown{position:absolute;right:0;top:32px;background:white;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:20;min-width:130px;overflow:hidden}.feed-menu-dropdown button{background:white;color:#20251f;width:100%;text-align:left;border-radius:0;border:0;border-bottom:1px solid var(--line);padding:8px 14px;font-weight:400}.feed-menu-dropdown button:hover{background:#f6f4ef}.feed-menu-delete{color:#b94b45!important}
.feed-tipo-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;flex-shrink:0}
.feed-tipo-avance{background:#edf6ee;color:var(--green)}.feed-tipo-aviso{background:#f8efd9;color:#c07020}.feed-tipo-bloqueo{background:#fdecea;color:#b94b45}.feed-tipo-decision{background:#e8f0fb;color:#2f78bd}.feed-tipo-evidencia{background:#f0eafb;color:#7b5ea7}.feed-tipo-actualizacion{background:#e7f4f8;color:#4a7c8e}
.feed-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.feed-avatar{width:26px;height:26px;border-radius:50%;background:var(--navy);color:white;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;flex-shrink:0}.feed-autor{font-weight:700;color:#20251f}.feed-meta-sep{color:var(--line)}.feed-meta-project,.feed-meta-task{font-weight:700}
.feed-contenido{font-size:14px;line-height:1.6;color:#20251f;word-break:break-word}
.feed-adjuntos{display:flex;flex-wrap:wrap;gap:8px}.feed-adj-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;border:1px solid var(--line);background:#fafaf8;font-size:12px;font-weight:700;text-decoration:none;color:#20251f}.feed-adj-chip:hover{background:#edf6ee;border-color:var(--green)}.feed-adj-imagen{border-color:#7b5ea7}.feed-adj-pdf{border-color:#b94b45}.feed-adj-excel{border-color:var(--green)}.feed-adj-word{border-color:#2f78bd}.feed-adj-enlace{border-color:#4a7c8e}
.feed-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding-top:4px;border-top:1px solid var(--line)}.feed-stats{font-size:12px;color:var(--muted);font-weight:700}.feed-reactions{display:flex;flex-wrap:wrap;gap:6px}.feed-react-btn{border:1px solid var(--line);background:white;color:#444;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;min-height:28px}.feed-react-btn:hover{border-color:var(--green);color:var(--green)}.feed-react-active{border-color:var(--green)!important;background:#edf6ee!important;color:var(--green)!important}.feed-react-count{font-size:11px;opacity:.75}
.feed-comments-section{display:grid;gap:8px}.feed-comments{display:grid;gap:6px}.feed-comment{display:flex;align-items:baseline;gap:8px;font-size:13px;flex-wrap:wrap}.feed-comment-autor{font-weight:900;color:#20251f;flex-shrink:0}.feed-comment-texto{flex:1;min-width:0;word-break:break-word}.feed-comment-meta{font-size:11px;color:var(--muted);flex-shrink:0}.feed-comment-del{border:0;background:transparent;color:var(--muted);padding:0 4px;min-height:auto;font-size:15px;flex-shrink:0}.feed-comment-form{display:flex;gap:8px;align-items:center}.feed-comment-input{flex:1;padding:7px 10px;min-height:36px}.feed-comment-send{min-height:36px;padding:0 14px;flex-shrink:0}
.feed-load-more{background:white;color:var(--green);border:1px solid var(--green);width:100%;padding:10px;font-size:13px;border-radius:6px}.feed-load-more:hover{background:#edf6ee}
#feedLoadMoreWrap{display:flex;justify-content:center;padding:6px 0}
.feed-empty{text-align:center;color:var(--muted);padding:40px;font-size:15px}
.feed-dialog{max-width:620px;width:100%}.feed-link-row{display:flex;gap:8px;align-items:center;grid-column:1/-1}.feed-link-row input{flex:1}.feed-preview-adjuntos{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1}.feed-preview-item{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:#fafaf8}.feed-preview-del{border:0;background:transparent;color:var(--muted);padding:0 3px;min-height:auto;font-size:15px}
@media(max-width:900px){.feed-layout{grid-template-columns:1fr}.feed-sidebar{position:static}}
/* Módulo: Reuniones */
.meetings-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}
.meetings-sidebar{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:12px;position:sticky;top:20px}
.meetings-main{display:grid;gap:14px}
.meetings-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.meetings-strip article{background:white;border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:0 10px 28px rgba(41,36,25,.07)}
.meetings-strip span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.meetings-strip strong{display:block;color:var(--brown);font-size:28px;margin-top:4px}
.meetings-list{display:grid;gap:10px}.meeting-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:13px;background:#fffdf9}
.meeting-card-main{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start}.meeting-card time{display:grid;place-items:center;min-height:58px;border-radius:6px;background:#edf6ee;color:var(--green);font-size:13px;font-weight:900}
.meeting-card h3{margin:0 0 5px;color:#20251f;font-size:15px}.meeting-card p{margin:0;color:var(--muted);font-size:13px;font-weight:700}.meeting-card small{display:block;margin-top:5px;color:#6d746c;font-size:12px}
.meeting-card-side{display:grid;gap:6px;justify-items:start;font-size:12px;color:var(--muted);font-weight:800}.meeting-card-side .row-action{width:100%}
.meeting-status{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:900}.meeting-status-Agendada{background:#e8f0fb;color:#2f78bd}.meeting-status-Realizada{background:#edf6ee;color:var(--green)}.meeting-status-Cancelada{background:#fdecea;color:#b94b45}.meeting-status-Reprogramada{background:#f8efd9;color:#a06010}.meeting-status-En-progreso{background:#e8f0fb;color:#2f78bd}.meeting-status-Cumplida{background:#edf6ee;color:var(--green)}
.meeting-empty{color:var(--muted);font-weight:800;text-align:center;padding:24px}.meeting-dialog{max-width:780px}.meeting-detail-dialog{max-width:1040px}
.meeting-participant-box{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fafaf8}.meeting-participant-box h2{font-size:15px;margin:0}
.meeting-participant-row{display:grid;grid-template-columns:1.3fr 1fr 140px auto;gap:8px;margin-top:8px;align-items:center}
.meeting-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:14px}.meeting-detail-head h2{margin:0 0 5px;color:var(--brown)}.meeting-detail-head p{margin:0;color:var(--muted);font-weight:800}
.meeting-detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.meeting-detail-meta{display:flex;gap:8px;flex-wrap:wrap}.meeting-detail-meta span{border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:#fafaf8;color:#20251f;font-size:12px;font-weight:800}
.meeting-description{margin:0;color:#20251f;line-height:1.5}.meeting-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.meeting-detail-panel{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fffdf9;min-width:0}.meeting-detail-panel h3{margin:0 0 10px;color:#20251f;font-size:15px}
.meeting-decision-panel{grid-column:1/-1}.meeting-mini-list{display:grid;gap:8px}.meeting-mini-list div{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:13px}.meeting-mini-list a{color:var(--green);font-weight:800;text-decoration:none}.meeting-mini-list p{margin:0;color:var(--muted);font-weight:800}
.meeting-decision-list{display:grid;gap:10px}.meeting-decision{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) auto auto;gap:10px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:13px}.meeting-decision b{color:#20251f}.meeting-decision span,.meeting-decision small{color:var(--muted);font-weight:700}.meeting-decision small{grid-column:1/-1}
.meeting-file-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;cursor:pointer}.meeting-file-btn input{display:none}
@media(max-width:900px){.meetings-layout,.meetings-strip,.meeting-card,.meeting-card-main,.meeting-detail-grid,.meeting-participant-row,.meeting-decision{grid-template-columns:1fr}.meetings-sidebar{position:static}.meeting-detail-head{display:grid}.meeting-detail-actions{justify-content:start}}
/* Mejora ejecutiva: Gerencia Comercial / IT */
.unit-task-controls{display:flex;gap:10px;align-items:end}.unit-task-controls select{min-width:170px}
.unit-board{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:0 10px 28px rgba(41,36,25,.06)}.unit-board h3{color:var(--brown);font-size:15px;text-transform:uppercase;letter-spacing:.2px}
.unit-work-table,.it-work-table{min-width:980px}.unit-work-table th,.it-work-table th{background:#faf8f2;color:#5c635b}.unit-work-table tbody tr:hover,.it-work-table tbody tr:hover{background:#fbf8ef}
.it-layout{align-items:stretch}.it-filters{display:flex;flex-direction:row;align-items:flex-end;flex-wrap:wrap;gap:14px;border:1px solid rgba(209,161,90,.55);border-radius:8px;box-shadow:0 14px 36px rgba(41,36,25,.08)}.it-filters .panel-button{flex-shrink:0;width:auto;align-self:flex-end}.it-table-card,.it-detail-card{box-shadow:0 14px 38px rgba(41,36,25,.08)}
.it-table-card h2,.it-detail-card h2{color:var(--brown);font-size:17px}.it-row td{padding-top:13px;padding-bottom:13px}.it-row b{font-weight:800;color:#20251f}
.priority-editor{display:grid;grid-template-columns:auto minmax(112px,1fr);gap:6px;align-items:center;min-width:220px}.priority-select{min-height:31px;padding:5px 8px;border-radius:6px;font-size:12px;font-weight:800;background:#fff}.priority-save-state{grid-column:1/-1;min-height:13px;font-size:10px;font-weight:900;color:var(--muted)}.priority-save-state.saved{color:var(--green)}
.priority-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:58px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.1px}.priority-Alta{background:#f6e9df;color:#a45a2a;border:1px solid #e9c6a9}.priority-Media{background:#f8efd9;color:#9a6a18;border:1px solid #ead7a9}.priority-Baja{background:#edf6ee;color:#2f7041;border:1px solid #cce6d0}.priority-Sin-prioridad{background:#f1f1ef;color:#6d746c;border:1px solid #dedbd4}
.it-detail-text{display:block;place-items:initial;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fffdf9;padding:0;min-height:280px;font-size:14px}.it-detail-card strong#itDetailTitle{border:0;border-radius:8px;background:#f7f2e8;color:var(--brown);text-align:left;line-height:1.35}
.it-detail-modern{display:grid;gap:10px;padding:16px}.it-detail-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.it-detail-row span:first-child,.it-detail-notes span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.it-detail-row b{font-size:13px;text-align:right;color:#20251f}.wide-detail{display:grid;gap:6px}.wide-detail b{text-align:left}.it-detail-notes{display:grid;gap:8px}.it-detail-notes p{margin:0;line-height:1.55;color:#20251f;background:white;border:1px solid var(--line);border-radius:6px;padding:12px}
@media(max-width:900px){.unit-task-controls,.priority-editor{grid-template-columns:1fr;display:grid}.unit-task-controls select{min-width:0}.priority-editor{min-width:0}.it-detail-row{display:grid}}
/* Módulo admin: Madurez Digital */
.madurez-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.madurez-filters{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:12px;position:sticky;top:20px;box-shadow:0 14px 36px rgba(41,36,25,.08)}.madurez-filters button:not(.row-action){width:100%;background:var(--green)}.madurez-main{display:grid;gap:16px}
.madurez-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.madurez-kpis article{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 10px 28px rgba(41,36,25,.06)}.madurez-kpis span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.madurez-kpis strong{display:block;color:var(--brown);font-size:28px;margin-top:5px}
.madurez-breakdowns{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.madurez-breakdown{background:white;border:1px solid var(--line);border-radius:8px;padding:14px}.madurez-breakdown h3{margin:0 0 10px;font-size:14px;color:var(--brown)}.madurez-breakdown div{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:6px 0}.madurez-breakdown div:last-child{border-bottom:0}.madurez-breakdown b{color:#20251f}.madurez-breakdown p{margin:0;color:var(--muted);font-size:13px}
.madurez-table{min-width:1380px}.madurez-table th{background:#faf8f2}.madurez-table td{vertical-align:middle}.madurez-table tbody tr:hover{background:#fbf8ef}.madurez-count{font-size:12px;color:var(--muted);font-weight:900}.madurez-actions{white-space:nowrap;display:flex;gap:6px}
.madurez-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid transparent;white-space:nowrap}.madurez-nivel-Muy-baja,.madurez-riesgo-Alto,.madurez-prioridad-CRÍTICA{background:#f7e8e5;color:#a33d34;border-color:#ecc8c1}.madurez-nivel-Baja,.madurez-prioridad-ALTA{background:#f6e9df;color:#a45a2a;border-color:#e9c6a9}.madurez-nivel-Media,.madurez-riesgo-Medio,.madurez-prioridad-MEDIA{background:#f8efd9;color:#9a6a18;border-color:#ead7a9}.madurez-nivel-Alta,.madurez-riesgo-Bajo,.madurez-prioridad-ESTRATÉGICA{background:#edf6ee;color:#2f7041;border-color:#cce6d0}.madurez-nivel-Muy-alta,.madurez-cuadrante-Champion{background:#e6f3f7;color:#0e637c;border-color:#bddfe8}.madurez-cuadrante-Talento-oculto{background:#edf6ee;color:#2f7041;border-color:#cce6d0}.madurez-cuadrante-Bloqueador-crítico{background:#f6e9df;color:#a45a2a;border-color:#e9c6a9}.madurez-cuadrante-Riesgo-operativo,.madurez-prioridad-BAJA,.madurez-mini-undefined{background:#f1f1ef;color:#6d746c;border-color:#dedbd4}.madurez-mini-Alto,.madurez-mini-CRÍTICA{background:#f7e8e5;color:#a33d34}.madurez-mini-Medio,.madurez-mini-MEDIA{background:#f8efd9;color:#9a6a18}.madurez-mini-Bajo,.madurez-mini-ALTA,.madurez-mini-ESTRATÉGICA{background:#edf6ee;color:#2f7041}.madurez-mini-Champion{background:#e6f3f7;color:#0e637c}
.madurez-dialog{max-width:980px}.madurez-form{grid-template-columns:repeat(4,minmax(160px,1fr))}.madurez-variables{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fafaf8}.madurez-score-preview{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.madurez-score-preview div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;gap:4px}.madurez-score-preview span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.madurez-score-preview b{color:var(--brown);font-size:18px}
.madurez-ficha-dialog{max-width:980px}.madurez-ficha-head{display:flex;justify-content:space-between;gap:14px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:14px}.madurez-ficha-head h2{margin:0;color:var(--brown)}.madurez-ficha-head p{margin:5px 0 0;color:var(--muted);font-weight:800}.madurez-ficha-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.madurez-ficha-summary article{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fffdf9;display:grid;gap:6px}.madurez-ficha-summary span:first-child,.madurez-ficha-block h3{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.madurez-ficha-summary strong{font-size:24px;color:var(--brown)}.madurez-ficha-block{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.madurez-ficha-block h3{margin:0 0 10px}.madurez-ficha-block p{margin:0;line-height:1.55}.madurez-timeline{display:grid;gap:10px}.madurez-timeline div{display:grid;grid-template-columns:110px 70px minmax(0,1fr);gap:10px;align-items:start;border-left:3px solid var(--green);padding:3px 0 10px 12px}.madurez-timeline time{font-size:12px;font-weight:900;color:var(--muted)}.madurez-timeline b{color:var(--brown)}.madurez-timeline span{font-weight:800}.madurez-timeline small{grid-column:3;color:var(--muted);line-height:1.4}.madurez-print{padding:24px;background:white;color:#20251f}
.madurez-funcionarios-tools{margin:0 0 14px}.madurez-funcionarios-tools input{max-width:360px}.madurez-funcionarios-table{min-width:980px}.madurez-funcionarios-table th{background:#faf8f2}.madurez-funcionarios-table tbody tr:hover{background:#fbf8ef}.madurez-new-panel{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fffdf9;padding:18px}.madurez-new-panel h3{margin:0 0 6px;color:var(--brown)}.madurez-new-panel p{margin:0;color:var(--muted);font-weight:800;line-height:1.45}.madurez-new-panel button{min-width:180px}
@media(max-width:1100px){.madurez-shell,.madurez-kpis,.madurez-breakdowns,.madurez-form,.madurez-variables,.madurez-score-preview,.madurez-ficha-summary{grid-template-columns:1fr}.madurez-filters{position:static}.madurez-timeline div{grid-template-columns:1fr}}
/* Vista IT por Unidades */
.it-units-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.it-units-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.it-units-export-btn{background:var(--green);color:white;padding:0 20px;min-height:38px;font-size:13px;font-weight:900;border-radius:6px;flex-shrink:0}
.it-units-export-btn:hover{background:#236b31}
.it-units-print-btn{background:var(--blue);color:white;padding:0 20px;min-height:38px;font-size:13px;font-weight:900;border-radius:6px;flex-shrink:0}
.it-units-print-btn:hover{background:#0a4f63}
.it-obs-cell{max-width:340px;font-size:12px;color:var(--muted);white-space:pre-wrap;word-break:break-word}
.it-unit-projects{display:grid;gap:12px;margin-top:10px}
.it-unit-project{border:1px solid var(--line);border-radius:6px;overflow:hidden}
.it-proj-head{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f7f2e8;padding:8px 14px;border-bottom:1px solid var(--line)}
.it-proj-name{font-weight:900;color:var(--brown);font-size:13px}
.it-proj-count{font-size:11px;font-weight:900;color:var(--muted);background:white;border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.it-unit-board{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:18px;box-shadow:0 10px 28px rgba(41,36,25,.06)}
.it-unit-board h3{margin:0;color:var(--brown);font-size:15px;text-transform:uppercase;letter-spacing:.2px}
.it-unit-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}
.it-unit-stats{display:flex;gap:8px;flex-wrap:wrap}
.it-unit-stat{font-size:12px;font-weight:900;padding:3px 10px;border-radius:999px;background:#f0ece4;color:var(--brown)}
.it-unit-stat.ready{background:#edf6ee;color:var(--green)}.it-unit-stat.pending{background:#f8efd9;color:#a06010}.it-unit-stat.progress{background:#e8f0fb;color:#2f78bd}
/* Módulo: Marketing */
.mkt-filters{grid-template-columns:repeat(4,minmax(140px,1fr)) minmax(200px,1.4fr) auto}
.mkt-proj-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;align-items:end}.mkt-proj-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:900;min-width:180px}
.mkt-group-summary{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-left:10px}.mkt-group-summary .td-metric{font-size:.78rem;padding:.15rem .4rem;min-height:22px;display:inline-flex;gap:.3rem;align-items:center;border:1px solid #999;border-radius:4px;background:#f7f7f5;min-width:auto}.mkt-group-summary .td-metric span{color:#ff7100;font-weight:900;font-size:11px;padding:0}.mkt-group-summary .td-metric strong{background:transparent;color:var(--brown);border:0;font-size:13px;font-weight:900;padding:0}
.mkt-board-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;list-style:none;padding:0;margin:0;cursor:pointer}.mkt-board-summary h3{margin:0;color:var(--brown);font-size:15px;text-transform:uppercase;letter-spacing:.2px;flex-shrink:0}
.mkt-kpi-bar{display:grid;grid-template-columns:180px 1fr 52px;gap:10px;align-items:center;margin:8px 0;font-size:13px}.mkt-kpi-bar b{color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
details.mkt-board-item{background:white;border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:14px;box-shadow:0 10px 28px rgba(41,36,25,.06)}details.mkt-board-item>summary{list-style:none;display:flex;align-items:center}details.mkt-board-item>summary::-webkit-details-marker{display:none}
@media(max-width:900px){.mkt-filters,.mkt-proj-filters{display:grid;grid-template-columns:1fr}.mkt-group-summary{margin-top:8px}.mkt-kpi-bar{grid-template-columns:120px 1fr 42px}}

/* Módulo: Supervisión Comercial - Ranking de Vendedores */
.ranking-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.ranking-card strong{font-size:22px;line-height:1.15;word-break:break-word}.ranking-form{grid-template-columns:1.2fr .8fr .7fr 1fr}.ranking-form-actions{display:flex;justify-content:flex-end}
.ranking-filters{grid-template-columns:repeat(3,minmax(140px,1fr)) minmax(210px,1.3fr) auto}
.ranking-table{min-width:1040px}.ranking-table tbody tr:hover{background:rgba(46,231,255,.06)}
.ranking-position{display:inline-grid;place-items:center;min-width:34px;height:30px;border:1px solid rgba(46,231,255,.35);border-radius:999px;background:rgba(46,231,255,.12);color:#effdff;font-weight:900}
.ranking-money{font-weight:900;color:#effdff;font-variant-numeric:tabular-nums;white-space:nowrap}
.ranking-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid transparent;white-space:nowrap}
.ranking-verde{background:rgba(47,138,67,.22);color:#9df0ad;border-color:rgba(77,208,105,.38)}
.ranking-amarillo{background:rgba(209,161,90,.18);color:#ffe08a;border-color:rgba(255,208,106,.4)}
.ranking-rojo{background:rgba(185,75,69,.2);color:#ffaaa4;border-color:rgba(255,141,132,.38)}
.ranking-gris{background:rgba(160,170,174,.18);color:#d9e2e5;border-color:rgba(190,210,216,.35)}
.ranking-note{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(46,231,255,.22);border-radius:8px;background:rgba(46,231,255,.07);color:var(--muted);font-size:13px;font-weight:800;line-height:1.35}
.ranking-light{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:-1px;box-shadow:0 0 13px currentColor}
.ranking-link{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:800}.ranking-observation{max-width:260px;color:var(--muted);white-space:pre-wrap;word-break:break-word}.ranking-actions{display:flex;gap:6px;white-space:nowrap}.ranking-empty{text-align:center;color:var(--muted);font-weight:800;padding:28px!important}
.service-insights{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin:0 0 16px}
.service-chart-card{display:flex;gap:18px;align-items:center;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:8px;padding:16px}
#serviciosMetaGroups{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{display:grid;gap:8px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:8px;padding:16px}.service-card h3{margin:0;color:#effdff;font-size:17px}.service-card p{margin:0;color:var(--muted);font-size:12px;font-weight:800}.service-card strong{color:#7defff;font-size:24px;line-height:1}.service-card small{color:#d7e5e8;font-weight:800}
#analisisComercial #ac1_Groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
#analisisComercial #ac1_Groups .service-card{min-width:0;min-height:156px}
.service-chart-card h3{margin:0 0 6px;color:#effdff;font-size:16px}.service-chart-card p{margin:0 0 12px;color:var(--muted);font-size:13px}
.service-donut{position:relative;display:grid;place-items:center;flex:0 0 132px;width:132px;height:132px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.service-donut::after{content:"";position:absolute;width:74px;height:74px;border-radius:50%;background:var(--panel)}
.service-donut span{position:relative;z-index:1;color:#effdff;font-size:18px;font-weight:900}
.service-legend{display:flex;flex-wrap:wrap;gap:8px}.service-legend span{display:inline-flex;align-items:center;gap:6px;color:#d7e5e8;font-size:12px;font-weight:800}.service-legend i{width:10px;height:10px;border-radius:50%}
.service-leaders{list-style:none;padding:0;margin:0;display:grid;gap:8px}.service-leaders li{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:7px;color:#d7e5e8}.service-leaders b{color:#effdff}.service-leaders span{text-align:right;color:var(--muted);font-weight:800}
.lp-panel{max-width:100%}.lp-head{align-items:flex-start}.lp-content{display:grid;gap:10px}.lp-heading{margin:16px 0 4px;color:#7defff;font-weight:900;font-size:17px}.lp-paragraph{margin:0;color:#d7e5e8;line-height:1.45}.lp-table-wrap{margin:6px 0 14px}.lp-table{min-width:860px}.lp-table th,.lp-table td{white-space:nowrap}.lp-edit-text{width:100%;min-height:38px;padding:9px 10px;border:1px solid rgba(46,231,255,.28);border-radius:8px;background:rgba(2,18,26,.72);color:#effdff;font:inherit;font-weight:800;resize:vertical}.lp-table input{min-width:118px;width:100%;padding:7px 8px;border:1px solid rgba(46,231,255,.22);border-radius:6px;background:rgba(2,18,26,.78);color:#effdff;font:inherit;font-size:12px}.lp-table th input{font-weight:900;color:#7defff}
.vd-form{grid-template-columns:repeat(4,minmax(150px,1fr))}
.vd-form .wide{grid-column:1/-1}.vd-card strong{font-size:20px}.vd-chart-panel{min-width:0}
.vd-chart-wrap{position:relative}
.vd-line-chart{width:100%;height:330px;display:block;background:rgba(3,22,31,.55);border:1px solid rgba(46,231,255,.18);border-radius:8px}
.vd-chart-tooltip{position:absolute;z-index:6;display:grid;gap:3px;min-width:150px;padding:10px 12px;border:1px solid rgba(46,231,255,.45);border-radius:8px;background:rgba(2,18,26,.94);box-shadow:0 14px 36px rgba(0,0,0,.35);pointer-events:none}
.vd-chart-tooltip span{font-size:11px;color:var(--muted);font-weight:800}.vd-chart-tooltip strong{color:#effdff;font-size:14px}
.vd-table{min-width:1540px}.vd-table td{font-variant-numeric:tabular-nums}.vd-table small{color:var(--muted);font-weight:800}.vd-good{color:#9df0ad;font-weight:900}.vd-bad{color:#ffaaa4;font-weight:900}
.vd-pct-positive{color:#9df0ad!important;font-weight:900}.vd-pct-neutral{color:#ffe08a!important;font-weight:900}.vd-pct-negative{color:#ffaaa4!important;font-weight:900}
.vd-matrix{min-width:1480px;border-collapse:collapse}.vd-matrix th,.vd-matrix td{min-width:112px;padding:8px 9px;border:1px solid rgba(46,231,255,.16);font-size:12px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.vd-matrix th:first-child,.vd-matrix td:first-child{position:sticky;left:0;z-index:2;min-width:210px;text-align:left;background:rgba(5,31,43,.96);color:#7defff}.vd-matrix thead th{position:sticky;top:0;background:rgba(6,42,56,.98);color:#e9fbff;text-align:center;z-index:3}.vd-matrix tbody tr:hover td,.vd-matrix tbody tr:hover th{background:rgba(46,231,255,.08)}.vd-matrix .row-action{min-height:28px;padding:0 9px}
.vd-general-table{min-width:900px}.vd-general-table th:first-child{color:#7defff}.vd-view-desc{margin:0 0 16px;font-size:13px;color:rgba(46,231,255,.55);line-height:1.55;max-width:820px}.rv-panel-dark{background:#03131b!important;border-color:rgba(46,231,255,.16)!important;color:#c9fbff}.rv-panel-dark h3{color:#7defff!important}.rv-panel-dark .vd-view-desc{color:rgba(46,231,255,.55)!important}
.vd-general-edit{min-width:1040px;border-collapse:collapse}.vd-general-edit th,.vd-general-edit td{padding:8px;border:1px solid rgba(46,231,255,.16)}.vd-general-edit th:first-child{min-width:220px}.vd-general-edit input{min-width:120px;padding:7px 8px;font-size:12px}.vd-general-edit th input{min-width:210px;font-weight:900;color:#f1fdff}.vd-general-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
@media(max-width:900px){#analisisComercial #ac1_Groups{grid-template-columns:1fr}}
@media(max-width:1100px){.ranking-summary{grid-template-columns:repeat(2,1fr)}.ranking-form,.ranking-filters{grid-template-columns:1fr}.ranking-form-actions{justify-content:stretch}.ranking-form-actions button{width:100%}}
@media(max-width:900px){.service-insights,#serviciosMetaGroups{grid-template-columns:1fr}.service-chart-card{align-items:flex-start}.service-donut{width:112px;height:112px;flex-basis:112px}.service-donut::after{width:64px;height:64px}}
@media(max-width:900px){.vd-form{grid-template-columns:1fr}.vd-line-chart{height:260px}}
@media(max-width:640px){.ranking-summary{grid-template-columns:1fr}}

/* Tema visual: dashboard tecnologico Parque Serenidad */
:root{
  --green:#20f2d6;
  --navy:#020f16;
  --blue:#13b9ff;
  --orange:#2ee7ff;
  --gold:#7defff;
  --brown:#e7fbff;
  --bg:#03131b;
  --line:rgba(45,231,255,.28);
  --muted:#8fc8d2;
  --panel-bg:rgba(5,31,43,.72);
  --panel-bg-strong:rgba(7,45,60,.88);
  --cyan:#2ee7ff;
  --cyan-soft:rgba(46,231,255,.16);
  --cyan-glow:0 0 18px rgba(46,231,255,.28);
}
body{
  background:
    radial-gradient(circle at 50% 0%,rgba(46,231,255,.13),transparent 34%),
    radial-gradient(circle at 10% 18%,rgba(19,185,255,.12),transparent 28%),
    linear-gradient(180deg,#020b10 0%,#031923 48%,#020b10 100%);
  color:#e9fbff;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:
    linear-gradient(rgba(46,231,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(46,231,255,.045) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.35));
}
.shell{background:transparent}
.shell>aside{
  background:linear-gradient(180deg,rgba(1,16,23,.96),rgba(4,34,47,.92));
  border-right:1px solid rgba(46,231,255,.32);
  box-shadow:inset -1px 0 0 rgba(125,239,255,.12),14px 0 44px rgba(0,0,0,.28);
}
.shell>aside img,.login-card img{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(46,231,255,.45);
  box-shadow:0 0 22px rgba(46,231,255,.18);
}
nav summary{color:#e9fbff;letter-spacing:.7px}
nav details{border-top:1px solid rgba(46,231,255,.16)}
nav button{
  color:#9ed7df;
  border:1px solid transparent;
  border-radius:4px;
  min-height:34px;
}
nav button:hover,nav button.active{
  background:linear-gradient(90deg,rgba(46,231,255,.2),rgba(46,231,255,.04));
  border-color:rgba(46,231,255,.35);
  color:#fff;
  box-shadow:inset 3px 0 0 var(--cyan),0 0 16px rgba(46,231,255,.15);
}
main{padding:24px;background:transparent}
header{
  position:relative;
  justify-content:center;
  border-bottom:1px solid rgba(46,231,255,.22);
  padding:12px 260px 22px;
}
header::before,header::after{
  content:"";
  position:absolute;
  top:28px;
  width:26%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  box-shadow:var(--cyan-glow);
}
header::before{left:0}
header::after{right:0}
header>div:first-child{
  min-width:min(620px,100%);
  text-align:center;
  padding:10px 32px;
  border:1px solid rgba(46,231,255,.42);
  background:linear-gradient(180deg,rgba(6,42,56,.88),rgba(2,18,25,.76));
  clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);
  box-shadow:0 0 26px rgba(46,231,255,.22),inset 0 0 20px rgba(46,231,255,.08);
}
header span{color:#7defff;letter-spacing:1.7px}
.login-card h1,header h1{
  color:#fff;
  font-family:"Segoe UI",Arial,sans-serif;
  font-weight:900;
  text-shadow:0 0 16px rgba(46,231,255,.34);
}
.session-tools{
  position:absolute;
  right:0;
  top:14px;
}
header b{
  background:rgba(46,231,255,.12);
  border:1px solid rgba(46,231,255,.35);
  color:#d9fbff;
}
.login{
  background:
    radial-gradient(circle at 50% 15%,rgba(46,231,255,.22),transparent 32%),
    linear-gradient(135deg,#020b10,#042332 55%,#020b10);
}
.login-card,.metric,.panel,.feed-post-card,.feed-sidebar,.meetings-sidebar,.meetings-strip article,.meeting-card,.meeting-detail-panel,.madurez-filters,.madurez-kpis article,.madurez-breakdown,.madurez-ficha-summary article,.madurez-ficha-block,.unit-board,.it-unit-board,details.mkt-board-item{
  background:linear-gradient(180deg,var(--panel-bg-strong),var(--panel-bg));
  border:1px solid rgba(46,231,255,.28);
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(46,231,255,.05),0 20px 48px rgba(0,0,0,.28),inset 0 0 24px rgba(46,231,255,.045);
  color:#e9fbff;
}
.login-card p,.metric span,.panel h2,label,.legend span,.bar-row,.gantt-count,.gantt-resp,.gantt-dates,.act-kpi-label,.act-bar-label,.feed-meta,.feed-stats,.meetings-strip span,.meeting-card p,.meeting-card small,.meeting-card-side,.madurez-kpis span,.madurez-breakdown p,.madurez-count,.it-obs-cell,.it-unit-stat,.mkt-kpi-bar b{
  color:var(--muted);
}
.metric strong,.act-kpi-value,.act-bar-value,.meetings-strip strong,.madurez-kpis strong,.madurez-ficha-summary strong,.mkt-board-summary h3,.unit-board h3,.it-unit-board h3,.panel h2,.meeting-detail-panel h3,.madurez-breakdown h3,.madurez-new-panel h3{
  color:#effdff;
  text-shadow:0 0 12px rgba(46,231,255,.18);
}
.metrics,.act-kpi-grid,.meetings-strip,.madurez-kpis{gap:12px}
.metric{
  position:relative;
  overflow:hidden;
  padding:16px 18px;
}
.metric::before,.panel::before,.feed-post-card::before,.meeting-card::before,.it-unit-board::before{
  content:"";
  display:block;
  height:2px;
  margin:-20px -20px 14px;
  background:linear-gradient(90deg,transparent,rgba(46,231,255,.92),transparent);
  box-shadow:var(--cyan-glow);
}
.metric::before{margin:-16px -18px 12px}
button,.panel-button,.feed-compose-btn{
  background:linear-gradient(180deg,#0f7e93,#063242);
  border:1px solid rgba(46,231,255,.45);
  color:#f4feff;
  border-radius:4px;
  box-shadow:0 0 14px rgba(46,231,255,.18),inset 0 0 14px rgba(46,231,255,.08);
}
button:hover,.panel-button:hover,.feed-compose-btn:hover{
  background:linear-gradient(180deg,#14a9c4,#07475a);
  box-shadow:0 0 24px rgba(46,231,255,.32);
}
.row-action,.feed-menu-btn,.feed-react-btn,.feed-load-more,.close{
  background:rgba(6,37,50,.82);
  border:1px solid rgba(46,231,255,.34);
  color:#bff7ff;
}
.danger-action,.feed-menu-delete{
  background:linear-gradient(180deg,#98333d,#541b24)!important;
  border-color:rgba(255,120,140,.45)!important;
  color:#fff!important;
}
input,select,textarea{
  background:rgba(1,18,26,.78);
  color:#f1fdff;
  border:1px solid rgba(46,231,255,.3);
  border-radius:4px;
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(46,231,255,.9);
  box-shadow:0 0 0 3px rgba(46,231,255,.12);
}
input::placeholder,textarea::placeholder{color:#6d9faa}
.digital-filters,.it-filters,.meetings-sidebar,.feed-sidebar,.madurez-filters{
  background:linear-gradient(180deg,rgba(4,36,50,.9),rgba(2,20,29,.86));
  border:1px solid rgba(46,231,255,.32);
  border-radius:4px;
  box-shadow:inset 0 0 22px rgba(46,231,255,.045),0 14px 38px rgba(0,0,0,.28);
}
.td-title{
  color:#fff;
  border:1px solid rgba(46,231,255,.42);
  background:linear-gradient(90deg,transparent,rgba(46,231,255,.15),transparent);
  padding:10px 20px;
  margin-bottom:18px;
  text-shadow:0 0 18px rgba(46,231,255,.42);
  clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);
}
.td-metrics{
  border:1px solid rgba(46,231,255,.35);
  background:rgba(1,20,29,.55);
}
.td-metric{border-bottom:1px solid rgba(46,231,255,.2)}
.td-metric span{color:#7defff}
.td-metric strong{
  background:rgba(46,231,255,.14);
  border:1px solid rgba(46,231,255,.22);
  color:#fff;
}
.td-metric.ready strong{background:rgba(32,242,214,.18);color:#8fffee}
.td-metric.pending strong{background:rgba(255,208,91,.16);color:#ffe7a1}
.td-metric.progress strong{background:rgba(19,185,255,.22);color:#b8efff}
.mkt-group-summary .td-metric{background:rgba(2,18,26,.75);border-color:rgba(46,231,255,.35)}
.mkt-group-summary .td-metric strong{color:#c9fbff}
.td-card{min-height:320px}
.bar,.act-bar-track{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(46,231,255,.14);
}
.bar i,.act-bar{
  background:linear-gradient(90deg,#12a8ff,#2ee7ff);
  box-shadow:0 0 14px rgba(46,231,255,.45);
}
table,.pivot-table{border-collapse:collapse}
th{
  background:rgba(14,99,124,.72)!important;
  color:#c9fbff!important;
  border-bottom:1px solid rgba(46,231,255,.32);
}
td{
  color:#e8fbff;
  border-bottom:1px solid rgba(46,231,255,.12);
}
.fch-items-table td{color:#e8fbff!important}
.fch-nivel,.fch-prospecto-cell{color:#8fc8d2!important}
.fch-fecha-sesion{color:#4a5550!important}
.fch-subtotal td{background:rgba(14,99,124,.35)!important;color:#c9fbff!important}
tbody tr:hover,.unit-work-table tbody tr:hover,.it-work-table tbody tr:hover,.madurez-table tbody tr:hover{
  background:rgba(46,231,255,.08);
}
.table-wrap,.gantt-wrap{
  border:1px solid rgba(46,231,255,.24);
  border-radius:4px;
  background:rgba(1,16,23,.38);
}
.pill,.priority-badge,.act-badge,.act-impacto,.meeting-status,.madurez-badge,.feed-tipo-badge{
  border-radius:4px;
  box-shadow:inset 0 0 12px rgba(255,255,255,.04);
}
.Listo,.meeting-status-Realizada,.meeting-status-Cumplida,.priority-Baja,.act-imp-alto,.madurez-riesgo-Bajo{
  background:rgba(32,242,214,.14);
  color:#81fff0;
  border:1px solid rgba(32,242,214,.32);
}
.Pendiente,.priority-Media,.meeting-status-Reprogramada,.act-imp-medio{
  background:rgba(255,208,91,.14);
  color:#ffe29a;
  border:1px solid rgba(255,208,91,.3);
}
.En-progreso,.meeting-status-Agendada,.priority-Alta{
  background:rgba(19,185,255,.17);
  color:#a9ecff;
  border:1px solid rgba(19,185,255,.34);
}
.Stand-By,.priority-Sin-prioridad{
  background:rgba(150,180,190,.12);
  color:#c7dce1;
  border:1px solid rgba(150,180,190,.24);
}
.matrix .title,.unit-head,.total-head,.stage-head,.gantt-unit-header{
  background:linear-gradient(90deg,#06465a,#0e637c);
  color:#f5feff;
}
.matrix,.matrix th,.matrix td,.pivot-table td,.pivot-table th{
  border-color:rgba(46,231,255,.28);
}
.blank{background:transparent!important}
.unit,.cell,.total,.gantt-header,.gantt-lcol,.gantt-tcol,.gantt-proj-header,.proj-head,.it-proj-head,.meeting-detail-meta span,.feed-adj-chip,.feed-preview-item,.madurez-new-panel,.meeting-participant-box{
  background:rgba(6,36,49,.62);
  color:#e9fbff;
  border-color:rgba(46,231,255,.22);
}
.cell .fill{
  background:linear-gradient(90deg,rgba(46,231,255,.45),rgba(125,239,255,.2));
  border-color:rgba(46,231,255,.45);
}
.timeline{background:rgba(255,255,255,.09)}
.timeline span{background:linear-gradient(90deg,#12a8ff,#2ee7ff);box-shadow:0 0 14px rgba(46,231,255,.4)}
.gantt-month{border-left-color:rgba(46,231,255,.18);color:#8fc8d2}
.gantt-today{background:#ffcf5f;box-shadow:0 0 16px rgba(255,207,95,.5)}
.gantt-row{border-bottom-color:rgba(46,231,255,.12)}
.gantt-title,.it-row b,.meeting-card h3,.feed-post-titulo,.feed-autor,.feed-contenido,.meeting-description,.meeting-decision b,.it-detail-row b,.it-detail-notes p,.madurez-breakdown b{
  color:#f4feff;
}
.it-detail-text,.it-detail-card strong#itDetailTitle,.it-detail-notes p{
  background:rgba(1,20,29,.55);
  border-color:rgba(46,231,255,.25);
}
dialog{background:transparent}
.dialog{
  background:linear-gradient(180deg,rgba(4,36,50,.98),rgba(2,20,29,.98));
  color:#e9fbff;
  border:1px solid rgba(46,231,255,.35);
}
.feed-menu-dropdown{
  background:#041b25;
  border-color:rgba(46,231,255,.35);
}
.feed-menu-dropdown button{background:transparent;color:#e9fbff;border-bottom-color:rgba(46,231,255,.16)}
.feed-menu-dropdown button:hover{background:rgba(46,231,255,.1)}
.feed-react-active,.feed-load-more:hover{
  background:rgba(46,231,255,.16)!important;
  border-color:rgba(46,231,255,.65)!important;
  color:#fff!important;
}
.act-dashboard-filter strong,.meeting-detail-head h2,.madurez-ficha-head h2,.madurez-ficha-head p,.project-row b,.password-cell,.pivot-stage,.pivot-project,.it-proj-name{
  color:#effdff;
}
.project-row:hover,.project-row.selected,.it-row:hover,.it-row.selected{
  background:rgba(46,231,255,.09);
}
.it-unit-stat,.it-proj-count{
  background:rgba(46,231,255,.12);
  border:1px solid rgba(46,231,255,.24);
  color:#dffbff;
}
.it-unit-stat.ready{background:rgba(32,242,214,.14);color:#83fff0}
.it-unit-stat.pending{background:rgba(255,208,91,.14);color:#ffe29a}
.it-unit-stat.progress{background:rgba(19,185,255,.17);color:#a9ecff}
.audit-table{min-width:760px}
.audit-table th:first-child,.audit-table td:first-child{width:190px}
.audit-table th:nth-child(2),.audit-table td:nth-child(2){width:220px}
.audit-date{font-variant-numeric:tabular-nums;color:#bff7ff;font-weight:800}
.audit-empty{text-align:center;color:var(--muted);font-weight:800;padding:28px!important}
.ai-floating{position:fixed;right:22px;bottom:22px;z-index:80}
.ai-toggle{width:58px;height:58px;border-radius:50%;padding:0;display:grid;place-items:center;font-size:16px;letter-spacing:.5px}
.ai-chat-box{position:absolute;right:0;bottom:72px;width:min(430px,calc(100vw - 32px));display:grid;grid-template-rows:auto minmax(220px,440px) auto;background:linear-gradient(180deg,rgba(4,36,50,.98),rgba(2,20,29,.98));border:1px solid rgba(46,231,255,.38);border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.44),0 0 32px rgba(46,231,255,.18);overflow:hidden}
.ai-chat-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(46,231,255,.22);background:rgba(46,231,255,.08)}
.ai-chat-head strong{display:block;color:#fff}.ai-chat-head span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-top:2px}
.ai-chat-head .row-action{width:34px;min-height:34px;padding:0;font-size:20px}
.ai-messages{overflow:auto;display:grid;align-content:start;gap:12px;padding:14px;border:0;background:rgba(1,16,23,.42)}
.ai-message{max-width:82%;border:1px solid rgba(46,231,255,.22);border-radius:6px;padding:12px 14px;background:rgba(6,36,49,.62)}
.ai-message.user{justify-self:end;background:rgba(46,231,255,.13);border-color:rgba(46,231,255,.36)}
.ai-message.assistant{justify-self:start}
.ai-message strong{display:block;margin-bottom:6px;color:#7defff;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.ai-message p{margin:0;color:#effdff;line-height:1.55}
.ai-form{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;padding:12px;border-top:1px solid rgba(46,231,255,.22);background:rgba(1,16,23,.6)}
@media(max-width:900px){
  header{padding:10px 0 18px;display:grid;justify-content:stretch}
  header>div:first-child{clip-path:none}
  header::before,header::after{display:none}
  .session-tools{position:static;justify-content:space-between;margin-top:10px}
  .ai-floating{right:14px;bottom:14px}.ai-chat-box{width:calc(100vw - 28px);bottom:68px}.ai-message{max-width:100%}.ai-form{grid-template-columns:1fr}
}

/* ── Módulo: Guardias Comerciales ────────────────────────────────────────────── */

/* Ocultamiento base antes de auth — excluye .view porque esas las maneja .active-view */
.guardia-admin-only:not(.view),.guardia-vendedor-only:not(.view){display:none}

/* Estados de guardia */
.guardia-estado-Programada{background:#e8f0fb;color:#2f78bd}
.guardia-estado-Activa{background:#edf6ee;color:var(--green)}
.guardia-estado-Finalizada{background:#f1f1ef;color:var(--muted)}
.guardia-estado-Cancelada{background:#fdecea;color:#b94b45}
.guardia-estado-Reasignada{background:#fdf0e6;color:#c05a1a}

/* Estados operativos del vendedor */
.guardia-op-Disponible{background:#edf6ee;color:var(--green)}
.guardia-op-Ocupado{background:#fdf0e6;color:var(--orange)}
.guardia-op-Inactivo{background:#f1f1ef;color:var(--muted)}

/* Estados de atención de leads */
.lead-estado-Nuevo{background:#e8f0fb;color:#2f78bd}
.lead-estado-En-atenci-n{background:#fdf0e6;color:var(--orange)}
.lead-estado-Atendido{background:#edf6ee;color:var(--green)}
.lead-estado-Cerrado{background:#f1f1ef;color:var(--muted)}
.lead-estado-Perdido{background:#fdecea;color:#b94b45}

/* Tarjeta de guardia (vista Quién Está) */
.guardia-card{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:10px;box-shadow:0 10px 28px rgba(41,36,25,.07)}
.guardia-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.guardia-card-head h3{margin:0;font-size:15px;color:var(--brown)}
.guardia-card-meta{font-size:12px;color:var(--muted);font-weight:700}
.guardia-card-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Grid de sucursales */
.guardias-sucursales-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}
.guardias-sucursal-block{display:grid;gap:10px}
.guardias-sucursal-block h3{margin:0 0 8px;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid var(--gold);padding-bottom:6px}

/* Fila de lead */
.lead-row:hover{background:#fbf8ef}
.lead-row td{vertical-align:middle}

/* Resultado de asignación automática */
.guardias-asig-resultado{margin-top:18px;padding:16px;border-radius:8px;border:1px solid var(--line);background:#fffdf9;line-height:1.7}
.guardias-asig-ok{border-color:var(--green)!important;background:#edf6ee!important}
.guardias-asig-alerta{border-color:var(--orange)!important;background:#fdf0e6!important;color:var(--orange);font-weight:700}

/* Vista check-in del vendedor */
.guardia-checkin-card{max-width:480px;margin:40px auto;text-align:center;padding:32px;background:white;border-radius:12px;border:1px solid var(--line);box-shadow:0 10px 28px rgba(41,36,25,.07)}
.guardia-checkin-card h2{color:var(--brown);font-size:22px;margin:0 0 12px}
.guardia-checkin-card p{color:var(--muted);margin:0 0 20px}
.btn-checkin{background:var(--green);color:white;padding:14px 36px;font-size:16px;font-weight:900;border-radius:8px;width:100%;cursor:pointer}

/* Selector de estado operativo */
.guardia-op-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:480px;margin:24px auto}
.guardia-op-btn{padding:16px 8px;border-radius:8px;font-size:13px;font-weight:900;border:2px solid var(--line);background:white;color:#20251f;cursor:pointer;transition:border-color .15s,background .15s}
.guardia-op-btn:hover{border-color:var(--green);background:#edf6ee}
.guardia-op-btn.active{border-color:var(--green);background:#edf6ee;color:var(--green)}
.guardia-op-btn.ocupado-btn.active{border-color:var(--orange);background:#fdf0e6;color:var(--orange)}
.guardia-op-btn.inactivo-btn.active{border-color:var(--muted);background:#f1f1ef;color:var(--muted)}

/* Grid BI */
.guardias-bi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}

/* Responsive */
@media(max-width:900px){
  .guardias-sucursales-grid,.guardia-op-selector,.guardias-bi-grid{grid-template-columns:1fr}
}

/* ── MÓDULO COCHERA ────────────────────────────────────────────────────────── */
.cochera-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 24px}
.cochera-form-panel,.cochera-preview-panel{margin:0}
.cochera-form .wide{grid-column:1/-1}

/* Slots lista (vista previa en reservar) */
.cochera-slots-list{display:grid;gap:8px;margin-top:8px}
.cochera-slot-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:white}
.cochera-slot-row.slot-libre{background:#f0faf3;border-color:rgba(47,138,67,.2)}
.cochera-slot-row.slot-ocupado{background:#fff8f5;border-color:rgba(239,111,46,.2)}
.cochera-slot-row.slot-pasado{background:#f6f4ef;opacity:.6}
.slot-hora{font-weight:700;font-size:14px;min-width:110px}
.slot-quien{font-size:13px;color:var(--muted);flex:1}
.slot-quien strong{color:var(--navy);font-weight:900}

/* Badges */
.cochera-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}
.badge-libre{background:rgba(47,138,67,.12);color:var(--green)}
.badge-ocupado{background:rgba(239,111,46,.12);color:var(--orange)}
.badge-pasado{background:rgba(109,116,108,.12);color:var(--muted)}

/* Agenda navigation */
.cochera-agenda-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.cochera-fecha-wrap{text-align:center}
.cochera-fecha-titulo{margin:0;font-size:16px;text-transform:capitalize}

/* KPIs cochera */
.cochera-kpis{display:flex;gap:12px;margin-bottom:16px}
.cochera-kpi{flex:1;background:white;border:1px solid var(--line);border-radius:8px;padding:12px 16px;text-align:center}
.cochera-kpi span{display:block;font-size:26px;font-weight:900;color:var(--navy)}
.cochera-kpi small{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase}
.kpi-libre span{color:var(--green)}
.kpi-ocupado span{color:var(--orange)}
.kpi-total span{color:var(--blue)}

/* Agenda grid (1 columna de tarjetas) */
.cochera-agenda-grid{display:grid;gap:8px}
.cochera-slot-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:8px;border:1px solid var(--line);background:white}
.cochera-slot-card.slot-card-libre{border-left:4px solid var(--green)}
.cochera-slot-card.slot-card-ocupado{border-left:4px solid var(--orange)}
.slot-card-hora{font-weight:900;font-size:15px;min-width:120px;color:var(--navy)}
.slot-card-body{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}
.slot-card-quien{display:grid;gap:2px;font-weight:800;font-size:14px;color:var(--navy)}
.slot-card-quien small{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:900}
.slot-card-motivo{font-size:13px;color:var(--muted)}
.cochera-cancel-btn{background:rgba(239,111,46,.12);color:var(--orange);border:1px solid rgba(239,111,46,.3);padding:5px 12px;font-size:13px;font-weight:700;min-height:0}
.cochera-cancel-btn:hover{background:rgba(239,111,46,.22)}

/* Messages */
.cochera-ok{color:var(--green);font-weight:700;margin:10px 0;padding:10px 14px;background:rgba(47,138,67,.08);border-radius:6px;border:1px solid rgba(47,138,67,.2)}
.cochera-err{color:#b94b45;font-weight:700;margin:10px 0;padding:10px 14px;background:rgba(185,75,69,.08);border-radius:6px;border:1px solid rgba(185,75,69,.2)}

@media(max-width:900px){.cochera-layout{grid-template-columns:1fr}.cochera-kpis{flex-wrap:wrap}}

/* ── MÓDULO FORECAST DE COBROS ─────────────────────────────────────────────── */

/* KPI cards */
.fc-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:20px 24px 0}
.fc-kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-align:center}
.fc-kpi-total{border-color:var(--gold);background:#fff}
.fc-kpi-valor{font-size:22px;font-weight:900;line-height:1.1}
.fc-kpi-label{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--navy);margin:4px 0 2px}
.fc-kpi-cant{font-size:11px;color:#4a5550}

/* Badges */
.fc-badge{display:inline-block;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:800;white-space:nowrap}
.fc-badge-calle{background:rgba(239,111,46,.12);color:#ef6f2e;border:1px solid rgba(239,111,46,.3)}
.fc-badge-prometido{background:rgba(14,99,124,.12);color:#0e637c;border:1px solid rgba(14,99,124,.3)}
.fc-badge-cerrado{background:rgba(47,138,67,.12);color:#2f8a43;border:1px solid rgba(47,138,67,.3)}
.fc-badge-caido{background:rgba(185,75,69,.12);color:#b94b45;border:1px solid rgba(185,75,69,.3)}

/* Inline estado select */
.fc-inline-estado{border:1px solid var(--line);border-radius:6px;padding:4px 6px;font-size:12px;font-weight:700;background:white;cursor:pointer}

/* Filters */
.fc-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px 0 16px}
.fc-filters label{display:grid;gap:4px;font-size:12px;font-weight:800;color:var(--navy)}
.fc-filters input,.fc-filters select{width:auto;min-width:130px;padding:6px 9px;font-size:13px}

/* Main table */
.fc-table{width:100%;border-collapse:collapse;font-size:13px}
.fc-table th{background:#f6f4ef;padding:8px 10px;text-align:left;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--navy);border-bottom:2px solid var(--line)}
.fc-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.fc-table tr:hover td{background:rgba(209,161,90,.04)}
.fc-table .fc-monto{font-weight:700;font-variant-numeric:tabular-nums}
.fc-table .fc-obs{color:#4a5550;font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Inline edit row */
.fc-edit-row td{background:rgba(209,161,90,.05);padding:0}
.fc-inline-form{padding:16px;border-top:2px solid var(--gold)}
.fc-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 16px}
.fc-form .wide{grid-column:1/-1}
.fc-form label{display:grid;gap:4px;font-size:12px;font-weight:800;color:var(--navy)}

/* Mini table (semanal) */
.fc-table-mini{width:100%;border-collapse:collapse;font-size:12px}
.fc-table-mini th{padding:5px 8px;background:#f6f4ef;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--line)}
.fc-table-mini td{padding:6px 8px;border-bottom:1px solid var(--line)}

/* Semanal */
.fc-semanal-grid{display:grid;gap:16px;padding:16px 0}
.fc-semana-card{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;border-left:4px solid var(--gold)}
.fc-sin-fecha{border-left-color:var(--muted)}
.fc-semana-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.fc-semana-label{font-weight:700;font-size:13px;color:var(--brown)}
.fc-semana-total{font-size:18px;font-weight:900;color:var(--navy)}
.fc-semana-estados{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}

/* Mensual */
.fc-mensual-wrap{display:grid;gap:10px;margin-top:12px}
.fc-mes-row{display:grid;grid-template-columns:80px 1fr 240px;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.fc-mes-label{font-weight:700;font-size:13px;color:var(--brown)}
.fc-mes-bar-wrap{background:var(--line);border-radius:4px;height:20px;overflow:hidden}
.fc-mes-bar{height:100%;border-radius:4px;overflow:hidden;min-width:4px;display:flex}
.fc-mes-stats{display:flex;flex-direction:column;gap:2px;font-size:12px}
.fc-mes-stats strong{font-size:15px;color:var(--navy)}

/* Por vendedor */
.fc-vend-ranking{display:grid;gap:12px;margin-top:12px}
.fc-vend-row{display:grid;grid-template-columns:36px 1fr 120px;align-items:center;gap:12px;padding:12px;background:white;border:1px solid var(--line);border-radius:8px}
.fc-vend-pos{font-size:20px;font-weight:900;color:var(--gold);text-align:center}
.fc-vend-nombre{font-weight:700;font-size:14px;color:var(--navy);margin-bottom:4px}
.fc-vend-bar-wrap{background:var(--line);border-radius:4px;height:14px;overflow:hidden;margin:6px 0}
.fc-vend-bar{height:100%;border-radius:4px;overflow:hidden;min-width:4px;display:flex}
.fc-vend-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.fc-vend-total{text-align:right;font-size:18px;font-weight:900;color:var(--navy)}
.fc-vend-total small{display:block;font-size:11px;color:#4a5550;font-weight:400}

/* Por servicio */
.fc-serv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:12px}
.fc-serv-card{background:white;border:1px solid var(--line);border-radius:8px;padding:16px}
.fc-serv-nombre{font-weight:700;font-size:15px;color:var(--navy);margin-bottom:4px}
.fc-serv-total{font-size:24px;font-weight:900;color:var(--brown);margin-bottom:8px}
.fc-serv-bar{display:flex;height:10px;border-radius:4px;overflow:hidden;background:var(--line);margin-bottom:8px}
.fc-serv-seg{height:100%}
.fc-serv-chips{display:flex;gap:5px;flex-wrap:wrap}

/* Legend */
.fc-legend{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0 12px}

/* Gantt */
.fc-gantt-wrap{overflow-x:auto;margin-top:12px}
.fc-gantt-table{border-collapse:collapse;font-size:12px;min-width:800px;width:100%}
.fc-gantt-table th{padding:7px 6px;background:#f6f4ef;border:1px solid var(--line);font-size:11px;font-weight:700;text-align:center;color:var(--navy);white-space:nowrap}
.fc-gantt-table td{border:1px solid var(--line);padding:5px 6px;vertical-align:middle}
.fc-gantt-vend-col{min-width:180px;text-align:left!important;position:sticky;left:0;background:#f6f4ef;z-index:1}
.fc-gantt-week-col{min-width:60px;text-align:center}
.fc-gantt-vend-row td{background:rgba(9,42,50,.06);font-weight:700;color:var(--navy);padding:6px 8px;font-size:12px}
.fc-gantt-item-label{position:sticky;left:0;background:white;z-index:1;min-width:180px}
.fc-gantt-cliente{display:block;font-weight:700;color:var(--navy)}

.meeting-calendar-panel{display:grid;gap:14px}
.meeting-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.meeting-calendar-head h2{margin:0;color:var(--brown)}
.meeting-calendar-head p{margin:4px 0 0;color:var(--muted);font-weight:800;font-size:13px}
.meeting-calendar-actions{display:flex;gap:8px;flex-wrap:wrap}
.meeting-calendar-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:900}
.meeting-calendar-meta strong{color:var(--brown);font-size:18px;text-transform:capitalize;margin-right:auto}
.meeting-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle}
.meeting-dot-started{background:#2f78bd}.meeting-dot-upcoming{background:#2f8a43}.meeting-dot-cancelled{background:#767a82}
.meeting-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));border:1px solid var(--line);border-radius:8px;overflow:auto;background:#fff}
.meeting-calendar-weekday{background:rgba(9,42,50,.08);color:var(--navy);font-size:11px;font-weight:900;text-transform:uppercase;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.meeting-calendar-day{min-height:150px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-rows:auto 1fr;gap:7px}
.meeting-calendar-day:nth-child(7n+7),.meeting-calendar-weekday:nth-child(7){border-right:0}
.meeting-calendar-day.muted{background:rgba(9,42,50,.035);color:var(--muted)}
.meeting-calendar-day.today{box-shadow:inset 0 0 0 2px var(--orange);background:#fffdf7}
.meeting-calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.meeting-calendar-day-head time{font-weight:900;color:var(--brown)}
.meeting-calendar-day-head span{font-size:11px;color:var(--muted);font-weight:900}
.meeting-calendar-events{display:grid;align-content:start;gap:6px;min-width:0}
.meeting-calendar-empty{color:var(--muted);font-weight:800;font-size:11px}
.meeting-calendar-event{width:100%;display:grid;gap:2px;text-align:left;border:1px solid transparent;border-radius:6px;padding:7px;background:rgba(47,138,67,.11);color:#20251f;min-height:0}
.meeting-calendar-event:hover{transform:none;border-color:rgba(47,138,67,.35);background:rgba(47,138,67,.18)}
.meeting-calendar-event span{font-size:10px;font-weight:900;color:var(--muted)}
.meeting-calendar-event b{font-size:12px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.meeting-calendar-event small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meeting-calendar-event-started{background:rgba(47,120,189,.13)}
.meeting-calendar-event-started:hover{border-color:rgba(47,120,189,.35);background:rgba(47,120,189,.2)}
.meeting-calendar-event-cancelled{background:rgba(118,122,130,.12);opacity:.78}
.meeting-calendar-event-cancelled:hover{border-color:rgba(118,122,130,.35);background:rgba(118,122,130,.18)}
@media(max-width:900px){.meeting-calendar-grid{grid-template-columns:repeat(7,150px)}.meeting-calendar-meta strong{width:100%;margin-right:0}.meeting-calendar-actions button{flex:1}}
.fc-gantt-serv{display:block;font-size:11px;color:#4a5550}
.fc-gantt-cell{text-align:center;padding:4px}
.fc-gantt-active{background:rgba(209,161,90,.06)}
.fc-gantt-dot{width:14px;height:14px;border-radius:50%;margin:0 auto;cursor:pointer}
.fc-gantt-monto{white-space:nowrap;display:flex;align-items:center;gap:6px;padding:4px 8px!important}

@media(max-width:1100px){.fc-kpis{grid-template-columns:repeat(3,1fr)}.fc-form{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.fc-kpis{grid-template-columns:1fr 1fr}.fc-form{grid-template-columns:1fr}.fc-mes-row{grid-template-columns:1fr}.fc-vend-row{grid-template-columns:1fr}}
/* Módulo: Agenda Parque Serenidad (admin) */
.aps-shell{display:grid;gap:16px;width:100%;max-width:100%;overflow:hidden}
.aps-titlebar{align-items:flex-start;margin-bottom:0;padding-bottom:12px;border-bottom:1px solid var(--line)}
.aps-titlebar h2{margin-bottom:4px}
.aps-titlebar p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
.aps-public-link{text-decoration:none;padding:0 14px;display:inline-flex;align-items:center;min-height:34px;gap:6px;white-space:nowrap}
.aps-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;flex-wrap:wrap;gap:10px}
.aps-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aps-week-label{font-weight:900;color:var(--brown);font-size:14px;min-width:220px;text-align:center}
.aps-panel{min-width:0;overflow:hidden}
.aps-panel-head{gap:12px;align-items:center}
.aps-filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.aps-grid-scroll{width:100%;overflow-x:auto;padding-bottom:2px}
/* Grilla semanal */
.aps-grid{display:grid;grid-template-columns:minmax(86px,.75fr) repeat(5,minmax(118px,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;min-width:720px}
.aps-gh{background:#f9f8f5;padding:10px 8px;border-bottom:2px solid var(--line);border-right:1px solid var(--line);font-size:12px;font-weight:900;color:var(--muted);text-align:center;text-transform:uppercase}
.aps-gh b{display:block;font-size:13px;color:var(--brown);text-transform:none;margin-bottom:2px}
.aps-gh small{font-size:11px;font-weight:700;color:var(--muted)}
.aps-gh:last-child,.aps-gc:last-child{border-right:0}
.aps-gc{padding:8px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:76px;display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:0}
.aps-gc:nth-last-child(-n+6){border-bottom:0}
.aps-time-col{background:#faf8f2;justify-content:center;text-align:center}
.aps-time-col b{display:block;font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.aps-time-col small{display:block;font-size:11px;color:var(--gold);font-weight:700}
.aps-day-cell{background:white}
.aps-libre{color:#ccc;font-size:12px;font-weight:700;margin:auto;align-self:center}
/* Chips de eventos */
.aps-chip{border-radius:6px;padding:5px 8px 5px 8px;font-size:12px;display:grid;gap:2px;position:relative;padding-right:24px}
.aps-chip small{font-size:10px;font-weight:900;opacity:.75}
.aps-chip span{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.aps-chip em{font-size:10px;font-style:normal;opacity:.6}
.aps-ev-reunion{background:#edf6ee;border:1px solid #b8e0be;color:#1a5e2e}
.aps-ev-block{background:#fdecea;border:1px solid #f5c0c0;color:#7a2020}
.aps-ev-pending{background:#f8efd9;border:1px solid #ead7a9;color:#6b4a0e}
.aps-cancel-btn{position:absolute;top:4px;right:5px;border:0;background:transparent;color:inherit;opacity:.45;cursor:pointer;padding:0;min-height:auto;font-size:14px;line-height:1}
.aps-cancel-btn:hover{opacity:1}
/* Badges */
.aps-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:900}
.aps-badge-pending{background:#f8efd9;color:#a06010}
.aps-badge-confirmed{background:#edf6ee;color:var(--green)}
.aps-badge-rejected{background:#fdecea;color:#b94b45}
/* Labels del form */
.aps-label{display:grid;gap:5px;color:var(--muted);font-size:13px;font-weight:800}
.aps-event-form{display:grid;gap:14px;max-width:860px}
.aps-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.aps-form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.aps-primary-btn{background:var(--green);color:#fff;border:0;border-radius:6px;padding:10px 24px;font-weight:900;cursor:pointer;font-size:14px}
.aps-table-wrap{max-width:100%;overflow-x:auto}
/* Utils */
.aps-empty{color:var(--muted);font-weight:800;text-align:center;padding:28px}
@media(max-width:900px){
  .aps-titlebar,.aps-panel-head{align-items:flex-start}
  .aps-toolbar{flex-direction:column;align-items:flex-start}
  .aps-toolbar-left{width:100%}
  .aps-week-label{text-align:left;min-width:0;order:3;width:100%}
  .aps-grid{grid-template-columns:82px repeat(5,118px);min-width:672px}
}
@media(max-width:700px){
  .aps-form-row{grid-template-columns:1fr}
  .aps-public-link{width:100%;justify-content:center}
  .aps-filter-row{width:100%}
  .aps-filter-row select,.aps-filter-row button{width:100%}
}

/* ── Task Detail Dialog ─────────────────────────────────────────────────────── */
.task-detail-dialog{max-width:780px;width:100%;max-height:88vh;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding:0}
.task-detail-header{padding:20px 24px 14px;border-bottom:1px solid rgba(255,255,255,.12);display:grid;gap:6px}
.task-detail-header h2{margin:0;font-size:17px;line-height:1.35;color:#fff}
.task-detail-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.task-detail-info{padding:12px 24px;display:flex;flex-wrap:wrap;gap:8px 20px;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px}
.task-detail-info span{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.6)}
.task-detail-info strong{color:#fff}
.task-comments-section{display:flex;flex-direction:column;flex:1;min-height:0}
.task-comments-title{margin:0;padding:14px 24px 8px;font-size:14px;font-weight:900;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.85)}
.task-comments-list{flex:1;overflow-y:auto;padding:12px 24px;display:grid;gap:12px;min-height:80px;max-height:340px}
.task-comment-empty{color:rgba(255,255,255,.5);font-size:13px;text-align:center;padding:24px 0;font-weight:700}
.task-comment-item{display:grid;grid-template-columns:34px 1fr;gap:0 10px;align-items:start}
.task-comment-avatar{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;flex-shrink:0;grid-row:1/3}
.task-comment-top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.task-comment-autor{font-weight:900;font-size:13px;color:#fff}
.task-comment-when{font-size:11px;color:rgba(255,255,255,.5)}
.task-comment-body{font-size:13px;line-height:1.5;margin-top:3px;word-break:break-word;white-space:pre-wrap;color:rgba(255,255,255,.88)}
.task-comment-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.task-adj-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:11px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;transition:background .15s}
.task-adj-chip:hover{background:rgba(255,255,255,.2)}
.task-comment-form{padding:14px 24px 20px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:10px}
.task-comment-form textarea{width:100%;resize:vertical;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-family:inherit;font-size:13px;box-sizing:border-box;background:rgba(255,255,255,.08);color:#fff}
.task-comment-form textarea::placeholder{color:rgba(255,255,255,.4)}
.task-comment-attach{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.task-attach-label{cursor:pointer;padding:5px 12px;border:1px solid rgba(255,255,255,.25);border-radius:6px;font-size:12px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.9);transition:background .15s;white-space:nowrap}
.task-attach-label:hover{background:rgba(255,255,255,.18)}
.task-file-preview{display:flex;flex-wrap:wrap;gap:5px}
.task-file-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:11px;background:rgba(47,138,67,.35);color:#fff}
.task-file-chip button{border:0;background:transparent;color:rgba(255,255,255,.6);padding:0 2px;min-height:auto;font-size:13px;line-height:1;cursor:pointer}
.task-comment-form>button[id="saveTaskComment"]{justify-self:end;padding:8px 20px}

/* ── Vista Transformación Digital (rediseño) ────────────────────────────────── */
.digital-top-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;margin-bottom:16px}
.digital-top-row .td-metrics{width:100%;margin-bottom:0}
.digital-donut-wrap{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px rgba(41,36,25,.09);padding:16px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:260px;color:#20251f}
.digital-donut-title{margin:0 0 4px;font-size:14px;font-weight:900;color:#20251f;text-align:center}
.digital-filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px 16px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px rgba(41,36,25,.09);margin-bottom:16px}
.digital-filter-bar label{min-width:150px;flex:1}
.digital-filter-bar .panel-button{flex-shrink:0;align-self:flex-end;margin-bottom:1px}
.td-pivot-full{overflow-x:auto}
.pivot-full{width:100%;border-collapse:collapse;table-layout:fixed}
.pivot-full th{background:#bde7f2;color:#001d2b}
.pivot-full td,.pivot-full th{border:1px solid #d0dde4;padding:7px 10px;font-size:13px;vertical-align:top;color:#20251f;background:white}
.pivot-full th{background:#daeef7;color:#001d2b}
.pivot-full .pivot-stage{font-weight:900;color:#20251f;width:18%}
.pivot-full .pivot-project{font-weight:900;color:#20251f;width:22%}
.pivot-full td:nth-child(3){width:46%}
.pivot-full td:nth-child(4){width:14%;text-align:center}
.pivot-pill-Listo{background:#d4edda;color:#155724}
.pivot-pill-Pendiente{background:#fff3cd;color:#856404}
.pivot-pill-En-progreso{background:#cce5ff;color:#004085}
/* ── Control de Accesos a Módulos ───────────────────────────────────────────── */
.muted-msg{color:var(--muted);padding:12px;font-size:13px}
.mac-card{background:white;border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:14px;box-shadow:0 4px 16px rgba(41,36,25,.06)}
.mac-card--admin{opacity:.7;background:#f9f8f5}
.mac-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.mac-name{font-weight:900;font-size:15px;color:#20251f}
.mac-cargo{font-size:12px;font-weight:800;color:var(--muted);background:#eee8dd;padding:3px 9px;border-radius:999px}
.mac-badge-full{font-size:12px;font-weight:900;color:var(--green);background:#edf6ee;padding:3px 10px;border-radius:999px;margin-left:auto}
.mac-status{font-size:12px;font-weight:900;margin-left:auto;min-width:60px;text-align:right}
.mac-hint{margin:0 0 12px;font-size:11px;color:var(--muted);font-style:italic}
.mac-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.mac-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:#fafaf8;transition:background .15s}
.mac-toggle:hover{background:#f0ece4}
.mac-toggle--custom{border-color:#d1a15a;background:#fdf6ea}
.mac-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}
.mac-toggle-track{position:relative;flex-shrink:0;width:36px;height:20px;background:#ccc;border-radius:999px;transition:background .2s}
.mac-toggle input:checked~.mac-toggle-track{background:var(--green)}
.mac-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:white;border-radius:50%;transition:left .2s;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.mac-toggle input:checked~.mac-toggle-track .mac-toggle-thumb{left:18px}
.mac-toggle-lbl{font-size:13px;font-weight:700;color:#20251f;line-height:1.2}
.mac-custom-mark{color:var(--gold);font-style:normal;font-weight:900;margin-left:2px}
@media(max-width:900px){.mac-toggle-grid{grid-template-columns:1fr 1fr}}
.pivot-pill-Stand-By{background:#f8d7da;color:#721c24}
/* ── Forecast: Meta Bar + Cotizador ─────────────────────────────────────────── */
.fc-meta-bar{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fc-meta-card{background:white;border:1px solid var(--line);border-radius:8px;padding:18px 20px;box-shadow:0 4px 16px rgba(41,36,25,.06);position:relative}
.fc-meta-card--proyectado{border-color:#0e637c33}
.fc-meta-label{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.fc-meta-valor{font-size:28px;font-weight:900;color:#092a32;line-height:1}
.fc-meta-sub{font-size:12px;color:#4a5550;margin-top:4px}
.fc-meta-pct{font-size:13px;font-weight:900;margin-top:6px}
.fc-meta-edit-btn{position:absolute;top:12px;right:12px;background:transparent;border:1px solid var(--line);color:var(--navy);font-size:12px;padding:3px 8px;border-radius:4px;cursor:pointer;min-height:0}
.fc-meta-edit-btn:hover{background:var(--bg);color:var(--navy)}
.fc-obj-table{min-width:600px}
.fc-obj-table th{color:var(--cyan,#2ee7ff);font-size:11px;font-weight:800;text-transform:uppercase;background:rgba(46,231,255,.07);border-bottom:1px solid var(--line)}
.fc-obj-table td:nth-child(2),.fc-obj-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}
.fc-obj-table td:nth-child(4){text-align:center;font-weight:900}
/* Distribución por servicios */
.fc-dist-wrap{padding:4px 0 8px}
.fc-dist-cat-header{display:flex;justify-content:space-between;align-items:center;padding:10px 4px 6px;margin-top:12px;border-bottom:1px solid var(--line)}
.fc-dist-cat-name{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:var(--cyan,#2ee7ff)}
.fc-dist-cat-total{font-size:15px;font-weight:900;color:var(--brown,#e9fbff)}
.fc-dist-row{display:grid;grid-template-columns:110px 1fr 280px;gap:14px;align-items:center;padding:7px 4px;border-bottom:1px solid rgba(46,231,255,.1)}
.fc-dist-label{font-size:13px;font-weight:700;color:var(--brown,#e9fbff);opacity:.9}
.fc-dist-bar-wrap{background:rgba(255,255,255,.08);border-radius:4px;height:12px;overflow:hidden}
.fc-dist-bar{height:100%;border-radius:4px;transition:width .4s ease;min-width:0;opacity:.85}
.fc-dist-amounts{display:flex;gap:10px;align-items:center;font-size:12px;justify-content:flex-end;flex-wrap:wrap;color:var(--brown,#e9fbff)}
.fc-dist-amounts strong{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--brown,#e9fbff)}
.fc-dist-amounts span{color:var(--muted,#8fc8d2);font-size:11px}
/* Cotizador layout */
.fc-cot-vendedor-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:18px;padding:14px 16px;background:#f9f8f5;border:1px solid var(--line);border-radius:8px}
.fc-cot-vendedor-bar label{display:grid;gap:4px;font-size:12px;font-weight:800;color:var(--navy);min-width:160px;flex:1}
.fc-cot-grid{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}
.fc-cot-catalog{padding:16px;background:#f9f8f5;border:1px solid var(--line)}
.fc-cot-cat-title{margin:0 0 12px;font-size:14px;font-weight:900;color:var(--brown)}
.fc-cot-cat-section{margin-bottom:14px}
.fc-cot-cat-name{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--navy);letter-spacing:.4px;margin-bottom:4px}
.fc-cot-cat-table{width:100%;border-collapse:collapse}
.fc-cot-cat-nivel{padding:3px 6px;font-size:13px;color:#20251f}
.fc-cot-cat-monto{padding:3px 6px;text-align:right;font-size:13px;font-weight:700;color:var(--brown);font-variant-numeric:tabular-nums}
.fc-cot-cat-hint{margin:10px 0 0;font-size:11px;color:#4a5550;font-style:italic}
.fc-cot-builder{display:flex;flex-direction:column;gap:14px}
.fc-cot-section{background:white;border:1px solid var(--line);border-radius:8px;padding:14px}
.fc-cot-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.fc-cot-section-label{font-weight:900;font-size:13px;color:var(--navy)}
.fc-cot-section-hint{font-size:11px;color:#222}
.fc-cot-row-header{display:grid;gap:6px;padding:0 2px 4px;font-size:11px;font-weight:800;color:var(--navy);text-transform:uppercase}
.fc-cot-row-header--cat{grid-template-columns:1fr 28px 70px 110px auto 30px}
.fc-cot-row-header--manual{grid-template-columns:2fr 70px 130px auto 30px}
.fc-cot-row-header--sitio{grid-template-columns:1fr 90px 70px 130px auto 30px}
.fc-cot-rows{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.fc-cot-item-wrap{display:flex;flex-direction:column;gap:0}
.fc-cot-row{display:grid;gap:6px;align-items:center}
.fc-cot-row--cat{grid-template-columns:1fr 28px 70px 110px auto 30px}
.fc-cot-row--manual{grid-template-columns:2fr 70px 130px auto 30px}
.fc-cot-row--sitio{grid-template-columns:1fr 90px 70px 130px auto 30px}
.fc-cot-area{width:90px;text-align:center}
.fc-cot-ciudad{min-width:110px}
.fc-cot-row input,.fc-cot-row select{padding:6px 8px;font-size:13px;border:1px solid var(--line);border-radius:5px;background:white;color:#20251f}
.fc-cot-nivel{min-width:90px}
.fc-cot-cant{width:70px;text-align:center}
.fc-cot-nombre{flex:1}
.fc-cot-unit{width:130px}
.fc-cot-sub{display:flex;gap:8px;align-items:center;padding:4px 8px 6px;background:#f4f2ee;border-radius:0 0 5px 5px;border:1px solid var(--line);border-top:none;margin-top:-1px}
.fc-cot-sub input,.fc-cot-sub select{padding:4px 7px;font-size:12px;border:1px solid var(--line);border-radius:4px;background:white;color:#20251f}
.fc-cot-prospecto{flex:1;min-width:0}
.fc-cot-estado{min-width:130px}
.fc-cot-estado--en_calle{background:#fff3e8;color:#c05c00;border-color:#e09050}
.fc-cot-estado--prometido{background:rgba(14,99,124,.1);color:#0e637c;border-color:#0e637c}
.fc-cot-estado--concretado{background:#edf6ee;color:#1d6b2b;border-color:#2f8a43}
.fc-cot-estado--caido{background:#fdecea;color:#b94b45;border-color:#c95b55}
.fc-cot-prometido-lbl{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap;cursor:pointer;user-select:none}
.fc-cot-prometido-lbl input[type=checkbox]{width:auto;min-width:0;accent-color:var(--blue)}
.fc-cot-x{text-align:center;color:#4a5550;font-size:15px}
.fc-cot-row-total{text-align:right;font-weight:900;font-size:13px;color:#20251f;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:80px}
.fc-cot-remove{background:transparent;border:1px solid #ddd;color:#4a5550;font-size:12px;padding:0;width:26px;height:26px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:0}
.fc-cot-remove:hover{background:#fdecea;border-color:#b94b45;color:#b94b45}
.fc-cot-add-btn{background:transparent;border:1px dashed #555;color:#222;font-size:12px;font-weight:700;padding:5px 12px;border-radius:5px;cursor:pointer;width:100%;min-height:0}
.fc-cot-add-btn:hover{background:#f0f0f0}
.fc-cot-footer{background:#f0ece4;border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fc-cot-total-row{display:flex;align-items:baseline;gap:10px;flex:1}
.fc-cot-total-label{font-size:13px;font-weight:800;color:var(--navy);text-transform:uppercase}
.fc-cot-total-value{font-size:24px;font-weight:900;color:#111}
.fc-cot-save-btn{background:var(--green);color:white;font-weight:900;font-size:14px;padding:10px 24px;border-radius:6px;cursor:pointer;border:0}
.fc-cot-save-btn:disabled{opacity:.6;cursor:not-allowed}
.fc-cot-msg{font-size:13px;font-weight:700}
/* Forecast: objetivo table alignment */
@media(max-width:900px){.fc-cot-grid{grid-template-columns:1fr}.fc-cot-catalog{order:2}.fc-cot-builder{order:1}.fc-meta-bar{grid-template-columns:1fr}}

/* ── Forecast Historial y Seguimiento ── */
.fch-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px 0 16px}
.fch-filters label{display:grid;gap:4px;font-size:12px;font-weight:800;color:#e9fbff}
.fch-filters input,.fch-filters select{padding:6px 9px;font-size:13px;min-width:140px;color:#f1fdff}
.fch-filters button{height:36px;font-size:13px}
.fch-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}
.fch-kpi{background:white;border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-align:center;display:flex;flex-direction:column;gap:4px}
.fch-kpi-val{font-size:22px;font-weight:900;line-height:1.1;color:#20251f}
.fch-kpi-lbl{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--navy)}
.fch-kpi--ejec{border-color:var(--blue)}
.fch-sesion-card{border:1px solid var(--line);border-radius:8px;margin-bottom:14px;overflow:hidden}
.fch-sesion-header{background:#f4f2ee;padding:14px 16px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line)}
.fch-sesion-meta{display:flex;flex-direction:column;gap:4px}
.fch-vendedor-name{font-size:15px;font-weight:900;color:var(--navy)}
.fch-fecha-sesion{font-size:12px;color:#4a5550;font-weight:700}
.fch-prox-contacto{font-size:12px;color:var(--blue);font-weight:700}
.fch-cargado-por{font-size:11px;color:#6a8a95;font-weight:600;font-style:italic}
.fch-sesion-totales{display:flex;flex-direction:column;gap:4px;text-align:right}
.fch-total-proy{font-size:13px;color:var(--navy)}
.fch-total-conc{font-size:13px;color:var(--green)}
.fch-obs{margin:0;padding:10px 16px;font-size:13px;color:#4a5550;background:#fafaf8;border-bottom:1px solid var(--line);font-style:italic}
.fch-items-wrap{padding:12px 16px}
.fch-items-table{width:100%;border-collapse:collapse;font-size:13px}
.fch-items-table th{padding:7px 8px;text-align:left;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--navy);border-bottom:2px solid var(--line);background:#f9f8f5}
.fch-items-table td{padding:8px 8px;border-bottom:1px solid var(--line);vertical-align:middle;color:#20251f}
.fch-items-table tfoot td{padding:8px 8px;font-weight:700;color:var(--navy);border-top:2px solid var(--line);border-bottom:none}
.fch-subtotal td{background:#f4f2ee}
.fch-nivel{color:#4a5550;font-size:11px}
.fch-prospecto-cell{color:#4a5550;font-size:12px}
.fch-prometido-badge{color:#0e637c;font-weight:900;font-size:14px}
.fch-estado-sel{padding:4px 7px;font-size:12px;border:1px solid var(--line);border-radius:4px;background:white;color:#20251f;cursor:pointer}
.fch-estado-sel.fch-estado--calle{background:#fff3e8;color:#c05c00;border-color:#e09050}
.fch-estado-sel.fch-estado--prometido{background:rgba(14,99,124,.1);color:#0e637c;border-color:#0e637c}
.fch-estado-sel.fch-estado--conc{background:#edf6ee;color:#1d6b2b;border-color:#2f8a43}
.fch-estado-sel.fch-estado--caido{background:#fdecea;color:#b94b45;border-color:#c95b55}
.fld-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px 0 16px}
.fld-toolbar label{display:grid;gap:4px;font-size:12px;font-weight:800;color:#e9fbff}
.fld-etapa{font-size:11px;font-weight:800;padding:2px 8px;border-radius:3px;display:inline-block}
.fld-etapa--contactado{background:rgba(19,185,255,.18);color:#c9fbff;border:1px solid rgba(19,185,255,.35)}
.fld-etapa--en-seguimiento{background:rgba(32,242,214,.16);color:#81fff0;border:1px solid rgba(32,242,214,.3)}
.fld-etapa--perdido{background:rgba(185,75,69,.18);color:#f4a8a5;border:1px solid rgba(185,75,69,.35)}
.fld-etapa--interesado{background:rgba(255,208,91,.16);color:#ffe29a;border:1px solid rgba(255,208,91,.3)}
/* Forecast: leads seguimiento block */
.fc-leads-seg-table{width:100%;border-collapse:collapse}
.fc-leads-seg-table th,.fc-leads-seg-table td{padding:9px 12px;font-size:13px;text-align:left;border-bottom:1px solid var(--line)}
.fc-leads-seg-table thead th{font-size:11px;font-weight:800;text-transform:uppercase;color:#8fc8d2}
.fc-leads-cal-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fld-calidad{font-size:11px;font-weight:800;padding:2px 8px;border-radius:3px;white-space:nowrap}
.fld-calidad--ok{background:rgba(32,242,80,.16);color:#81ffb0;border:1px solid rgba(32,242,80,.3)}
.fld-calidad--error{background:rgba(185,75,69,.18);color:#f4a8a5;border:1px solid rgba(185,75,69,.35)}
.fld-calidad--sin{background:rgba(100,120,130,.15);color:#8fc8d2;border:1px solid rgba(100,120,130,.25)}
.fc-leads-cal-btns{display:flex;gap:4px}
.fc-leads-cal-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:#8fc8d2;font-size:12px;font-weight:900;padding:2px 8px;border-radius:4px;cursor:pointer;min-height:0;line-height:1.4}
.fc-leads-cal-btn--ok:hover,.fc-leads-cal-btn--ok.active{background:rgba(32,242,80,.2);color:#81ffb0;border-color:rgba(32,242,80,.4)}
.fc-leads-cal-btn--err:hover,.fc-leads-cal-btn--err.active{background:rgba(185,75,69,.25);color:#f4a8a5;border-color:rgba(185,75,69,.5)}
.fc-leads-cal-btn--reset:hover{background:rgba(255,255,255,.08);color:#e9fbff}
.fch-edit-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;background:#f4f2ee}
.fch-edit-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.fch-edit-lbl{display:grid;gap:4px;font-size:12px;font-weight:800;color:#4a5550}
.fch-edit-lbl input{padding:6px 9px;font-size:13px;color:#20251f;background:white;border:1px solid #ccc;border-radius:4px;min-width:130px}
.fch-edit-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.fch-ei-remove{background:transparent;border:1px solid #ddd;color:#b94b45;font-size:12px;padding:0;width:26px;height:26px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:0}
.fch-coment-toggle{background:transparent;border:1px solid rgba(46,231,255,.25);color:#8fc8d2;font-size:12px;padding:2px 7px;min-height:26px;border-radius:4px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.fch-coment-toggle:hover{border-color:rgba(46,231,255,.55);color:#c9fbff}
.fch-coment-toggle.has-comments{color:#13b9ff;border-color:rgba(19,185,255,.5)}
.fch-coment-badge{background:rgba(19,185,255,.25);color:#c9fbff;border-radius:10px;font-size:10px;font-weight:900;padding:0 5px;min-width:16px;text-align:center}
.fch-coment-row>td{padding:0!important;border-bottom:2px solid rgba(46,231,255,.2)!important}
.fch-coment-panel{padding:14px 18px;background:rgba(1,14,22,.82);border-top:1px solid rgba(46,231,255,.15)}
.fch-coment-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;max-height:220px;overflow-y:auto;padding-right:4px}
.fch-coment-item{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}
.fch-coment-avatar{width:32px;height:32px;border-radius:50%;background:rgba(46,231,255,.18);border:1px solid rgba(46,231,255,.32);color:#c9fbff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0}
.fch-coment-body{display:flex;flex-direction:column;gap:3px}
.fch-coment-meta{display:flex;gap:10px;align-items:center}
.fch-coment-user{font-size:11px;font-weight:800;color:#c9fbff}
.fch-coment-date{font-size:10px;color:#8fc8d2}
.fch-coment-text{font-size:13px;color:#e9fbff;line-height:1.5;white-space:pre-wrap}
.fch-coment-form{display:flex;gap:8px;align-items:flex-end;border-top:1px solid rgba(46,231,255,.12);padding-top:10px}
.fch-coment-input{flex:1;font-size:13px;padding:8px 10px;resize:vertical;min-height:52px;background:rgba(1,20,29,.78);border:1px solid rgba(46,231,255,.3);color:#f1fdff;border-radius:4px}
.fch-coment-submit{min-width:80px;height:36px;font-size:12px;align-self:flex-end}
.fch-coment-empty{color:#8fc8d2;font-size:12px;font-style:italic;padding:4px 0;margin:0}
@media(max-width:1000px){.fch-kpis{grid-template-columns:repeat(3,1fr)}}

/* Ciclo de Vida · Insights IA */
.cv-insights-panel{margin-top:1.4rem;border-top:1px solid rgba(143,200,210,.22);padding-top:.9rem}
.cv-insights-header{display:flex;align-items:center;gap:.45rem;font-size:.72rem;color:#8fc8d2;margin-bottom:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.cv-insights-badge{background:rgba(14,99,124,.45);color:#4dd2e8;padding:.1rem .38rem;border-radius:4px;font-size:.62rem;font-weight:800;letter-spacing:.04em}
.cv-insights-body p.cv-ins-line{font-size:.8rem;color:#c2e8ef;margin:.28rem 0;line-height:1.55;padding-left:.7rem;border-left:2px solid rgba(77,210,232,.28)}
.cv-insights-loading{color:#6ab8c8;font-size:.78rem;font-style:italic;animation:cvInsightsPulse 1.5s ease-in-out infinite}
.cv-insights-error{color:#e87b6a;font-size:.78rem}
.cv-insights-empty{color:#6ab8c8;font-size:.78rem}
@keyframes cvInsightsPulse{0%,100%{opacity:.5}50%{opacity:1}}

/* Ciclo de Vida Comercial */
.cv-hero{background:linear-gradient(135deg,#f8fbf8,#eef4f2);border:1px solid #dbe7e2}.cv-hero h2{font-size:28px;margin:4px 0;color:#16352f}.cv-hero p{max-width:760px;color:#51625d}.cv-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}.cv-card{border-left:4px solid #557c73}.cv-filters{position:sticky;top:0;z-index:4;background:rgba(247,249,247,.94);backdrop-filter:blur(8px);border:1px solid #dce6e1;border-radius:8px;margin-bottom:14px}.cv-timeline-wrap{position:relative;padding:38px 8px 8px;overflow-x:auto}.cv-axis{position:absolute;left:210px;right:56px;top:12px;height:1px;background:#c9d7d1}.cv-axis span{position:absolute;top:-8px;transform:translateX(-50%);font-size:11px;color:#66746f}.cv-age-dot{position:absolute;top:4px;bottom:12px;width:2px;background:#253d37;z-index:2;transition:left .35s ease}.cv-age-dot b{position:absolute;top:-22px;left:50%;transform:translateX(-50%);background:#253d37;color:#fff;border-radius:999px;padding:3px 8px;font-size:11px}.cv-category{min-width:760px;margin-bottom:18px}.cv-category h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#6b7773;margin:0 0 8px}.cv-line{display:grid;grid-template-columns:190px 1fr 44px;align-items:center;gap:10px;min-height:40px;margin:7px 0}.cv-line-label{display:flex;align-items:center;gap:8px;min-width:0}.cv-line-label i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-style:normal;font-weight:800;box-shadow:0 8px 18px rgba(30,50,45,.14)}.cv-line-label b{font-size:13px;color:#1e352f}.cv-line-label span{font-size:12px;color:#62716c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-track{height:20px;background:#edf2ef;border-radius:999px;position:relative;overflow:hidden}.cv-bar{position:absolute;top:3px;height:14px;border-radius:999px;min-width:18px;transform-origin:left;animation:cvGrow .55s ease both;box-shadow:0 5px 14px rgba(50,65,60,.18)}.cv-bar em{position:absolute;top:-3px;width:7px;height:20px;border-radius:999px;background:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.08)}.cv-score{text-align:right;color:#263d37}.cv-score b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:26px;border-radius:7px;background:#f4f7f5}.cv-mini-list p{display:flex;justify-content:space-between;border-bottom:1px solid #e4ebe7;padding:9px 0;margin:0}.cv-buyer-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cv-buyer-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0}.cv-buyer-top article,.cv-channel-grid article,.cv-compare article,.cv-matrix article{border:1px solid #dce6e1;border-radius:8px;background:#fbfcfb;padding:14px;box-shadow:0 10px 22px rgba(30,50,45,.06);transition:transform .18s ease,box-shadow .18s ease}.cv-buyer-top article:hover,.cv-channel-grid article:hover,.cv-compare article:hover,.cv-matrix article:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(30,50,45,.1)}.cv-buyer-top span,.cv-channel-grid span{display:block;color:#6c7874;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.cv-buyer-top strong{font-size:26px;color:#173b34}.cv-executive{background:#eef6f2;border-left:4px solid #557c73;border-radius:8px;padding:14px;margin:14px 0;color:#273d38;line-height:1.5}.cv-compare,.cv-channel-grid,.cv-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.cv-compare strong{font-size:34px;color:#173b34}.cv-compare p{display:grid;grid-template-columns:54px 1fr 24px;gap:7px;align-items:center;margin:8px 0}.cv-compare i{height:9px;border-radius:999px;background:#557c73;min-width:4px}.cv-channel-grid article{border-top:4px solid var(--accent)}.cv-channel-grid i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;font-style:normal;font-weight:800}.cv-channel-grid strong{font-size:30px;color:#173b34}.cv-channel-grid div{display:flex;flex-wrap:wrap;gap:6px}.cv-channel-grid b{background:#eef3f0;border-radius:999px;padding:4px 8px;font-size:11px;color:#40504c}.cv-matrix article span{display:inline-flex;background:#263d37;color:#fff;border-radius:999px;padding:4px 10px;font-size:12px}.cv-matrix h3{font-size:25px;margin:12px 0 4px;color:#173b34}.cv-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}.cv-reg-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.cv-reg-form .wide{grid-column:1/-1}@keyframes cvGrow{from{transform:scaleX(.15);opacity:.2}to{transform:scaleX(1);opacity:1}}@media(max-width:768px){.cv-axis{left:160px}.cv-line{grid-template-columns:150px 440px 36px}.cv-line-label span{display:none}.cv-category{min-width:650px}.cv-hero h2{font-size:22px}}

/* Resumen por Vendedor (Supervisión Comercial) — look claro scopeado */
.rv-dash{background:#eef1f5;border-radius:12px;padding:18px;color:#1f2a37;font-size:13px}
.rv-dash .rv-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.rv-dash .rv-brand{font-size:22px;font-weight:900;color:#6d3f9c;letter-spacing:.02em}
.rv-dash .rv-title{font-size:20px;font-weight:800;color:#1f2a37;text-align:right;line-height:1.15}
.rv-dash .rv-period{display:flex;gap:10px;align-items:flex-end}
.rv-dash .rv-pdf-btn{background:#1f4e79;color:#fff;border:none;border-radius:6px;padding:8px 14px;font-size:12px;font-weight:800;cursor:pointer}
.rv-dash .rv-pdf-btn:hover{background:#163a5c}
.rv-dash .rv-pdf-value{font-size:14px;font-weight:800;color:#1f2a37}
.rv-dash .rv-sidebar .rv-pdf-value{color:#fff}
.rv-dash label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;color:#5b6675;text-transform:uppercase;letter-spacing:.04em}
.rv-dash select{background:#fff;color:#1f2a37;border:1px solid #c4ccd8;border-radius:6px;padding:6px 8px;font-size:13px;min-width:150px}
.rv-dash .rv-body{display:flex;gap:14px;align-items:flex-start}
.rv-dash .rv-sidebar{flex:0 0 180px;display:flex;flex-direction:column;gap:14px;background:#1f2a37;border-radius:10px;padding:14px}
.rv-dash .rv-sidebar label{color:#aab6c6}
.rv-dash .rv-sidebar select{width:100%;min-width:0}
.rv-dash .rv-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
.rv-dash .rv-charts{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}
.rv-dash .rv-panel{background:#fff;border:1px solid #d6dce6;border-radius:10px;padding:14px;box-shadow:0 8px 22px rgba(31,42,55,.06)}
.rv-dash .rv-panel h3{margin:0 0 12px;font-size:14px;color:#1f4e79;font-weight:800}
.rv-dash .rv-bars{display:flex;flex-direction:column;gap:10px}
.rv-dash .rv-bar-row{display:grid;grid-template-columns:54px 1fr 92px;align-items:center;gap:10px}
.rv-dash .rv-bar-label{font-weight:800;color:#33405a}
.rv-dash .rv-bar-track{background:#eef1f5;border-radius:6px;height:20px;overflow:hidden}
.rv-dash .rv-bar-fill{height:100%;background:linear-gradient(90deg,#1f9dde,#46c2f0);border-radius:6px;min-width:4px;transition:width .35s ease}
.rv-dash .rv-bar-value{text-align:right;font-weight:700;color:#1f4e79;font-size:12px}
.rv-dash .rv-mix{display:flex;align-items:center;gap:14px}
.rv-dash .rv-donut{position:relative;flex:0 0 116px;width:116px;height:116px;border-radius:50%;display:grid;place-items:center}
.rv-dash .rv-donut::after{content:"";position:absolute;width:62px;height:62px;border-radius:50%;background:#fff}
.rv-dash .rv-donut span{position:relative;z-index:1;font-weight:900;color:#1f2a37}
.rv-dash .rv-mix-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:12px}
.rv-dash .rv-mix-legend li{display:flex;align-items:center;gap:6px;color:#33405a}
.rv-dash .rv-mix-legend i{width:10px;height:10px;border-radius:2px;flex:0 0 10px}
.rv-dash .rv-kpis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);grid-template-areas:"part gauge name" "prom gauge fact";gap:14px}
.rv-dash .rv-area-part{grid-area:part}
.rv-dash .rv-area-gauge{grid-area:gauge}
.rv-dash .rv-area-name{grid-area:name}
.rv-dash .rv-area-prom{grid-area:prom}
.rv-dash .rv-area-fact{grid-area:fact}
.rv-dash .rv-card{border-radius:10px;padding:14px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.rv-dash .rv-card-blue{background:linear-gradient(135deg,#1f3a8a,#2756c8);color:#fff;align-items:center;text-align:center}
.rv-dash .rv-card-big{font-size:34px;font-weight:900;color:#7cf0c4;line-height:1}
.rv-dash .rv-card-cap{font-size:12px;font-weight:700;opacity:.92}
.rv-dash .rv-card-gauge{background:#fff;border:1px solid #d6dce6;align-items:center}
.rv-dash .rv-gauge-label{text-align:center;margin-top:2px}
.rv-dash .rv-gauge-label strong{display:block;font-size:20px;color:#1f4e79}
.rv-dash .rv-gauge-label span{font-size:11px;color:#5b6675;font-weight:700}
.rv-dash .rv-card-name{background:#fff;border:2px solid #e0b53a;align-items:center;text-align:center}
.rv-dash .rv-name-text{font-size:22px;font-weight:800;color:#c79a1f}
.rv-dash .rv-card-dark{background:#33405a;color:#fff;align-items:center;text-align:center}
.rv-dash .rv-card-green{background:#1f7a52;color:#fff;align-items:center;text-align:center}
.rv-dash .rv-card-num{font-size:24px;font-weight:900}
.rv-dash .rv-table-wrap{overflow-x:auto}
.rv-dash .rv-heatmap{width:100%;border-collapse:collapse;font-size:11px}
.rv-dash .rv-heatmap th{background:#1f4e79!important;color:#fff!important;padding:6px 5px;text-align:center;white-space:nowrap}
.rv-dash .rv-heatmap th:first-child{text-align:left}
.rv-dash .rv-heatmap td{border:1px solid #e4e8ef;padding:5px 6px;text-align:right;white-space:nowrap}
.rv-dash .rv-heat{color:#9aa3b2}
.rv-dash .rv-heat-name{text-align:left!important;font-weight:700;color:#1f2a37}
.rv-dash .rv-heat-total{font-weight:800;background:#eef1f5;color:#1f4e79}
.rv-dash .rv-heat-prom{font-weight:800;background:#e7eef7;color:#1f4e79;text-align:right}
.rv-dash .rv-heat-rojo{background:#f4998f;color:#5a1410;font-weight:700}
.rv-dash .rv-heat-amarillo{background:#ffd97a;color:#5a4410;font-weight:700}
.rv-dash .rv-heat-verde{background:#92d6a0;color:#13401f;font-weight:700}
.rv-dash .rv-heat-lila{background:#c9a8e9;color:#3a1a5a;font-weight:700}
.rv-dash .rv-heat-azul{background:#3f7fd6;color:#eaf2ff;font-weight:700}
.rv-dash tr.rv-row-active td{outline:2px solid #1f4e79;outline-offset:-2px}
.rv-dash .rv-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:12px;color:#33405a;font-weight:700}
.rv-dash .rv-legend span{display:flex;align-items:center;gap:6px}
.rv-dash .rv-lg{width:14px;height:14px;border-radius:3px;display:inline-block}
.rv-dash .rv-lg-rojo{background:#f4998f}
.rv-dash .rv-lg-amarillo{background:#ffd97a}
.rv-dash .rv-lg-verde{background:#92d6a0}
.rv-dash .rv-lg-lila{background:#c9a8e9}
.rv-dash .rv-lg-azul{background:#3f7fd6}
.rv-dash .rv-empty{color:#5b6675;font-size:12px;text-align:center;padding:10px}
.rv-dash .rc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rv-dash .rc-card-text{font-size:15px;font-weight:800;line-height:1.25;color:#c79a1f}
.rv-dash .rc-podio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rv-dash .rc-podio-item{border-radius:10px;padding:16px 12px;text-align:center;color:#fff;display:flex;flex-direction:column;gap:5px;align-items:center}
.rv-dash .rc-podio-1{background:linear-gradient(135deg,#c9a227,#eccb53)}
.rv-dash .rc-podio-2{background:linear-gradient(135deg,#7e8896,#a7b1bf)}
.rv-dash .rc-podio-3{background:linear-gradient(135deg,#b06f3f,#cf935f)}
.rv-dash .rc-podio-pos{font-size:28px;font-weight:900}
.rv-dash .rc-podio-name{font-size:13px;font-weight:800}
.rv-dash .rc-podio-monto{font-size:19px;font-weight:900}
.rv-dash .rc-chart{width:100%;height:240px;display:block;background:#fbfcfe;border:1px solid #e4e8ef;border-radius:8px}
@media(max-width:1024px){.rv-dash .rv-body{flex-direction:column}.rv-dash .rv-sidebar{flex:1;width:100%;flex-direction:row}.rv-dash .rv-charts{grid-template-columns:1fr}.rv-dash .rv-kpis{grid-template-columns:1fr;grid-template-areas:"part" "gauge" "name" "prom" "fact"}.rv-dash .rc-kpis{grid-template-columns:1fr 1fr}}


/* Admin: Dashboard Dinamico IA */
.ai-analytics-shell{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:18px;align-items:start}
.ai-analytics-chat,.ai-analytics-result{min-height:520px}
.ai-analytics-messages{height:300px;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px;background:rgba(3,18,26,.42);display:flex;flex-direction:column;gap:10px}
.ai-analytics-msg{padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.ai-analytics-msg.user{background:rgba(29,182,201,.13);border-color:rgba(29,182,201,.32)}
.ai-analytics-msg strong{display:block;color:#e9fbff;margin-bottom:4px;font-size:.85rem}
.ai-analytics-msg p{margin:0;color:#cfe6e9;line-height:1.45}
.ai-analytics-form{display:grid;gap:10px;margin-top:12px}
.ai-analytics-form textarea{width:100%;resize:vertical;min-height:108px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#061923;color:#e9fbff;padding:12px;font:inherit}
.ai-analytics-form button{border:0;border-radius:8px;padding:12px 14px;background:var(--accent);color:#021017;font-weight:900;cursor:pointer}
.ai-analytics-form button:disabled{opacity:.55;cursor:not-allowed}
.ai-analytics-empty,.ai-analytics-error{min-height:420px;display:grid;place-items:center;text-align:center;color:var(--muted);font-weight:800;border:1px dashed rgba(255,255,255,.18);border-radius:8px;padding:24px}
.ai-analytics-error{color:#ffd0d0;border-color:rgba(232,120,120,.45);background:rgba(232,120,120,.08)}
.ai-result-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.ai-result-head h2{margin:0 0 6px;color:#f2feff}
.ai-result-head p{margin:0;color:#b6cdd1;max-width:780px}
.ai-result-head span{font-size:.78rem;color:#8ce9f4;border:1px solid rgba(140,233,244,.28);border-radius:999px;padding:5px 9px;white-space:nowrap}
.ai-bars{display:grid;gap:10px;margin:12px 0 18px}
.ai-bar-row{display:grid;grid-template-columns:minmax(110px,220px) 1fr minmax(90px,140px);gap:10px;align-items:center;color:#dff7fa;font-size:.88rem}
.ai-bar-row>div{height:18px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.ai-bar-row i{display:block;height:100%;border-radius:999px}
.ai-bar-row b{text-align:right;font-variant-numeric:tabular-nums;color:#f3feff}
.ai-line-wrap svg{width:100%;height:auto;background:rgba(3,18,26,.36);border:1px solid rgba(255,255,255,.1);border-radius:8px}
.ai-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;color:#dff7fa;font-size:.84rem}
.ai-legend span{display:inline-flex;align-items:center;gap:6px}
.ai-legend i{width:11px;height:11px;border-radius:999px;display:inline-block}
.ai-pie-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center}
.ai-pie{width:240px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 0 0 36px rgba(3,18,26,.82)}
.ai-kpi{min-height:240px;display:grid;place-items:center;text-align:center;background:rgba(29,182,201,.1);border:1px solid rgba(29,182,201,.24);border-radius:8px}
.ai-kpi strong{font-size:clamp(2rem,5vw,4rem);color:#f8ffff;font-variant-numeric:tabular-nums}
.ai-kpi span{display:block;color:#9fd9df;text-transform:uppercase;font-size:.82rem;letter-spacing:.04em}
.ai-insights{margin-top:18px;display:grid;gap:8px}
.ai-insights p{margin:0;padding:10px 12px;border-left:3px solid var(--accent);background:rgba(255,255,255,.05);border-radius:6px;color:#dff7fa}
.ai-analytics-table{min-width:720px}
@media (max-width: 980px){.ai-analytics-shell{grid-template-columns:1fr}.ai-pie-layout{grid-template-columns:1fr}.ai-bar-row{grid-template-columns:1fr}.ai-bar-row b{text-align:left}}

/* ── ANÁLISIS COMERCIAL (Gerencia Comercial · informe consolidado) ── */
/* Paleta alineada con Resumen Comercial (.rv-dash): azul corporativo #1f4e79, gris-azul #33405a, morado de marca #6d3f9c */
#analisisComercial .ac-intro{margin-bottom:24px;border-left:4px solid #1f4e79}
#analisisComercial .ac-intro h2{color:#1f4e79}
#analisisComercial .ac-intro-text{margin:8px 0 0;color:#e6edf5;font-size:14px;line-height:1.5}
#analisisComercial .ac-block{position:relative;padding-top:30px;margin-bottom:16px;border-left:4px solid #1f4e79}
#analisisComercial .ac-block .section-head h2{color:#1f4e79}
#analisisComercial .ac-block-chip{position:absolute;top:-13px;left:20px;background:#1f4e79;color:#fff;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.3px;box-shadow:0 4px 12px rgba(31,78,121,.25)}
#analisisComercial .ac-block-help{color:#e6edf5;font-size:13px;margin:0 0 16px;line-height:1.5;font-weight:600}
#analisisComercial .ac-divider{height:1px;background:linear-gradient(90deg,transparent,#1f4e79 50%,transparent);margin:28px auto 36px;opacity:.45;border:0}
#analisisComercial .ac-block[data-block="2"]{border-left-color:#1f9dde}
#analisisComercial .ac-block[data-block="2"] .ac-block-chip{background:#1f9dde;box-shadow:0 4px 12px rgba(31,157,222,.25)}
#analisisComercial .ac-block[data-block="2"] .section-head h2{color:#1f4e79}
#analisisComercial .ac-block[data-block="3"]{border-left-color:#33405a}
#analisisComercial .ac-block[data-block="3"] .ac-block-chip{background:#33405a;box-shadow:0 4px 12px rgba(51,64,90,.25)}
#analisisComercial .ac-block[data-block="3"] .section-head h2{color:#33405a}
#analisisComercial .ac-block[data-block="4"]{border-left-color:#6d3f9c}
#analisisComercial .ac-block[data-block="4"] .ac-block-chip{background:#6d3f9c;box-shadow:0 4px 12px rgba(109,63,156,.25)}
#analisisComercial .ac-block[data-block="4"] .section-head h2{color:#6d3f9c}
#analisisComercial .ac-block[data-block="5"]{border-left-color:#2f8a43}
#analisisComercial .ac-block[data-block="5"] .ac-block-chip{background:#2f8a43;box-shadow:0 4px 12px rgba(47,138,67,.25)}
#analisisComercial .ac-block[data-block="5"] .section-head h2{color:#2f8a43}
#analisisComercial .ac-block[data-block="6"]{border-left-color:#1f4e79}
#analisisComercial .ac-block[data-block="6"] .ac-block-chip{background:#1f4e79;box-shadow:0 4px 12px rgba(31,78,121,.25)}
#analisisComercial .ac-block[data-block="6"] .section-head h2{color:#1f4e79}
#analisisComercial .ac-block[data-block="7"]{border-left-color:#e8763a}
#analisisComercial .ac-block[data-block="7"] .ac-block-chip{background:#e8763a;box-shadow:0 4px 12px rgba(232,118,58,.25)}
#analisisComercial .ac-block[data-block="7"] .section-head h2{color:#e8763a}
#analisisComercial .ac-block[data-block="8"]{border-left-color:#5c3a92}
#analisisComercial .ac-block[data-block="8"] .ac-block-chip{background:#5c3a92;box-shadow:0 4px 12px rgba(92,58,146,.25)}
#analisisComercial .ac-block[data-block="8"] .section-head h2{color:#5c3a92}
#analisisComercial .ac-block[data-block="9"]{border-left-color:#9c3f4e}
#analisisComercial .ac-block[data-block="9"] .ac-block-chip{background:#9c3f4e;box-shadow:0 4px 12px rgba(156,63,78,.25)}
#analisisComercial .ac-block[data-block="9"] .section-head h2{color:#9c3f4e}
/* ── Bloque 7 · cards de grupo ── */
#analisisComercial .ac-rk-card{border-left:4px solid transparent}
#analisisComercial .ac-rk-card strong{font-size:24px;letter-spacing:.5px}
#analisisComercial .ac-rk-card small{display:block;font-size:11px;margin-top:4px;opacity:.85;font-weight:600}
#analisisComercial .ac-rk-card-verde{border-left-color:rgba(77,208,105,.7);background:rgba(47,138,67,.10)}
#analisisComercial .ac-rk-card-verde strong{color:#9df0ad}
#analisisComercial .ac-rk-card-amarillo{border-left-color:rgba(255,208,106,.7);background:rgba(209,161,90,.10)}
#analisisComercial .ac-rk-card-amarillo strong{color:#ffe08a}
#analisisComercial .ac-rk-card-rojo{border-left-color:rgba(255,141,132,.7);background:rgba(185,75,69,.10)}
#analisisComercial .ac-rk-card-rojo strong{color:#ffaaa4}
#analisisComercial .ac-rk-card-gris{border-left-color:rgba(190,210,216,.6);background:rgba(160,170,174,.10)}
#analisisComercial .ac-rk-card-gris strong{color:#d9e2e5}
/* ── Bloque 8 · Evolutivo Mensual de Grupos (drill-down) ── */
#analisisComercial .ac-grp-table{table-layout:fixed;font-size:12px}
#analisisComercial .ac-grp-table th,#analisisComercial .ac-grp-table td{text-align:right;padding:6px 8px}
#analisisComercial .ac-grp-table th:first-child,#analisisComercial .ac-grp-table td:first-child{text-align:left}
#analisisComercial .ac-grp-table .ac-grp-row{cursor:pointer;font-weight:800;transition:background .15s ease}
#analisisComercial .ac-grp-table .ac-grp-row:hover{background:rgba(92,58,146,.10)}
#analisisComercial .ac-grp-table .ac-grp-row-expanded{background:rgba(92,58,146,.15)}
#analisisComercial .ac-grp-table .ac-grp-vend-row{cursor:pointer;background:rgba(255,255,255,.03);font-weight:600}
#analisisComercial .ac-grp-table .ac-grp-vend-row:hover{background:rgba(92,58,146,.12)}
#analisisComercial .ac-grp-table .ac-grp-vend-row-expanded{background:rgba(92,58,146,.18)}
#analisisComercial .ac-grp-table .ac-grp-vend-row td:first-child{padding-left:28px;color:#cdd6e2}
#analisisComercial .ac-grp-table .ac-grp-serv-row{background:rgba(255,255,255,.05);font-size:11px}
#analisisComercial .ac-grp-table .ac-grp-serv-row td:first-child{padding-left:52px;color:#9aa6b8}
#analisisComercial .ac-grp-table .ac-grp-caret{display:inline-block;width:14px;font-size:10px;margin-right:6px;transition:transform .2s ease}
#analisisComercial .ac-grp-table .ac-grp-row-expanded .ac-grp-caret,
#analisisComercial .ac-grp-table .ac-grp-vend-row-expanded .ac-grp-caret{transform:rotate(90deg)}
#analisisComercial .ac-grp-pct-empty{color:#5b6675;font-weight:400}
#analisisComercial .ac-grp-pct-verde{color:#9df0ad}
#analisisComercial .ac-grp-pct-amarillo{color:#ffe08a}
#analisisComercial .ac-grp-pct-rojo{color:#ffaaa4}
#analisisComercial .ac-grp-pct-gris{color:#d9e2e5}
#analisisComercial .ac-rk-share{vertical-align:middle;text-align:center;font-weight:800;font-size:13px}
#analisisComercial .ac-rk-share .ac-rk-share-pct{display:block;font-size:20px;letter-spacing:.5px;line-height:1.15;font-weight:900}
#analisisComercial .ac-rk-share .ac-rk-share-grupo{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.4px;margin-top:4px;opacity:.85}
#analisisComercial .ac-rk-share .ac-rk-share-total{display:block;font-size:11px;margin-top:6px;font-weight:600;opacity:.85}
#analisisComercial .ac-rk-share-verde{background:rgba(47,138,67,.18);border-left:3px solid rgba(77,208,105,.55);color:#9df0ad}
#analisisComercial .ac-rk-share-verde .ac-rk-share-pct{color:#9df0ad}
#analisisComercial .ac-rk-share-amarillo{background:rgba(209,161,90,.16);border-left:3px solid rgba(255,208,106,.55);color:#ffe08a}
#analisisComercial .ac-rk-share-amarillo .ac-rk-share-pct{color:#ffe08a}
#analisisComercial .ac-rk-share-rojo{background:rgba(185,75,69,.18);border-left:3px solid rgba(255,141,132,.55);color:#ffaaa4}
#analisisComercial .ac-rk-share-rojo .ac-rk-share-pct{color:#ffaaa4}
#analisisComercial .ac-rk-share-gris{background:rgba(160,170,174,.16);border-left:3px solid rgba(190,210,216,.5);color:#d9e2e5}
#analisisComercial .ac-rk-share-gris .ac-rk-share-pct{color:#d9e2e5}

/* ── Collapse/expand de bloques (click en chip/ayuda) ── */
#analisisComercial .ac-block-chip{cursor:pointer;user-select:none}
#analisisComercial .ac-block-help{cursor:pointer;user-select:none}
#analisisComercial .ac-block-chip:hover{filter:brightness(1.15)}
#analisisComercial .ac-block-caret{display:inline-block;margin-left:8px;font-size:10px;transition:transform .2s ease;vertical-align:middle}
#analisisComercial .ac-block.is-collapsed .ac-block-caret{transform:rotate(-90deg)}
#analisisComercial .ac-block.is-collapsed .ac-block-body{display:none}
#analisisComercial .ac-block.is-collapsed .ac-block-help{margin-bottom:0}
#analisisComercial .ac-block.is-collapsed{padding-bottom:18px}

/* ── Bloque 1 · Cartera de Vendedores con expansión por servicios ── */
#analisisComercial .ac-cart-dash{padding:14px;border-radius:10px}
#analisisComercial .ac-cart-table tr.ac-cart-row{cursor:pointer;transition:background .15s ease}
#analisisComercial .ac-cart-table tr.ac-cart-row:hover{background:rgba(31,78,121,.08)}
#analisisComercial .ac-cart-table tr.ac-cart-row-expanded{background:rgba(31,78,121,.12)}
#analisisComercial .ac-cart-caret{display:inline-block;width:14px;font-size:10px;color:#1f4e79;margin-right:4px;transition:transform .2s ease}
#analisisComercial .ac-cart-table tr.ac-cart-row-child td{background:#f6f8fb;color:#33405a;font-size:11px;border-top:0;padding:4px 6px;text-align:right;white-space:nowrap}
#analisisComercial .ac-cart-table tr.ac-cart-row-child .ac-cart-child-name{text-align:left;font-weight:700;color:#1f4e79;padding-left:24px;letter-spacing:.04em}
#analisisComercial .ac-cart-table tr.ac-cart-row-child .ac-cart-child-prom{font-weight:700;background:#e7eef7;color:#1f4e79}
#analisisComercial .ac-cart-table tr.ac-cart-row-child .ac-cart-child-total{font-weight:700;background:#dbe5f3;color:#1f4e79}
#analisisComercial .ac-cart-table tr.ac-cart-row-child-empty td{color:#5b6675;font-style:italic;text-align:center;padding:8px}
#analisisComercial .ac-cart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:11px;color:#5b6675;font-weight:700;justify-content:flex-end}
#analisisComercial .ac-cart-legend .ac-cart-leg{display:flex;align-items:center;gap:5px}
#analisisComercial .ac-cart-legend .ac-cart-leg i{display:inline-block;width:12px;height:12px;border-radius:3px}

/* ── Bloque 5 · Comparativo Anual con categorías expandibles ── */
#analisisComercial .ac-cmp-table{table-layout:fixed}
#analisisComercial .ac-cmp-table th:first-child,
#analisisComercial .ac-cmp-table td:first-child{width:44%;text-align:left}
#analisisComercial .ac-cmp-table th:not(:first-child),
#analisisComercial .ac-cmp-table td:not(:first-child){text-align:right}
#analisisComercial .ac-cmp-table tr.ac-cmp-cat-row{cursor:pointer;transition:background .15s ease}
#analisisComercial .ac-cmp-table tr.ac-cmp-cat-row:hover td{background:rgba(47,138,67,.34)!important}
#analisisComercial .ac-cmp-table tr.ac-cmp-cat-expanded td{background:rgba(47,138,67,.4)!important}
#analisisComercial .ac-cmp-table tr.ac-cmp-cat-row td{background:rgba(9,64,48,.86)!important;color:#eaffef!important;font-weight:900;border-top:1px solid rgba(157,240,173,.22);border-bottom:1px solid rgba(157,240,173,.22);vertical-align:middle}
#analisisComercial .ac-cmp-table tr.ac-cmp-cat-row td.ranking-money{color:#d9ffe4!important;font-variant-numeric:tabular-nums}
#analisisComercial .ac-cmp-table tr.ac-cmp-cat-row strong{color:#fff;font-size:13px;letter-spacing:.02em}
#analisisComercial .ac-cmp-caret{display:inline-block;width:14px;font-size:10px;color:#9df0ad;margin-right:6px}
#analisisComercial .ac-cmp-cat-codes{display:block;font-size:11px;color:#b7e8c1;font-weight:700;margin-top:3px;margin-left:20px;letter-spacing:.02em}
#analisisComercial .ac-cmp-table tr.ac-cmp-child-row td{background:#f4faf6!important;color:#33405a!important;font-size:12px;border-top:0;padding:6px 8px;vertical-align:middle}
#analisisComercial .ac-cmp-table tr.ac-cmp-child-row .ac-cmp-child-name{font-weight:800;color:#2f8a43!important;padding-left:32px;text-align:left;letter-spacing:.04em}
#analisisComercial .ac-cmp-table tr.ac-cmp-child-row .ac-cmp-child-cell{text-align:right;font-variant-numeric:tabular-nums}
#analisisComercial .ac-cmp-table tr.ac-cmp-child-row-empty td{color:#5b6675;font-style:italic;text-align:center;padding:8px}

/* ===== TEMA CLARO ===== */
html[data-theme="light"]{--green:#2f8a43;--navy:#092a32;--blue:#0e637c;--orange:#ef6f2e;--gold:#d1a15a;--brown:#4c371a;--bg:#f6f4ef;--line:#e7e2d8;--muted:#6d746c;--panel-bg:white;--panel-bg-strong:white;--cyan:#0e637c;--cyan-soft:rgba(14,99,124,.1);--cyan-glow:none}
/* — Body & layout — */
html[data-theme="light"] body{background:var(--bg);color:#20251f}
html[data-theme="light"] body::before{display:none}
html[data-theme="light"] .shell{background:transparent}
html[data-theme="light"] .shell>aside{background:var(--navy);border-right:none;box-shadow:none}
html[data-theme="light"] .shell>aside img,html[data-theme="light"] .login-card img{background:white;border:1px solid var(--line);box-shadow:none}
/* — Nav (sidebar permanece oscuro) — */
html[data-theme="light"] nav summary{color:white;letter-spacing:normal}
html[data-theme="light"] nav details{border-top:1px solid rgba(255,255,255,.12)}
html[data-theme="light"] nav button{background:transparent;color:#c5d5d4;border:none;box-shadow:none}
html[data-theme="light"] nav button:hover,html[data-theme="light"] nav button.active{background:rgba(47,138,67,.25);border-color:transparent;color:white;box-shadow:none}
/* — Header — */
html[data-theme="light"] main{padding:26px;background:transparent}
html[data-theme="light"] header{position:relative;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:22px}
html[data-theme="light"] header::before,html[data-theme="light"] header::after{display:none}
html[data-theme="light"] header>div:first-child{min-width:auto;text-align:left;padding:0;border:none;background:transparent;clip-path:none;box-shadow:none}
html[data-theme="light"] header span{color:var(--green);letter-spacing:normal}
html[data-theme="light"] .login-card h1,html[data-theme="light"] header h1{color:var(--brown);font-family:Georgia,"Times New Roman",serif;font-weight:500;text-shadow:none}
html[data-theme="light"] .session-tools{position:static;right:auto;top:auto}
html[data-theme="light"] header b{background:#edf6ee;border:none;color:var(--green)}
/* — Login — */
html[data-theme="light"] .login{background:linear-gradient(90deg,rgba(18,63,37,.92),rgba(18,63,37,.72))}
/* — Panels / cards — */
html[data-theme="light"] .login-card,html[data-theme="light"] .metric,html[data-theme="light"] .panel,html[data-theme="light"] .feed-post-card,html[data-theme="light"] .feed-sidebar,html[data-theme="light"] .meetings-sidebar,html[data-theme="light"] .meetings-strip article,html[data-theme="light"] .meeting-card,html[data-theme="light"] .meeting-detail-panel,html[data-theme="light"] .madurez-filters,html[data-theme="light"] .madurez-kpis article,html[data-theme="light"] .madurez-breakdown,html[data-theme="light"] .madurez-ficha-summary article,html[data-theme="light"] .madurez-ficha-block,html[data-theme="light"] .unit-board,html[data-theme="light"] .it-unit-board,html[data-theme="light"] details.mkt-board-item{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px rgba(41,36,25,.09);color:#20251f}
html[data-theme="light"] .metric::before,html[data-theme="light"] .panel::before,html[data-theme="light"] .feed-post-card::before,html[data-theme="light"] .meeting-card::before,html[data-theme="light"] .it-unit-board::before{display:none}
/* — Texto muted en cards — */
html[data-theme="light"] .login-card p,html[data-theme="light"] .metric span,html[data-theme="light"] .panel h2,html[data-theme="light"] label,html[data-theme="light"] .legend span,html[data-theme="light"] .bar-row,html[data-theme="light"] .gantt-count,html[data-theme="light"] .gantt-resp,html[data-theme="light"] .gantt-dates,html[data-theme="light"] .act-kpi-label,html[data-theme="light"] .act-bar-label,html[data-theme="light"] .feed-meta,html[data-theme="light"] .feed-stats,html[data-theme="light"] .meetings-strip span,html[data-theme="light"] .meeting-card p,html[data-theme="light"] .meeting-card small,html[data-theme="light"] .meeting-card-side,html[data-theme="light"] .madurez-kpis span,html[data-theme="light"] .madurez-breakdown p,html[data-theme="light"] .madurez-count,html[data-theme="light"] .it-obs-cell,html[data-theme="light"] .mkt-kpi-bar b{color:var(--muted)}
/* — Texto fuerte en cards — */
html[data-theme="light"] .metric strong,html[data-theme="light"] .act-kpi-value,html[data-theme="light"] .act-bar-value,html[data-theme="light"] .meetings-strip strong,html[data-theme="light"] .madurez-kpis strong,html[data-theme="light"] .madurez-ficha-summary strong,html[data-theme="light"] .mkt-board-summary h3,html[data-theme="light"] .unit-board h3,html[data-theme="light"] .it-unit-board h3,html[data-theme="light"] .panel h2,html[data-theme="light"] .meeting-detail-panel h3,html[data-theme="light"] .madurez-breakdown h3,html[data-theme="light"] .madurez-new-panel h3{color:var(--brown);text-shadow:none}
/* — Botones — */
html[data-theme="light"] button,html[data-theme="light"] .panel-button,html[data-theme="light"] .feed-compose-btn{background:var(--green);border:none;color:white;box-shadow:none}
html[data-theme="light"] button:hover,html[data-theme="light"] .panel-button:hover,html[data-theme="light"] .feed-compose-btn:hover{background:#26753a;box-shadow:none}
html[data-theme="light"] .row-action,html[data-theme="light"] .feed-menu-btn,html[data-theme="light"] .feed-react-btn,html[data-theme="light"] .feed-load-more,html[data-theme="light"] .close{background:white;border:1px solid var(--line);color:var(--green)}
html[data-theme="light"] .danger-action,html[data-theme="light"] .feed-menu-delete{background:#b94b45!important;border-color:rgba(185,75,69,.45)!important;color:white!important}
/* — Inputs — */
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:white;color:#20251f;border:1px solid var(--line)}
html[data-theme="light"] input:focus,html[data-theme="light"] select:focus,html[data-theme="light"] textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(47,138,67,.12)}
html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:var(--muted)}
/* — Sidebars / filtros laterales — */
html[data-theme="light"] .digital-filters,html[data-theme="light"] .it-filters,html[data-theme="light"] .meetings-sidebar,html[data-theme="light"] .feed-sidebar,html[data-theme="light"] .madurez-filters{background:white;border:2px solid var(--orange);box-shadow:none}
/* — Barras de progreso — */
html[data-theme="light"] .bar,html[data-theme="light"] .act-bar-track{background:#eee8dd;border:none}
html[data-theme="light"] .bar i,html[data-theme="light"] .act-bar{background:var(--green);box-shadow:none}
/* — Tablas — */
html[data-theme="light"] .table-wrap,html[data-theme="light"] .gantt-wrap{background:white;border:1px solid var(--line)}
html[data-theme="light"] th{background:rgba(14,99,124,.12)!important;color:#001d2b!important;border-bottom:1px solid var(--line)!important}
html[data-theme="light"] td{color:#20251f!important;border-bottom:1px solid var(--line)!important}
html[data-theme="light"] .fch-items-table td,html[data-theme="light"] .fch-items-table td{color:#20251f!important}
html[data-theme="light"] .fch-nivel,html[data-theme="light"] .fch-prospecto-cell{color:var(--muted)!important}
html[data-theme="light"] .fch-subtotal td{background:#f4f2ee!important;color:var(--navy)!important}
html[data-theme="light"] tbody tr:hover,html[data-theme="light"] .unit-work-table tbody tr:hover,html[data-theme="light"] .it-work-table tbody tr:hover{background:rgba(47,138,67,.04)}
/* — Pills / badges de estado — */
html[data-theme="light"] .Listo,html[data-theme="light"] .meeting-status-Realizada,html[data-theme="light"] .meeting-status-Cumplida,html[data-theme="light"] .priority-Baja,html[data-theme="light"] .act-imp-alto,html[data-theme="light"] .madurez-riesgo-Bajo{background:#edf6ee;color:var(--green);border:none}
html[data-theme="light"] .Pendiente,html[data-theme="light"] .priority-Media,html[data-theme="light"] .meeting-status-Reprogramada,html[data-theme="light"] .act-imp-medio{background:#f8efd9;color:#c58022;border:none}
html[data-theme="light"] .En-progreso,html[data-theme="light"] .meeting-status-Agendada,html[data-theme="light"] .priority-Alta{background:#e8f0fb;color:#2f78bd;border:none}
html[data-theme="light"] .Stand-By,html[data-theme="light"] .priority-Sin-prioridad{background:#eee;color:#62656c;border:none}
/* — Matrix / unit / cell / gantt — */
html[data-theme="light"] .matrix .title,html[data-theme="light"] .unit-head,html[data-theme="light"] .total-head,html[data-theme="light"] .stage-head{background:linear-gradient(90deg,#06465a,#0e637c);color:#f5feff}
html[data-theme="light"] .unit,html[data-theme="light"] .cell,html[data-theme="light"] .total{background:#f7f7f7;color:#333;border-color:var(--line)}
html[data-theme="light"] .cell .fill{background:linear-gradient(90deg,#ffc84d,#ffe9ad);border-color:#f0b039}
html[data-theme="light"] .gantt-header,html[data-theme="light"] .gantt-lcol,html[data-theme="light"] .gantt-tcol,html[data-theme="light"] .gantt-proj-header,html[data-theme="light"] .proj-head,html[data-theme="light"] .it-proj-head,html[data-theme="light"] .meeting-detail-meta span,html[data-theme="light"] .feed-adj-chip,html[data-theme="light"] .feed-preview-item,html[data-theme="light"] .madurez-new-panel,html[data-theme="light"] .meeting-participant-box{background:#f9f8f5;color:#20251f;border-color:var(--line)}
html[data-theme="light"] .gantt-header{background:#f9f8f5;border-bottom:2px solid var(--line)}
html[data-theme="light"] .gantt-row{border-bottom:1px solid var(--line)}
html[data-theme="light"] .gantt-lcol{border-right:2px solid var(--line)}
html[data-theme="light"] .gantt-unit-header{background:var(--navy);color:white}
html[data-theme="light"] .gantt-title,html[data-theme="light"] .it-row b,html[data-theme="light"] .meeting-card h3,html[data-theme="light"] .feed-post-titulo,html[data-theme="light"] .feed-autor,html[data-theme="light"] .feed-contenido,html[data-theme="light"] .meeting-description,html[data-theme="light"] .meeting-decision b,html[data-theme="light"] .it-detail-row b,html[data-theme="light"] .it-detail-notes p,html[data-theme="light"] .madurez-breakdown b{color:var(--brown)}
html[data-theme="light"] .gantt-month{color:var(--muted);border-left-color:rgba(0,0,0,.1)}
html[data-theme="light"] .gantt-today{background:var(--orange);box-shadow:none}
html[data-theme="light"] .gantt-proj-header{background:#f0ece4;color:var(--brown)}
html[data-theme="light"] .timeline{background:#d8dbe2}
html[data-theme="light"] .timeline span{background:#4a8cff;box-shadow:none}
/* — IT detail — */
html[data-theme="light"] .it-detail-text,html[data-theme="light"] .it-detail-card strong{background:white;border-color:var(--line)}
html[data-theme="light"] .it-unit-stat,html[data-theme="light"] .it-proj-count{background:#f5f5f5;border:1px solid var(--line);color:#20251f}
html[data-theme="light"] .it-unit-stat.ready{background:#edf6ee;color:var(--green)}
html[data-theme="light"] .it-unit-stat.pending{background:#f8efd9;color:#c58022}
html[data-theme="light"] .it-unit-stat.progress{background:#e8f0fb;color:#2f78bd}
/* — Dialog — */
html[data-theme="light"] dialog{background:transparent}
html[data-theme="light"] .dialog{background:white;color:#20251f;border:1px solid var(--line)}
/* — Task detail dialog — */
html[data-theme="light"] .task-detail-header{border-bottom:1px solid var(--line)}
html[data-theme="light"] .task-detail-header h2{color:var(--brown)}
html[data-theme="light"] .task-detail-info{border-bottom:1px solid var(--line)}
html[data-theme="light"] .task-detail-info span{color:var(--muted)}
html[data-theme="light"] .task-detail-info strong{color:#20251f}
html[data-theme="light"] .task-comments-title{border-bottom:1px solid var(--line);color:var(--brown)}
html[data-theme="light"] .task-comment-empty{color:var(--muted)}
html[data-theme="light"] .task-comment-autor{color:#20251f}
html[data-theme="light"] .task-comment-when{color:var(--muted)}
html[data-theme="light"] .task-comment-body{color:#20251f}
html[data-theme="light"] .task-adj-chip{background:#f5f5f2;border:1px solid var(--line);color:#20251f}
html[data-theme="light"] .task-comment-form{border-top:1px solid var(--line)}
html[data-theme="light"] .task-comment-form textarea{background:white;color:#20251f;border:1px solid var(--line)}
html[data-theme="light"] .task-comment-form textarea::placeholder{color:var(--muted)}
html[data-theme="light"] .task-attach-label{background:#f5f5f5;border:1px solid var(--line);color:#20251f}
html[data-theme="light"] .task-file-chip{background:rgba(47,138,67,.15);color:var(--green);border-color:rgba(47,138,67,.3)}
html[data-theme="light"] .task-file-chip button{color:var(--green)}
/* — Feed dropdown — */
html[data-theme="light"] .feed-menu-dropdown{background:white;border-color:var(--line)}
html[data-theme="light"] .feed-menu-dropdown button{background:transparent;color:#20251f;border-bottom-color:var(--line)}
html[data-theme="light"] .feed-menu-dropdown button:hover{background:#f9f8f5}
html[data-theme="light"] .feed-react-active{background:rgba(47,138,67,.12)!important;border-color:var(--green)!important;color:var(--green)!important}
/* — Varios textos — */
html[data-theme="light"] .act-dashboard-filter strong,html[data-theme="light"] .meeting-detail-head h2,html[data-theme="light"] .madurez-ficha-head h2,html[data-theme="light"] .madurez-ficha-head p,html[data-theme="light"] .project-row b,html[data-theme="light"] .password-cell,html[data-theme="light"] .pivot-stage,html[data-theme="light"] .pivot-project,html[data-theme="light"] .it-proj-name{color:var(--brown)}
html[data-theme="light"] .project-row:hover,html[data-theme="light"] .project-row.selected,html[data-theme="light"] .it-row:hover,html[data-theme="light"] .it-row.selected{background:rgba(47,138,67,.06)}
html[data-theme="light"] .audit-date{color:var(--blue);font-weight:800}
/* — AI chat flotante — */
html[data-theme="light"] .ai-chat-box{background:white;border:1px solid var(--line);box-shadow:0 24px 80px rgba(0,0,0,.16)}
html[data-theme="light"] .ai-chat-head{background:#f9f8f5;border-bottom:1px solid var(--line)}
html[data-theme="light"] .ai-chat-head strong{color:var(--brown)}
html[data-theme="light"] .ai-chat-head span{color:var(--muted)}
html[data-theme="light"] .ai-messages{background:#fafaf8;border:0}
html[data-theme="light"] .ai-message{background:white;border:1px solid var(--line)}
html[data-theme="light"] .ai-message.user{background:#edf6ee;border-color:rgba(47,138,67,.3)}
html[data-theme="light"] .ai-message strong{color:var(--green)}
html[data-theme="light"] .ai-message p{color:#20251f}
html[data-theme="light"] .ai-form{background:#f5f5f2;border-top:1px solid var(--line)}
/* — Dashboard Dinámico IA — */
html[data-theme="light"] .ai-analytics-messages{background:#f9f8f5;border:1px solid var(--line)}
html[data-theme="light"] .ai-analytics-msg{background:rgba(0,0,0,.04);border:1px solid var(--line);color:#20251f}
html[data-theme="light"] .ai-analytics-msg.user{background:rgba(47,138,67,.08);border-color:rgba(47,138,67,.25)}
html[data-theme="light"] .ai-analytics-msg strong{color:var(--brown)}
html[data-theme="light"] .ai-analytics-msg p{color:#20251f}
html[data-theme="light"] .ai-analytics-form textarea{background:white;border:1px solid var(--line);color:#20251f}
html[data-theme="light"] .ai-analytics-empty,html[data-theme="light"] .ai-analytics-error{border-color:var(--line);color:var(--muted)}
html[data-theme="light"] .ai-result-head h2{color:var(--brown)}
html[data-theme="light"] .ai-result-head p{color:#20251f}
html[data-theme="light"] .ai-result-head span{color:var(--blue);border-color:rgba(14,99,124,.3)}
html[data-theme="light"] .ai-bar-row{color:#20251f}
html[data-theme="light"] .ai-bar-row>div{background:rgba(0,0,0,.07)}
html[data-theme="light"] .ai-bar-row b{color:var(--brown)}
html[data-theme="light"] .ai-line-wrap svg{background:#f9f8f5;border:1px solid var(--line)}
html[data-theme="light"] .ai-legend{color:#20251f}
html[data-theme="light"] .ai-kpi{background:rgba(47,138,67,.06);border:1px solid rgba(47,138,67,.2)}
html[data-theme="light"] .ai-kpi strong{color:var(--green)}
html[data-theme="light"] .ai-kpi span{color:var(--muted)}
html[data-theme="light"] .ai-insights p{background:rgba(0,0,0,.04);border-left-color:var(--blue);color:#20251f}
/* — TD métricas (Transformación Digital) — */
html[data-theme="light"] .td-title{color:var(--brown);border:1px solid var(--line);background:transparent;text-shadow:none;clip-path:none;padding:10px 0}
html[data-theme="light"] .td-metrics{border:1px solid var(--line);background:white}
html[data-theme="light"] .td-metric{border-bottom:1px solid var(--line)}
html[data-theme="light"] .td-metric span{color:var(--orange)}
html[data-theme="light"] .td-metric strong{background:#f5f5f5;border:1px solid var(--line);color:#20251f}
html[data-theme="light"] .td-metric.ready strong{background:#edf6ee;color:var(--green)}
html[data-theme="light"] .td-metric.pending strong{background:#fff8e1;color:#5b4a00}
html[data-theme="light"] .td-metric.progress strong{background:#e8f0fb;color:#2f78bd}
/* — Forecast historial y leads — */
html[data-theme="light"] .fch-filters label,html[data-theme="light"] .fld-toolbar label{color:var(--navy)}
html[data-theme="light"] .fch-coment-panel{background:#f9f8f5;border-top:1px solid var(--line)}
html[data-theme="light"] .fch-coment-avatar{background:rgba(47,138,67,.1);border:1px solid rgba(47,138,67,.25);color:var(--green)}
html[data-theme="light"] .fch-coment-user{color:var(--navy)}
html[data-theme="light"] .fch-coment-date{color:var(--muted)}
html[data-theme="light"] .fch-coment-text{color:#20251f}
html[data-theme="light"] .fch-coment-input{background:white;border:1px solid var(--line);color:#20251f}
html[data-theme="light"] .fch-coment-empty{color:var(--muted)}
html[data-theme="light"] .fch-coment-toggle{border:1px solid var(--line);color:var(--muted)}
html[data-theme="light"] .fch-coment-toggle:hover{border-color:var(--blue);color:var(--blue)}
html[data-theme="light"] .fch-coment-toggle.has-comments{color:var(--blue);border-color:rgba(14,99,124,.4)}
html[data-theme="light"] .fch-coment-badge{background:rgba(14,99,124,.15);color:var(--blue)}
html[data-theme="light"] .fch-coment-row>td{border-bottom:1px solid var(--line)!important}
html[data-theme="light"] .fc-leads-seg-table thead th{color:var(--navy)!important}
html[data-theme="light"] .fc-leads-cal-btn{border:1px solid var(--line);color:var(--muted)}
html[data-theme="light"] .fld-etapa--contactado{background:#e8f0fb;color:#2f78bd;border:1px solid rgba(47,120,189,.3)}
html[data-theme="light"] .fld-etapa--en-seguimiento{background:#edf6ee;color:var(--green);border:1px solid rgba(47,138,67,.3)}
html[data-theme="light"] .fld-etapa--perdido{background:#fdecea;color:#b94b45;border:1px solid rgba(185,75,69,.3)}
html[data-theme="light"] .fld-etapa--interesado{background:#f8efd9;color:#a06010;border:1px solid rgba(160,96,16,.3)}
html[data-theme="light"] .fld-calidad--ok{background:#edf6ee;color:var(--green);border:1px solid rgba(47,138,67,.3)}
html[data-theme="light"] .fld-calidad--error{background:#fdecea;color:#b94b45;border:1px solid rgba(185,75,69,.3)}
html[data-theme="light"] .fld-calidad--sin{background:#f5f5f5;color:var(--muted);border:1px solid var(--line)}
html[data-theme="light"] .fc-dist-cat-name{color:var(--blue)}
html[data-theme="light"] .fc-dist-cat-total,html[data-theme="light"] .fc-dist-label,html[data-theme="light"] .fc-dist-amounts,html[data-theme="light"] .fc-dist-amounts strong{color:var(--brown)}
html[data-theme="light"] .fc-dist-bar-wrap{background:#eee8dd}
html[data-theme="light"] .fc-dist-amounts span{color:var(--muted)}
html[data-theme="light"] .fc-dist-row{border-bottom:1px solid var(--line)}
html[data-theme="light"] .fc-obj-table th{color:var(--blue)!important;background:rgba(14,99,124,.07)!important}
/* — Ciclo de Vida Insights IA — */
html[data-theme="light"] .cv-insights-panel{border-top:1px solid var(--line)}
html[data-theme="light"] .cv-insights-header{color:var(--muted)}
html[data-theme="light"] .cv-insights-badge{background:rgba(14,99,124,.1);color:var(--blue)}
html[data-theme="light"] .cv-insights-body p.cv-ins-line{color:#20251f;border-left-color:var(--blue)}
html[data-theme="light"] .cv-insights-loading,html[data-theme="light"] .cv-insights-empty{color:var(--muted)}
/* — Análisis Comercial — */
html[data-theme="light"] #analisisComercial .ac-intro-text{color:#20251f}
html[data-theme="light"] #analisisComercial .ac-block-help{color:#20251f}
html[data-theme="light"] #analisisComercial .ac-rk-card-verde{background:rgba(47,138,67,.08);border-left-color:var(--green)}
html[data-theme="light"] #analisisComercial .ac-rk-card-verde strong{color:var(--green)}
html[data-theme="light"] #analisisComercial .ac-rk-card-amarillo{background:rgba(209,161,90,.08);border-left-color:var(--gold)}
html[data-theme="light"] #analisisComercial .ac-rk-card-amarillo strong{color:var(--gold)}
html[data-theme="light"] #analisisComercial .ac-rk-card-rojo{background:rgba(185,75,69,.08);border-left-color:#b94b45}
html[data-theme="light"] #analisisComercial .ac-rk-card-rojo strong{color:#b94b45}
html[data-theme="light"] #analisisComercial .ac-rk-card-gris{background:rgba(109,116,108,.08);border-left-color:var(--muted)}
html[data-theme="light"] #analisisComercial .ac-rk-card-gris strong{color:var(--muted)}
html[data-theme="light"] #analisisComercial .ac-grp-pct-verde{color:var(--green)}
html[data-theme="light"] #analisisComercial .ac-grp-pct-amarillo{color:var(--gold)}
html[data-theme="light"] #analisisComercial .ac-grp-pct-rojo{color:#b94b45}
html[data-theme="light"] #analisisComercial .ac-grp-pct-gris{color:var(--muted)}
html[data-theme="light"] #analisisComercial .ac-grp-table .ac-grp-vend-row{background:rgba(0,0,0,.02)}
html[data-theme="light"] #analisisComercial .ac-grp-table .ac-grp-vend-row td:first-child{color:var(--muted)}
html[data-theme="light"] #analisisComercial .ac-grp-table .ac-grp-serv-row{background:rgba(0,0,0,.025)}
html[data-theme="light"] #analisisComercial .ac-grp-table .ac-grp-serv-row td:first-child{color:var(--muted)}
html[data-theme="light"] #analisisComercial .ac-rk-share-verde{background:rgba(47,138,67,.1);border-left-color:var(--green);color:var(--green)}
html[data-theme="light"] #analisisComercial .ac-rk-share-verde .ac-rk-share-pct{color:var(--green)}
html[data-theme="light"] #analisisComercial .ac-rk-share-amarillo{background:rgba(209,161,90,.1);border-left-color:var(--gold);color:var(--gold)}
html[data-theme="light"] #analisisComercial .ac-rk-share-amarillo .ac-rk-share-pct{color:var(--gold)}
html[data-theme="light"] #analisisComercial .ac-rk-share-rojo{background:rgba(185,75,69,.1);border-left-color:#b94b45;color:#b94b45}
html[data-theme="light"] #analisisComercial .ac-rk-share-rojo .ac-rk-share-pct{color:#b94b45}
html[data-theme="light"] #analisisComercial .ac-rk-share-gris{background:rgba(109,116,108,.1);border-left-color:var(--muted);color:var(--muted)}
html[data-theme="light"] #analisisComercial .ac-rk-share-gris .ac-rk-share-pct{color:var(--muted)}
/* — Pivot table — */
html[data-theme="light"] .pivot-table th{background:#bde7f2;color:#001d2b}
/* — Toggle — */
html[data-theme="light"] .theme-toggle{font-size:16px;padding:0 10px}
html[data-theme="dark"] .theme-toggle::before{content:"☀";font-size:14px}
html[data-theme="light"] .theme-toggle::before{content:"🌙";font-size:14px}
/* Forecast · Resumen de Leads */
.frl-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.frl-kpi,.frl-card{background:rgba(7,56,68,.72);border:1px solid rgba(46,231,255,.2);border-radius:10px;padding:16px}.frl-kpi{border-top:3px solid #8fc8d2}.frl-kpi--coverage{border-top-color:#2f78bd}.frl-kpi--won{border-top-color:#2f8a43}.frl-kpi span,.frl-kpi small{display:block;color:#8fc8d2;font-size:11px}.frl-kpi strong{display:block;color:#e9fbff;font-size:27px;margin:7px 0}.frl-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.frl-card h3{margin:0;color:#e9fbff}.frl-card>p{color:#8fc8d2;font-size:12px;margin:5px 0 16px}.frl-dist-row{margin:13px 0}.frl-dist-row>div:first-child{display:flex;justify-content:space-between;color:#c9fbff;font-size:12px}.frl-bar{height:8px;background:rgba(255,255,255,.09);border-radius:99px;overflow:hidden;margin-top:7px}.frl-bar i{display:block;height:100%;border-radius:inherit}.frl-months,.frl-origins{display:grid;gap:9px}.frl-month{display:grid;grid-template-columns:72px 1fr 80px;gap:10px;align-items:center;color:#c9fbff;font-size:11px}.frl-month small{display:block;color:#8fc8d2;margin-top:3px}.frl-month b{text-align:right}.frl-origin{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px;border-bottom:1px solid rgba(46,231,255,.12);font-size:12px}.frl-origin span{display:block;color:#8fc8d2;margin-top:3px}.frl-origin small{color:#d1a15a}.frl-won{color:#67d17a!important;font-weight:800}.frl-empty{padding:22px;text-align:center;color:#8fc8d2;font-size:12px}@media(max-width:1100px){.frl-kpis{grid-template-columns:repeat(3,1fr)}.frl-grid{grid-template-columns:1fr}}@media(max-width:650px){.frl-kpis{grid-template-columns:repeat(2,1fr)}.frl-origin{grid-template-columns:1fr auto}.frl-origin small{display:none}}
html[data-theme="light"] .frl-kpi,html[data-theme="light"] .frl-card{background:white;border-color:var(--line)}html[data-theme="light"] .frl-kpi span,html[data-theme="light"] .frl-kpi small,html[data-theme="light"] .frl-card>p,html[data-theme="light"] .frl-month small,html[data-theme="light"] .frl-origin span,html[data-theme="light"] .frl-empty{color:var(--muted)}html[data-theme="light"] .frl-kpi strong,html[data-theme="light"] .frl-card h3,html[data-theme="light"] .frl-dist-row>div:first-child,html[data-theme="light"] .frl-month{color:var(--brown)}html[data-theme="light"] .frl-bar{background:#eee8dd}html[data-theme="light"] .frl-origin{border-color:var(--line)}
