/* Interview UI adapted from DataMaturity_UX_Mas_Grande.html. */
.dm-shell{--dm-navy:#0d2f55;--dm-blue:#2563eb;--dm-teal:#11a795;--dm-bg:#f8fafc;--dm-text:#0b1f3a;--dm-muted:#64748b;--dm-line:#e3eaf2;--dm-sidebar:272px;width:100%;height:100dvh;display:grid;grid-template-columns:var(--dm-sidebar) minmax(0,1fr);overflow:hidden;background:var(--dm-bg);color:var(--dm-text)}
.dm-sidebar{height:100dvh;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc;border-right:1px solid var(--dm-line);box-shadow:8px 0 24px rgba(15,23,42,.025)}
.dm-brand{height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:linear-gradient(135deg,#0b2d51,#123f6d)}
.dm-logo{font-size:19px;font-weight:850;letter-spacing:-.6px;color:#fff}.dm-logo span{color:#54dbc1}.dm-brand-badge{display:grid;place-items:center;min-width:27px;height:22px;padding:0 6px;border:1px solid rgba(121,233,211,.22);border-radius:7px;color:#8be7d5;background:rgba(38,190,163,.1);font-size:9px;font-weight:850;letter-spacing:.08em}
.dm-memory-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 14px 20px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.dm-memory-title{display:flex;align-items:center;gap:10px;padding:0 2px 14px}
.dm-memory-title>span{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid #ccefe7;border-radius:9px;color:#0f8f7f;background:#ecfbf7;font-size:13px}.dm-memory-title b{display:block;font-size:13px;letter-spacing:-.05px}.dm-memory-title small{display:flex;align-items:center;gap:5px;margin-top:2px;color:var(--dm-muted);font-size:10px}.dm-memory-title small i{width:5px;height:5px;border-radius:50%;background:#15a889;box-shadow:0 0 0 3px rgba(21,168,137,.1)}
.dm-memory-block{padding:14px 3px;border-top:1px solid var(--dm-line)}.dm-memory-block>small,.dm-memory-steps>small{display:block;margin-bottom:5px;color:#8494a8;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.dm-memory-block>b{display:block;font-size:13px;line-height:1.4;color:#122b49}.dm-memory-block p{margin:4px 0 0;color:#5c7088;font-size:11px;line-height:1.5;white-space:pre-line}.dm-organization{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-block:11px}.dm-organization>small{margin:0}.dm-organization>b{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:11px}
.dm-current-focus{margin:2px 0 12px;padding:12px;border:1px solid #d7e5fb;border-radius:12px;background:linear-gradient(145deg,#f4f8ff,#eef5ff);box-shadow:0 5px 14px rgba(37,99,235,.05)}.dm-current-focus>small{color:#6384b1}.dm-current-focus>b{color:#174c8f;font-size:13px}.dm-current-focus p{color:#6680a0;font-size:10.5px}.dm-remembered{border-top:0;padding-top:0}.dm-remembered p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.dm-memory-steps{padding:13px 3px 5px;border-top:1px solid var(--dm-line)}.dm-memory-steps span{display:flex;align-items:center;gap:8px;min-height:30px;color:#536b86;font-size:11px}.dm-memory-steps i{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:6px;color:#2563eb;background:#eaf1ff;font-style:normal;font-size:9px;font-weight:850}
.dm-memory-tags{display:flex;flex-wrap:wrap;gap:6px;padding:10px 2px 0}.dm-memory-tags span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;border:1px solid #e1e8f0;border-radius:999px;color:#64748b;background:#fff;font-size:9.5px}.dm-memory-tags .dm-status-tag{position:relative;padding-left:16px;color:#137563;background:#f0fbf8;border-color:#d5f1ea}.dm-status-tag::before{content:"";position:absolute;left:7px;top:50%;width:5px;height:5px;border-radius:50%;background:#16a085;transform:translateY(-50%)}
.dm-sidebar-bottom{flex:0 0 auto;padding:9px 12px 11px;border-top:1px solid var(--dm-line);background:rgba(248,250,252,.96)}.dm-profile{width:100%;display:flex;align-items:center;gap:9px;border:0;border-radius:10px;padding:7px;background:transparent;text-align:left;color:var(--dm-text);transition:.15s ease}.dm-profile:hover{background:#edf3f8}.dm-profile>i{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:9px;color:#174878;background:#e5eef8;font-size:10px;font-style:normal;font-weight:850}.dm-profile-copy{min-width:0;flex:1}.dm-profile b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.dm-profile small{display:block;margin-top:1px;color:var(--dm-muted);font-size:9.5px}.dm-profile-action{color:#94a3b8;font-size:13px;transition:.15s ease}.dm-profile:hover .dm-profile-action{color:#2563eb;transform:translate(1px,-1px)}
.dm-main{min-width:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#fff}
.dm-side-head{flex:0 0 auto;padding:13px 14px 12px;border-bottom:1px solid var(--dm-line);background:#f8fafc}.dm-side-head-top{min-width:0;display:flex;align-items:center;gap:9px}.dm-back{width:30px;height:30px;flex:0 0 30px;border:1px solid #dce5ee;border-radius:8px;color:#475569;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03);transition:.15s ease}.dm-back:hover{border-color:#b8c8da;color:#1d4ed8;background:#f7faff;transform:translateX(-1px)}.dm-side-head-top>div{min-width:0}.dm-side-head-top p{margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4d78ad;font-size:8.5px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.dm-side-head-top h1{margin:0;font-size:13px;line-height:1.2;letter-spacing:-.1px}.dm-progress-wrap{width:100%;flex:0 0 auto;margin-top:11px}.dm-progress-wrap>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;color:#72839a;font-size:9.5px}.dm-progress-wrap b{color:#173b64}.dm-progress-wrap small{font-size:9.5px}.dm-progress-wrap>i{display:block;height:5px;overflow:hidden;border-radius:999px;background:#e5ebf2}.dm-progress-wrap>i>b{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#42cbb0)}
.dm-chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff}.dm-chat-scroll::-webkit-scrollbar{width:10px}.dm-chat-scroll::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#cbd5e1;background-clip:padding-box}.dm-conversation{width:min(calc(100% - 48px),940px);margin:0 auto;padding:20px 0 24px}
/* Turnos estilo chat: avatar a la izquierda para la IA, burbuja a la derecha para el usuario. */
.dm-turn{display:flex;align-items:flex-start;gap:14px}.dm-turn+.dm-turn{margin-top:26px}.dm-turn-user{justify-content:flex-end}
.dm-avatar{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;color:#0f8f7f;background:#e8faf6;font-style:normal;font-size:13px}
.dm-bubble-user{max-width:82%;padding:11px 16px;border-radius:18px;background:#f1f5f9;color:#1e293b;font-size:14.5px;line-height:1.65;white-space:pre-line}
.dm-bubble-ai{min-width:0;flex:1;padding-top:3px;color:#1e293b;font-size:14.5px;line-height:1.75;white-space:pre-line}
.dm-bubble-asked>small{display:block;margin-bottom:4px;color:#94a3b8;font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.dm-bubble-asked{color:#475569}
/* Pregunta activa: mismo hilo del chat, sin tarjeta gigante. */
.dm-q-index{margin:0 0 6px;color:#94a3b8;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.dm-bubble-question>h2{margin:0 0 12px;font-size:20px;line-height:1.4;letter-spacing:-.2px;color:#0f172a;font-weight:700}
.dm-evidence{margin:0 0 12px;overflow:hidden;border:1px solid var(--dm-line);border-radius:10px;background:#f8fafc;transition:border-color .16s ease,box-shadow .16s ease}.dm-evidence[open]{border-color:#d7e3f0;box-shadow:0 4px 14px rgba(15,23,42,.035)}.dm-evidence summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;list-style:none;cursor:pointer;user-select:none}.dm-evidence summary::-webkit-details-marker{display:none}.dm-evidence summary:hover{background:#f3f7fb}.dm-evidence-title{display:flex;min-width:0;flex-direction:column;gap:1px}.dm-evidence-title b{color:#334155;font-size:12px}.dm-evidence-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f8f7f;font-size:9.5px}.dm-evidence-toggle{display:flex;flex:0 0 auto;align-items:center;gap:6px;color:#52708f;font-size:10px;font-weight:750}.dm-evidence-toggle::before{content:"Ver detalle"}.dm-evidence-toggle i{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#e8eef5;color:#315678;font-size:14px;font-style:normal;line-height:1;transition:transform .18s ease}.dm-evidence[open] .dm-evidence-toggle::before{content:"Ocultar"}.dm-evidence[open] .dm-evidence-toggle i{transform:rotate(180deg)}.dm-evidence-body{padding:0 12px 11px;border-top:1px solid #e7edf4}.dm-evidence p{margin:9px 0 6px;color:#50657f;font-size:12px;line-height:1.55;white-space:pre-line}.dm-evidence-profile{display:block;color:#7b8da4;font-size:10.5px}
/* Alternativas A, B, C…; dos columnas solo cuando cada tarjeta conserva ancho suficiente. */
.dm-options{display:grid;gap:6px}
.dm-option{display:flex;align-items:flex-start;gap:10px;width:100%;height:100%;border:1px solid var(--dm-line);border-radius:10px;padding:9px 12px;text-align:left;color:#334155;background:#fff;transition:.14s ease}
.dm-option:hover{border-color:#9ab8f5;background:#f8fbff}
.dm-option i{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:8px;color:#334155;background:#eef2f7;font-style:normal;font-size:13px;font-weight:800}
.dm-option div{min-width:0}
.dm-option b{display:block;margin-bottom:2px;font-size:13.5px}
.dm-option span{display:block;color:#5c718a;font-size:13px;line-height:1.6}
.dm-option.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px rgba(37,99,235,.25)}.dm-option.selected i{color:#fff;background:#2563eb}.dm-option.selected b{color:#1648a6}
.dm-option-hint{margin:8px 0 0;color:#64748b;font-size:12px;line-height:1.45}.dm-option-hint b{color:#1648a6}.dm-option-hint.is-empty{color:#94a3b8}
.dm-composer-zone{position:relative;flex:0 0 auto;z-index:30;padding:8px 28px 10px;background:#fff;border-top:1px solid #f1f5f9}.dm-composer{width:min(100%,940px);margin:0 auto;overflow:hidden;border:1px solid #d7e0ea;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06);transition:.18s ease}.dm-composer:focus-within{border-color:#9ab8f5;box-shadow:0 8px 26px rgba(37,99,235,.08),0 0 0 3px rgba(37,99,235,.05)}.dm-composer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 0}.dm-composer-top>span{color:#718399;font-size:10px}.dm-composer-top>span::first-letter{color:#16a34a}.dm-composer textarea{width:100%;min-height:44px;max-height:140px;resize:none;border:0;outline:0;padding:10px 14px 6px;color:var(--dm-text);background:transparent;font:13px/1.5 Inter,Segoe UI,Arial,sans-serif}.dm-composer textarea::placeholder{color:#94a3b8}.dm-composer-footer{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 9px 8px 12px;border-top:1px solid #f0f3f7}.dm-score-chip{display:flex;align-items:center;gap:7px;min-width:0;color:#65778e;font-size:10.5px}.dm-score-chip i{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:7px;color:#2563eb;background:#eff6ff;font-style:normal;font-weight:800}.dm-submit{min-height:36px;border:1px solid #2563eb;border-radius:9px;padding:0 14px;color:#fff;background:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.15);font-size:12px;font-weight:800}.dm-submit:hover{background:#1d4ed8}.dm-submit:disabled{opacity:.45;cursor:not-allowed}.dm-finish{text-align:center;padding:100px 20px}.dm-finish>span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#e5f8f3;color:#168d76;margin:auto;font-size:22px}.dm-finish p{color:#64748b}
.dm-composer-label{display:flex;min-width:0;flex-direction:column;gap:1px;color:#1e3a8a}.dm-composer-label b{font-size:10.5px}.dm-composer-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#718399;font-size:9.5px}.dm-composer-requirement{margin:0;padding:0 14px 6px;color:#b45309;font-size:10px;font-weight:700}.dm-composer-requirement.complete{color:#64748b}
/* Administración del banco de preguntas. */
.admin-loading{min-height:420px;display:grid;place-items:center;align-content:center;gap:12px;color:#64748b}.admin-loading span{font-size:30px;color:#0f8f7f}.question-metrics{margin-top:0}.question-bank{padding:0;overflow:hidden}.question-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 210px auto;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid #e5ebf2;background:#f8fafc}.question-toolbar input,.question-toolbar select{min-height:40px;border:1px solid #d7e1eb;border-radius:9px;padding:0 12px;outline:none;background:#fff;color:#334155}.question-toolbar input:focus,.question-toolbar select:focus{border-color:#6c9bf1;box-shadow:0 0 0 3px #e8f0ff}.question-toolbar span{color:#718399;font-size:11px;white-space:nowrap}.question-row{width:100%;display:grid;grid-template-columns:92px minmax(0,1fr) 80px 92px 72px;gap:13px;align-items:center;min-height:72px;padding:11px 16px;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;color:#334155}.question-row:hover{background:#f8fbff}.question-row>span:nth-child(2){min-width:0}.question-row>span:nth-child(2)>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.question-row small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b8da4;font-size:10px}.question-key{color:#1d4ed8;font-size:11px;font-weight:800}.question-framework{justify-self:start;padding:5px 8px;border-radius:999px;background:#eaf1ff;color:#245fc4;font-size:9px;font-style:normal;font-weight:800}.question-framework.agentic{background:#e8faf6;color:#0f8f7f}.question-row>i{color:#9a6700;font-size:9px;font-style:normal}.question-row>i.base{color:#8493a5}.question-row>strong{color:#2563eb;font-size:10px;text-align:right}.protected.neutral{color:#64748b;background:#eef2f7}.question-form{max-width:900px}.question-alternatives{display:grid;gap:10px}.question-alternatives article{padding:13px 14px;border:1px solid #e1e8f0;border-radius:11px;background:#f9fbfd}.question-alternatives header{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.question-alternatives header b{color:#1e3a8a;font-size:11px}.question-alternatives header span{color:#8a99aa;font-size:9px}.question-alternatives label:last-child{margin-bottom:0}.danger-light{margin-right:auto;padding:10px 13px;border-radius:9px;color:#b42318;background:#fff1f0;font-weight:750}
@media(max-width:900px){.dm-shell{--dm-sidebar:240px}.dm-side-head{padding:12px}.dm-memory-scroll{padding-inline:12px}.question-row{grid-template-columns:82px minmax(0,1fr) 64px 70px}.question-row>strong{display:none}.question-toolbar{grid-template-columns:1fr 160px auto}}
@media(min-width:1180px){.dm-options{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-option:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:720px){.dm-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.dm-sidebar{height:auto;border-right:0;border-bottom:1px solid var(--dm-line)}.dm-brand,.dm-memory-scroll,.dm-sidebar-bottom{display:none}.dm-side-head{padding:12px 14px}.dm-main{height:auto;min-height:0}.dm-conversation{width:calc(100% - 28px);padding-top:24px}.dm-composer-zone{padding-inline:14px}.dm-turn{gap:10px}.dm-bubble-question>h2{font-size:18px}.dm-evidence>div{grid-template-columns:1fr}.dm-evidence small{white-space:normal}}

/* Centro profesional de gobierno de preguntas. */
.admin-question-head{align-items:flex-end}.question-actions{display:flex;gap:9px}.question-actions button{min-height:42px;padding-inline:15px}.question-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.question-kpis article{min-height:116px;display:flex;align-items:center;gap:14px;padding:19px;border:1px solid #e1e8f0;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(23,43,77,.045)}.question-kpi-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;font-size:17px;font-style:normal;font-weight:800}.question-kpi-icon.blue{color:#235ad6;background:#eaf1ff}.question-kpi-icon.mint{color:#0d8a78;background:#e8faf6}.question-kpi-icon.violet{color:#7048b8;background:#f1ecfb}.question-kpi-icon.amber{color:#a26706;background:#fff4dc}.question-kpis small{display:block;margin-bottom:3px;color:#718399;font-size:10px}.question-kpis strong{display:block;color:#102a4b;font-size:25px;line-height:1}.question-kpis strong i{margin-left:3px;color:#9aabba;font-size:12px;font-style:normal;font-weight:650}.question-kpis em{display:block;margin-top:7px;color:#8493a5;font-size:9.5px;font-style:normal}.question-kpis em.good{color:#13816e}.question-kpis em.warning{color:#b26a00}
.question-analytics{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr);gap:14px;margin-bottom:16px}.question-chart-card{min-height:235px;padding:19px 21px}.question-chart-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.question-chart-card header small{color:#8392a5;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.question-chart-card header h2{margin:4px 0 0;color:#162d4c;font-size:15px}.question-chart-card header>span{padding:5px 8px;border-radius:999px;color:#5f7690;background:#f3f6f9;font-size:9px}.question-donut-wrap{display:flex;align-items:center;justify-content:center;gap:32px;padding-top:18px}.question-donut{position:relative;width:118px;height:118px;display:grid;place-items:center;align-content:center;border-radius:50%;background:conic-gradient(#2457f5 0 var(--dmm),#20bca4 var(--dmm) 360deg);box-shadow:inset 0 0 0 20px #fff}.question-donut::after{content:"";position:absolute;inset:20px;border:1px solid #edf1f5;border-radius:50%}.question-donut b,.question-donut small{position:relative;z-index:1}.question-donut b{font-size:20px;color:#153458}.question-donut small{color:#7b8da3;font-size:9px}.question-legend{display:grid;gap:11px}.question-legend span{display:grid;grid-template-columns:9px 1fr auto;gap:8px;align-items:center;color:#637891;font-size:10px}.question-legend i{width:8px;height:8px;border-radius:3px;background:#2457f5}.question-legend i.agentic{background:#20bca4}.question-legend b{margin-left:14px;color:#183856}.dimension-bars{display:grid;gap:10px;padding-top:20px}.dimension-bars>div{display:grid;grid-template-columns:145px minmax(100px,1fr) 30px;gap:10px;align-items:center}.dimension-bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#536b86;font-size:9.5px}.dimension-bars i{height:7px;overflow:hidden;border-radius:999px;background:#edf2f7}.dimension-bars i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2457f5,#4c8df7)}.dimension-bars strong{color:#385370;font-size:9.5px;text-align:right}
.question-bank{border-color:#dde6ef;box-shadow:0 12px 30px rgba(23,43,77,.055)}.question-bank-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px 12px;background:#fff}.question-bank-top p{margin:0;color:#7b8da3;font-size:10px}.bank-tabs{display:flex;gap:3px;padding:3px;border-radius:10px;background:#eef2f6}.bank-tabs button{min-height:34px;padding:0 12px;border-radius:8px;color:#657990;background:transparent;font-size:10px;font-weight:750}.bank-tabs button b{margin-left:5px;padding:2px 5px;border-radius:99px;color:#61748a;background:#dfe6ee;font-size:8px}.bank-tabs button.active{color:#174ca9;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.08)}.bank-tabs button.active b{color:#fff;background:#2563eb}.question-toolbar{grid-template-columns:minmax(300px,1fr) 205px auto;padding:11px 18px;background:#f8fafc}.question-search{height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d7e1eb;border-radius:9px;color:#8191a4;background:#fff;font-size:18px}.question-search:focus-within{border-color:#6c9bf1;box-shadow:0 0 0 3px #e8f0ff}.question-toolbar .question-search input{width:100%;min-height:0;border:0;padding:0;box-shadow:none}.question-table-head,.question-row{display:grid;grid-template-columns:92px minmax(300px,1fr) 76px 112px 96px 75px;gap:13px;align-items:center}.question-table-head{min-height:34px;padding:0 18px;border-bottom:1px solid #e8edf3;color:#8a99aa;background:#fff;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.question-row{min-height:76px;padding:12px 18px}.question-row>span:nth-child(2)>b{font-size:11.5px;line-height:1.35}.question-row>strong{font-size:9.5px}.question-row>strong i{font-style:normal}.bank-badges{display:flex;flex-wrap:wrap;gap:4px}.bank-badges i{padding:4px 6px;border:1px solid #dfe6ee;border-radius:6px;color:#6b7e93;background:#f8fafc;font-size:8px;font-style:normal;font-weight:750}.bank-badges i.free{border-color:#c7ddff;color:#1c58c7;background:#edf4ff}
.question-form{max-width:980px}.bank-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}.bank-choice{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:0!important;padding:13px 14px;border:1px solid #cfe0fb;border-radius:11px;background:#f7faff;cursor:pointer}.bank-choice input{width:17px;height:17px;accent-color:#2563eb}.bank-choice span b,.bank-choice span small{display:block}.bank-choice span b{color:#1b416e;font-size:11px}.bank-choice span small{margin-top:2px;color:#7387a0;font-size:9px}.bank-choice>i{color:#1f62c8;font-size:8.5px;font-style:normal;font-weight:800}.bank-choice.locked{border-color:#e1e7ed;background:#f7f8fa;cursor:default}.bank-choice.locked>i{color:#8493a5}.question-alternatives{grid-template-columns:repeat(2,minmax(0,1fr))}.question-alternatives article:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:1180px){.question-kpis{grid-template-columns:repeat(2,1fr)}.question-table-head,.question-row{grid-template-columns:80px minmax(240px,1fr) 68px 100px 78px}.question-table-head span:last-child,.question-row>strong{display:none}}
@media(max-width:900px){.admin-question-head{align-items:flex-start}.question-actions{width:100%}.question-analytics{grid-template-columns:1fr}.question-table-head{display:none}.question-row{grid-template-columns:72px minmax(0,1fr) 64px 88px}.question-row>i{display:none}.question-bank-top{align-items:flex-start;flex-direction:column}.question-bank-top p{display:none}.question-toolbar{grid-template-columns:1fr 170px auto}}
@media(max-width:640px){.question-kpis{grid-template-columns:1fr}.question-actions{flex-direction:column}.question-actions button{width:100%}.question-toolbar{grid-template-columns:1fr}.question-toolbar>span{text-align:right}.question-row{grid-template-columns:62px minmax(0,1fr) 56px}.question-row .bank-badges{display:none}.question-alternatives,.bank-selector{grid-template-columns:1fr}.question-alternatives article:last-child:nth-child(odd){grid-column:auto}}

/* Selección masiva y switches rápidos del banco 150. */
.question-bank{position:relative;isolation:isolate}.question-bank::before{content:"";position:absolute;z-index:-1;top:-1px;left:6%;width:38%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,#4f8cff,#2ed3ba,transparent);filter:blur(.2px);opacity:.75;animation:bankLight 5s ease-in-out infinite}.question-table-head,.question-row{grid-template-columns:34px 82px minmax(280px,1fr) 70px 126px 90px 72px}.question-table-head{padding-inline:14px}.question-row{position:relative;padding-inline:14px;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.question-row:hover{z-index:1;background:#f8fbff;box-shadow:inset 3px 0 #9dc0ff}.question-row.selected{z-index:2;background:linear-gradient(90deg,#edf5ff 0,#f8fbff 55%,#fff 100%);box-shadow:inset 3px 0 #2563eb,0 0 22px rgba(37,99,235,.08)}.question-copy{min-width:0}.question-copy>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#18324f;font-size:11.5px;line-height:1.4}.question-copy small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b8da4;font-size:9.5px}.question-status{color:#8493a5;font-size:8.5px;font-style:normal}.question-status.custom{color:#9a6700}.row-edit{justify-self:end;padding:7px 8px;border-radius:7px;color:#2563eb;background:transparent;font-size:9px;font-weight:800;transition:.18s ease}.row-edit i{font-style:normal;transition:transform .18s ease}.row-edit:hover{color:#fff;background:#2563eb;box-shadow:0 5px 14px rgba(37,99,235,.22)}.row-edit:hover i{display:inline-block;transform:translateX(2px)}
.row-select{width:24px;height:24px;display:grid;place-items:center;margin:0;cursor:pointer}.row-select input{position:absolute;opacity:0;pointer-events:none}.row-select span{position:relative;width:17px;height:17px;border:1px solid #c8d4e2;border-radius:5px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:.18s ease}.row-select:hover span{border-color:#79a4f8;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.row-select input:checked+span{border-color:#2563eb;background:linear-gradient(145deg,#3478f6,#1d4ed8);box-shadow:0 0 0 4px rgba(37,99,235,.1),0 3px 8px rgba(37,99,235,.22)}.row-select input:checked+span::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.row-select input:indeterminate+span{border-color:#2563eb;background:#2563eb}.row-select input:indeterminate+span::after{content:"";position:absolute;left:4px;right:4px;top:7px;height:2px;border-radius:2px;background:#fff}.row-select.disabled{cursor:not-allowed;opacity:.28}.row-select.master{justify-self:start}
.inline-bank-switch{display:flex;align-items:center;gap:8px;margin:0!important;cursor:pointer;user-select:none}.inline-bank-switch input{position:absolute;opacity:0;pointer-events:none}.inline-bank-switch>span{position:relative;width:38px;height:21px;flex:0 0 38px;border:1px solid #cad5e1;border-radius:999px;background:#e8edf3;box-shadow:inset 0 1px 3px rgba(15,23,42,.09);transition:.22s cubic-bezier(.2,.8,.2,1)}.inline-bank-switch>span i{position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.2);transition:.22s cubic-bezier(.2,.8,.2,1)}.inline-bank-switch>b{min-width:36px;color:#8493a5;font-size:8px;transition:.2s ease}.inline-bank-switch:hover>span{border-color:#8eaff1;box-shadow:0 0 0 4px rgba(37,99,235,.07),inset 0 1px 3px rgba(15,23,42,.08)}.inline-bank-switch.on>span,.inline-bank-switch:has(input:checked)>span{border-color:#3374f0;background:linear-gradient(90deg,#2563eb,#3b82f6);box-shadow:0 0 12px rgba(37,99,235,.28),inset 0 1px 2px rgba(255,255,255,.25)}.inline-bank-switch.on>span i,.inline-bank-switch:has(input:checked)>span i{left:20px}.inline-bank-switch.on>b,.inline-bank-switch:has(input:checked)>b{color:#1e5bc7}.bank-na{color:#99a6b5;font-size:8px}
.question-bulk-bar{max-height:0;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;padding:0 17px;border-block:0 solid transparent;opacity:0;background:linear-gradient(100deg,#102e56 0,#174981 58%,#116c72 140%);transform:translateY(-8px);transition:max-height .28s ease,padding .28s ease,opacity .22s ease,transform .28s ease,border-width .28s ease}.question-bulk-bar.active{max-height:72px;padding-block:11px;border-width:1px;border-color:rgba(255,255,255,.08);opacity:1;transform:translateY(0);box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 24px rgba(17,52,92,.12)}.question-bulk-bar>div{display:flex;align-items:center;gap:8px}.question-bulk-bar>div:first-child{display:grid;grid-template-columns:28px auto;column-gap:9px}.question-bulk-bar .bulk-spark{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(99,226,205,.25);border-radius:8px;color:#69e5cf;background:rgba(25,199,170,.12);animation:bulkSpark 2.4s ease-in-out infinite}.question-bulk-bar b{color:#fff;font-size:10.5px}.question-bulk-bar small{color:#a9bed5;font-size:8.5px}.question-bulk-bar button{min-height:32px;padding:0 11px;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#e8f2ff;background:rgba(255,255,255,.08);font-size:9px;font-weight:800;transition:.18s ease}.question-bulk-bar button:hover{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.16);box-shadow:0 0 18px rgba(85,166,255,.18);transform:translateY(-1px)}.question-bulk-bar .bulk-include{border-color:rgba(91,222,199,.35);color:#9af2df;background:rgba(25,185,157,.13)}.question-bulk-bar .bulk-exclude{border-color:rgba(255,198,112,.27);color:#ffe0aa;background:rgba(213,139,40,.1)}.question-bulk-bar .bulk-clear{width:32px;padding:0;border-color:transparent;color:#b8c8da;background:transparent;font-size:17px}.bank-changing{pointer-events:none;overflow:hidden}.bank-changing::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(73,141,255,.14) 48%,transparent 76%);transform:translateX(-100%);animation:rowScan .75s linear infinite}.bank-success{animation:bankSuccess .55s ease}.question-bulk-bar.bank-changing::after{z-index:3}.question-bulk-bar.bank-success{animation:bulkSuccess .55s ease}
@keyframes bankLight{0%,100%{left:4%;opacity:.35}50%{left:58%;opacity:.9}}@keyframes bulkSpark{0%,100%{box-shadow:0 0 0 rgba(80,232,205,0)}50%{box-shadow:0 0 18px rgba(80,232,205,.25)}}@keyframes rowScan{to{transform:translateX(100%)}}@keyframes bankSuccess{35%{background:#eafbf7;box-shadow:inset 3px 0 #19b69c,0 0 24px rgba(25,182,156,.2)}}@keyframes bulkSuccess{35%{box-shadow:0 0 28px rgba(61,222,194,.28),inset 0 1px rgba(255,255,255,.16)}}
@media(prefers-reduced-motion:reduce){.question-bank::before,.question-bulk-bar .bulk-spark,.bank-changing::after,.bank-success,.question-bulk-bar.bank-success{animation:none}.question-row,.inline-bank-switch>span,.inline-bank-switch>span i,.question-bulk-bar{transition:none}}
@media(max-width:1180px){.question-table-head,.question-row{grid-template-columns:30px 72px minmax(220px,1fr) 62px 112px 72px}.question-table-head>span:last-child,.row-edit{display:none}}
@media(max-width:900px){.question-table-head{display:none}.question-row{grid-template-columns:28px 68px minmax(0,1fr) 56px 104px}.question-status{display:none}.question-bulk-bar{align-items:flex-start;flex-direction:column;gap:8px}.question-bulk-bar.active{max-height:108px}.question-bulk-bar>div:last-child{width:100%}.question-bulk-bar>div:last-child button:not(.bulk-clear){flex:1}}
@media(max-width:640px){.question-row{grid-template-columns:28px 58px minmax(0,1fr) 86px}.question-framework{display:none}.inline-bank-switch>b{display:none}.question-bulk-bar>div:last-child{flex-wrap:wrap}.question-bulk-bar .bulk-clear{margin-left:auto}}
.question-bulk-bar{display:flex!important;max-height:none!important;padding:11px 17px!important;opacity:1!important;background:linear-gradient(100deg,#102e56 0,#174981 58%,#116c72 140%)!important;transform:none!important}.question-bulk-bar[hidden]{display:none!important}.question-bulk-bar.active{animation:bulkReveal .28s cubic-bezier(.2,.8,.2,1) both}@keyframes bulkReveal{from{opacity:0;transform:translateY(-10px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Lenguaje visual del rediseño de referencia aplicado al panel conectado. */
.app{grid-template-columns:272px minmax(0,1fr);grid-template-rows:72px minmax(0,1fr)}
body{background:radial-gradient(circle at 78% 2%,rgba(37,99,235,.1),transparent 28%),radial-gradient(circle at 34% 26%,rgba(16,184,176,.06),transparent 25%),linear-gradient(180deg,#f7faff 0,#f3f7fc 42%,#f7f9fd 100%)}
.top{height:72px;padding:0 22px 0 28px;background:rgba(13,45,83,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:none}.top .logo{font-size:20px;letter-spacing:-.04em}.top-context{gap:12px}.org-badge{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#e7f0ff;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:700}.profile{border-radius:12px;padding:6px 8px}.profile>i{width:36px;height:36px;border-radius:50%;color:#12305a;background:linear-gradient(145deg,#eaf2ff,#fff);font-size:13px}.profile span b{font-size:13px}.profile span small{font-size:10px;color:#9bd8ff;margin-top:4px}
.side{top:72px;width:272px;padding:22px 14px 16px;background:rgba(255,255,255,.96);border-right:1px solid #dce6f2;backdrop-filter:blur(14px);box-shadow:none}.side-label{margin:8px 12px 10px;color:#8ea0b6;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.nav{gap:12px;padding:12px;border-radius:12px;margin:3px 0;color:#536a85;font-weight:750}.nav i{width:31px;height:31px;border-radius:9px;background:#f5f8fd;color:#6b7f99;display:grid;place-items:center;font-style:normal}.nav:hover{background:#f5f8fd;color:#1f4d91;transform:translateX(2px)}.nav.active{color:#1257d9;background:linear-gradient(90deg,#eaf2ff,#f5f9ff);box-shadow:inset 0 0 0 1px rgba(37,99,235,.08)}.nav.active:before{content:"";position:absolute;left:-4px;top:9px;bottom:9px;width:4px;border-radius:9px;background:#2563eb;box-shadow:0 0 14px rgba(37,99,235,.55)}.nav.active i{background:#fff;color:#2563eb;box-shadow:0 5px 14px rgba(37,99,235,.12)}.side-bottom{padding:12px 4px 0;border-top:1px solid #edf2f8}.agent-status{padding:12px;border-radius:13px;background:linear-gradient(145deg,#f8fbff,#f2f8ff);border:1px solid #edf2f8}.agent-status i{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.11);animation:pulse 2s infinite}.logout{margin-top:8px;color:#7b8da2}
.top{position:fixed;inset:0 0 auto 0;z-index:60}.side{position:fixed;left:0;bottom:0;z-index:50;height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd7e5 transparent}.side .side-bottom{margin-top:auto;background:inherit}
.main{margin-left:0;padding:102px 30px 44px;background:transparent;width:auto;max-width:none;min-width:0}.page-head.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head.hero h1{font-size:34px;line-height:1;letter-spacing:-.04em}.page-head.hero>div:first-child>p:last-child{margin:10px 0 0;color:#697f9b;font-size:14px}.hero-actions{display:flex;gap:10px;align-items:center}.hero-actions .btn{min-height:42px;border:1px solid #dce6f2;background:#fff;color:#36506f;padding:11px 15px;border-radius:12px;font-weight:800;font-size:12px;box-shadow:0 5px 16px rgba(27,64,104,.05)}.hero-actions .btn.primary{background:linear-gradient(135deg,#377ef5,#2563eb);color:#fff;border-color:#2a6eec;box-shadow:0 10px 24px rgba(37,99,235,.22)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 14px}.kpis .kpi{border:1px solid #dce6f2;border-radius:16px;background:rgba(255,255,255,.94);padding:16px 17px;display:flex;align-items:center;gap:13px;min-height:102px;box-shadow:0 12px 36px rgba(35,61,91,.09);position:relative;overflow:hidden;animation:rise .55s both}.kpis .kpi:nth-child(2){animation-delay:.06s}.kpis .kpi:nth-child(3){animation-delay:.12s}.kpis .kpi:nth-child(4){animation-delay:.18s}.kpis .kpi:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-55px;top:-55px;background:radial-gradient(circle,rgba(37,99,235,.08),transparent 68%)}.kpis .kpi-copy{display:flex;flex-direction:column;min-width:0}.kpis .kpi-copy small{font-size:11px;color:#71849b}.kpis .kpi-copy strong{font-size:25px;letter-spacing:-.04em;margin:3px 0}.kpis .kpi-copy strong i{font-style:normal;font-size:13px;color:#7b92ad;font-weight:600;margin-left:3px}.kpis .kpi-copy em{font-style:normal;font-size:10px;color:#7d8ea1}.kpis .kpi-copy em.good{color:#0f9f6e}.kpis .question-kpi-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;font-weight:900}
.analytics{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:14px;margin-bottom:16px}.analytics .analytics-card{border:1px solid #dce6f2;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(35,61,91,.09);overflow:hidden;padding:18px 20px;min-height:210px;animation:rise .6s .18s both}.analytics .panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analytics .panel-head small{display:block;color:#7890ac;font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:900}.analytics .panel-head h2{font-size:15px;margin:5px 0 0;letter-spacing:-.02em}.analytics .soft-tag{border:1px solid #edf2f8;background:#f7faff;color:#687f9d;font-size:10px;padding:6px 8px;border-radius:999px}.analytics .donut-area{display:flex;align-items:center;justify-content:center;gap:38px;height:145px}.analytics .donut{width:108px;height:108px;border-radius:50%;background:conic-gradient(#2563eb 0 var(--dmm),#10b8b0 var(--dmm) 100%);position:relative;display:grid;place-items:center;box-shadow:0 0 0 8px rgba(37,99,235,.03)}.analytics .donut:before{content:"";position:absolute;inset:16px;background:#fff;border-radius:50%}.analytics .donut-inner{position:relative;display:flex;flex-direction:column;align-items:center}.analytics .donut-inner b{font-size:20px}.analytics .donut-inner small{font-size:10px;color:#7289a5}.analytics .legend{display:grid;gap:11px;min-width:120px}.analytics .legend-row{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:11px;color:#5f7390}.analytics .legend-row i{width:8px;height:8px;border-radius:50%}.analytics .bars{padding-top:14px;display:grid;gap:9px}.analytics .bar-row{display:grid;grid-template-columns:minmax(145px,.62fr) minmax(180px,1fr) 34px;gap:12px;align-items:center;font-size:10px}.analytics .bar-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#526a87}.analytics .track{height:7px;border-radius:99px;background:#edf2f8;overflow:hidden}.analytics .fill{height:100%;width:var(--w);background:linear-gradient(90deg,#245feb,#4b8cff);border-radius:99px;transform-origin:left;animation:grow .9s .3s both}.analytics .bar-row strong{text-align:right;font-size:10px}
.bank{overflow:visible;border:1px solid #dce6f2;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(35,61,91,.09)}.bank .bank-top{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #edf2f8}.bank .tabs{display:flex;padding:4px;background:#eff4fa;border-radius:11px;gap:3px}.bank .tab{border:0;background:transparent;color:#60738d;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:800}.bank .tab b{display:inline-grid;place-items:center;min-width:24px;height:18px;padding:0 6px;border-radius:99px;background:#e3eaf4;font-size:9px;margin-left:4px}.bank .tab.active{background:#fff;color:#1257d9;box-shadow:0 4px 12px rgba(25,58,100,.09)}.bank .tab.active b{background:#2463e9;color:#fff}.bank .bank-note{font-size:10px;color:#7d90a9;margin:0}.bank .question-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 210px auto;gap:10px;align-items:center;padding:12px 14px;background:rgba(255,255,255,.94);border-bottom:1px solid #dce6f2;box-shadow:0 8px 20px rgba(28,59,92,.05)}.bank .question-search{display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;border:1px solid #d8e3ef;background:#fbfdff;border-radius:11px}.bank .question-search input{border:0;outline:0;width:100%;background:transparent;color:#17304f;font-size:13px}.bank .question-search:focus-within{border-color:#8ab6ff;box-shadow:0 0 0 4px rgba(37,99,235,.08);background:#fff}.bank #question-framework{height:42px;border:1px solid #d8e3ef;background:#fff;border-radius:11px;padding:0 12px;color:#405873;font-weight:700;font-size:12px;outline:0}.bank .result-count{font-size:11px;color:#7d90a9;white-space:nowrap}
.bank .bulkbar{margin:0 14px 10px;padding:10px 12px;border-radius:12px;background:linear-gradient(90deg,#edf5ff,#f4f8ff)!important;border:1px solid #d4e4fb;display:none;align-items:center;justify-content:space-between;gap:12px;color:#10233f;animation:slideDown .22s both}.bank .bulkbar.active{display:flex;max-height:none}.bank .bulkbar>div{display:flex;align-items:center;gap:9px}.bank .bulkbar>div:first-child{display:flex}.bank .bulkbar .spark{width:28px;height:28px;border-radius:9px;background:#fff;display:grid;place-items:center;color:#316fe4;box-shadow:0 5px 12px rgba(37,99,235,.1)}.bank .bulkbar b{color:#10233f;font-size:11px}.bank .bulkbar small{display:block;color:#7a8fa9;font-size:9px;margin-top:2px}.bank .bulkbar button{min-height:32px;border:1px solid #cfe0f8;background:#fff;color:#3163b6;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800}.bank .bulkbar .bulk-exclude{color:#9c4b4b}.bank .bulkbar .bulk-clear{width:32px;padding:0;font-size:16px;color:#70859f}
.bank .table-head,.bank .qrow{display:grid;grid-template-columns:34px 92px minmax(360px,1fr) 100px 125px 78px 72px;align-items:center;gap:0}.bank .table-head{background:#f9fbfe;border-bottom:1px solid #dce6f2;min-height:36px;padding:0 14px;color:#8798ab;text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:900}.bank .qrow{min-height:72px;padding:0 14px;border-bottom:1px solid #edf2f8;background:#fff;transition:.18s ease}.bank .qrow:hover{background:#f9fbff;box-shadow:inset 3px 0 0 #6da0ff}.bank .qrow.selected{background:linear-gradient(90deg,#edf5ff,#fff);box-shadow:inset 3px 0 #2563eb}.bank .check input{appearance:none;width:17px;height:17px;border:1.5px solid #c9d7e7;border-radius:5px;background:#fff;position:relative;cursor:pointer}.bank .check input:checked{background:#2563eb;border-color:#2563eb}.bank .key{font-weight:900;color:#1559d9;font-size:11px}.bank .copy{min-width:0;padding:12px 16px 12px 0}.bank .copy b{display:block;font-size:11px;line-height:1.45;color:#15304f;font-weight:750}.bank .copy small{display:block;margin-top:4px;color:#7990aa;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank .pill{justify-self:start;font-style:normal;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.bank .pill.dmm{background:#e8f0ff;color:#2262d9}.bank .pill.agentic{background:#e6faf6;color:#0a9b8e}.bank .switch-wrap{display:flex;align-items:center;gap:7px;font-size:9px;color:#4573bd;font-weight:800}.bank .switch-wrap>span.switch{width:36px;height:20px;border-radius:999px;background:#dbe4f0;position:relative;transition:.2s}.bank .switch-wrap>span.switch i{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(24,49,78,.25);transition:.2s}.bank .switch-wrap.on>span.switch{background:#2e73ee;box-shadow:0 0 0 4px rgba(37,99,235,.06)}.bank .switch-wrap.on>span.switch i{transform:translateX(16px)}.bank .status{font-style:normal;color:#b47809;font-size:9px}.bank .edit{border:0;background:transparent;color:#1660dc;font-size:9px;font-weight:850;padding:8px 4px;text-align:right}.bank .edit:hover{text-decoration:underline}
@media(max-width:1180px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bank .table-head,.bank .qrow{grid-template-columns:34px 82px minmax(330px,1fr) 82px 115px 62px 58px}}@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-rows:72px minmax(0,1fr)}.main{margin-left:0;padding:96px 16px 34px}.side{transform:translateX(-100%)}.side.open{transform:translateX(0)}.analytics{grid-template-columns:1fr}.bank .question-toolbar{grid-template-columns:1fr 180px}.bank .table-head,.bank .qrow{min-width:980px}.bank .table-head{position:relative}}@media(max-width:620px){.kpis{grid-template-columns:1fr}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%;justify-content:center}.bank .question-toolbar{grid-template-columns:1fr}.bank .bank-top{align-items:flex-start;gap:10px;flex-direction:column}.bank .bank-note{display:none}}

/* La tabla conserva sus columnas dentro del panel; nunca ensancha la página. */
.bank{overflow:hidden;min-width:0}.questionnaire-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px 14px;border-bottom:1px solid #e7eef7;background:linear-gradient(100deg,#fbfdff,#f4f8ff)}.questionnaire-bar small{display:block;color:#7890ac;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.questionnaire-bar h2{margin:4px 0 0;color:#173354;font-size:14px;letter-spacing:-.02em}.questionnaire-tabs{display:flex;gap:6px;padding:4px;border:1px solid #e0e9f4;border-radius:13px;background:#edf3fa}.questionnaire-tabs button{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:#607790;font-size:10px;font-weight:850;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background .18s ease}.questionnaire-tabs button:hover{color:#1d5fd8}.questionnaire-tabs button.active{color:#155bd6;background:#fff;box-shadow:0 5px 14px rgba(29,73,130,.12)}.questionnaire-tabs b{display:grid;place-items:center;min-width:22px;height:18px;padding:0 5px;border-radius:999px;background:#dce7f5;color:#5a718e;font-size:9px}.questionnaire-tabs button.active b{color:#fff;background:#2867e6;box-shadow:0 0 12px rgba(37,99,235,.25)}.bank .question-toolbar{grid-template-columns:minmax(0,1fr) auto;min-width:0}.bank-table-scroll{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;background:#fff}.bank-table-scroll::-webkit-scrollbar{height:8px}.bank-table-scroll::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:999px;background:#b7c9df}.bank-table-scroll .table-head,.bank-table-scroll .qrow{min-width:910px}.bank .bulkbar{flex-wrap:wrap}.bank .bulkbar>div:last-child{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.bank .bulkbar button{white-space:nowrap}
@media(max-width:1180px){.bank-table-scroll .table-head,.bank-table-scroll .qrow{min-width:880px}.questionnaire-bar{padding-inline:14px}}
@media(max-width:900px){.bank .question-toolbar{grid-template-columns:minmax(0,1fr) auto}.questionnaire-bar{align-items:flex-start;flex-direction:column}.bank-table-scroll .table-head,.bank-table-scroll .qrow{min-width:860px}.bank .bulkbar>div:last-child{margin-left:0;width:100%;justify-content:flex-start}}
@media(max-width:620px){.questionnaire-tabs{width:100%}.questionnaire-tabs button{flex:1;justify-content:center;padding-inline:7px}.questionnaire-bar h2{font-size:13px}.bank .question-toolbar{grid-template-columns:1fr}.bank .result-count{text-align:right}.bank-table-scroll .table-head,.bank-table-scroll .qrow{min-width:760px}}

/* Un único checkbox visual: el control nativo queda oculto y no invade la cabecera. */
.bank .row-select{position:relative;align-self:center;justify-self:start;width:24px;height:24px;display:grid;place-items:center;min-width:24px;min-height:24px}.bank .row-select input,.bank .check input{position:absolute!important;inset:0!important;width:1px!important;height:1px!important;margin:auto!important;opacity:0!important;pointer-events:none!important;appearance:none!important}.bank .row-select span{display:block!important;position:relative!important;width:17px!important;height:17px!important;box-sizing:border-box;border:1.5px solid #c9d7e7!important;border-radius:5px!important;background:#fff!important;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:.18s ease}.bank .row-select input:checked+span{border-color:#2563eb!important;background:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.1),0 3px 8px rgba(37,99,235,.18)}.bank .row-select input:checked+span::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.bank .row-select input:indeterminate+span{border-color:#2563eb!important;background:#2563eb!important}.bank .row-select input:indeterminate+span::after{content:"";position:absolute;left:4px;right:4px;top:6px;height:2px;border-radius:2px;background:#fff}.bank .table-head .row-select.master{align-self:center;justify-self:start}

/* Cuestionario de tres paneles: mapa, pregunta y copiloto. */
.iv-shell{--iv-navy:#0c3158;--iv-blue:#2563eb;--iv-mint:#16a58f;--iv-line:#dfe7f1;--iv-muted:#71839a;width:100%;height:100dvh;display:grid;grid-template-rows:68px minmax(0,1fr);overflow:hidden;color:#10243f;background:#f4f7fb}.iv-topbar{position:relative;z-index:20;display:grid;grid-template-columns:270px minmax(320px,1fr) minmax(260px,390px);align-items:center;min-width:0;color:#fff;background:linear-gradient(115deg,#0b2d51,#103c69);box-shadow:0 4px 18px rgba(10,39,72,.16)}.iv-brand{height:100%;display:flex;align-items:center;padding:0 20px;border-right:1px solid rgba(255,255,255,.09);font-size:19px;font-weight:900;letter-spacing:-.05em}.iv-brand span{color:#55dfc5}.iv-brand i{margin-left:9px;padding:4px 6px;border:1px solid rgba(106,229,205,.26);border-radius:6px;color:#81ead6;background:rgba(42,184,159,.12);font-size:8px;font-style:normal;letter-spacing:.08em}.iv-session{min-width:0;display:flex;align-items:center;gap:10px;padding:0 18px}.iv-back{width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(255,255,255,.16);border-radius:9px;color:#dceaff;background:rgba(255,255,255,.06);font-size:15px}.iv-back:hover{background:rgba(255,255,255,.13)}.iv-session>div{min-width:0}.iv-session small,.iv-session b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-session small{margin-bottom:2px;color:#9fc0e1;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.iv-session b{font-size:13px}.iv-progress{justify-self:end;width:min(100%,350px);padding:0 20px}.iv-progress>span{display:flex;justify-content:flex-end;margin-bottom:6px;color:#b7cce2;font-size:9.5px}.iv-progress>span b{color:#fff}.iv-progress>i{display:block;height:4px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.13)}.iv-progress>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3d80f3,#54d9bd)}.iv-user{height:100%;display:none;align-items:center;gap:8px;padding:0 16px;color:#fff;background:transparent}.iv-user>i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#17436f;background:#e7f0fa;font-size:10px;font-style:normal}.iv-user span b,.iv-user span small{display:block}.iv-user span b{font-size:10px}.iv-user span small{color:#9fc0e1;font-size:8px}
.iv-layout{min-width:0;min-height:0;display:grid;grid-template-columns:270px minmax(480px,1fr) minmax(330px,390px);overflow:hidden}.iv-navigator{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--iv-line);background:#f8fafc}.iv-nav-head{padding:18px 17px 14px;border-bottom:1px solid var(--iv-line);background:#fff}.iv-nav-head span,.iv-nav-head b,.iv-nav-head small{display:block}.iv-nav-head span{color:#7f91a7;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.iv-nav-head b{margin-top:5px;color:#17375c;font-size:14px}.iv-nav-head small{margin-top:5px;color:#7a8ba0;font-size:10px;line-height:1.45}.iv-skipped-block{flex:1;min-height:0;display:flex;flex-direction:column}.iv-skipped-head{padding:14px 14px 8px}.iv-skipped-head span{display:flex;align-items:center;gap:7px;color:#a8253a;font-size:9.5px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.iv-skipped-head em{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;color:#fff;background:#d34747;font-size:9px;font-style:normal;font-weight:900;letter-spacing:0}.iv-skipped-head small{display:block;margin-top:5px;color:#7a8ba0;font-size:10px;line-height:1.45}.iv-number-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(5,1fr);align-content:start;gap:7px;overflow-y:auto;padding:5px 12px 14px;scrollbar-width:thin;scrollbar-color:#c9d5e4 transparent}.iv-number{position:relative;aspect-ratio:1;border:1px solid #dbe4ee;border-radius:8px;color:#718198;background:#fff;font-size:9px;font-weight:850;transition:.16s ease}.iv-number:hover{z-index:1;border-color:#dc6d6d;color:#a82424;box-shadow:0 4px 12px rgba(185,28,28,.12);transform:translateY(-1px)}.iv-number.answered{border-color:#ccebe4;color:#087a68;background:#eaf9f5}.iv-number.answered::after{content:"";position:absolute;right:3px;top:3px;width:4px;height:4px;border-radius:50%;background:#16a085}.iv-number.current{border-color:#7faaf9;color:#fff;background:linear-gradient(145deg,#347bf5,#245dd7);box-shadow:0 5px 12px rgba(37,99,235,.2)}.iv-number.pending{color:#95a3b4;background:#f7f9fc}.iv-number.skipped{border-color:#efb0b0;color:#a61b1b;background:#fff0f0}.iv-number.skipped::after{content:"!";position:absolute;right:4px;top:2px;color:#cf3030;font-size:7px;font-weight:950}.iv-number.viewed{outline:2px solid #102f56;outline-offset:2px}.iv-number.skipped.viewed{outline-color:#dc4c4c}.iv-legend{display:flex;flex-wrap:wrap;gap:8px 12px;padding:11px 14px;border-top:1px solid var(--iv-line);color:#6c7e94;background:#fff;font-size:8.5px}.iv-legend span{display:flex;align-items:center;gap:5px}.iv-legend i{width:8px;height:8px;border-radius:3px;background:#eef2f7}.iv-legend i.answered{background:#4fc5ad}.iv-legend i.current{background:#3376eb}.iv-legend i.pending{border:1px solid #d5dee9;background:#f7f9fc}.iv-legend i.skipped{border:1px solid #e99393;background:#f9b8b8}.iv-skipped-empty{grid-column:1/-1;margin:20px 6px;color:#8796a8;font-size:10px;line-height:1.5;text-align:center}
.iv-question-stage{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 64px;background:radial-gradient(circle at 50% -10%,rgba(37,99,235,.07),transparent 32%),#f5f8fc}.iv-question-scroll{min-width:0;min-height:0;overflow-y:auto;padding:28px clamp(22px,4vw,64px);scrollbar-gutter:stable}.iv-question-card{width:min(100%,860px);margin:0 auto;padding:26px 28px 24px;border:1px solid #dce6f2;border-radius:18px;background:#fff;box-shadow:0 16px 44px rgba(28,57,91,.08)}.iv-question-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.iv-question-meta div span,.iv-question-meta div b{display:block}.iv-question-meta div span{margin-bottom:5px;color:#2a66cd;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.iv-question-meta div b{color:#8393a7;font-size:9px;letter-spacing:.04em;text-transform:uppercase}.iv-question-meta>em{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:8.5px;font-style:normal;font-weight:850}.iv-question-meta>em.answered{color:#0b806d;background:#e7f8f4}.iv-question-meta>em.current{color:#1d5ccc;background:#eaf2ff}.iv-question-meta>em.pending{color:#718399;background:#f0f3f7}.iv-question-card>h1{margin:0 0 19px;color:#0d223d;font-size:clamp(20px,1.55vw,27px);line-height:1.35;letter-spacing:-.025em}.iv-evidence{margin-bottom:20px;overflow:hidden;border:1px solid #dde6f0;border-radius:12px;background:#f8fafc}.iv-evidence summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;list-style:none;cursor:pointer}.iv-evidence summary::-webkit-details-marker{display:none}.iv-evidence summary span b,.iv-evidence summary span small{display:block}.iv-evidence summary span b{color:#344a63;font-size:11px}.iv-evidence summary span small{margin-top:2px;color:#15927e;font-size:8.5px}.iv-evidence summary>i{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;color:#526e8c;background:#e7edf4;font-style:normal;transition:.18s ease}.iv-evidence[open] summary>i{transform:rotate(180deg)}.iv-evidence>div{padding:0 14px 13px;border-top:1px solid #e5ebf2}.iv-evidence>div p{margin:11px 0 8px;color:#526880;font-size:11px;line-height:1.65;white-space:pre-line}.iv-evidence>div small{color:#7c8ea4;font-size:9px}.iv-options{display:grid;gap:8px}.iv-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}.iv-section-title span{color:#183b67;font-size:11px;font-weight:850}.iv-section-title small{color:#8292a5;font-size:9px}.iv-option{width:100%;min-height:52px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border:1px solid #dfe7f0;border-radius:11px;color:#263e5a;background:#fff;text-align:left;transition:.16s ease}.iv-option:hover:not(.readonly){border-color:#8aaff5;background:#f8fbff;transform:translateY(-1px)}.iv-option>i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#315270;background:#edf2f7;font-size:11px;font-style:normal;font-weight:900}.iv-option>span{font-size:11px;font-weight:750;line-height:1.45}.iv-option>em{padding:5px 7px;border-radius:999px;color:#1d5ccd;background:#fff;font-size:8px;font-style:normal;font-weight:850}.iv-option.selected{border-color:#3376eb;color:#154d9d;background:#edf5ff;box-shadow:0 0 0 1px rgba(37,99,235,.12)}.iv-option.selected>i{color:#fff;background:#2867df}.iv-option.readonly{cursor:default}.iv-option-example{margin:12px 0 0;padding:10px 12px;border-radius:9px;color:#667b93;background:#f5f8fb;font-size:9.5px;line-height:1.5}.iv-option-example b{color:#2459a6}.iv-saved-answer{display:flex;gap:11px;margin-top:16px;padding:13px 14px;border:1px solid #cfe9e3;border-radius:12px;background:#effaf7}.iv-saved-answer>span{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#16a085;font-size:10px}.iv-saved-answer b{display:block;color:#176d60;font-size:10px}.iv-saved-answer p{margin:4px 0 0;color:#4f756f;font-size:10.5px;line-height:1.55}.iv-question-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(22px,4vw,64px);border-top:1px solid #dfe7f1;background:rgba(255,255,255,.95)}.iv-question-nav>button{min-width:112px;height:38px;border:1px solid #d6e0eb;border-radius:10px;color:#36516f;background:#fff;font-size:10px;font-weight:850}.iv-question-nav>button:hover:not(:disabled){border-color:#83aaf2;color:#1759cb;box-shadow:0 5px 13px rgba(37,99,235,.1)}.iv-question-nav>button:disabled{opacity:.38;cursor:not-allowed}.iv-question-nav>div{display:flex;align-items:center;gap:7px;color:#718399;font-size:9px}.iv-question-nav>div i{width:6px;height:6px;border-radius:50%;background:#21a88f;box-shadow:0 0 0 4px rgba(33,168,143,.1)}.iv-complete{place-self:center;width:min(90%,520px);padding:48px;text-align:center;border:1px solid #dce6f2;border-radius:18px;background:#fff;box-shadow:0 16px 44px rgba(28,57,91,.08)}.iv-complete>span{display:grid;place-items:center;width:52px;height:52px;margin:auto;border-radius:50%;color:#fff;background:#16a085}.iv-complete h1{margin:16px 0 8px}.iv-complete p{color:#718399}
.iv-assistant{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr) auto;border-left:1px solid #dce5ef;background:#fff;box-shadow:-10px 0 30px rgba(28,54,84,.035)}.iv-assistant>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid #e5ebf2;background:linear-gradient(100deg,#fbfdff,#f5f9ff)}.iv-assistant>header>div{display:flex;align-items:center;gap:9px}.iv-assistant>header>div>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid #cdeee7;border-radius:10px;color:#0f8f7f;background:#eaf9f5}.iv-assistant>header b,.iv-assistant>header small{display:block}.iv-assistant>header b{color:#163658;font-size:12px}.iv-assistant>header small{margin-top:2px;color:#74869d;font-size:8.5px}.iv-assistant>header small i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:#19a78c}.iv-assistant>header em{padding:5px 7px;border-radius:7px;color:#166e62;background:#e8f8f4;font-size:8px;font-style:normal;font-weight:850}.iv-ai-messages{min-height:0;overflow-y:auto;padding:16px 14px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.iv-ai-message{display:flex;align-items:flex-start;gap:8px;margin-bottom:14px}.iv-ai-message>i{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:8px;color:#0e8c7a;background:#e9f9f5;font-size:9px;font-style:normal}.iv-ai-message>div{min-width:0;padding:10px 11px;border-radius:5px 13px 13px 13px;color:#40566f;background:#f3f7fb}.iv-ai-message b{display:block;margin-bottom:4px;color:#274965;font-size:9px}.iv-ai-message p{margin:0;font-size:10.5px;line-height:1.55;white-space:pre-line}.iv-ai-message.user{justify-content:flex-end}.iv-ai-message.user>div{max-width:88%;border-radius:13px 5px 13px 13px;color:#fff;background:linear-gradient(145deg,#3478ec,#235cc9)}.iv-ai-message.user p{color:#fff}.iv-ai-composer{padding:11px 12px 10px;border-top:1px solid #e3eaf2;background:#f8fafc}.iv-composer-box{overflow:hidden;border:1px solid #d6e0eb;border-radius:12px;background:#fff;box-shadow:0 7px 18px rgba(23,54,88,.06)}.iv-composer-box:focus-within{border-color:#86adf4;box-shadow:0 0 0 3px rgba(37,99,235,.07),0 7px 18px rgba(23,54,88,.06)}.iv-composer-box textarea{width:100%;min-height:76px;max-height:150px;resize:none;border:0;outline:0;padding:11px 12px 5px;color:#17314f;background:#fff;font:10.5px/1.55 Inter,Segoe UI,Arial,sans-serif}.iv-composer-box textarea::placeholder{color:#96a4b5}.iv-composer-box .dm-composer-requirement{padding:0 12px 7px;font-size:8.5px}.iv-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px 8px 11px;border-top:1px solid #edf1f5}.iv-score-chip{min-width:0;color:#718399;font-size:8.5px}.iv-score-chip i{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:5px;border-radius:7px;color:#2563eb;background:#edf4ff;font-style:normal;font-weight:850}.iv-send{height:34px;flex:0 0 auto;padding:0 10px;border-radius:9px;color:#fff;background:#2563eb;font-size:9px;font-weight:850;box-shadow:0 5px 13px rgba(37,99,235,.2)}.iv-send span{margin-left:4px}.iv-send:disabled{opacity:.4;cursor:not-allowed}.iv-ai-composer>small{display:block;margin:7px 2px 0;color:#8795a7;font-size:8px;line-height:1.4}.iv-ai-locked{display:flex;align-items:center;gap:9px;padding:13px 14px;border-top:1px solid #e4eaf1;background:#f8fafc}.iv-ai-locked>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#158574;background:#e7f8f4}.iv-ai-locked>div{min-width:0;flex:1}.iv-ai-locked b,.iv-ai-locked small{display:block}.iv-ai-locked b{font-size:9.5px}.iv-ai-locked small{margin-top:2px;color:#7e8fa3;font-size:8px;line-height:1.35}.iv-ai-locked button{padding:7px 8px;border-radius:8px;color:#1e5dcc;background:#eaf2ff;font-size:8px;font-weight:850}.iv-assistant-complete{grid-template-rows:64px minmax(0,1fr)}
@media(max-width:1300px){.iv-topbar{grid-template-columns:230px minmax(300px,1fr) 340px}.iv-layout{grid-template-columns:230px minmax(430px,1fr) 340px}.iv-number-grid{grid-template-columns:repeat(4,1fr)}.iv-question-scroll{padding-inline:28px}.iv-question-card{padding-inline:22px}}
@media(max-width:1050px){.iv-topbar{grid-template-columns:210px minmax(0,1fr) 310px}.iv-layout{grid-template-columns:210px minmax(390px,1fr) 310px}.iv-number-grid{grid-template-columns:repeat(3,1fr)}.iv-question-scroll{padding:20px 18px}.iv-question-card>h1{font-size:19px}.iv-option{grid-template-columns:28px minmax(0,1fr)}.iv-option>em{display:none}}
@media(max-width:820px){.iv-shell{height:auto;min-height:100dvh;overflow:visible}.iv-topbar{position:sticky;top:0;grid-template-columns:1fr auto;height:64px}.iv-brand{border:0}.iv-session{display:none}.iv-progress{width:180px}.iv-layout{display:block;overflow:visible}.iv-navigator{min-height:auto;border:0}.iv-nav-head,.iv-skipped-head,.iv-legend{display:none}.iv-number-grid{display:flex;overflow-x:auto;padding:10px 14px}.iv-number{width:34px;height:34px;flex:0 0 34px;aspect-ratio:auto}.iv-question-stage{min-height:calc(100dvh - 118px)}.iv-question-scroll{overflow:visible}.iv-question-nav{position:sticky;bottom:0;height:58px}.iv-assistant{min-height:520px;border-top:1px solid #dce5ef;border-left:0}.iv-user{display:none}}

/* Centro de identidades y roles por organización. */
.access-head{align-items:flex-end}.access-head-actions{display:flex;flex-wrap:wrap;gap:9px}.access-head-actions button{min-height:42px;padding-inline:16px}
.access-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.access-kpis article{min-height:112px;display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dde7f1;border-radius:16px;background:linear-gradient(145deg,#fff,#fbfdff);box-shadow:0 10px 26px rgba(24,53,88,.05);transition:.18s ease}.access-kpis article:hover{border-color:#c9daf0;box-shadow:0 14px 34px rgba(24,53,88,.08);transform:translateY(-2px)}.access-kpis article>i{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:13px;font-size:17px;font-style:normal}.access-kpis i.blue{color:#1e5fd6;background:#eaf2ff}.access-kpis i.mint{color:#0a8e79;background:#e6faf5}.access-kpis i.violet{color:#7651bf;background:#f1ebff}.access-kpis i.amber{color:#a76a08;background:#fff3da}.access-kpis small,.access-kpis strong,.access-kpis span{display:block}.access-kpis small{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#718399;font-size:10px}.access-kpis strong{margin-top:4px;color:#102b4b;font-size:25px;line-height:1}.access-kpis span{margin-top:7px;color:#7d8da0;font-size:9.5px}
.access-org-switcher{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px 16px;border:1px solid #d9e5f2;border-radius:14px;background:linear-gradient(110deg,#f5f9ff,#fbfdff 64%,#f1fbf8);box-shadow:0 7px 20px rgba(31,74,125,.035)}.access-org-switcher>div{display:flex;align-items:center;gap:12px}.access-org-switcher small{color:#55728f;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.access-org-switcher select{min-width:240px;height:38px;border:1px solid #cfddeb;border-radius:9px;padding:0 34px 0 11px;color:#17385e;background:#fff;font-weight:750;outline:0}.access-org-switcher select:focus{border-color:#73a0f3;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.access-org-switcher p{margin:0;color:#718399;font-size:10px}
.access-layout{display:grid;grid-template-columns:minmax(600px,1fr) minmax(300px,360px);gap:14px;align-items:start}.access-users-panel,.access-roles-panel{overflow:hidden;border-color:#dde6f0;box-shadow:0 12px 32px rgba(23,52,86,.055)}.access-users-panel>header,.access-roles-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid #e8eef5}.access-users-panel header small,.access-roles-panel header small{display:block;color:#7f91a7;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.access-users-panel header h2,.access-roles-panel header h2{margin:4px 0 0;color:#163554;font-size:14px}.access-users-panel>header>span{padding:5px 8px;border-radius:999px;color:#55708d;background:#f1f5f9;font-size:9px}.access-roles-panel>header button{width:32px;height:32px;border:1px solid #d6e2ee;border-radius:9px;color:#1d5ed0;background:#f5f9ff;font-size:17px;transition:.15s ease}.access-roles-panel>header button:hover{border-color:#8eb1f1;background:#eaf2ff;transform:rotate(90deg)}
.access-search{height:43px;display:flex;align-items:center;gap:9px;margin:13px 14px;border:1px solid #d9e4ef;border-radius:10px;padding:0 12px;color:#7390ad;background:#fbfdff}.access-search:focus-within{border-color:#7ca5f1;box-shadow:0 0 0 3px rgba(37,99,235,.07);background:#fff}.access-search input{width:100%;border:0;outline:0;color:#173654;background:transparent;font:11px Inter,Segoe UI,sans-serif}.access-search input::placeholder{color:#91a0b1}
.access-user-table{border-top:1px solid #edf1f5}.access-user-row{display:grid;grid-template-columns:minmax(190px,1.45fr) minmax(150px,1.05fr) 125px 78px 68px;gap:12px;align-items:center;min-height:69px;padding:10px 15px;border-bottom:1px solid #edf1f5;color:#405772;background:#fff;transition:.14s ease}.access-user-row:not(.heading):hover{position:relative;z-index:1;background:#f8fbff;box-shadow:inset 3px 0 #3b7bf0}.access-user-row.heading{min-height:35px;color:#8090a4;background:#f8fafc;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.access-user-row>span{min-width:0}.access-user-row:not(.heading)>span:first-child{display:flex;align-items:center;gap:10px}.access-user-row span>span{min-width:0}.access-user-row span b,.access-user-row span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-user-row span b{color:#183654;font-size:10.5px}.access-user-row span small{margin-top:3px;color:#8090a4;font-size:9px}.access-user-row>span:nth-child(4){display:flex;align-items:center;gap:6px;font-size:9.5px}.access-user-row>span:last-child{text-align:right}.access-user-row button{color:#2160ce;background:transparent;font-size:9px;font-weight:800}.user-avatar{width:33px;height:33px;flex:0 0 33px;display:grid;place-items:center;border-radius:10px;color:#1d5fcf;background:linear-gradient(145deg,#edf4ff,#e5eeff);font-size:9px;font-style:normal;font-weight:900}.org-role,.system-role{display:inline-flex;align-items:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;font-style:normal;font-size:8.5px;font-weight:800}.org-role{padding:5px 8px;color:var(--role-color,#2563eb);background:color-mix(in srgb,var(--role-color,#2563eb) 10%,white);border:1px solid color-mix(in srgb,var(--role-color,#2563eb) 22%,white)}.system-role{padding:5px 7px;color:#536b84;background:#eef2f6}.system-role.admin{color:#6d42b3;background:#f1ebfb}.system-role.can{color:#0d806e;background:#e8f8f4}.access-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#aab5c2}.access-dot.on{background:#12a183;box-shadow:0 0 0 4px rgba(18,161,131,.09)}
.access-roles-intro{margin:0;padding:13px 16px;color:#718399;background:#f8fafc;font-size:9.5px;line-height:1.5}.access-role-list{display:grid;gap:9px;padding:13px}.access-role-card{position:relative;display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:11px;align-items:start;padding:13px;border:1px solid #e0e8f1;border-radius:12px;background:#fff;transition:.16s ease}.access-role-card:hover{border-color:#c3d5e9;box-shadow:0 9px 22px rgba(23,54,88,.07);transform:translateY(-1px)}.access-role-card>i{width:7px;height:36px;border-radius:99px;background:var(--role-color,#2563eb);box-shadow:0 0 13px color-mix(in srgb,var(--role-color,#2563eb) 32%,transparent)}.access-role-card div{min-width:0}.access-role-card b{display:block;color:#183755;font-size:10.5px}.access-role-card p{margin:4px 0 7px;color:#657991;font-size:9px;line-height:1.4}.access-role-card span{color:#8a98a9;font-size:8px}.access-role-card button{padding:5px;color:#2161cf;background:transparent;font-size:8.5px;font-weight:800}.access-empty-role{display:grid;gap:5px;padding:26px;text-align:center;border:1px dashed #cfdbe8;border-radius:12px;color:#64748b}.access-empty-role b{font-size:11px}.access-empty-role span{font-size:9px;line-height:1.4}
.access-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:rgba(9,26,48,.48);backdrop-filter:blur(7px);animation:access-fade .16s ease}.access-role-form{width:min(100%,560px);max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid rgba(255,255,255,.7);border-radius:18px;padding:22px;background:#fff;box-shadow:0 28px 90px rgba(8,29,56,.26);animation:access-rise .2s ease}.access-role-form>header{position:relative;padding:3px 42px 17px 0;border-bottom:1px solid #e8eef4}.access-role-form header small{color:#2a66cd;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.access-role-form header h2{margin:6px 0 4px;color:#102d4f;font-size:20px}.access-role-form header p{margin:0;color:#718399;font-size:10px}.access-role-form header button{position:absolute;right:0;top:0;width:34px;height:34px;border-radius:9px;color:#718399;background:#eef2f6;font-size:20px}.access-role-form>label{display:grid;gap:7px;margin-top:15px;color:#193653;font-size:10px;font-weight:800}.access-role-form input[type=text],.access-role-form input:not([type]),.access-role-form textarea{width:100%;border:1px solid #d5e0eb;border-radius:10px;padding:11px 12px;outline:0;color:#173653;background:#fbfdff;font:11px/1.5 Inter,Segoe UI,sans-serif}.access-role-form input:focus,.access-role-form textarea:focus{border-color:#7ca5f1;box-shadow:0 0 0 3px rgba(37,99,235,.07);background:#fff}.role-color-field{display:flex;align-items:end;gap:14px;margin:15px 0}.role-color-field label{display:grid;gap:7px;color:#193653;font-size:10px;font-weight:800}.role-color-field input{width:58px;height:36px;border:1px solid #d5e0eb;border-radius:9px;padding:4px;background:#fff}.role-color-field span{padding-bottom:8px;color:#7c8da1;font-size:9px}.access-role-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 0;border:0;padding:0}.access-role-form legend{width:100%;margin-bottom:8px;color:#193653;font-size:10px;font-weight:800}.permission-choice{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #e0e7ef;border-radius:10px;background:#fbfcfe;cursor:pointer}.permission-choice:has(input:checked){border-color:#a8c2f4;background:#f1f6ff}.permission-choice input{margin-top:2px;accent-color:#2563eb}.permission-choice b,.permission-choice small{display:block}.permission-choice b{color:#31506d;font-size:9px}.permission-choice small{margin-top:2px;color:#8492a3;font-size:8px}.access-role-form>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid #e8eef4}.access-role-form>footer button{min-height:39px;padding-inline:14px}.access-role-form .danger-light{margin-right:auto}
.access-editor-head{align-items:center}.access-editor-state{padding:7px 10px;border:1px solid #dce6f0;border-radius:999px;color:#496782;background:#f7fafc;font-size:9px;font-weight:800}.access-editor-layout{display:grid;grid-template-columns:minmax(620px,1fr) 300px;gap:16px;align-items:start;max-width:1080px}.access-editor-main{overflow:hidden;padding:0;border-color:#dce5ef;box-shadow:0 14px 38px rgba(23,52,86,.065)}.access-editor-main>section{padding:22px 23px;border-bottom:1px solid #e8eef4}.access-editor-main section>header{display:flex;align-items:center;gap:11px;margin-bottom:17px}.access-editor-main section>header>i{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;color:#1d60d2;background:#eaf2ff;font-size:9px;font-style:normal;font-weight:900}.access-editor-main section header h2{margin:0;color:#163452;font-size:14px}.access-editor-main section header p{margin:3px 0 0;color:#7a8b9e;font-size:9.5px}.access-editor-main label{color:#173653;font-size:10px;font-weight:800}.access-editor-main label>input,.access-editor-main label>select{margin-top:7px}.field-help{display:block;margin-top:6px;color:#8292a4;font-size:8.5px;font-weight:500;line-height:1.4}.access-active-toggle{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px;border:1px solid #dfe7ef;border-radius:11px;background:#f9fbfd;cursor:pointer}.access-active-toggle>input{position:absolute;opacity:0}.access-active-toggle>span{position:relative;width:38px;height:21px;flex:0 0 38px;border-radius:99px;background:#cbd5e1;transition:.16s ease}.access-active-toggle>span::after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.16s ease}.access-active-toggle>input:checked+span{background:#14a085}.access-active-toggle>input:checked+span::after{transform:translateX(17px)}.access-active-toggle b,.access-active-toggle small{display:block}.access-active-toggle small{margin-top:2px;color:#7f8fa1;font-size:8.5px;font-weight:500}.access-editor-main>footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 22px;background:#f8fafc}.access-editor-main>footer button{min-height:41px;padding-inline:16px}
.access-editor-summary{position:sticky;top:92px;overflow:hidden;padding:23px;border-color:#d8e4f0;background:radial-gradient(circle at 88% 8%,rgba(39,110,232,.14),transparent 35%),linear-gradient(155deg,#102f55,#174775);color:#fff;box-shadow:0 18px 44px rgba(12,44,78,.16)}.summary-spark{width:41px;height:41px;display:grid;place-items:center;border:1px solid rgba(103,224,204,.3);border-radius:13px;color:#72e1ce;background:rgba(35,185,160,.12);font-size:17px}.access-editor-summary>small{display:block;margin-top:20px;color:#9fc0df;font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.access-editor-summary>h2{margin:6px 0 2px;color:#fff;font-size:18px}.access-editor-summary>p{margin:0;color:#b7cee3;font-size:9.5px}.access-editor-summary>div{display:grid;gap:11px;margin-top:22px;padding-top:17px;border-top:1px solid rgba(255,255,255,.12)}.access-editor-summary>div span{display:block;color:#9eb8d2;font-size:8px}.access-editor-summary>div b{display:block;margin-top:3px;color:#fff;font-size:10px}.access-editor-summary>em{display:block;margin-top:20px;padding:11px;border:1px solid rgba(106,225,204,.16);border-radius:10px;color:#a9d9d1;background:rgba(24,167,143,.08);font-size:8.5px;font-style:normal;line-height:1.5}
@keyframes access-fade{from{opacity:0}to{opacity:1}}@keyframes access-rise{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
/* El administrador de la plataforma no tiene empresa; la ficha lo dice en el sitio donde
   antes pedia una organizacion, para que el hueco se lea como una decision y no como falta. */
.access-platform-note{display:flex;align-items:flex-start;gap:12px;margin-top:4px;padding:14px 15px;border:1px solid #cfe4e0;border-radius:12px;background:linear-gradient(110deg,#f2fbf9,#f7fbff)}.access-platform-note>span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;color:#168d76;background:#dcf3ec;font-size:13px}.access-platform-note div{display:grid;gap:3px}.access-platform-note b{color:#17385e;font-size:11px}.access-platform-note small{color:#5d7285;font-size:9.5px;line-height:1.5}
@media(max-width:1180px){.access-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.access-layout{grid-template-columns:1fr}.access-roles-panel{order:-1}.access-role-list{grid-template-columns:repeat(2,minmax(0,1fr))}.access-editor-layout{grid-template-columns:1fr}.access-editor-summary{position:static;display:none}}
@media(max-width:820px){.access-head{align-items:flex-start}.access-org-switcher{align-items:flex-start;flex-direction:column}.access-org-switcher>div{width:100%;align-items:flex-start;flex-direction:column}.access-org-switcher select{width:100%;min-width:0}.access-user-table{overflow-x:auto}.access-user-row{min-width:780px}.access-role-list{grid-template-columns:1fr}.access-editor-layout{display:block}.access-role-form fieldset{grid-template-columns:1fr}}
@media(max-width:560px){.access-kpis{grid-template-columns:1fr}.access-head-actions{width:100%}.access-head-actions button{flex:1}.access-editor-main>section{padding-inline:16px}.access-role-form{padding:17px}}

.access-editor-main label{display:block;min-width:0}.access-editor-main label>input,.access-editor-main label>select{width:100%;height:42px;margin-top:7px;border:1px solid #d5e0eb;border-radius:10px;padding:0 12px;outline:0;color:#173653;background:#fbfdff;font:10.5px Inter,Segoe UI,sans-serif;transition:.15s ease}.access-editor-main label>input:focus,.access-editor-main label>select:focus{border-color:#75a1f1;box-shadow:0 0 0 3px rgba(37,99,235,.07);background:#fff}.access-editor-main label>input::placeholder{color:#98a6b6}

/* Alta de personas: identidad, credencial y asignación con búsqueda de cargos. */
.user-editor{max-width:1380px;margin:auto;--ue-blue:#2563df;--ue-ink:#153453}
.user-editor [hidden]{display:none!important}
.user-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 26px}
.user-editor-heading h1{margin:0;color:var(--ue-ink);font-size:clamp(25px,2.4vw,34px);letter-spacing:-.04em;line-height:1.15}
.user-editor-heading>div>p:last-child{margin:9px 0 0;color:#637b94;font-size:14px}
.user-editor-heading>span{flex-shrink:0;padding:9px 13px;border:1px solid #c9eade;border-radius:99px;color:#127964;background:#eafaF4;font-size:11px;font-weight:800}
.user-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:start}
.user-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.user-editor-card{position:relative;min-width:0;padding:24px;border:1px solid #dce6f2;border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(25,57,94,.05);animation:user-editor-enter .35s ease-out both}
.user-editor-card>header{display:flex;align-items:center;gap:12px;margin-bottom:23px}
.user-editor-card>header>i{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#edf3ff;color:#2864d5;font-style:normal;font-size:12px;font-weight:850}
.user-security>header>i{background:#e3f8f1;color:#118775}.user-assignment>header>i{background:#f0eaff;color:#7950c1}
.user-editor-card h2{margin:0;color:var(--ue-ink);font-size:17px;letter-spacing:-.02em}
.user-editor-card>header p{margin:4px 0 0;color:#74859b;font-size:11px;line-height:1.5}
.user-editor-card>label,.user-entry-fields>label,.account-autocomplete>label{display:block;margin-bottom:8px;color:#294761;font-size:12px;font-weight:750}
.user-editor-card label em{color:#3971d7;font-style:normal}.user-editor-card label>small{margin-left:4px;color:#8292a3;font-size:10px;font-weight:500}
.user-editor-card>input,.user-entry-fields>input,.user-password-field input,.account-autocomplete-box input{width:100%;min-width:0;height:48px;border:1px solid #d5e1ee;border-radius:12px;background:#f9fbfe;padding:0 13px;color:#173653;font:14px/1.4 Inter,Segoe UI,sans-serif;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.user-editor-card>input+label,.user-password-field+label{margin-top:19px}
.user-editor-card input::placeholder{color:#8497ad}
.user-editor-card input:focus{border-color:#3f7cec;background:#fff;box-shadow:0 0 0 4px rgba(48,112,224,.1)}
.user-editor-card input[readonly]{background:#eff3f8;color:#70839a}
.user-password-field{display:flex;position:relative}.user-password-field input{padding-right:76px}
.user-password-field button{position:absolute;right:6px;top:6px;height:36px;padding:0 10px;border-radius:8px;background:#eaf1fc;color:#2a61ae;font-size:11px;font-weight:750}
.user-assignment,.user-portfolio,.user-editor-active,.user-editor-actions{grid-column:1/-1}
.user-assignment{z-index:2;background:linear-gradient(155deg,#fbfcff,#fff 40%);border-top:3px solid #9c87ed}
.user-access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0;padding:0;margin:0 0 23px;min-width:0}
.user-access-options legend{padding:0;margin-bottom:11px;color:#294761;font-size:12px;font-weight:750}
.user-access-options:has(.user-access-option:only-of-type){grid-template-columns:minmax(0,1fr)}
.user-access-option{position:relative;display:flex;flex-wrap:wrap;align-content:flex-start;gap:11px;padding:15px 13px;border:1px solid #dce4f0;border-radius:14px;background:#fff;cursor:pointer;transition:background .18s,border-color .18s,transform .18s;--access-color:#2670d5;--access-soft:#edf4ff}
.user-access-option.mint{--access-color:#0b8b77;--access-soft:#eafaF4}.user-access-option.violet{--access-color:#7d4ac4;--access-soft:#f3edff}
.user-access-option input{position:absolute;opacity:0;width:1px;height:1px}
.user-access-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--access-soft);color:var(--access-color);font-size:17px}
.user-access-option>span:nth-of-type(2){flex-basis:100%}.user-access-option b{display:block;color:#244462;font-size:13px}
.user-access-option small{display:block;margin-top:5px;color:#6d8298;font-size:11px;line-height:1.5}
.user-access-option>i{position:absolute;right:12px;top:15px;display:grid;place-items:center;width:18px;height:18px;border:1px solid #d5e0eb;border-radius:50%;font-size:10px;font-style:normal;color:transparent}
.user-access-option:has(input:checked){border-color:var(--access-color);background:var(--access-soft);box-shadow:0 0 0 1px var(--access-color)}
.user-access-option:has(input:checked)>i{color:#fff;background:var(--access-color);border-color:var(--access-color)}
.user-access-option:hover{transform:translateY(-2px);border-color:var(--access-color)}
.user-access-option:has(input:focus-visible){outline:3px solid #a6c7ff;outline-offset:3px}
/* El enfoque del Lite se elige con la misma tarjeta que el tipo de acceso, pero con los
   colores de cada mirada: azul la tecnica, verde la de negocio, gris el automatico, que no
   es un enfoque sino dejar decidir a la plataforma. */
.user-access-option.neutral{--access-color:#5c6f85;--access-soft:#eef2f7}
.user-access-option.lens-tec{--access-color:var(--lens-tec);--access-soft:var(--lens-tec-soft)}
.user-access-option.lens-neg{--access-color:var(--lens-neg);--access-soft:var(--lens-neg-soft)}
.user-track-options legend small{display:block;margin-top:3px;color:#7b8ca1;font-size:10px;font-weight:600}
.user-track-note{grid-column:1/-1;margin:11px 0 0;color:#7b8ca1;font-size:11px;line-height:1.5}
.user-assignment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.account-autocomplete{min-width:0}.account-autocomplete-box{position:relative;display:flex;align-items:center}
.account-autocomplete-box>span{position:absolute;left:13px;color:#607c9f;font-size:21px;pointer-events:none}
.account-autocomplete-box input{padding-left:36px;padding-right:38px}
.account-autocomplete-toggle{position:absolute;right:6px;top:6px;width:32px;height:36px;border-radius:8px;background:#edf3fc;color:#3466aa;font-size:18px}
.account-autocomplete>small{display:block;margin-top:8px;color:#73879e;font-size:11px;line-height:1.5}
.account-autocomplete-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:20;max-height:295px;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #d2dff0;border-radius:14px;background:#fff;box-shadow:0 15px 35px rgba(20,49,89,.18);animation:user-editor-enter .14s ease-out}
.account-autocomplete-menu.opens-above{top:auto;bottom:calc(100% + 7px)}
.account-autocomplete-caption{position:sticky;top:-6px;z-index:1;display:flex;justify-content:space-between;gap:10px;padding:9px 10px;color:#6a809a;background:#fff;font-size:10px;font-weight:750}
.account-autocomplete-caption span{color:#3971c2}
.account-autocomplete-menu>button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 9px;border-radius:9px;background:#fff;text-align:left;color:#214164}
.account-option-icon{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#4b76b4}
.account-autocomplete-menu>button>span:last-child{min-width:0;overflow-wrap:anywhere}
.account-autocomplete-menu b{display:block;font-size:12px}.account-autocomplete-menu small{display:block;margin-top:4px;color:#7c8fa4;font-size:10px}
.account-autocomplete-menu>button:hover,.account-autocomplete-menu>button[aria-selected="true"]{background:#edf4ff}
.account-autocomplete-empty{margin:0;padding:12px;color:#70869e;font-size:12px}
.user-role-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:17px;color:#7b8ca1;font-size:10px}
.user-role-shortcuts button{padding:6px 9px;border:1px solid #dce6f6;border-radius:99px;background:#f3f7ff;color:#4168a0;font-size:10px;transition:background .18s}
.user-role-shortcuts button:hover{background:#e0ecff}
.user-scope-note{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #d7e8f7;border-radius:13px;background:#eff7ff;color:#4a6d90}
.user-scope-note>span{font-size:24px;color:#3c7fc5}.user-scope-note p{margin:0;font-size:12px;line-height:1.6}.user-scope-note b{display:block;color:#29527a}
.user-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.user-portfolio-grid label{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #dce6f1;border-radius:12px;cursor:pointer}
.user-portfolio-grid input,.user-editor-active input{accent-color:#246be5;width:17px;height:17px;flex-shrink:0}
.user-portfolio-grid label:has(input:checked){background:#f0f6ff;border-color:#80aaf0}.user-portfolio-grid b{font-size:12px;color:#29486b}.user-portfolio-grid small{display:block;margin-top:4px;color:#7c8da1;font-size:10px}
.user-editor-active{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #d6e8e4;border-radius:14px;background:#f3fcf8}
.user-editor-active b{font-size:12px;color:#176554}.user-editor-active small{display:block;color:#698f84;font-size:11px;margin-top:3px}
.user-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0 0}
.user-editor-actions>small{color:#788da3;font-size:11px}.user-editor-actions>small>span{color:#159f87}
.user-editor-actions>div{display:flex;gap:9px}.user-editor-actions button{min-height:46px;padding:0 20px;font-size:13px;border-radius:12px}
.user-editor-actions .primary{display:flex;align-items:center;gap:24px;background:linear-gradient(120deg,#2a72ef,#235acd);box-shadow:0 8px 20px rgba(35,99,214,.2)}
.user-editor-actions button:disabled{opacity:.65;cursor:progress}
.user-email-help{display:block;margin-top:8px;color:#73879e;font-size:11px;line-height:1.5}
.user-editor-delete{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border:1px solid #f0d7da;border-radius:15px;background:#fffafb}
.user-editor-delete b{color:#893341;font-size:12px}.user-editor-delete p{margin:5px 0 0;color:#896f78;font-size:11px;line-height:1.5}
.user-editor-delete>button{flex-shrink:0;min-height:42px;padding:0 15px;border:1px solid #e7bfc6;border-radius:10px;background:#fff;color:#b13043;font-size:12px;font-weight:750}
.user-editor-delete>button:hover{background:#fff0f2}.user-editor-delete>button:disabled{opacity:.5;cursor:wait}
.user-delete-dialog{width:min(450px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:27px;border:1px solid #ebdce0;border-radius:22px;background:#fff;color:#23405f;box-shadow:0 25px 90px #102e4a44;overflow-y:auto;animation:user-editor-enter .2s ease-out}
.user-delete-dialog::backdrop{background:rgba(10,31,52,.6)}
.user-delete-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:16px;border-radius:13px;background:#ffecee;color:#bf364b;font-size:28px}
.user-delete-dialog h2{margin:0;color:#263f59;font-size:23px;letter-spacing:-.025em}
.user-delete-account{display:grid;gap:5px;margin:18px 0;padding:14px;border:1px solid #e3eaf3;border-radius:12px;background:#f8fafc;overflow-wrap:anywhere}
.user-delete-account b{font-size:14px}.user-delete-account span{color:#708297;font-size:12px}
.user-delete-dialog>p{font-size:13px;line-height:1.7;color:#64788c}.user-delete-dialog .user-delete-error{padding:10px;border-radius:9px;background:#fff0f2;color:#ad2b40}
.user-delete-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.user-delete-dialog button{min-height:44px;padding:0 16px;border-radius:11px;font-size:13px;font-weight:750}
#user-delete-confirm{background:#bc3047;color:#fff}#user-delete-confirm:hover{background:#a8293e}
.user-delete-dialog button:disabled{opacity:.65;cursor:wait}.user-delete-dialog button:focus-visible{outline:3px solid #9bbfe9;outline-offset:3px}
/* Cambiar el enfoque no es eliminar: el dialogo comparte la caja pero nace en azul, y solo
   se pone en rojo cuando quien decide desmarca «mantener respuestas». El color es la ultima
   senal antes de un borrado, no la decoracion de un aviso. */
.user-track-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:16px;border-radius:13px;background:var(--lens-tec-soft);color:var(--lens-tec);font-size:24px}
.user-track-keep{display:flex;align-items:flex-start;gap:11px;margin:16px 0 0;padding:14px;border:1px solid #d9e6f4;border-radius:12px;background:#f7fbff;cursor:pointer}
.user-track-keep input{width:17px;height:17px;margin:2px 0 0;flex:0 0 17px;accent-color:var(--lens-tec)}
.user-track-keep b{display:block;font-size:13px;color:#26415d}
.user-track-keep small{display:block;margin-top:4px;color:#6d8298;font-size:11px;line-height:1.55}
.user-track-dialog .user-track-warn{margin:13px 0 0;padding:11px;border-radius:10px;background:#fff0f2;color:#ad2b40;font-size:12px}
#user-track-confirm{background:var(--lens-tec);color:#fff}#user-track-confirm:hover{background:#1d55c9}
.user-track-dialog.discarding .user-track-icon{background:#ffecee;color:#bf364b}
.user-track-dialog.discarding #user-track-confirm{background:#bc3047}.user-track-dialog.discarding #user-track-confirm:hover{background:#a8293e}
@media(max-width:650px){.user-editor-delete{align-items:stretch;flex-direction:column;gap:13px}.user-delete-dialog{padding:23px}.user-delete-dialog footer button{flex:1}}
@media(prefers-reduced-motion:reduce){.user-delete-dialog{animation:none}}
.user-editor-preview{position:sticky;top:30px;min-width:0;overflow:hidden;padding:25px 23px;border:1px solid #d4e4ef;border-radius:22px;background:radial-gradient(ellipse at top right,rgba(109,242,208,.22),transparent 65%),linear-gradient(150deg,#123655,#19476b);color:#fff;box-shadow:0 14px 35px rgba(21,58,94,.12)}
.user-editor-preview>.eyebrow{color:#92dccf;font-size:9px;letter-spacing:.12em}
.user-preview-avatar{display:grid;place-items:center;width:66px;height:66px;margin:26px 0 17px;border:1px solid #81cccf66;border-radius:21px;background:#ffffff15;color:#b0ffea;font-size:22px;font-weight:850}
.user-editor-preview h2{margin:0;color:#fff;font-size:22px;line-height:1.2;letter-spacing:-.03em;overflow-wrap:anywhere}
.user-editor-preview>p:not(.eyebrow){margin:8px 0 16px;color:#b8d2e8;font-size:12px;overflow-wrap:anywhere}
.user-preview-badge{display:inline-flex;padding:6px 10px;border:1px solid #84dec844;border-radius:99px;background:#75e4c515;color:#a2f6dd;font-size:11px;font-weight:750}
.user-editor-preview dl{display:grid;gap:16px;margin:25px 0 0;padding:22px 0;border-block:1px solid #ffffff1c}
.user-editor-preview dt{color:#9dbad2;font-size:10px}.user-editor-preview dd{margin:6px 0 0;color:#fff;font-size:13px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.user-preview-note{display:flex;gap:10px;align-items:flex-start;margin-top:22px;color:#95e4d5}.user-preview-note p{margin:0;color:#b8d4e5;font-size:11px;line-height:1.65}
.user-editor button:focus-visible{outline:3px solid #8ab8ff;outline-offset:3px}
@keyframes user-editor-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.user-editor-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.user-editor-card{padding:20px}.user-editor-preview{padding:22px 18px}.user-editor-actions>small{display:none}}
@media(max-width:1050px){.user-editor-layout{grid-template-columns:minmax(0,1fr)}.user-editor-preview{position:static;display:none}}
@media(max-width:650px){.user-editor-heading{margin-top:18px;align-items:flex-start}.user-editor-heading>span{display:none}.user-editor-heading>div>p:last-child{font-size:13px}.user-editor-fields,.user-assignment-fields,.user-portfolio-grid{grid-template-columns:minmax(0,1fr)}.user-editor-card{padding:20px 17px;border-radius:17px}.user-access-options{grid-template-columns:minmax(0,1fr)}.user-access-option{flex-wrap:nowrap;align-items:center;padding:13px}.user-access-option>span:nth-of-type(2){flex:1;padding-right:18px}.user-access-option small{margin-top:3px}.user-access-option>i{top:17px}.user-editor-actions>div{width:100%}.user-editor-actions button{flex:1;padding:0 12px}.user-editor-actions .primary{justify-content:center;gap:10px}.user-editor-card input:not([type="radio"]):not([type="checkbox"]){font-size:16px}.account-autocomplete-menu{max-height:255px}}
@media(prefers-reduced-motion:reduce){.user-editor-card,.account-autocomplete-menu{animation:none}.user-editor input,.user-access-option,.user-role-shortcuts button{transition:none}.user-access-option:hover{transform:none}}

.iv-answer-evidence{width:min(100%,860px);margin:16px auto 4px;padding:19px 20px;border:1px solid #dce6f1;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(28,57,91,.055)}.iv-answer-evidence>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.iv-answer-evidence>header>div{display:flex;align-items:center;gap:10px}.iv-answer-evidence>header>div>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#1763d4;background:#eaf2ff;font-size:17px}.iv-answer-evidence>header b,.iv-answer-evidence>header small{display:block}.iv-answer-evidence>header b{color:#173653;font-size:12px}.iv-answer-evidence>header small{margin-top:2px;color:#7a8ca1;font-size:9px}.iv-answer-evidence>header em{padding:5px 8px;border-radius:999px;color:#697d92;background:#eef3f7;font-size:8px;font-style:normal;font-weight:800}.iv-evidence-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.iv-evidence-fields label>span{display:flex;justify-content:space-between;margin-bottom:6px;color:#344d68;font-size:9px;font-weight:850}.iv-evidence-fields label>span small{color:#8796a8;font-weight:500}.iv-evidence-fields textarea{width:100%;min-height:76px;resize:vertical;border:1px solid #d9e3ed;border-radius:10px;padding:10px 11px;outline:0;color:#344b65;background:#fbfdff;font-size:10px;line-height:1.5}.iv-evidence-fields textarea:focus{border-color:#78a3ef;box-shadow:0 0 0 3px rgba(37,99,235,.07);background:#fff}.iv-evidence-upload{margin-top:11px}.iv-evidence-upload>label{display:flex;align-items:center;gap:10px;padding:12px;border:1px dashed #b9cce1;border-radius:11px;color:#526b85;background:#f8fbfe;cursor:pointer}.iv-evidence-upload>label>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#2164ce;background:#e8f1ff;font-size:16px}.iv-evidence-upload>label>div{flex:1}.iv-evidence-upload>label b,.iv-evidence-upload>label small{display:block}.iv-evidence-upload>label b{font-size:10px}.iv-evidence-upload>label small{margin-top:2px;color:#8191a4;font-size:8px}.iv-evidence-upload>label strong{padding:7px 9px;border-radius:8px;color:#1f5fbf;background:#eaf2ff;font-size:8px}.iv-evidence-upload>input{display:none}.iv-evidence-upload>p{margin:8px 2px 0;color:#94a1b0;font-size:8px}.iv-evidence-upload>ul{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}.iv-evidence-upload li{display:grid;grid-template-columns:18px minmax(0,1fr) auto 24px;align-items:center;gap:6px;padding:7px 8px;border:1px solid #e3eaf1;border-radius:8px;color:#38516b;background:#fbfdff;font-size:8.5px}.iv-evidence-upload li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-evidence-upload li small{color:#8796a8}.iv-evidence-upload li button{width:22px;height:22px;border-radius:6px;color:#a82c2c;background:#fff0f0}.iv-answer-evidence>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:13px;border-top:1px solid #e7edf3}.iv-answer-evidence>footer small{color:#7e8fa2;font-size:8.5px}.iv-answer-evidence>footer button{min-width:190px}.iv-answer-evidence.readonly>p{color:#50677f;font-size:10px;white-space:pre-line}.iv-saved-evidence-links,.iv-saved-evidence-files{display:grid;gap:5px;margin:8px 0 0;padding-left:18px;font-size:9px}.iv-saved-evidence-links a,.iv-saved-evidence-files a{color:#2363c7;overflow-wrap:anywhere}@media(max-width:720px){.iv-evidence-fields{grid-template-columns:1fr}.iv-answer-evidence>footer{align-items:stretch;flex-direction:column}.iv-answer-evidence>footer button{width:100%}}
.iv-answer-evidence.compact{margin-top:12px;padding:13px 14px;border-radius:13px}.iv-answer-evidence.compact>header{margin-bottom:9px}.iv-answer-evidence.compact>header>div>span{width:28px;height:28px;font-size:13px}.iv-answer-evidence.compact>header b{font-size:10.5px}.iv-answer-evidence.compact>header small{font-size:8px}.iv-evidence-compose{overflow:hidden;border:1px solid #d8e3ee;border-radius:11px;background:#fff;transition:.15s ease}.iv-evidence-compose:focus-within{border-color:#79a4ef;box-shadow:0 0 0 3px rgba(37,99,235,.07)}.iv-evidence-compose>textarea{width:100%;min-height:76px;display:block;resize:vertical;border:0;padding:11px 12px;outline:0;color:#334b64;background:transparent;font-size:10px;line-height:1.5}.iv-evidence-compose-bar{min-height:42px;display:flex;align-items:center;gap:8px;padding:5px 6px 5px 9px;border-top:1px solid #e7edf3;background:#f9fbfd}.iv-evidence-compose-bar>label{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#315b88;background:#edf3f8;font-size:15px;cursor:pointer;transition:.15s ease}.iv-evidence-compose-bar>label:hover{color:#175fc9;background:#e5efff}.iv-evidence-compose-bar>input{display:none}.iv-evidence-compose-bar>span{flex:1;color:#8291a3;font-size:8px}.iv-evidence-compose-bar>button{min-width:150px;padding:8px 11px;font-size:9px}.iv-compact-empty{margin:6px 2px 0;color:#98a5b4;font-size:8px}.iv-compact-files{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 0;padding:0;list-style:none}.iv-compact-files li{display:grid;grid-template-columns:14px minmax(0,150px) auto 20px;align-items:center;gap:5px;padding:5px 6px;border:1px solid #dfe7ef;border-radius:8px;color:#405a74;background:#f8fafc;font-size:8px}.iv-compact-files li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-compact-files li small{color:#8795a5}.iv-compact-files li button{width:18px;height:18px;padding:0;border-radius:5px;color:#a82c2c;background:#fff0f0}@media(max-width:720px){.iv-evidence-compose-bar>span{display:none}.iv-evidence-compose-bar>button{min-width:0;flex:1}}

.iv-layout{grid-template-columns:270px minmax(480px,1fr)}/* `column-reverse`: el panel crece hacia arriba y la burbuja se queda abajo, en el mismo
   sitio donde se pulso. Asi el segundo clic minimiza sin ir a buscar la cruz del panel. */
.iv-ai-floating{position:fixed;right:20px;bottom:18px;z-index:90;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:10px}.iv-ai-floating:not(.open) .iv-assistant{display:none}
/* `--fab-shadow` viaja aparte porque el latido la reescribe: cada tema define la suya y el
   halo la respeta en vez de aplanar todas las burbujas a la misma sombra. */
.iv-ai-fab{--fab-shadow:0 14px 35px rgba(8,42,76,.3);position:relative;overflow:hidden;width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(87,225,200,.55);border-radius:50%;color:#69e1ca;background:linear-gradient(145deg,#123d69,#0c2f55);box-shadow:var(--fab-shadow);transition:transform .22s cubic-bezier(.34,1.35,.5,1),box-shadow .22s ease,border-radius .28s ease,background .28s ease}
.iv-ai-fab:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 18px 40px rgba(8,42,76,.36)}.iv-ai-fab:active{transform:translateY(0) scale(.94)}
/* El destello cruza la burbuja al pasar el cursor; el halo late solo mientras esta cerrada,
   que es cuando llamar la atencion sirve de algo. La sombra no la recorta el overflow. */
.iv-ai-fab:before{content:"";position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.28),transparent 66%);transform:translateX(-130%);opacity:0}
.iv-ai-fab:hover:before{animation:iv-fab-sheen .75s ease}
.iv-ai-floating:not(.open) .iv-ai-fab{animation:iv-fab-halo 3s ease-out infinite}
.iv-ai-fab>span{grid-area:1/1;font-size:23px;line-height:1;transition:transform .28s cubic-bezier(.34,1.35,.5,1),opacity .2s ease}
.iv-fab-min{opacity:0;transform:scale(.4) rotate(-120deg)}
.iv-ai-floating.open .iv-fab-mark{opacity:0;transform:scale(.4) rotate(120deg)}
.iv-ai-floating.open .iv-fab-min{opacity:1;transform:none}
.iv-ai-floating.open .iv-ai-fab{border-radius:50%;background:linear-gradient(145deg,#0e7d78,#0b5a72);box-shadow:0 9px 20px rgba(9,61,90,.28)}
.iv-ai-fab>i{position:absolute;right:2px;top:3px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#20ba9c;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:opacity .2s ease,transform .2s ease}
.iv-ai-floating.open .iv-ai-fab>i{opacity:0;transform:scale(.3)}
@keyframes iv-fab-sheen{from{transform:translateX(-130%);opacity:1}to{transform:translateX(130%);opacity:0}}
@keyframes iv-fab-halo{0%{box-shadow:var(--fab-shadow),0 0 0 0 rgba(45,212,191,.42)}68%{box-shadow:var(--fab-shadow),0 0 0 15px rgba(45,212,191,0)}100%{box-shadow:var(--fab-shadow),0 0 0 15px rgba(45,212,191,0)}}.iv-ai-floating.open .iv-assistant{width:min(390px,calc(100vw - 28px));height:min(680px,calc(100dvh - 172px));overflow:hidden;border:1px solid #d7e3ef;border-radius:17px;background:#fff;box-shadow:0 24px 70px rgba(11,43,76,.25);animation:iv-ai-pop .18s ease-out}.iv-ai-header-actions{display:flex!important;align-items:center;gap:7px}.iv-ai-header-actions em{padding:5px 7px;border-radius:7px;color:#166e62;background:#e8f8f4;font-size:8px;font-style:normal;font-weight:850}.iv-ai-header-actions button{width:29px;height:29px;display:grid;place-items:center;border:1px solid #dce5ee;border-radius:8px;color:#55708c;background:#fff;font-size:18px;line-height:1}.iv-ai-header-actions button:hover{color:#174f88;background:#eef4fa}@keyframes iv-ai-pop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:1300px){.iv-layout{grid-template-columns:230px minmax(430px,1fr)}}@media(max-width:1050px){.iv-layout{grid-template-columns:210px minmax(390px,1fr)}}@media(max-width:820px){.iv-ai-floating{right:12px;bottom:12px}.iv-ai-fab{width:50px;height:50px}.iv-ai-floating.open .iv-assistant{width:calc(100vw - 24px);height:min(640px,calc(100dvh - 156px))}}
.iv-ai-floating.open .iv-assistant{min-height:0}
.iv-topbar{grid-template-columns:270px minmax(320px,1fr)}.iv-inline-progress{width:min(100%,860px);margin:0 auto 12px;padding:11px 14px;border:1px solid #d9e5f2;border-radius:12px;background:linear-gradient(115deg,rgba(255,255,255,.96),rgba(242,248,255,.96));box-shadow:0 7px 22px rgba(29,61,96,.055)}.iv-inline-progress>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}.iv-inline-progress>header>div{display:flex;align-items:baseline;gap:9px}.iv-inline-progress>header span{color:#225da9;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.iv-inline-progress>header b{color:#6f8299;font-size:9px}.iv-inline-progress>header strong{padding:4px 7px;border-radius:999px;color:#0b7e6c;background:#e5f8f3;font-size:9px}.iv-inline-progress>div{height:6px;overflow:hidden;border-radius:999px;background:#e4ebf3}.iv-inline-progress>div>i{position:relative;height:100%;display:block;min-width:5px;border-radius:inherit;background:linear-gradient(90deg,#2f73ee 0%,#397ff0 48%,#35c6aa 100%);box-shadow:0 0 12px rgba(51,180,164,.32);transition:width .35s ease}.iv-inline-progress>div>i::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#36c5aa;box-shadow:0 1px 5px rgba(14,116,100,.35);transform:translate(1px,-50%)}@media(max-width:1300px){.iv-topbar{grid-template-columns:230px minmax(300px,1fr)}}@media(max-width:1050px){.iv-topbar{grid-template-columns:210px minmax(0,1fr)}}@media(max-width:820px){.iv-topbar{grid-template-columns:1fr auto}.iv-inline-progress>header>div{align-items:flex-start;flex-direction:column;gap:2px}.iv-inline-progress{padding:10px 11px}}
.iv-question-stage{grid-template-rows:minmax(0,1fr)}.iv-progress-nav{width:min(100%,1130px);display:grid;grid-template-columns:125px minmax(0,860px) 150px;align-items:center;justify-content:center;gap:12px;margin:0 auto 12px}.iv-progress-nav .iv-inline-progress{width:100%;margin:0}.iv-progress-nav>button{height:38px;padding:0 13px;border:1px solid #d4e0ec;border-radius:10px;color:#35516f;background:rgba(255,255,255,.95);font-size:9px;font-weight:850;white-space:nowrap;box-shadow:0 5px 16px rgba(28,57,91,.045);transition:.16s ease}.iv-progress-nav>button:hover:not(:disabled){border-color:#83aaf2;color:#1759cb;background:#fff;box-shadow:0 7px 18px rgba(37,99,235,.11);transform:translateY(-1px)}.iv-progress-nav>button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}@media(max-width:1150px){.iv-progress-nav{grid-template-columns:105px minmax(0,1fr) 125px}.iv-progress-nav>button{padding-inline:9px}}@media(max-width:720px){.iv-progress-nav{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}.iv-progress-nav>button{width:40px;padding:0;font-size:13px}.iv-progress-nav>button span{display:none}.iv-inline-progress>header b{display:none}}
.iv-ai-header-actions #ai-minimize{width:31px;height:31px;border-color:#f2c7c7;color:#b4232d;background:#fff1f2;font-size:20px;font-weight:700;line-height:1;box-shadow:0 2px 7px rgba(180,35,45,.09)}.iv-ai-header-actions #ai-minimize:hover{border-color:#df7379;color:#fff;background:#d93642;box-shadow:0 5px 13px rgba(180,35,45,.22);transform:scale(1.04)}
.iv-session{position:relative;height:100%}.iv-dimension-toggle{min-width:0;max-width:720px;display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;background:rgba(255,255,255,.045);text-align:left;transition:.16s ease}.iv-dimension-toggle:hover{border-color:rgba(112,224,204,.3);background:rgba(255,255,255,.09)}.iv-dimension-toggle>span{min-width:0;flex:1}.iv-dimension-toggle small,.iv-dimension-toggle b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-dimension-toggle small{margin:0 0 2px;color:#9fc0e1;font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.iv-dimension-toggle b{font-size:12px}.iv-dimension-toggle>i{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:7px;color:#74e0cc;background:rgba(38,184,158,.12);font-size:12px;font-style:normal}.iv-dimension-popover{position:absolute;left:62px;top:61px;z-index:120;width:min(620px,calc(100vw - 350px));overflow:hidden;border:1px solid #d5e2ef;border-radius:15px;color:#243e59;background:#fff;box-shadow:0 22px 65px rgba(8,38,69,.24);animation:iv-dimension-open .18s ease-out}.iv-dimension-popover[hidden]{display:none}.iv-dimension-popover>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e4ebf2;background:linear-gradient(110deg,#f7fbff,#eff8f6)}.iv-dimension-popover>header>div{display:flex;align-items:center;gap:9px;min-width:0}.iv-dimension-popover>header>div>span{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;color:#118c7a;background:#e4f8f3}.iv-dimension-popover header small,.iv-dimension-popover header b{display:block}.iv-dimension-popover header small{color:#6b8299;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.iv-dimension-popover header b{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173b60;font-size:12px}.iv-dimension-popover header em{padding:5px 8px;border-radius:999px;color:#107665;background:#def5ef;font-size:8px;font-style:normal;font-weight:850}.iv-dimension-popover>p{max-height:310px;overflow-y:auto;margin:0;padding:17px 18px;color:#496179;font-size:10.5px;line-height:1.7;white-space:pre-line}.iv-dimension-popover>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #e6edf3;background:#f8fafc}.iv-dimension-popover>footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8191a3;font-size:8px}.iv-dimension-popover>footer button{padding:7px 9px;border-radius:8px;color:#245fb9;background:#e8f1ff;font-size:8px;font-weight:850}@keyframes iv-dimension-open{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:820px){.iv-topbar{grid-template-columns:1fr}.iv-brand{display:none}.iv-session{display:flex;padding-inline:10px}.iv-dimension-toggle{flex:1}.iv-dimension-popover{position:fixed;left:12px;right:12px;top:72px;width:auto}.iv-dimension-popover>p{max-height:55dvh}}

/* Cuestionario responsive v2: adaptación del diseño de referencia al flujo real. */
.iv-shell{grid-template-rows:78px minmax(0,1fr);background:radial-gradient(circle at 78% -10%,rgba(47,108,244,.13),transparent 34%),radial-gradient(circle at 48% 22%,rgba(25,199,176,.06),transparent 27%),linear-gradient(180deg,#f7faff,#f2f6fb 48%,#f7f9fc)}
.iv-topbar{grid-template-columns:238px minmax(0,1fr) auto;padding-right:20px;background:linear-gradient(90deg,#0a294b,#0b2f57 58%,#154878);box-shadow:0 8px 28px rgba(7,31,58,.18)}
.iv-menu{display:none;width:40px;height:40px;border:1px solid rgba(255,255,255,.14);border-radius:11px;color:#fff;background:rgba(255,255,255,.07);font-size:17px}
.iv-brand{padding-inline:18px;font-size:21px}
.iv-session{padding-inline:18px}.iv-back{width:42px;height:42px;flex-basis:42px;border-radius:12px;font-size:18px}
.iv-dimension-toggle{width:min(100%,560px);max-width:560px;min-height:52px;padding:7px 12px;border-radius:13px}.iv-dimension-toggle small{font-size:9px}.iv-dimension-toggle b{font-size:13px}.iv-dimension-toggle>i{width:27px;height:27px;flex-basis:27px;border-radius:8px}
.iv-user{display:flex;height:auto;padding:0}.iv-user>i{width:36px;height:36px;border-radius:50%;font-size:11px}.iv-user span b{font-size:11px}.iv-user span small{font-size:9px}
.iv-layout{grid-template-columns:238px minmax(0,1fr)}
.iv-navigator{background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.iv-nav-head{padding:20px 16px 14px}.iv-nav-head b{font-size:16px}.iv-nav-head small{font-size:10.5px}
.iv-skipped-head{padding:16px 16px 9px}.iv-skipped-head span{font-size:10px}.iv-skipped-head small{font-size:10.5px}
.iv-number-grid{grid-template-columns:repeat(4,1fr);gap:6px;padding:5px 12px 14px}.iv-number{height:38px;aspect-ratio:auto;border-radius:9px;font-size:11px}
.iv-question-stage{background:transparent}
.iv-question-scroll{padding:16px 28px 18px;scrollbar-gutter:stable}
.iv-progress-nav{width:min(100%,1230px);grid-template-columns:150px minmax(0,1fr) 170px;gap:14px;margin-bottom:11px}
.iv-progress-nav>button{height:43px;border-radius:12px;font-size:11px;box-shadow:0 7px 18px rgba(28,58,92,.06)}
.iv-inline-progress{height:54px;padding:9px 14px;border-radius:14px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 20px rgba(28,58,92,.05)}
.iv-inline-progress>header{margin-bottom:7px}.iv-inline-progress>header span{font-size:9px}.iv-inline-progress>header b{font-size:10px}.iv-inline-progress>header strong{font-size:10px}.iv-inline-progress>div{height:7px}
.iv-question-card{position:relative;width:min(100%,1230px);overflow:hidden;padding:18px 21px 17px;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 18px 50px rgba(20,48,82,.10)}
.iv-question-card::before{content:"";position:absolute;right:-170px;top:-170px;width:280px;height:280px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(47,108,244,.09),transparent 68%)}
.iv-question-meta{position:relative;margin-bottom:10px}.iv-question-meta div span{font-size:10px}.iv-question-meta div b{font-size:10.5px}.iv-question-meta>em{border:1px solid #d8e6ff;padding:6px 8px;font-size:9px}
.iv-question-card>h1{position:relative;max-width:1100px;margin-bottom:13px;font-size:clamp(23px,1.55vw,28px);line-height:1.2;letter-spacing:-.035em}
.iv-evidence{position:relative;margin-bottom:13px;border-radius:13px}.iv-evidence summary{padding:9px 11px}.iv-evidence summary span b{font-size:12px}.iv-evidence summary span small{font-size:9.5px}.iv-evidence>div p{font-size:12.5px;line-height:1.55}.iv-evidence>div small{font-size:10px}
.iv-options{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.iv-section-title{grid-column:1/-1;margin-bottom:0}.iv-section-title span{font-size:13px}.iv-section-title small{font-size:9.5px}
.iv-option{position:relative;min-height:56px;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;padding:8px 11px;border-radius:13px}.iv-option:last-child:nth-child(even){grid-column:1/-1}.iv-option>i{width:36px;height:36px;border-radius:10px;font-size:13px}.iv-option>span{font-size:13px;line-height:1.34}.iv-option.selected{background:linear-gradient(135deg,#eef5ff,#fbfdff);box-shadow:0 0 0 3px rgba(47,108,244,.09),0 12px 28px rgba(47,108,244,.10)}.iv-option.selected>i{background:linear-gradient(145deg,#2f6cf4,#4e8cff);box-shadow:0 7px 16px rgba(47,108,244,.22)}
.iv-answer-evidence,.iv-answer-evidence.compact{width:min(100%,1230px);margin-top:10px;border-radius:18px;box-shadow:0 10px 30px rgba(22,48,80,.06)}.iv-answer-evidence.compact{padding:12px 13px}.iv-answer-evidence.compact>header b{font-size:12px}.iv-answer-evidence.compact>header small{font-size:9.5px}.iv-evidence-compose>textarea{min-height:52px;font-size:12px;line-height:1.45}.iv-evidence-compose-bar>span{font-size:9.5px}.iv-evidence-compose-bar>button{height:38px;font-size:11px}
.iv-ai-floating{right:26px;bottom:24px}.iv-ai-fab{--fab-shadow:0 18px 34px rgba(9,61,90,.28);width:58px;height:58px;border:0;border-radius:18px;background:linear-gradient(145deg,#0c466d,#0b6471)}.iv-ai-fab:hover{transform:translateY(-3px) rotate(-2deg) scale(1.03)}.iv-ai-fab:active{transform:translateY(0) scale(.93) rotate(0)}.iv-ai-fab>i{right:5px;top:5px}.iv-ai-floating.open .iv-assistant{width:min(360px,calc(100vw - 28px));height:min(680px,calc(100dvh - 182px));border-radius:18px;box-shadow:0 28px 70px rgba(17,48,83,.16)}
.iv-dimension-popover{top:68px;width:min(560px,calc(100vw - 330px));border-radius:17px;box-shadow:0 28px 70px rgba(17,48,83,.16)}

@media(min-width:901px) and (max-height:850px){
  .iv-question-scroll{padding-top:10px;padding-bottom:10px}
  .iv-progress-nav{margin-bottom:8px}.iv-progress-nav>button{height:40px}.iv-inline-progress{height:48px}
  .iv-question-card{padding:14px 18px 13px}.iv-question-meta{margin-bottom:7px}.iv-question-card>h1{margin-bottom:10px;font-size:clamp(21px,2.55vh,25px);line-height:1.16}
  .iv-evidence{margin-bottom:9px}.iv-evidence summary{padding:7px 10px}.iv-options{gap:6px}.iv-option{min-height:49px;padding:6px 10px}.iv-option>i{width:32px;height:32px;font-size:12px}.iv-option>span{font-size:12.25px;line-height:1.28}
  .iv-answer-evidence,.iv-answer-evidence.compact{margin-top:8px}.iv-answer-evidence.compact{padding:9px 11px}.iv-evidence-compose>textarea{min-height:42px;max-height:48px}.iv-evidence-compose-bar{min-height:37px}.iv-evidence-compose-bar>button{height:34px}
}

@media(max-width:900px){
  .iv-shell{height:auto;min-height:100dvh;grid-template-rows:78px minmax(0,1fr);overflow:visible}
  .iv-topbar{position:sticky;top:0;display:flex;height:78px;padding:0 12px;gap:10px}.iv-menu{display:grid;place-items:center;flex:0 0 40px}.iv-brand{padding:0;border:0;font-size:18px}.iv-session{min-width:0;flex:1;padding:0}.iv-back{display:none}.iv-dimension-toggle{width:100%;min-width:0}.iv-user{display:none}
  .iv-layout{display:block;overflow:visible}.iv-navigator{position:fixed;left:0;top:78px;bottom:0;z-index:85;width:250px;min-height:0;border-right:1px solid var(--iv-line);transform:translateX(-105%);transition:transform .26s ease;box-shadow:0 28px 70px rgba(17,48,83,.16)}.iv-navigator.open{transform:none}.iv-nav-head,.iv-skipped-head,.iv-legend{display:block}.iv-number-grid{display:grid;grid-template-columns:repeat(4,1fr);overflow-y:auto;padding:5px 12px 14px}.iv-number{width:auto;height:42px;flex:auto}
  .iv-question-stage{min-height:calc(100dvh - 78px)}.iv-question-scroll{overflow:visible;padding:18px 14px 32px}.iv-progress-nav{grid-template-columns:110px minmax(0,1fr) 130px;gap:8px}.iv-options{grid-template-columns:1fr}.iv-option:last-child:nth-child(even){grid-column:auto}.iv-option{min-height:58px}.iv-option>span{font-size:13px}.iv-question-card>h1{font-size:clamp(23px,4vw,28px)}
  .iv-dimension-popover{position:fixed;left:70px;right:auto;top:84px;width:calc(100vw - 92px)}
}

@media(max-width:640px){
  .iv-topbar{padding-inline:10px}.iv-brand{font-size:17px}.iv-brand i{display:none}.iv-dimension-toggle{min-height:46px;padding:6px 9px}.iv-dimension-toggle small{display:none}.iv-dimension-toggle b{font-size:11px}
  .iv-progress-nav{grid-template-columns:1fr 1fr}.iv-progress-nav .iv-inline-progress{grid-column:1/-1;grid-row:1}.iv-progress-nav>button{grid-row:2;width:auto;height:42px;font-size:11px}.iv-progress-nav>button span{display:inline}.iv-inline-progress>header>div{align-items:baseline;flex-direction:row;gap:7px}.iv-inline-progress>header b{display:block}
  .iv-question-card{padding:18px 15px}.iv-question-card>h1{font-size:22px;line-height:1.22}.iv-section-title small{display:none}.iv-option{min-height:64px;padding:10px}.iv-option>span{font-size:13.5px;line-height:1.38}
  .iv-evidence summary span b{font-size:12.5px}.iv-evidence>div p{font-size:13px}.iv-evidence-compose>textarea{min-height:76px;font-size:13px}.iv-evidence-compose-bar{flex-wrap:wrap}.iv-evidence-compose-bar>button{width:100%;flex-basis:100%}
  .iv-ai-floating{right:14px;bottom:16px}.iv-ai-floating.open{left:12px;right:12px}.iv-ai-floating.open .iv-assistant{width:100%;height:min(640px,calc(100dvh - 168px))}.iv-dimension-popover{left:12px;right:12px;width:auto}
}

@media(prefers-reduced-motion:reduce){.iv-navigator,.iv-option,.iv-question-card,.iv-ai-fab,.iv-ai-fab:before,.iv-ai-fab>span,.iv-ai-floating.open .iv-assistant{animation:none!important;transition:none!important}}

/* Espacio especializado para usuarios cliente */
.client-app .main{padding:98px clamp(22px,3.2vw,52px) 52px}.client-app .side{background:rgba(255,255,255,.98)}.client-app .profile{transition:background .18s ease}.client-app .profile:hover{background:rgba(255,255,255,.08)}
.client-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 13px;padding:0 2px}.client-welcome h1{margin:0;color:#102b4d;font-size:clamp(22px,1.9vw,30px);line-height:1.1;letter-spacing:-.04em}.client-welcome>div:first-child>p:last-child{max-width:750px;margin:6px 0 0;color:#657b96;font-size:13px}.client-welcome>div:first-child>p b{color:#254f83}.client-private{display:flex;align-items:center;gap:10px;min-width:260px;padding:13px 15px;border:1px solid #d8e9e5;border-radius:14px;background:linear-gradient(135deg,#f2fbf8,#fff)}.client-private>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#def7ef;color:#0e9278;font-weight:900}.client-private>div{display:grid}.client-private b{font-size:12px;color:#174c44}.client-private small{max-width:205px;margin-top:2px;color:#6b8b85;font-size:9px}
/* `start`: cada tarjeta mide lo que pide su contenido. Estiradas a la misma altura, la del
   diagnostico dejaba un vacio bajo el boton solo para alcanzar a la ficha de la derecha. */
.client-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.72fr);align-items:start;gap:14px;margin-bottom:13px}.client-assessment-card,.client-role-card,.client-journey{border:1px solid #dce6f2;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(31,65,103,.09)}.client-assessment-card{position:relative;overflow:hidden;padding:17px 20px}.client-assessment-card:before{content:"";position:absolute;right:-90px;top:-110px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.11),transparent 68%)}.client-card-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}.client-card-top>small{color:#8797aa;font-size:10px}.client-status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#fff4d9;color:#a46707;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.client-status i{width:7px;height:7px;border-radius:50%;background:#f5a623;box-shadow:0 0 0 4px rgba(245,166,35,.13)}.client-status.completed{color:#078270;background:#e5f8f3}.client-status.completed i{background:#17aa8e}.client-assessment-copy{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:18px;align-items:center;margin:13px 0 11px}.client-assessment-copy h2{margin:3px 0 6px;color:#102b4d;font-size:21px;letter-spacing:-.035em}.client-assessment-copy>div>p:last-child{max-width:620px;margin:0;color:#657991;font-size:12px}.client-progress-ring{position:relative;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#2563eb var(--client-progress),#e8eef6 0)}.client-progress-ring:before{content:"";position:absolute;width:64px;height:64px;border-radius:50%;background:#fff}.client-progress-ring span{position:relative;display:grid;text-align:center}.client-progress-ring b{color:#16385f;font-size:19px}.client-progress-ring small{color:#8092a7;font-size:8px}.client-progress-detail{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:15px;align-items:center;padding:10px 0;border-top:1px solid #edf2f8}.client-progress-detail>div{height:8px;border-radius:999px;background:#e8eef5;overflow:hidden}.client-progress-detail>div span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#17b5a2)}.client-progress-detail small{color:#71849a;font-size:10px}.client-primary-action{position:relative;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;margin-top:4px;border-radius:12px;background:linear-gradient(135deg,#2768eb,#245bd2);color:#fff;font-weight:850;box-shadow:0 9px 22px rgba(37,99,235,.2)}.client-primary-action:disabled{background:#e8edf3;color:#91a0b0;box-shadow:none}.empty-client-assessment{display:grid;align-content:center;justify-items:start;min-height:360px}
.client-role-card{padding:23px;background:linear-gradient(155deg,#102f56,#163e70);color:#fff}.client-role-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;border:1px solid color-mix(in srgb,var(--role-color) 68%,white);border-radius:14px;background:color-mix(in srgb,var(--role-color) 28%,transparent);color:#fff;font-weight:900}.client-role-card .eyebrow{color:#64dfca}.client-role-card h2{margin:0 0 18px;font-size:21px}.client-role-card dl{display:grid;gap:10px;margin:0}.client-role-card dl>div{padding:10px 0;border-top:1px solid rgba(255,255,255,.11)}.client-role-card dt{color:#9eb4cc;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.client-role-card dd{margin:3px 0 0;color:#fff;font-size:12px;font-weight:750}.client-role-card>p:not(.eyebrow){margin:20px 0;color:#c4d4e5;font-size:11px}.client-profile-link{padding:0;background:transparent;color:#65dfca;font-size:10px;font-weight:850}
.client-journey{padding:21px 24px;margin-bottom:16px}.client-journey>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.client-journey h2{margin:0;color:#173352;font-size:18px}.client-journey>header>span{padding:6px 9px;border-radius:999px;background:#eef5ff;color:#3168bd;font-size:9px;font-weight:800}.client-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px}.client-steps.steps-3{grid-template-columns:repeat(3,1fr)}.client-steps article{position:relative;display:flex;align-items:center;gap:10px;padding-right:20px}.client-steps article:not(:last-child):after{content:"";position:absolute;left:42px;right:6px;top:16px;height:2px;background:#e4ebf3}.client-steps article>i{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border:2px solid #d7e1ec;border-radius:50%;background:#fff;color:#8292a4;font-size:10px;font-style:normal;font-weight:900}.client-steps article.done>i{border-color:#15a98d;background:#15a98d;color:#fff}.client-steps article.active>i{border-color:#2563eb;background:#2563eb;color:#fff}.client-steps article>div{position:relative;z-index:1;display:grid;background:#fff}.client-steps b{font-size:11px;color:#24415f}.client-steps small{margin-top:2px;color:#8393a5;font-size:8px}/* Instrucciones de arranque: van sobre el diagnostico, asi que pesan como nota al margen y
   no como tres tarjetas que compiten con el boton de empezar. */
.client-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:13px}.client-support-grid article{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #e2eaf4;border-radius:12px;background:rgba(255,255,255,.78)}.client-support-grid article>span{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:7px;background:#edf4ff;color:#2563eb;font-size:8px;font-weight:900}.client-support-grid h3{margin:0 0 2px;color:#173656;font-size:11px}.client-support-grid p{margin:0;color:#7c8da1;font-size:9px;line-height:1.5}
.client-profile-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:rgba(8,25,47,.67);backdrop-filter:blur(8px)}.client-profile-modal form{width:min(690px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(5,20,40,.35)}.client-profile-modal header{position:relative;display:grid;grid-template-columns:48px 1fr auto;gap:14px;padding:25px 27px 20px;border-bottom:1px solid #e8eef5;background:linear-gradient(135deg,#f5f9ff,#fff)}.client-profile-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:linear-gradient(145deg,#286fe9,#2159c7);color:#fff;font-size:11px;font-weight:900}.client-profile-modal h2{margin:0;color:#102b4d;font-size:23px}.client-profile-modal header p:last-child{margin:6px 0 0;color:#6d8198;font-size:11px}.client-modal-close{align-self:start;width:34px;height:34px;border-radius:10px;background:#eef3f8;color:#64788f;font-size:20px}.client-area-field{display:grid;gap:7px;margin:22px 27px 19px;color:#193654;font-size:12px;font-weight:800}.client-area-field input{height:46px;padding:0 13px;border:1px solid #cfdae7;border-radius:11px;background:#fbfdff;color:#183553}.client-area-field small{color:#8192a5;font-size:9px;font-weight:500}.client-profile-modal fieldset{margin:0;padding:0 27px 20px;border:0}.client-profile-modal legend{color:#193654;font-size:12px;font-weight:800}.client-profile-modal fieldset>p{margin:3px 0 12px;color:#7d8fa3;font-size:9px}.client-role-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.client-role-choice{display:grid;grid-template-columns:37px minmax(0,1fr) 18px;gap:10px;align-items:center;min-height:72px;padding:11px;border:1px solid #dce5ef;border-radius:13px;background:#fbfdff;cursor:pointer}.client-role-choice input{position:absolute;opacity:0}.client-role-choice>i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--role-color) 15%,white);color:var(--role-color);font-size:9px;font-style:normal;font-weight:900}.client-role-choice>span{display:grid}.client-role-choice b{color:#173454;font-size:11px}.client-role-choice small{margin-top:3px;color:#7b8da2;font-size:8px}.client-role-choice>em{display:grid;place-items:center;width:17px;height:17px;border:1px solid #cfd9e5;border-radius:50%;color:transparent;font-size:9px;font-style:normal}.client-role-choice:has(input:checked){border-color:var(--role-color);background:color-mix(in srgb,var(--role-color) 7%,white)}.client-role-choice:has(input:checked)>em{border-color:var(--role-color);background:var(--role-color);color:#fff}.client-profile-warning{grid-column:1/-1;padding:13px;border-radius:11px;background:#fff5e4;color:#9a650d;font-size:10px}.client-profile-modal footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 27px;border-top:1px solid #e8eef5;background:#f9fbfe}.client-profile-modal footer>div{display:flex;align-items:center;gap:8px}.client-profile-modal footer small{max-width:260px;color:#788ba1;font-size:9px}.client-save-profile{min-width:175px;min-height:42px;border-radius:11px;background:linear-gradient(135deg,#286fe9,#2058c7);color:#fff;font-size:11px;font-weight:850}.client-save-profile:disabled{background:#d9e1eb;color:#8998a9}
@media(max-width:1050px){.client-dashboard-grid{grid-template-columns:1fr}.client-support-grid{grid-template-columns:1fr}.client-welcome{align-items:flex-start}}@media(max-width:760px){.client-app .main{padding:94px 16px 34px}.client-welcome{display:grid}.client-private{width:100%}.client-assessment-copy{grid-template-columns:1fr}.client-progress-ring{display:none}.client-progress-detail{grid-template-columns:1fr auto}.client-steps{grid-template-columns:1fr 1fr;gap:18px}.client-steps article:not(:last-child):after{display:none}.client-role-options{grid-template-columns:1fr}.client-profile-modal{padding:10px}.client-profile-modal header{grid-template-columns:42px 1fr auto;padding:20px}.client-area-field{margin-inline:20px}.client-profile-modal fieldset{padding-inline:20px}.client-profile-modal footer{align-items:stretch;flex-direction:column;padding:16px 20px}.client-save-profile{width:100%}.client-app .org-badge{display:none}}

/* Selectores inteligentes de área y rol */
.client-profile-modal form{width:min(760px,100%);overflow:visible}.client-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px 27px 26px}.client-combo-field{min-width:0}.client-combo-field>label{display:block;margin-bottom:8px;color:#173553;font-size:12px;font-weight:850}.client-combo-field>small{display:block;margin-top:7px;color:#8192a5;font-size:9px}.client-combobox{position:relative}.client-combobox>input{width:100%;height:50px;padding:0 46px 0 42px;border:1px solid #cfdbe8;border-radius:13px;background:#fbfdff;color:#173653;font-size:12px;font-weight:650;outline:0;transition:border .18s,box-shadow .18s,background .18s}.client-combobox>input:focus{border-color:#3477e8;background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.09)}.client-combo-icon{position:absolute;z-index:1;left:14px;top:15px;color:#5f7d9d;font-size:16px}.client-combo-toggle{position:absolute;right:7px;top:7px;width:36px;height:36px;border-radius:9px;background:#edf4ff;color:#2865ce;font-size:15px}.client-combo-menu{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 7px);max-height:310px;overflow:auto;border:1px solid #d5e1ee;border-radius:15px;background:#fff;box-shadow:0 20px 55px rgba(17,48,82,.22)}.client-combo-caption{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #edf2f7;background:rgba(248,251,255,.97);backdrop-filter:blur(8px)}.client-combo-caption span{color:#526d8c;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.client-combo-caption em{color:#8a9bad;font-size:9px;font-style:normal}.client-combo-results>button{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;gap:10px;align-items:center;width:100%;min-height:57px;padding:8px 12px;border-bottom:1px solid #eff3f7;background:#fff;text-align:left}.client-combo-results>button:hover{background:#f3f7ff}.client-combo-results>button>i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf2ff;color:#2563d6;font-size:8px;font-style:normal;font-weight:900}.client-combo-results>button>span{display:grid;min-width:0}.client-combo-results>button b{overflow:hidden;color:#183654;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.client-combo-results>button small{overflow:hidden;margin-top:3px;color:#7d8fa3;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.client-combo-results>button>em{color:#8da0b5;font-size:14px;font-style:normal}.client-combo-results .client-combo-custom{position:sticky;bottom:0;background:#edf5ff}.client-combo-results .client-combo-custom>i{background:#2563df;color:#fff;font-size:15px}.client-combo-empty{padding:22px;color:#8091a4;font-size:10px;text-align:center}.client-profile-modal footer{position:relative;z-index:1}
@media(max-width:760px){.client-profile-modal form{overflow-y:auto}.client-profile-fields{grid-template-columns:1fr;padding:20px}.client-combo-menu{position:relative;top:6px;max-height:230px;margin-bottom:6px}.client-profile-modal footer{margin-top:0}}

/* Página completa de onboarding */
.client-onboarding-page{min-height:100dvh;background:radial-gradient(circle at 82% 15%,rgba(48,115,231,.12),transparent 28%),linear-gradient(145deg,#f2f7fd,#f8fbff 52%,#eef5fb);color:#173553}.client-onboarding-top{position:sticky;z-index:60;top:0;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 clamp(24px,4vw,64px);border-bottom:1px solid rgba(210,224,239,.75);background:rgba(16,47,83,.97);box-shadow:0 8px 25px rgba(15,42,73,.12);backdrop-filter:blur(14px)}.client-onboarding-top>div:last-child{display:flex;align-items:center;gap:12px}.client-onboarding-top>div:last-child>span,.client-onboarding-top>div:last-child>em{padding:7px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#d5e4f5;font-size:9px;font-style:normal;font-weight:750}.client-onboarding-top button{padding:8px 11px;border-radius:9px;background:rgba(255,255,255,.08);color:#d9e7f5;font-size:9px;font-weight:800}.client-onboarding-top button:hover{background:rgba(255,255,255,.14)}.client-onboarding-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.68fr);gap:22px;width:min(1320px,calc(100% - 48px));margin:0 auto;padding:40px 0 58px}.client-onboarding-form{display:grid;gap:16px}.client-onboarding-intro{padding:4px 2px 10px}.client-onboarding-intro>span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#e4efff;color:#2865d5;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.client-onboarding-intro h1{margin:10px 0 7px;color:#102d4e;font-size:clamp(30px,3vw,43px);line-height:1.05;letter-spacing:-.045em}.client-onboarding-intro p{margin:0;color:#6b8098;font-size:13px}.client-onboarding-section{position:relative;padding:22px 24px;border:1px solid #dbe6f1;border-radius:19px;background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(30,65,105,.07)}.client-onboarding-section>header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.client-onboarding-section>header>i{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#e9f1ff;color:#2868d8;font-size:9px;font-style:normal;font-weight:900}.client-onboarding-section>header h2{margin:0;color:#173553;font-size:16px}.client-onboarding-section>header p{margin:4px 0 0;color:#7a8da3;font-size:10px}.client-identity-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.client-identity-fields label{display:grid;gap:7px;color:#173553;font-size:11px;font-weight:850}.client-identity-fields input{height:48px;padding:0 13px;border:1px solid #cfdbe8;border-radius:12px;background:#fbfdff;color:#173553;font-size:12px;outline:0}.client-identity-fields input:focus{border-color:#3477e8;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.client-identity-fields input[readonly]{background:#f2f5f8;color:#8292a4}.client-identity-fields small{color:#8293a7;font-size:8px;font-weight:500}.client-onboarding-section .client-profile-fields{padding:0}.client-theme-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.client-theme-options>label{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr) 20px;gap:12px;align-items:center;min-height:90px;padding:12px;border:1px solid #d6e1ec;border-radius:14px;background:#fbfdff;cursor:pointer;transition:.18s}.client-theme-options>label:hover{border-color:#79a6ed;transform:translateY(-1px)}.client-theme-options input{position:absolute;opacity:0}.client-theme-options>label:has(input:checked){border-color:#2e6fe2;background:#f3f7ff;box-shadow:0 0 0 3px rgba(37,99,235,.09)}.client-theme-demo{display:grid;grid-template-columns:20px 1fr;grid-template-rows:12px 1fr;gap:4px;width:76px;height:58px;padding:6px;border:1px solid #d7e1ec;border-radius:9px;background:#fff}.client-theme-demo i{display:block;border-radius:3px;background:#e7eef6}.client-theme-demo i:first-child{grid-column:1/-1;background:#163b65}.client-theme-demo i:nth-child(2){grid-row:2;background:#dce7f5}.client-theme-demo.dark{border-color:#29425e;background:#0f2238}.client-theme-demo.dark i{background:#253e59}.client-theme-demo.dark i:first-child{background:#071525}.client-theme-demo.dark i:nth-child(2){background:#1b5273}.client-theme-options>label>span:nth-of-type(2){display:grid}.client-theme-options b{color:#173553;font-size:11px}.client-theme-options small{margin-top:4px;color:#7e90a5;font-size:8px}.client-theme-options>label>em{display:grid;place-items:center;width:18px;height:18px;border:1px solid #c8d5e3;border-radius:50%;color:transparent;font-size:9px;font-style:normal}.client-theme-options>label:has(input:checked)>em{border-color:#286be0;background:#286be0;color:#fff}.client-onboarding-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:18px 21px;border:1px solid #dbe6f1;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(30,65,105,.06)}.client-onboarding-actions>div{display:flex;align-items:center;gap:9px;margin-right:auto}.client-onboarding-actions small{max-width:350px;color:#72879e;font-size:9px}.client-onboarding-actions .client-save-profile{min-width:225px}
.client-onboarding-preview{position:sticky;top:96px;overflow:hidden;min-height:515px;padding:28px;border:1px solid rgba(110,153,208,.34);border-radius:22px;background:linear-gradient(155deg,#0e2c4e,#123a67 70%,#174879);color:#fff;box-shadow:0 24px 60px rgba(20,54,91,.2)}.client-preview-glow{position:absolute;right:-80px;top:-70px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(47,213,190,.22),transparent 67%)}.client-onboarding-preview>.eyebrow{position:relative;color:#5ce2cd}.client-onboarding-preview>h2{position:relative;margin:6px 0 25px;font-size:22px;letter-spacing:-.03em}.client-preview-card{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.07)}.client-preview-avatar{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(95,225,204,.55);border-radius:13px;background:rgba(32,179,159,.14);color:#7af0df;font-size:12px;font-weight:900}.client-preview-card>div:nth-child(2){display:grid}.client-preview-card b{font-size:12px}.client-preview-card span{margin-top:4px;color:#b7cbe0;font-size:9px}.client-preview-card>em{padding:5px 7px;border-radius:999px;background:rgba(42,203,174,.14);color:#6be8d3;font-size:8px;font-style:normal;font-weight:850}.client-onboarding-preview dl{position:relative;display:grid;gap:0;margin:20px 0}.client-onboarding-preview dl>div{padding:13px 2px;border-top:1px solid rgba(255,255,255,.11)}.client-onboarding-preview dt{color:#8faac4;font-size:8px;text-transform:uppercase;letter-spacing:.11em}.client-onboarding-preview dd{margin:4px 0 0;color:#fff;font-size:11px;font-weight:750}.client-preview-note{position:relative;display:flex;gap:11px;padding:15px;border-radius:14px;background:rgba(7,27,48,.35)}.client-preview-note>span{color:#55ddc7}.client-preview-note b{font-size:10px}.client-preview-note p{margin:5px 0 0;color:#adc2d8;font-size:9px;line-height:1.5}.client-onboarding-progress{position:absolute;left:28px;right:28px;bottom:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.client-onboarding-progress>span{height:4px;border-radius:99px;background:#40cdb7}.client-onboarding-progress>span:nth-child(2){background:#4d8ee8}.client-onboarding-progress>span:nth-child(3){background:#9d7cea}.client-onboarding-progress small{grid-column:1/-1;margin-top:5px;color:#8fa8c0;font-size:8px}

/* Tema oscuro persistente para el espacio cliente */
html[data-client-theme="dark"] body{background:#081522}html[data-client-theme="dark"] .client-onboarding-page{background:radial-gradient(circle at 82% 15%,rgba(36,133,190,.14),transparent 30%),linear-gradient(145deg,#07131f,#0b1928 55%,#0d2032);color:#dce9f6}html[data-client-theme="dark"] .client-onboarding-intro h1,html[data-client-theme="dark"] .client-onboarding-section h2,html[data-client-theme="dark"] .client-combo-field>label,html[data-client-theme="dark"] .client-identity-fields label,html[data-client-theme="dark"] .client-theme-options b{color:#e6f0fa}html[data-client-theme="dark"] .client-onboarding-intro p,html[data-client-theme="dark"] .client-onboarding-section>header p{color:#91a7bd}html[data-client-theme="dark"] .client-onboarding-section,html[data-client-theme="dark"] .client-onboarding-actions{border-color:#20364c;background:rgba(13,31,49,.94);box-shadow:0 16px 38px rgba(0,0,0,.16)}html[data-client-theme="dark"] .client-identity-fields input,html[data-client-theme="dark"] .client-combobox>input,html[data-client-theme="dark"] .client-theme-options>label{border-color:#2a425a;background:#0e2236;color:#e0ebf5}html[data-client-theme="dark"] .client-identity-fields input[readonly]{background:#0b1b2c;color:#7890a7}html[data-client-theme="dark"] .client-theme-options>label:has(input:checked){border-color:#3c8bea;background:#102b45}html[data-client-theme="dark"] .client-combo-toggle{background:#173653;color:#76aef2}html[data-client-theme="dark"] .client-combo-menu,html[data-client-theme="dark"] .client-combo-results>button{border-color:#243c54;background:#0d2134}html[data-client-theme="dark"] .client-combo-results>button:hover{background:#15314b}html[data-client-theme="dark"] .client-combo-results>button b{color:#dce9f5}html[data-client-theme="dark"] .client-combo-caption{border-color:#243c54;background:rgba(10,27,43,.97)}html[data-client-theme="dark"] .client-combo-results .client-combo-custom{background:#143453}html[data-client-theme="dark"] .client-app .main{background:radial-gradient(circle at 60% 0,rgba(34,113,177,.13),transparent 36%),#091726}html[data-client-theme="dark"] .client-app .side{border-color:#20354a;background:#0c1c2c}html[data-client-theme="dark"] .client-app .side-label,html[data-client-theme="dark"] .client-app .logout{color:#829ab1}html[data-client-theme="dark"] .client-app .nav{color:#9eb2c6}html[data-client-theme="dark"] .client-app .nav.active{background:#132e48;color:#73a8ef}html[data-client-theme="dark"] .client-welcome h1,html[data-client-theme="dark"] .client-journey h2{color:#e2edf7}html[data-client-theme="dark"] .client-welcome>div:first-child>p:last-child{color:#91a6ba}html[data-client-theme="dark"] .client-private{border-color:#244b4b;background:linear-gradient(135deg,#102d31,#102239)}html[data-client-theme="dark"] .client-private b{color:#8ce3d3}html[data-client-theme="dark"] .client-assessment-card,html[data-client-theme="dark"] .client-journey{border-color:#20384f;background:#0e2235;box-shadow:0 16px 40px rgba(0,0,0,.14)}html[data-client-theme="dark"] .client-assessment-copy h2,html[data-client-theme="dark"] .client-steps b{color:#dce9f5}html[data-client-theme="dark"] .client-assessment-copy>div>p:last-child,html[data-client-theme="dark"] .client-progress-detail small{color:#8fa5bb}html[data-client-theme="dark"] .client-progress-ring:before,html[data-client-theme="dark"] .client-steps article>div{background:#0e2235}html[data-client-theme="dark"] .client-progress-ring b{color:#e3eef8}html[data-client-theme="dark"] .client-support-grid article{border-color:#20384f;background:#0d2032}html[data-client-theme="dark"] .client-support-grid h3{color:#dce9f5}html[data-client-theme="dark"] .client-support-grid p{color:#8ca2b7}
@media(max-width:980px){.client-onboarding-shell{grid-template-columns:1fr;width:min(820px,calc(100% - 32px));padding-top:28px}.client-onboarding-preview{position:relative;top:auto;min-height:430px}.client-onboarding-progress{position:relative;left:auto;right:auto;bottom:auto;margin-top:24px}}@media(max-width:700px){.client-onboarding-top{height:auto;min-height:66px;padding:10px 16px}.client-onboarding-top>div:last-child>span,.client-onboarding-top>div:last-child>em{display:none}.client-onboarding-shell{width:calc(100% - 20px);padding:20px 0 32px}.client-identity-fields,.client-theme-options{grid-template-columns:1fr}.client-onboarding-section{padding:18px}.client-onboarding-section .client-profile-fields{padding:0}.client-onboarding-actions{align-items:stretch;flex-direction:column}.client-onboarding-actions .client-save-profile{width:100%}.client-onboarding-preview{padding:22px}}

/* Vista de diagnósticos del cliente */
.client-focus-card{margin-bottom:16px}.client-focus-meta{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:10px 0;border-top:1px solid #edf2f8}.client-focus-meta>div{display:grid;gap:3px;min-width:0}.client-focus-meta small{color:#8797aa;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.client-focus-meta b{overflow:hidden;color:#1d3d63;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.client-status.draft{background:#eef2f7;color:#5d7a99}.client-status.draft i{background:#93a7bd;box-shadow:0 0 0 4px rgba(147,167,189,.15)}
.client-sessions{padding:21px 24px;margin-bottom:16px;border:1px solid #dce6f2;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(31,65,103,.09)}.client-sessions>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.client-sessions h2{margin:0;color:#173352;font-size:18px}.client-sessions>header>span{padding:6px 9px;border-radius:999px;background:#eef5ff;color:#3168bd;font-size:9px;font-weight:800}
.client-session-cards{display:grid;gap:10px}.client-session-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto 16px;gap:14px;align-items:center;width:100%;padding:14px;border:1px solid #e2eaf4;border-radius:15px;background:#fbfdff;text-align:left;transition:border .18s,background .18s,transform .18s}.client-session-card:hover{border-color:#a9c8f4;background:#f4f8ff;transform:translateY(-1px)}.client-session-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf2ff;color:#2563d6;font-size:15px}.client-session-main{display:grid;min-width:0}.client-session-main b{overflow:hidden;color:#183654;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.client-session-main small{overflow:hidden;margin-top:3px;color:#8092a7;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.client-session-bar{display:block;height:6px;margin-top:10px;border-radius:999px;background:#e8eef5;overflow:hidden}.client-session-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#17b5a2)}.client-session-side{display:grid;justify-items:end;gap:5px}.client-session-side strong{color:#1d3d63;font-size:14px}.client-session-side small{color:#8797aa;font-size:9px}.client-session-go{color:#8da0b5;font-size:14px;font-style:normal}
.client-list-note{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border:1px solid #dce6f2;border-radius:16px;background:rgba(255,255,255,.88)}.client-list-note>div{display:flex;align-items:center;gap:12px}.client-list-note>div>span{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#edf4ff;color:#2563eb;font-size:13px}.client-list-note b{display:block;color:#173656;font-size:12px}.client-list-note small{display:block;max-width:640px;margin-top:4px;color:#72849a;font-size:10px}.client-list-note button{flex:0 0 auto;padding:0;background:transparent;color:#2563eb;font-size:11px;font-weight:850}
@media(max-width:760px){.client-focus-meta{grid-template-columns:1fr;gap:10px}.client-session-card{grid-template-columns:38px minmax(0,1fr);row-gap:12px}.client-session-side{grid-column:1/-1;justify-items:start}.client-session-go{display:none}.client-list-note{align-items:flex-start;flex-direction:column;gap:12px}}
html[data-client-theme="dark"] .client-sessions,html[data-client-theme="dark"] .client-list-note{border-color:#20384f;background:#0e2235}html[data-client-theme="dark"] .client-sessions h2,html[data-client-theme="dark"] .client-session-main b,html[data-client-theme="dark"] .client-session-side strong,html[data-client-theme="dark"] .client-focus-meta b,html[data-client-theme="dark"] .client-list-note b{color:#dce9f5}html[data-client-theme="dark"] .client-session-card{border-color:#22394f;background:#0d2032}html[data-client-theme="dark"] .client-session-card:hover{border-color:#2f5f92;background:#14304a}html[data-client-theme="dark"] .client-session-icon{background:#132e48;color:#73a8ef}html[data-client-theme="dark"] .client-focus-meta{border-color:#20384f}html[data-client-theme="dark"] .client-session-bar{background:#1a3550}html[data-client-theme="dark"] .client-session-main small,html[data-client-theme="dark"] .client-session-side small,html[data-client-theme="dark"] .client-list-note small{color:#8ca2b7}html[data-client-theme="dark"] .client-status.draft{background:#16293d;color:#8ea8c2}html[data-client-theme="dark"] .client-list-note>div>span{background:#132e48;color:#73a8ef}

/* Mis resultados: la página del entregable del cliente. */
.client-results-list{display:grid;gap:14px;margin-bottom:16px}
.client-result-card{padding:22px 24px;border:1px solid #dce6f2;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(31,65,103,.09)}.client-result-card>header{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}.client-result-card>header>div{flex:1 1 auto;min-width:0}.client-result-card h2{margin:2px 0 0;color:#123255;font-size:17px;letter-spacing:-.01em}
.client-result-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:#eaf2ff;color:#2563d6;font-size:16px}
.client-result-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:14px 0;margin:0;border-top:1px solid #edf2f8;border-bottom:1px solid #edf2f8}.client-result-meta>div{display:grid;gap:5px;min-width:0}.client-result-meta dt{color:#8797aa;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.client-result-meta dd{margin:0;color:#1d3d63;font-size:12px;font-weight:750}
.client-result-actions{display:flex;align-items:center;gap:16px;margin-top:16px}.client-result-actions .client-primary-action{width:auto;min-width:200px;margin-top:0;padding:0 22px}
.client-result-link{padding:0;background:transparent;color:#2563eb;font-size:11px;font-weight:850}
/* La sesión que espera al consultor se ve apagada -su barra todavía no promete un resultado-
   pero se abre: lleva al cierre, donde se dice si el reporte ya está generado. Antes era una
   tarjeta gris con `cursor:default` y ningún destino, y el clic no hacía nada. */
.client-session-card.waiting{background:#f7fafd}.client-session-card.waiting .client-session-icon{background:#eef2f7;color:#7c93ab}.client-session-card.waiting .client-session-bar i{background:#b9c8d8}
.client-results-empty{display:flex;align-items:flex-start;gap:20px;padding:26px 28px;margin-bottom:16px;border:1px solid #dce6f2;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(31,65,103,.09)}.client-results-empty>span{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:#eef4ff;color:#2563eb;font-size:18px}.client-results-empty>div{flex:1 1 auto;min-width:0}.client-results-empty h2{margin:3px 0 8px;color:#123255;font-size:18px;letter-spacing:-.01em}.client-results-empty p:last-of-type{max-width:74ch;color:#5d7791;font-size:12px;line-height:1.65}.client-results-empty .client-primary-action{width:auto;min-width:220px;margin-top:18px;padding:0 22px}
@media(max-width:760px){.client-results-empty{flex-direction:column;gap:14px}.client-results-empty .client-primary-action{width:100%}.client-result-meta{grid-template-columns:1fr;gap:10px}.client-result-actions{align-items:flex-start;flex-direction:column;gap:12px}.client-result-actions .client-primary-action{width:100%}.client-session-card.waiting{grid-template-columns:38px minmax(0,1fr)}}
html[data-client-theme="dark"] .client-results-empty{border-color:#20384f;background:#0e2235}html[data-client-theme="dark"] .client-results-empty h2{color:#dce9f5}html[data-client-theme="dark"] .client-results-empty p:last-of-type{color:#8ca2b7}html[data-client-theme="dark"] .client-results-empty>span{background:#132e48;color:#73a8ef}html[data-client-theme="dark"] .client-result-card{border-color:#20384f;background:#0e2235}html[data-client-theme="dark"] .client-result-card h2,html[data-client-theme="dark"] .client-result-meta dd{color:#dce9f5}html[data-client-theme="dark"] .client-result-icon{background:#132e48;color:#73a8ef}html[data-client-theme="dark"] .client-result-meta{border-color:#20384f}html[data-client-theme="dark"] .client-result-meta dt{color:#8ca2b7}html[data-client-theme="dark"] .client-result-link{color:#73a8ef}html[data-client-theme="dark"] .client-session-card.waiting{border-color:#1c3247;background:#0b1c2d}html[data-client-theme="dark"] .client-session-card.waiting .client-session-icon{background:#122539;color:#6d8299}html[data-client-theme="dark"] .client-session-card.waiting .client-session-bar i{background:#33506e}

/* Torre de control Supervisor: supervisión de cartera en modo solo lectura. */
.metric-icon.red{background:#ffeced;color:#c93a48}
.supervisor-head-side{display:flex;align-items:center;gap:10px;flex-shrink:0}
.supervisor-readonly{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #d7e3f5;border-radius:20px;background:#eef4ff;color:#2865cd;font-size:11px;font-weight:750;white-space:nowrap}
.supervisor-metrics strong{letter-spacing:-.8px}
/* Tarjeta de nivel: una línea por marco, nunca un promedio que los mezcle. */
.supervisor-metric-levels ul{list-style:none;margin:5px 0 7px;padding:0;display:grid;gap:5px}
.supervisor-metric-levels li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.supervisor-metric-levels li b{font-size:11px;font-weight:750;color:#3d4f66;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.supervisor-metric-levels li .supervisor-score{flex-shrink:0;padding:3px 7px;font-size:12px}
.supervisor-metric-levels em{font-size:10px;line-height:1.35;color:#8091a4;font-style:normal}
.supervisor-muted{color:var(--muted);font-size:12px;margin:6px 0 0}
.empty.compact{min-height:110px;font-size:12px}

/* Codigo de color del seguimiento, uno solo para toda la app: verde = finalizada,
   amarillo = en ritmo, naranja = ritmo lento, rojo = detenida. Vive en :root porque lo
   consumen tres vistas (tablero, cartera y cuentas) y cada una lo tenia por su cuenta:
   el mismo verde significaba "en ritmo" en una y "finalizada" en otra. */
:root{
  --st-done:#17a97f;--st-done-bg:#e7f8f2;--st-done-ink:#0f7a58;
  --st-ok:#e8b923;--st-ok-bg:#fff8dd;--st-ok-ink:#8a6a06;
  --st-watch:#f2801e;--st-watch-bg:#ffeadb;--st-watch-ink:#a8500a;
  --st-stalled:#e0455a;--st-stalled-bg:#ffe9ec;--st-stalled-ink:#c4323f;
  --st-idle:#c3cede;--st-idle-bg:#f0f4f8;--st-idle-ink:#6f8097;
}

/* Chips de estado y nivel */
.supervisor-risk{padding:5px 9px;border-radius:20px;font-style:normal;font-size:10px;font-weight:750;white-space:nowrap}
.supervisor-risk.ok{color:var(--st-ok-ink);background:var(--st-ok-bg)}
.supervisor-risk.watch{color:var(--st-watch-ink);background:var(--st-watch-bg)}
.supervisor-risk.stalled{color:var(--st-stalled-ink);background:var(--st-stalled-bg)}
.supervisor-risk.done{color:var(--st-done-ink);background:var(--st-done-bg)}
.supervisor-score{display:inline-flex;align-items:baseline;gap:2px;padding:5px 9px;border-radius:9px;font-weight:850;font-size:13px}
.supervisor-score i{font-style:normal;font-size:9px;font-weight:700;opacity:.65}
.supervisor-score.high{color:#15806a;background:#e5f8f3}
.supervisor-score.mid{color:#a4660c;background:#fff5e0}
.supervisor-score.low{color:#c4323f;background:#ffeced}
.supervisor-score.none{color:#8a99aa;background:#f0f4f8}

/* Tabla de sesiones supervisadas */
.supervisor-sessions button.tr{width:100%;background:transparent;text-align:left;padding-right:4px}
.supervisor-sessions button.tr:hover{background:#f8fbff}
.supervisor-sessions .tr>span:first-child{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:9px;align-items:center}
.supervisor-sessions .tr>span:first-child .company-avatar{grid-row:1/3}
.supervisor-sessions .tr>span:first-child b{grid-column:2;align-self:end;font-size:12px}
.supervisor-sessions .tr>span:first-child small{grid-column:2;align-self:start;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.supervisor-sessions .tr>span:nth-child(2){display:grid;gap:5px}
.supervisor-sessions .tr>span:nth-child(5) b{font-size:12px}
.supervisor-sessions .tr small{color:var(--muted);font-size:10px}
.supervisor-sessions .tr .progress{width:100%;margin:0}
.supervisor-evidence{height:7px;background:#e8edf3;border-radius:20px;overflow:hidden}
.supervisor-evidence i{height:100%;display:block;border-radius:20px;background:linear-gradient(90deg,#7751ca,#29b99a)}

/* Alertas */
.supervisor-alerts{display:flex;flex-direction:column}
.supervisor-alert{display:grid;grid-template-columns:6px 1fr auto;align-items:center;gap:11px;width:100%;text-align:left;background:#fbfdff;border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:8px;color:var(--ink)}
.supervisor-alert:hover{border-color:#9ab8ed;background:#f5f9ff}
.supervisor-alert>i{width:6px;height:34px;border-radius:20px;background:#c8d3e0}
.supervisor-alert.high>i{background:#e0505f}
.supervisor-alert.medium>i{background:#e5a52c}
.supervisor-alert.info>i{background:#3f9f8c}
.supervisor-alert b{display:block;font-size:12px}
.supervisor-alert small{color:var(--muted);font-size:10px;line-height:1.4}
.supervisor-alert>span{color:var(--blue);font-size:10px;font-weight:750;white-space:nowrap}

/* Dimensiones agregadas por marco */
.supervisor-frameworks{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.supervisor-frameworks .dimension-row{grid-template-columns:minmax(0,1fr) 90px 34px 52px;gap:12px;margin:11px 0}
.supervisor-frameworks .dimension-row b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.supervisor-frameworks .dimension-row small{color:var(--muted);font-size:10px}
.supervisor-framework-foot{border-top:1px solid #edf1f5;margin-top:14px;padding-top:11px;color:var(--muted);font-size:10px}

/* Cartera filtrable */
.supervisor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.supervisor-filters{display:flex;gap:6px;flex-wrap:wrap}
.supervisor-filter{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--line);border-radius:20px;background:#fbfdff;color:#64758a;font-size:11px;font-weight:700}
.supervisor-filter i{font-style:normal;font-size:9px;font-weight:850;padding:1px 5px;border-radius:20px;background:#eef2f7;color:#6b7c91}
.supervisor-filter:hover{border-color:#9ab8ed}
.supervisor-filter.active{border-color:var(--blue);background:var(--blue2);color:#2358c4}
.supervisor-filter.active i{background:#dbe7ff;color:#2358c4}
.supervisor-toolbar input{min-width:260px;flex:1;max-width:340px;border:1px solid #d7e1eb;border-radius:9px;padding:10px 12px;background:#fbfdff;outline:none}
.supervisor-toolbar input:focus{border-color:#6c9bf1;box-shadow:0 0 0 3px #e8f0ff}

/* Revisión de una sesión */
.supervisor-review-grid{align-items:start}
.supervisor-tabs{display:flex;gap:5px}
.supervisor-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:9px;background:transparent;color:#64758a;font-size:11px;font-weight:700}
.supervisor-tab i{font-style:normal;font-size:9px;font-weight:850;padding:1px 5px;border-radius:20px;background:#eef2f7}
.supervisor-tab:hover{background:#f2f6fb}
.supervisor-tab.active{background:var(--blue2);color:#2358c4}
.supervisor-tab.active i{background:#dbe7ff;color:#2358c4}
.supervisor-answer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf1f5;padding-top:13px}
.supervisor-answer-toolbar select{border:1px solid #d7e1eb;border-radius:9px;padding:9px 11px;background:#fbfdff;max-width:300px;outline:none}
.supervisor-answer-toolbar small{color:var(--muted);font-size:10px}
.supervisor-answer-list{display:grid;gap:11px;margin-top:13px;max-height:640px;overflow-y:auto;padding-right:4px}
.supervisor-answer{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfdff}
.supervisor-answer header{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:start}
.supervisor-answer-num{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#eef2f7;color:#6b7c91;font-size:10px;font-weight:850}
.supervisor-answer header b{display:block;font-size:12px;line-height:1.45}
.supervisor-answer header small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.supervisor-answer-score{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:9px;font-weight:850;font-size:13px}
.supervisor-answer-score i{font-style:normal;font-size:9px;font-weight:800;opacity:.7}
.supervisor-answer-score.high{color:#15806a;background:#e5f8f3}
.supervisor-answer-score.mid{color:#a4660c;background:#fff5e0}
.supervisor-answer-score.low{color:#c4323f;background:#ffeced}
.supervisor-answer-comment{margin:11px 0 0;color:#536579;font-size:12px;line-height:1.5}
.supervisor-answer-evidence{margin-top:11px;border-top:1px dashed #dfe7f0;padding-top:9px;display:grid;gap:5px}
.supervisor-answer-evidence>small{color:#8a99aa;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.supervisor-answer-evidence p{margin:0;color:#5f7084;font-size:11px;line-height:1.5}
.supervisor-answer-evidence.weak>small{color:#c4323f}
.supervisor-answer-links{display:flex;flex-wrap:wrap;gap:6px}
.supervisor-answer-links a{padding:4px 8px;border-radius:20px;background:#eef4ff;color:#2865cd;font-size:10px;text-decoration:none}
.supervisor-answer-links a:hover{background:#dfe9ff}
.supervisor-answer footer{margin-top:11px;color:#8a99aa;font-size:10px}
.supervisor-pending{list-style:none;margin:13px 0 0;padding:0;display:grid;gap:8px;max-height:600px;overflow-y:auto}
.supervisor-pending li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:center;border:1px dashed #dfe7f0;border-radius:11px;padding:11px}
.supervisor-pending li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#f0f4f8;color:#8a99aa;font-size:10px;font-weight:800}
.supervisor-pending b{display:block;font-size:12px;font-weight:600;color:#536579;line-height:1.45}
.supervisor-pending small{color:#8a99aa;font-size:10px}
.supervisor-timeline{display:grid;gap:9px;margin-top:13px;max-height:620px;overflow-y:auto;padding-right:4px}
.supervisor-msg{border:1px solid var(--line);border-radius:11px;padding:11px 13px;background:#fbfdff}
.supervisor-msg.user{background:#eef4ff;border-color:#d5e2fb}
.supervisor-msg.system{background:#f6f8fb;border-style:dashed}
.supervisor-msg b{font-size:10px;color:#2865cd}
.supervisor-msg.user b{color:#4c60a8}
.supervisor-msg p{margin:5px 0 4px;color:#536579;font-size:11px;line-height:1.5;white-space:pre-line}
.supervisor-msg small{color:#95a3b2;font-size:9px}
.supervisor-dimensions .supervisor-dimension{display:grid;grid-template-columns:minmax(0,1fr) 78px 60px;gap:11px;align-items:center;border-top:1px solid #edf1f5;padding:11px 0}
.supervisor-dimensions .supervisor-dimension:first-of-type{border-top:0}
.supervisor-dimension.idle{opacity:.55}
.supervisor-dimension b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.supervisor-dimension small{color:var(--muted);font-size:10px}

@media(max-width:1100px){
  .supervisor-review-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  .supervisor-head-side{width:100%;justify-content:flex-start}
  .supervisor-toolbar input{max-width:none}
  .supervisor-answer header{grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto}
  .supervisor-answer-score{grid-column:2;justify-self:start}
}

/* Cartera del Supervisor: alta de cuentas, usuarios cliente y revisión agrupada por dimensión. */
.supervisor-risk.idle{color:var(--st-idle-ink);background:var(--st-idle-bg)}
.supervisor-onboarding{display:grid;justify-items:center;text-align:center;gap:9px;padding:52px 26px}
.supervisor-onboarding>span{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#eef4ff;color:#2865cd;font-size:24px}
.supervisor-onboarding h2{margin:0;font-size:20px}
.supervisor-onboarding p:not(.eyebrow){max-width:520px;color:var(--muted);margin:0 0 8px}

/* Directorio de usuarios cliente */
.supervisor-people .tr{grid-template-columns:minmax(190px,1.6fr) 1fr 1fr 108px .7fr 18px}
.supervisor-people button.tr{width:100%;background:transparent;text-align:left}
.supervisor-people button.tr:hover{background:#f8fbff}
.supervisor-people .tr>span:first-child{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:9px;align-items:center}
.supervisor-people .tr>span:first-child .user-avatar{grid-row:1/3}
.supervisor-people .tr>span:first-child b{grid-column:2;align-self:end;font-size:12px}
.supervisor-people .tr>span:first-child small{grid-column:2;align-self:start;color:var(--muted);font-size:10px}
.supervisor-people .role{background:color-mix(in srgb,var(--role-color,#2563eb) 12%,#fff);color:var(--role-color,#2563eb)}
.supervisor-people-tag{margin-left:6px;padding:2px 6px;border-radius:20px;background:#eef3f8;color:#5f7285;font-style:normal;font-size:9px;font-weight:750}
.supervisor-people .tr.locked{cursor:default}
.supervisor-people-note{margin:13px 2px 0;color:var(--muted);font-size:11px}

/* Asignación de cartera desde el editor de usuarios */
.supervisor-assign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:9px;margin-bottom:9px}
.supervisor-assign{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fbfdff;cursor:pointer;margin:0}
.supervisor-assign:hover{border-color:#9ab8ed}
.supervisor-assign input{position:absolute;opacity:0;pointer-events:none}
.supervisor-assign>span{width:20px;height:20px;border:1.5px solid #c8d3e0;border-radius:6px;display:grid;place-items:center;background:#fff}
.supervisor-assign>span::after{content:'✓';font-size:12px;font-weight:900;color:#fff;opacity:0}
.supervisor-assign input:checked+span{background:var(--blue);border-color:var(--blue)}
.supervisor-assign input:checked+span::after{opacity:1}
.supervisor-assign b{display:block;font-size:12px}
.supervisor-assign small{color:var(--muted);font-size:10px}

/* Mapa de madurez: entrada visual a cada dimensión */
.supervisor-map-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.supervisor-map-chip{display:grid;gap:6px;text-align:left;border:1px solid var(--line);border-top:3px solid #c8d3e0;border-radius:12px;padding:12px;background:#fbfdff;color:var(--ink)}
.supervisor-map-chip:hover{border-color:#9ab8ed;background:#f5f9ff}
.supervisor-map-chip.open{background:#f0f5ff;border-color:#9ab8ed}
.supervisor-map-chip.high{border-top-color:#1e9d83}
.supervisor-map-chip.mid{border-top-color:#e5a52c}
.supervisor-map-chip.low{border-top-color:#e0505f}
.supervisor-map-chip.none{border-top-color:#c8d3e0}
.supervisor-map-chip small{color:var(--muted);font-size:10px;line-height:1.3;min-height:26px}
.supervisor-map-chip b{font-size:22px;letter-spacing:-.9px;line-height:1}
.supervisor-map-chip em{color:#8a99aa;font-style:normal;font-size:9px}

/* Acordeón por dimensión */
.supervisor-review-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.supervisor-review-toolbar input{flex:1;min-width:220px;border:1px solid #d7e1eb;border-radius:9px;padding:10px 12px;background:#fbfdff;outline:none}
.supervisor-review-toolbar input:focus{border-color:#6c9bf1;box-shadow:0 0 0 3px #e8f0ff}
.supervisor-groups{display:grid;gap:11px}
.supervisor-group{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.supervisor-group.open{border-color:#c3d6f4;box-shadow:0 6px 20px rgba(20,45,80,.05)}
.supervisor-group-head{display:grid;grid-template-columns:20px minmax(0,1fr) 108px 130px 74px;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;background:#fbfdff;color:var(--ink)}
.supervisor-group.open .supervisor-group-head{background:#f4f8ff;border-bottom:1px solid var(--line)}
.supervisor-group-head:hover{background:#f0f5ff}
.supervisor-group-caret{font-style:normal;color:#8a99aa;font-size:14px}
.supervisor-group-title b{display:block;font-size:14px;letter-spacing:-.3px}
.supervisor-group-title small{color:var(--muted);font-size:10px}
.supervisor-group-progress{display:grid;gap:5px}
.supervisor-group-progress small{color:var(--muted);font-size:10px}

/* Histograma de niveles: la forma de la madurez en un vistazo */
.supervisor-histogram{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;align-items:end;height:34px}
.supervisor-histogram span{display:grid;align-content:end;justify-items:center;gap:2px;height:100%}
.supervisor-histogram i{display:block;width:100%;min-height:2px;border-radius:3px 3px 0 0;background:#dbe3ec}
.supervisor-histogram .lvl1 i{background:#f0a0a8}
.supervisor-histogram .lvl2 i{background:#f3c290}
.supervisor-histogram .lvl3 i{background:#f0d189}
.supervisor-histogram .lvl4 i{background:#9fd8c5}
.supervisor-histogram .lvl5 i{background:#5cc0a6}
.supervisor-histogram small{color:#a8b4c2;font-size:8px;line-height:1}

/* Subdimensión y pregunta */
.supervisor-subgroup{border-top:1px solid #eef2f7;padding:4px 16px 12px}
.supervisor-subgroup:first-of-type{border-top:0}
.supervisor-subgroup>header{display:flex;align-items:center;gap:10px;padding:12px 0 8px;position:sticky;top:0;background:#fff;z-index:1}
.supervisor-subgroup>header b{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5f7084}
.supervisor-subgroup>header span{color:#8a99aa;font-size:10px}
.supervisor-subgroup>header .supervisor-score{margin-left:auto;font-size:11px;padding:3px 7px}
.supervisor-item{display:grid;grid-template-columns:26px minmax(0,1fr) 128px 130px;gap:13px;align-items:start;border-top:1px dashed #eef2f7;padding:12px 0}
.supervisor-item.pending{opacity:.62}
.supervisor-item.unsustained{background:linear-gradient(90deg,#fff8f8,transparent 45%)}
.supervisor-item-num{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#eef2f7;color:#6b7c91;font-size:10px;font-weight:850}
.supervisor-item.sustained .supervisor-item-num{background:#e5f8f3;color:#15806a}
.supervisor-item-body b{display:block;font-size:12px;font-weight:650;line-height:1.5}
.supervisor-item-body>small{display:block;color:#8a99aa;font-size:10px;margin-top:3px}
.supervisor-item-answer{margin:7px 0 0;color:#536579;font-size:11px;line-height:1.5}
.supervisor-item-evidence{margin-top:7px;border-left:2px solid #dbe7ff;padding-left:9px}
.supervisor-item-evidence p{margin:0;color:#5f7084;font-size:11px;line-height:1.5}
.supervisor-item-evidence.weak{border-left-color:#f3c9cd}
.supervisor-item-evidence.weak p{color:#b9737b;font-size:10px}
.supervisor-item-meta{display:grid;gap:2px;text-align:right}
.supervisor-item-meta b{font-size:11px}
.supervisor-item-meta small{color:var(--muted);font-size:10px}
.supervisor-item-meta em{color:#8a99aa;font-style:normal;font-size:10px}
.supervisor-item-meta time{color:#a8b4c2;font-size:9px}

/* Riel de nivel 1–5 */
.supervisor-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;align-items:center;position:relative;padding-bottom:15px}
.supervisor-rail i{height:6px;border-radius:20px;background:#e8edf3}
.supervisor-rail.high i.on{background:#3fb99e}
.supervisor-rail.mid i.on{background:#e5a52c}
.supervisor-rail.low i.on{background:#e0505f}
.supervisor-rail i.peak{box-shadow:0 0 0 2px #fff,0 0 0 3.5px currentColor}
.supervisor-rail.high{color:#3fb99e}
.supervisor-rail.mid{color:#e5a52c}
.supervisor-rail.low{color:#e0505f}
.supervisor-rail b{position:absolute;bottom:0;left:0;font-size:9px;font-weight:800;color:#6b7c91;letter-spacing:.04em}
.supervisor-rail.none b{color:#a8b4c2}

@media(max-width:1100px){
  .supervisor-group-head{grid-template-columns:20px minmax(0,1fr) 96px 66px}
  .supervisor-group-head .supervisor-group-progress{display:none}
  .supervisor-item{grid-template-columns:26px minmax(0,1fr) 110px}
  .supervisor-item-meta{grid-column:2;text-align:left}
  .supervisor-people .tr{grid-template-columns:minmax(0,1.5fr) 1fr 108px .6fr 18px}
  .supervisor-people .tr>span:nth-child(3){display:none}
}
@media(max-width:780px){
  .supervisor-group-head{grid-template-columns:20px minmax(0,1fr) 66px;gap:10px}
  .supervisor-group-head .supervisor-histogram{display:none}
  .supervisor-item{grid-template-columns:26px minmax(0,1fr)}
  .supervisor-rail{grid-column:2}
  .supervisor-map-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  /* El enfoque sobrevive al ultimo corte y la cuenta no: en el movil la fila ya dice de
     quien se trata, y lo que no se puede deducir del nombre es si responde la mirada
     tecnica o la de negocio. */
  .supervisor-people .tr{grid-template-columns:minmax(0,1fr) 108px 18px}
  .supervisor-people .tr>span:nth-child(2),.supervisor-people .tr>span:nth-child(5){display:none}
}

/* Quién responde: pila de avatares en la cartera y ficha de equipo en la revisión. */
/* La tabla vive en la columna de 2fr del tablero, no a pagina completa: sus cortes se miden
   contra el ancho de la tarjeta, porque un viewport ancho no le garantiza sitio a 8 columnas.
   Las anchuras estan ajustadas a su contenido real (el 24/54 - 44%, el chip de riesgo, el
   58% sustentado) en vez de sobradas: asi las 8 caben en 795px y la tarjeta da ~970. El
   overflow es la red por si el navegador no soporta container queries. */
.supervisor-sessions{container-type:inline-size;overflow-x:auto}
.supervisor-sessions .tr{gap:10px;grid-template-columns:minmax(165px,1.5fr) minmax(100px,1fr) 88px 66px 94px 108px 86px 18px}
.supervisor-sessions .tr>span:nth-child(3),.supervisor-sessions .tr>span:nth-child(5),.supervisor-sessions .tr>span:nth-child(6){display:grid;gap:4px;align-content:center}
.supervisor-sessions .tr>span:nth-child(4){display:flex;align-items:center}
.supervisor-people-cell{display:grid;gap:4px;min-width:0}
.supervisor-people-cell.empty em{color:#a8b4c2;font-style:normal;font-size:10px}
.supervisor-avatars{display:flex;align-items:center}
.supervisor-avatars .user-avatar{width:25px;height:25px;font-size:9px;border:2px solid #fff;margin-left:-7px;flex:0 0 25px}
.supervisor-avatars .user-avatar:first-child{margin-left:0}
.supervisor-avatars .user-avatar.more{background:#eef2f7;color:#7386a0}
.supervisor-people-cell small{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.supervisor-responders .surface-head small{color:var(--muted);font-size:11px}
.supervisor-responder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px}
.supervisor-responder{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fbfdff}
.supervisor-responder .user-avatar{width:32px;height:32px;font-size:11px}
.supervisor-responder b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.supervisor-responder small{color:var(--muted);font-size:10px}
.supervisor-responder>span{display:grid;justify-items:center;color:#2865cd;font-weight:850;font-size:15px;line-height:1}
.supervisor-responder>span em{color:#8a99aa;font-style:normal;font-weight:700;font-size:8px;letter-spacing:.06em;text-transform:uppercase}

/* Si algo tiene que caer, cae lo que se consulta al entrar al diagnostico: primero la
   evidencia, luego quien responde, luego el nivel. La actividad se queda hasta el ultimo
   corte: el "hace 2 dias" es la razon de ser de esta tarjeta, sin el no se ve a quien
   empujar. Cada tramo entra holgado bajo su propio techo. */
@container (max-width:800px){
  .supervisor-sessions .tr{grid-template-columns:minmax(165px,1.5fr) minmax(100px,1fr) 88px 66px 108px 86px 18px}
  .supervisor-sessions .tr>span:nth-child(5){display:none}
}
@container (max-width:690px){
  .supervisor-sessions .tr{grid-template-columns:minmax(165px,1fr) 88px 66px 108px 86px 18px}
  .supervisor-sessions .tr>span:nth-child(2){display:none}
}
@container (max-width:580px){
  .supervisor-sessions .tr{grid-template-columns:minmax(110px,1fr) 84px 96px 82px 18px}
  .supervisor-sessions .tr>span:nth-child(4){display:none}
}
@container (max-width:430px){
  .supervisor-sessions .tr{grid-template-columns:minmax(0,1fr) 96px 18px}
  .supervisor-sessions .tr>span:nth-child(3),.supervisor-sessions .tr>span:nth-child(7){display:none}
}

/* Identidad del diagnóstico: el código manda, y la actividad se lee en dos líneas. */
.supervisor-sessions .tr>span:nth-child(6) b{font-size:12px;line-height:1.2}
.supervisor-sessions .tr>span:nth-child(6) small{line-height:1.3}
.supervisor-sessions .tr>span:nth-child(6) b,.supervisor-sessions .tr>span:nth-child(6) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.supervisor-code{display:inline-block;padding:1px 6px;border:1px solid #d3e0f2;border-radius:5px;background:#eef4ff;color:#2358c4;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.02em}
.supervisor-sessions .tr>span:first-child small{display:flex;align-items:center;gap:6px}

/* Revisión del diagnóstico en dos columnas: cuestionario a la izquierda, tablero fijo a la derecha. */
.review-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;margin-top:18px}
.review-questions{margin-bottom:0;min-width:0;padding:18px}
.review-panel-head{align-items:flex-start;gap:14px;flex-wrap:wrap}
.review-panel-head h2{margin:0;font-size:17px;letter-spacing:-.3px}
.review-rail{position:sticky;top:96px;display:grid;gap:12px;max-height:calc(100dvh - 124px);overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin;scrollbar-color:#cbd7e5 transparent}
.review-rail::-webkit-scrollbar{width:7px}
.review-rail::-webkit-scrollbar-thumb{background:#d3dde9;border-radius:20px}
.rail-card{margin-bottom:0;padding:15px 16px}
.rail-card .eyebrow{margin-bottom:11px;letter-spacing:.12em;font-size:9px}
.rail-metrics{display:grid;gap:8px}
.rail-metric{display:flex;align-items:center;gap:11px;border:1px solid #eaf0f7;border-radius:11px;padding:10px 11px;background:#fbfdff}
.rail-metric .metric-icon{width:32px;height:32px;flex:0 0 32px;border-radius:9px;font-size:15px}
.rail-metric>div{min-width:0}
.rail-metric small{display:block;color:var(--muted);font-size:10px;font-weight:700}
.rail-metric strong{display:block;font-size:19px;line-height:1.15;letter-spacing:-.5px}
.rail-metric em{display:block;color:#8a99aa;font-style:normal;font-size:9px;line-height:1.35;margin-top:1px}
.rail-map{grid-template-columns:1fr;gap:7px}
.rail-map .supervisor-map-chip{gap:5px;padding:10px 11px;border-top-width:1px;border-left:3px solid #c8d3e0;border-radius:10px}
.rail-map .supervisor-map-chip.high{border-left-color:#1e9d83;border-top-color:var(--line)}
.rail-map .supervisor-map-chip.mid{border-left-color:#e5a52c;border-top-color:var(--line)}
.rail-map .supervisor-map-chip.low{border-left-color:#e0505f;border-top-color:var(--line)}
.rail-map .supervisor-map-chip.none{border-left-color:#c8d3e0;border-top-color:var(--line)}
.rail-map .supervisor-map-chip small{min-height:0;font-size:11px;color:#4c5f75;font-weight:650}
.supervisor-map-chip-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.rail-map .supervisor-map-chip b{font-size:16px;letter-spacing:-.5px}
.rail-people{grid-template-columns:1fr;gap:7px}
.rail-people .supervisor-responder{padding:9px 10px}
.rail-owner{display:block;margin-top:10px;color:#8a99aa;font-size:10px}

/* Barra de gestión del cuestionario: filtros, búsqueda y conteo de resultados. */
.supervisor-review-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid #eef2f7}
.supervisor-review-tools{display:flex;align-items:center;gap:10px}
.supervisor-review-toolbar input{flex:1;min-width:0;border:1px solid #d7e1eb;border-radius:9px;padding:9px 12px;background:#fbfdff;outline:none;font-size:12px}
.supervisor-review-count{color:#8a99aa;font-size:10px}
.supervisor-group.muted{opacity:.55}
.supervisor-group-head{grid-template-columns:20px minmax(0,1fr) 100px 60px 34px;gap:12px;padding:13px 14px}
.supervisor-group-count{display:grid;place-items:center;min-width:34px;height:22px;padding:0 7px;border-radius:20px;background:#eef2f7;color:#6b7c91;font-size:10px;font-weight:850}
.supervisor-group.open .supervisor-group-count{background:#dbe7ff;color:#2358c4}

/* Ficha de pregunta: enunciado y evidencia a la izquierda, nivel y autoría a la derecha. */
.review-split .supervisor-item{grid-template-columns:26px minmax(0,1fr) 132px;grid-template-rows:auto auto;column-gap:12px;row-gap:8px;align-items:start}
.review-split .supervisor-item>.supervisor-item-num{grid-area:1/1/2/2}
.review-split .supervisor-item>.supervisor-item-body{grid-area:1/2/3/3}
.review-split .supervisor-item>.supervisor-rail{grid-area:1/3/2/4}
.review-split .supervisor-item>.supervisor-item-meta{grid-area:2/3/3/4}
.supervisor-item-answer em{display:inline-block;margin-right:7px;padding:1px 6px;border-radius:5px;background:#eef2f7;color:#5f7084;font-style:normal;font-size:9px;font-weight:850;letter-spacing:.05em;vertical-align:1px}
.supervisor-item.sustained .supervisor-item-answer em{background:#e5f8f3;color:#15806a}
.supervisor-attach-count{color:#2865cd;font-size:9px;font-weight:750}

/* Adjuntos visibles como fichas: se abren en el visor sin salir de la revisión. */
.supervisor-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;margin-top:7px}
.supervisor-file{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:9px;width:100%;text-align:left;border:1px solid #dbe7ff;border-radius:9px;padding:7px 9px;background:#f7faff;transition:background .16s,border-color .16s}
.supervisor-file:hover{border-color:#9ab8ed;background:#eef4ff}
.supervisor-file>i{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#dbe7ff;color:#2358c4;font-style:normal;font-size:13px}
.supervisor-file b{display:block;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.supervisor-file small{display:block;color:#8a99aa;font-size:9px}
.supervisor-link-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:20px;background:#eef4ff;color:#2865cd;font-size:10px;text-decoration:none}
.supervisor-link-chip:hover{background:#dfe9ff}
.supervisor-item-evidence .supervisor-answer-links{margin-top:6px}

/* Visor de adjuntos a pantalla completa. */
.file-viewer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:26px;background:rgba(9,24,44,.62);backdrop-filter:blur(3px);animation:viewerIn .18s ease both}
@keyframes viewerIn{from{opacity:0}to{opacity:1}}
.file-viewer-box{display:flex;flex-direction:column;width:min(1040px,100%);max-height:100%;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 30px 80px rgba(9,24,44,.35)}
.file-viewer-box>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line);background:#fbfdff}
.file-viewer-title b{display:block;font-size:13px}
.file-viewer-title small{color:var(--muted);font-size:10px}
.file-viewer-actions{display:flex;align-items:center;gap:6px}
.file-viewer-actions .ghost{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 11px;border:1px solid #d7e1eb;border-radius:9px;background:#fff;color:#4c5f75;font-size:11px;font-weight:700;text-decoration:none}
.file-viewer-actions .ghost:hover{border-color:#9ab8ed;background:#f2f7ff;color:#2358c4}
.file-viewer-actions .close{font-size:13px}
.file-viewer-pos{color:#8a99aa;font-size:10px;font-weight:750;padding:0 2px}
.file-viewer-question{margin:0;padding:10px 16px;border-bottom:1px solid #eef2f7;color:#5f7084;font-size:11px;line-height:1.5;background:#fff}
.file-viewer-body{flex:1;min-height:0;display:grid;place-items:center;padding:14px;background:#f4f7fb;overflow:auto}
.file-viewer-body img{max-width:100%;max-height:72dvh;border-radius:10px;box-shadow:0 10px 30px rgba(20,45,80,.14)}
.file-viewer-body iframe{width:100%;height:72dvh;border:0;border-radius:10px;background:#fff}
.file-viewer-blank{display:grid;justify-items:center;gap:6px;padding:56px 20px;text-align:center}
.file-viewer-blank span{display:grid;place-items:center;width:56px;height:56px;border-radius:15px;background:#dbe7ff;color:#2358c4;font-size:24px}
.file-viewer-blank b{font-size:13px}
.file-viewer-blank small{color:var(--muted);font-size:11px}

@media(max-width:1280px){
  .review-split{grid-template-columns:minmax(0,1fr) 300px}
  .rail-metric strong{font-size:17px}
}
@media(max-width:1080px){
  .review-split{grid-template-columns:1fr}
  .review-rail{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));order:-1}
  .rail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rail-map{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
}
@media(max-width:760px){
  .supervisor-review-tools{flex-wrap:wrap}
  .review-split .supervisor-item{grid-template-columns:26px minmax(0,1fr)}
  .review-split .supervisor-item>.supervisor-rail{grid-area:2/2/3/3}
  .review-split .supervisor-item>.supervisor-item-meta{grid-area:3/2/4/3;text-align:left}
  .supervisor-group-head{grid-template-columns:20px minmax(0,1fr) 60px 34px}
  .supervisor-group-head .supervisor-histogram{display:none}
  .file-viewer{padding:12px}
}

/* Señal de actividad: la espera se ve, en vez de parecer que la app se colgó. */
html.app-busy::after{content:'';position:fixed;top:0;left:0;right:0;height:3px;z-index:120;background:linear-gradient(90deg,#2563eb,#29b99a,#2563eb);background-size:200% 100%;animation:supervisor-progress 1.1s linear infinite;pointer-events:none}
@keyframes supervisor-progress{from{background-position:200% 0}to{background-position:0 0}}
html.app-busy button[type="submit"],html.app-busy .primary{cursor:progress}
/* El logotipo de la casa ocupa el sitio que tenia el wordmark escrito. Se dimensiona por
   ancho y no por alto: el arte viene recortado, asi que fijar el alto lo deja crecer a lo
   ancho sin control en cuanto entre un archivo con otra proporcion. */
.brand-mark{display:block;width:auto;max-width:100%}
.login-brand{display:grid;justify-items:start;gap:12px}
.login-brand .brand-mark{width:min(100%,600px);height:auto}
/* El nombre del producto encabeza el discurso de la columna navy, no el logotipo: alli lo lee
   quien ya bajo la vista al texto, y la marca de la casa se queda arriba firmando. En el panel
   blanco del movil no hay discurso, asi que ahi si acompana al logotipo.
   Va con el elemento en el selector (`p.`) porque el parrafo generico de la columna navy
   -`.login-copy p:not(.eyebrow)`- pesa mas y si no le impone su cuerpo de texto corrido. */
.login-copy p.login-product,.login-brand p.login-product{margin:0 0 16px;color:#fff;font-size:clamp(28px,3.4vw,52px);font-weight:900;letter-spacing:-1.6px;line-height:1}
.login-product span{color:#54dbc1}
.login-brand p.login-product.dark{margin:0;padding-left:3px;color:var(--navy)}
/* La firma del panel blanco solo existe cuando la columna navy se ha ido: si no, se veria
   dos veces la misma marca en la misma pantalla. */
.login-brand.mobile{display:none}
@media(max-width:780px){.login-brand.mobile{display:grid;margin-bottom:45px}.login-brand.mobile .brand-mark{width:min(100%,420px)}.login-brand.mobile .login-product{font-size:clamp(26px,8vw,40px)}}
.login-notice{margin:14px 0 4px;padding:11px 13px;border:1px solid #cfe3f7;border-radius:10px;background:#eef6ff;color:#2358c4;font-size:11px;line-height:1.5}
/* Accesos de demostración: las cuentas reales del seed, a un clic del formulario. */
.login-demo{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}
.login-demo>p{color:#8a99a8;font-size:11px;line-height:1.5;margin:0 0 10px}
.login-demo>p b{color:#5b6c80}
.demo-accounts{display:grid;gap:6px}
.demo-account{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fbfdff;color:var(--ink)}
.demo-account:hover{border-color:#9ab8ed;background:#f4f8ff}
.demo-account.active{border-color:var(--blue);background:#eff5ff;box-shadow:0 0 0 2px #e2ebff}
.demo-account>i{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#e9f1ff;color:#2865cd;font-style:normal;font-size:9px;font-weight:800}
.demo-account>span{display:grid;min-width:0}
.demo-account b{font-size:11px;line-height:1.3}
.demo-account small{margin-top:0;color:#8a99a8;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demo-account em{color:#93a2b1;font-style:normal;font-size:9px;line-height:1.3;text-align:right;max-width:142px}
.demo-clients{margin-top:9px;border:1px solid var(--line);border-radius:9px;background:#fbfdff}
.demo-clients summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:9px 11px;color:#5f7185;font-size:11px;font-weight:700;list-style:none}
.demo-clients summary::-webkit-details-marker{display:none}
.demo-clients summary em{margin-left:auto;color:#93a2b1;font-style:normal;font-size:10px}
.demo-clients summary::after{content:'⌄';color:#93a2b1;transition:transform .15s}
.demo-clients[open] summary::after{transform:rotate(180deg)}
.demo-client-org{display:grid;gap:6px;border-top:1px solid #edf1f5;padding:9px 11px}
.demo-client-org>small{margin-top:0;color:#93a2b1;font-size:9px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}
.demo-client-org .demo-account{background:#fff}

/* ============ Cartera del Supervisor: lenguaje visual de la maqueta de referencia ============ */
.pf{--pf-ink:#10233d;--pf-line:#dfe7f1;--pf-muted:#6f8097;max-width:1510px;margin:0 auto;color:var(--pf-ink)}
.pf *{box-sizing:border-box}
.pf .hidden{display:none!important}

/* Hero */
.pf .hero{position:relative;display:flex;gap:26px;align-items:flex-end;justify-content:space-between;margin-bottom:20px}
.pf .hero::after{content:"";position:absolute;right:19%;top:-55px;width:280px;height:160px;background:radial-gradient(circle,rgba(82,141,255,.14),transparent 70%);pointer-events:none}
.pf .eyebrow{margin:0 0 7px;color:#2563eb;text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:11px}
.pf h1{font-size:clamp(28px,2.2vw,38px);line-height:1.08;letter-spacing:-.035em;margin:0;color:#0c2039}
.pf .subtitle{max-width:780px;margin:10px 0 0;color:#6c7f97;font-size:14px;line-height:1.55}
.pf .primary-btn{display:inline-flex;align-items:center;gap:9px;padding:12px 17px;border-radius:13px;background:linear-gradient(135deg,#3076ff,#1f5fe8);color:#fff;font-weight:850;box-shadow:0 10px 22px rgba(37,99,235,.24);cursor:pointer;transition:.2s ease;white-space:nowrap}
.pf .primary-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(37,99,235,.30)}
.pf .primary-btn svg{width:17px;height:17px}

/* KPI */
.pf .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 15px}
.pf .kpi{position:relative;overflow:hidden;padding:15px 16px;border-radius:17px;background:rgba(255,255,255,.82);border:1px solid #e3ebf5;box-shadow:0 8px 22px rgba(24,62,104,.05)}
.pf .kpi::after{content:"";position:absolute;right:-24px;bottom:-35px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(48,118,255,.11),transparent 70%)}
.pf .kpi-label{font-size:11px;color:#7a8ba0;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:8px}
.pf .kpi-value{display:flex;align-items:baseline;gap:8px;margin-top:7px}
.pf .kpi-value strong{font-size:25px;letter-spacing:-.04em}
.pf .kpi-value span{font-size:11px;color:#7f91a8}
.pf .kpi-trend{font-size:10px;padding:4px 7px;border-radius:999px;background:#e9f8f2;color:#15835d;font-weight:850;white-space:nowrap}
.pf .kpi-trend.warn{background:#fff2e8;color:#bd6515}

/* Superficie principal */
.pf .surface{background:rgba(255,255,255,.92);border:1px solid rgba(218,228,240,.96);border-radius:22px;box-shadow:0 20px 50px rgba(23,57,95,.10);overflow:hidden;padding:0;margin:0}
.pf .toolbar{padding:16px 17px;border-bottom:1px solid #e9eef5;display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(180deg,#fff,#fbfdff)}
.pf .filter-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pf .filter-btn{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #dce6f2;border-radius:999px;background:#fff;color:#526982;font-weight:800;font-size:11px;cursor:pointer;transition:.2s ease}
.pf .filter-btn .count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#eef3f8;display:grid;place-items:center;font-size:10px}
.pf .filter-btn:hover{transform:translateY(-1px);border-color:#c7d8ed}
.pf .filter-btn.active{border-color:#2f72f5;background:#f2f7ff;color:#1554c4;box-shadow:0 5px 16px rgba(37,99,235,.10)}
.pf .filter-btn.active .count{background:#dfeaff;color:#1554c4}
.pf .tools{display:flex;align-items:center;gap:8px;min-width:390px;justify-content:flex-end}
.pf .search{position:relative;flex:1;max-width:360px}
.pf .search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:#8a9ab0}
.pf .search input{width:100%;padding:10px 12px 10px 37px;border:1px solid #d7e1ed;border-radius:12px;outline:0;color:#28425f;background:#fff;transition:.2s}
.pf .search input:focus{border-color:#7fabff;box-shadow:0 0 0 4px rgba(47,114,245,.09)}
.pf .select,.pf .icon-btn{height:41px;border:1px solid #d7e1ed;border-radius:12px;background:#fff;color:#536c88;cursor:pointer}
.pf .select{padding:0 12px;font-size:11px;font-weight:750;outline:0}
.pf .icon-btn{width:41px;display:grid;place-items:center;padding:0;transition:.2s}
.pf .icon-btn:hover,.pf .icon-btn.active{border-color:#83adff;color:#1f61da;background:#f3f7ff}
.pf .icon-btn svg{width:17px;height:17px;stroke:currentColor}

/* Tabla */
.pf .table-wrap{padding:0 15px 15px}
.pf .table-head,.pf .diagnostic-row{display:grid;grid-template-columns:minmax(230px,1.35fr) minmax(160px,1fr) minmax(170px,.9fr) 92px minmax(150px,.78fr) minmax(140px,.76fr) 38px;align-items:center;gap:12px}
.pf .table-head{padding:13px 10px 8px 16px;color:#8b9aaf;font-size:9px;letter-spacing:.11em;font-weight:900;text-transform:uppercase}
.pf .diagnostic-row{width:100%;padding:13px 10px 13px 16px;background:#fff;border-radius:15px;border:1px solid transparent;border-top-color:#edf1f6;text-align:left;color:inherit;cursor:pointer;transition:.2s ease;position:relative}
.pf .diagnostic-row:first-of-type{border-top-color:transparent}
.pf .diagnostic-row:hover{transform:translateY(-1px);border-color:#d8e6f7;box-shadow:0 11px 28px rgba(28,69,111,.08);z-index:2}
.pf .account-cell{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;min-width:0}
.pf .company-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#eaf2ff,#f5f8ff);color:#2866c7;font-size:10px;font-weight:900;border:1px solid #dce9fb}
.pf .cell-title{min-width:0}
.pf .cell-title strong{font-size:13px;color:#112d4a;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf .cell-title small{margin-top:4px;display:flex;align-items:center;gap:7px;color:#778aa0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf .code{background:#edf4ff;color:#2362c3;border:1px solid #d6e5fb;padding:3px 5px;border-radius:6px;font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;flex:0 0 auto}
.pf .people{display:flex;align-items:center;gap:9px;min-width:0}
.pf .avatars{display:flex;flex:0 0 auto}
.pf .avatar{width:27px;height:27px;border:2px solid #fff;margin-left:-6px;border-radius:50%;display:grid;place-items:center;background:#e8f1ff;color:#2a65bc;font-size:8px;font-weight:900}
.pf .avatar:first-child{margin-left:0}
.pf .avatar.more{background:#eef2f7;color:#7386a0}
.pf .people small{font-size:10px;color:#73869d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf .progress-block{min-width:0}
.pf .bar{height:7px;border-radius:999px;background:#e5ebf2;overflow:hidden;position:relative}
.pf .bar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f72f5,#20b7a2);position:relative;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.pf .bar>i::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translateX(-100%);animation:pfShine 3.4s infinite}
@keyframes pfShine{55%,100%{transform:translateX(130%)}}
.pf .progress-block small,.pf .evidence small{display:block;color:#6f8197;font-size:9px;margin-top:5px}
.pf .score{display:inline-flex;align-items:baseline;gap:2px;padding:8px 9px;border-radius:10px;font-size:16px;font-weight:900;background:#fff0f1;color:#d63d51}
.pf .score i{font-style:normal;font-size:9px;color:#b86a75}
.pf .score.mid{background:#fff5e6;color:#c47b12}
.pf .score.high{background:#e9f8f1;color:#188a61}
.pf .evidence .bar>i{background:linear-gradient(90deg,#7b56e8,#20b7a2)}
.pf .activity strong{display:block;font-size:11px;color:#223d5a}
.pf .activity small{display:block;font-size:9px;color:#7d8da1;margin-top:3px}
/* El seguimiento se lee al inicio de la fila, no en una columna al final: un riel de color
   pegado al borde izquierdo y la caja de siglas tenida del mismo estado. El chip con la
   palabra sigue vivo en las tarjetas y en el panel lateral, donde hay sitio para leerla. */
.pf .diagnostic-row::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:0 3px 3px 0;background:var(--st-idle)}
.pf .diagnostic-row.ok::before{background:var(--st-ok)}
.pf .diagnostic-row.watch::before{background:var(--st-watch)}
.pf .diagnostic-row.stalled::before{background:var(--st-stalled)}
.pf .diagnostic-row.done::before{background:var(--st-done)}
.pf .diagnostic-row.ok .company-avatar{background:var(--st-ok-bg);border-color:color-mix(in srgb,var(--st-ok) 45%,#fff);color:var(--st-ok-ink)}
.pf .diagnostic-row.watch .company-avatar{background:var(--st-watch-bg);border-color:color-mix(in srgb,var(--st-watch) 45%,#fff);color:var(--st-watch-ink)}
.pf .diagnostic-row.stalled .company-avatar{background:var(--st-stalled-bg);border-color:color-mix(in srgb,var(--st-stalled) 45%,#fff);color:var(--st-stalled-ink)}
.pf .diagnostic-row.done .company-avatar{background:var(--st-done-bg);border-color:color-mix(in srgb,var(--st-done) 45%,#fff);color:var(--st-done-ink)}
.pf .status{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:7px 9px;border-radius:999px;font-size:9px;font-weight:900;font-style:normal}
.pf .status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pf .status.ok{background:var(--st-ok-bg);color:var(--st-ok-ink)}
.pf .status.done{background:var(--st-done-bg);color:var(--st-done-ink)}
.pf .status.stalled{background:var(--st-stalled-bg);color:var(--st-stalled-ink)}
.pf .status.watch{background:var(--st-watch-bg);color:var(--st-watch-ink)}
.pf .chevron{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:#607792;transition:.2s}
.pf .diagnostic-row:hover .chevron{background:#eef5ff;color:#2666d1;transform:translateX(2px)}
.pf .chevron svg{width:16px;height:16px;stroke:currentColor}
.pf .empty-state{padding:70px 20px;text-align:center;color:#74869d}
.pf .empty-state svg{width:38px;height:38px;stroke:#93a9c0;margin-bottom:8px}
.pf .empty-state b{display:block;color:#28435f;margin-bottom:4px}

/* Tarjetas */
.pf .cards-view{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}
.pf .diag-card{background:#fff;border:1px solid #e0e9f3;border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(34,70,110,.04);cursor:pointer;transition:.2s;text-align:left;width:100%}
.pf .diag-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(34,70,110,.10);border-color:#cfe0f5}
.pf .card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pf .card-account{display:flex;gap:10px;align-items:center;min-width:0}
.pf .card-title{min-width:0}
.pf .card-title strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf .card-title small{color:#788ba1;font-size:10px;display:block;margin-top:3px}
.pf .card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:16px}
.pf .metric-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#91a0b2;font-weight:900;margin-bottom:5px}
.pf .metric-value{font-size:11px;color:#405b78;font-weight:800;margin-top:5px}
.pf .card-footer{margin-top:15px;padding-top:13px;border-top:1px solid #edf1f6;display:flex;align-items:center;justify-content:space-between;gap:10px}

/* Panel lateral de detalle */
.pf .overlay{position:fixed;inset:0;background:rgba(10,29,49,.24);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.24s;z-index:70}
.pf .overlay.open{opacity:1;pointer-events:auto}
.pf .drawer{position:fixed;top:0;right:0;width:min(470px,94vw);height:100vh;background:#fff;z-index:80;transform:translateX(102%);transition:.32s cubic-bezier(.2,.8,.2,1);box-shadow:-24px 0 60px rgba(13,37,64,.20);display:flex;flex-direction:column}
.pf .drawer.open{transform:translateX(0)}
.pf .drawer-head{padding:22px 22px 18px;background:linear-gradient(150deg,#153a63,#1c4f82);color:#fff;position:relative;overflow:hidden}
.pf .drawer-head::after{content:"";position:absolute;right:-45px;bottom:-60px;width:170px;height:170px;border-radius:50%;background:rgba(64,202,190,.12)}
.pf .drawer-close{position:absolute;top:15px;right:15px;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.10);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:2}
.pf .drawer-close svg{width:17px;height:17px;stroke:currentColor}
.pf .drawer-code{font-size:10px;color:#b9d3ed;font-weight:800}
.pf .drawer-title{font-size:22px;font-weight:900;margin-top:6px;letter-spacing:-.02em}
.pf .drawer-sub{font-size:12px;color:#c9d8e8;margin-top:5px}
.pf .drawer-body{padding:20px 22px;overflow:auto;display:grid;gap:16px;align-content:start}
.pf .drawer-section{border:1px solid #e3ebf3;border-radius:16px;padding:15px}
.pf .drawer-section h3{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#7990a8;margin:0 0 12px}
.pf .drawer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pf .mini-stat{padding:10px;border-radius:12px;background:#f5f8fc}
.pf .mini-stat b{font-size:16px;display:block}
.pf .mini-stat small{font-size:9px;color:#768aa0}
.pf .participant{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #eef2f6}
.pf .participant:first-of-type{border-top:0}
.pf .participant .avatar{width:34px;height:34px;margin:0;font-size:10px}
.pf .participant-copy{flex:1;min-width:0}
.pf .participant-copy b{display:block;font-size:11px}
.pf .participant-copy small{display:block;color:#8293a7;font-size:9px;margin-top:2px}
.pf .answers{font-size:10px;color:#2e6fc7;font-weight:900;white-space:nowrap}
.pf .drawer-note{font-size:11px;line-height:1.55;color:#526a84;margin:0}
.pf .timeline{position:relative;padding-left:19px}
.pf .timeline::before{content:"";position:absolute;left:5px;top:7px;bottom:8px;width:1px;background:#dbe5f0}
.pf .tl{position:relative;padding:0 0 13px 9px}
.pf .tl:last-child{padding-bottom:0}
.pf .tl::before{content:"";position:absolute;left:-18px;top:4px;width:7px;height:7px;border-radius:50%;background:#4786f6;box-shadow:0 0 0 4px #edf4ff}
.pf .tl b{display:block;font-size:10px}
.pf .tl small{font-size:9px;color:#8394a8}
.pf .drawer-actions{padding:14px 22px 18px;border-top:1px solid #e7edf4;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pf .action-btn{padding:11px 12px;border-radius:12px;font-weight:850;cursor:pointer}
.pf .action-btn.secondary{background:#f0f5fb;color:#456481}
.pf .action-btn.primary{background:#2563eb;color:#fff}

/* Modal de creación */
.pf .modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px}
.pf .modal-card{width:min(560px,100%);background:#fff;border-radius:22px;box-shadow:0 26px 70px rgba(12,34,58,.26);padding:22px;animation:pfModalIn .25s cubic-bezier(.2,.8,.2,1) both}
@keyframes pfModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.pf .modal-top{display:flex;align-items:center;justify-content:space-between}
.pf .modal-top h2{margin:0;font-size:20px}
.pf .modal-x{width:36px;height:36px;border-radius:10px;background:#f0f4f8;color:#5b728d;cursor:pointer}
.pf .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.pf .field{display:grid;gap:6px}
.pf .field.full{grid-column:1/-1}
.pf .field label{font-size:10px;font-weight:900;color:#667d95}
.pf .field input,.pf .field select{width:100%;padding:11px;border:1px solid #d9e3ee;border-radius:11px;outline:0;background:#fff}
.pf .field input:focus,.pf .field select:focus{border-color:#77a4ff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
.pf .modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.pf .btn-light{padding:11px 14px;border-radius:11px;background:#eff4f9;color:#557089;cursor:pointer}
.pf .btn-blue{padding:11px 14px;border-radius:11px;background:#2563eb;color:#fff;font-weight:850;cursor:pointer}

@media(max-width:1250px){
  /* Sin rejilla propia: los cortes de 1600/1400/1150 estan mas abajo y ganan por orden. */
  .pf .cards-view{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .pf .hero{align-items:flex-start}
  .pf .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .pf .table-wrap{display:none!important}
  .pf .cards-view{display:grid!important;grid-template-columns:1fr 1fr}
  .pf .icon-btn[data-view]{display:none}
  .pf .toolbar{align-items:flex-start;flex-direction:column}
  .pf .tools{min-width:0;width:100%;justify-content:stretch}
  .pf .search{max-width:none}
  .pf .select{max-width:150px}
}
@media(max-width:650px){
  .pf .hero{display:grid;gap:16px}
  .pf .hero .primary-btn{width:100%;justify-content:center}
  .pf .subtitle{font-size:12px}
  .pf .kpi{padding:13px}
  .pf .kpi-value strong{font-size:21px}
  .pf .filter-tabs{flex-wrap:nowrap;overflow:auto;width:100%;padding-bottom:3px}
  .pf .filter-btn{flex:0 0 auto}
  .pf .tools{display:grid;grid-template-columns:1fr auto}
  .pf .select{width:100%;max-width:none}
  .pf .cards-view{grid-template-columns:1fr;padding:10px}
  .pf .form-grid{grid-template-columns:1fr}
  .pf .field.full{grid-column:auto}
}

/* ============================================================
   Shell sin barra superior: todo vive en un rail lateral colapsable.
   Este bloque va último a propósito: reemplaza la rejilla con header.
   ============================================================ */
.app{--rail-w:268px;grid-template-columns:var(--rail-w) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:100dvh;transition:grid-template-columns .18s ease}
.app[data-rail="collapsed"]{--rail-w:76px}
.top{display:none!important}
.side{grid-column:1;grid-row:1;position:sticky;inset:0 auto auto 0;top:0;width:auto;height:100dvh;z-index:40;display:flex;flex-direction:column;gap:2px;padding:14px 12px 12px;transform:none;overflow:visible}
.main{grid-column:2;grid-row:1;margin-left:0;padding:30px clamp(20px,2.6vw,44px) 52px;max-width:1560px}
.client-app .main{padding:30px clamp(22px,3.2vw,52px) 52px}

/* Marca y control de contracción */
.rail-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:2px 4px 12px}
.rail-brand{flex:1;min-width:0;display:grid;gap:5px;justify-items:start}
.rail-mark{display:none;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:linear-gradient(140deg,#123f6d,#0b2d51);color:#fff;font-style:normal;font-weight:900;font-size:13px;letter-spacing:-.5px}
.rail-mark b{color:#54dbc1}
.rail-toggle{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:#f1f5fa;color:#64758a}
.rail-toggle:hover{background:#e3ecf7;color:var(--blue)}
.rail-toggle span{display:block;width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(1px,-1px);transition:transform .18s ease}
.app[data-rail="collapsed"] .rail-toggle span{transform:rotate(-135deg) translate(0,-1px)}

/* Organización: reemplaza la píldora que vivía en el header */
.rail-org{display:flex;align-items:center;gap:9px;padding:9px 10px;margin-bottom:10px;border:1px solid var(--line);border-radius:11px;background:#f8fbff;min-width:0}
.rail-org>i{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:#e9f1ff;color:#2868dc;font-style:normal;font-size:14px}
.rail-org span{display:grid;min-width:0}
.rail-org small{color:#8a99aa;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.rail-org b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.rail-nav{display:grid;gap:1px;min-width:0}
.nav{gap:11px;min-width:0}
.nav>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav>i{flex:0 0 20px;text-align:center}

/* Identidad y sesión, antes en la esquina superior derecha */
.side-bottom{margin-top:auto;display:grid;gap:5px;padding-top:10px}
.side-bottom .agent-status{padding:7px 10px;border-radius:10px}
.side-bottom .agent-status b{font-size:11px}
.rail-profile{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border-radius:11px;background:#f8fbff;border:1px solid var(--line);color:var(--ink);text-align:left;min-width:0}
.rail-profile:hover{border-color:#9ab8ed;background:#f2f7ff}
.rail-profile>i{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#dce9ff;color:var(--navy);font-style:normal;font-weight:800;font-size:11px}
.rail-profile span{display:grid;min-width:0}
.rail-profile b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-profile small{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logout{display:flex;align-items:center;gap:11px;width:100%;margin-top:0;padding:8px 10px;border-radius:10px;text-align:left}
.logout>i{font-style:normal;font-size:15px;flex:0 0 20px;text-align:center}
.logout:hover{background:#fdf0f1;color:#c4323f}

/* Estado contraído: solo iconos, el contenido gana el ancho */
.app[data-rail="collapsed"] .rail-brand,
.app[data-rail="collapsed"] .rail-org span,
.app[data-rail="collapsed"] .nav>span,
.app[data-rail="collapsed"] .side-label,
.app[data-rail="collapsed"] .agent-status span,
.app[data-rail="collapsed"] .rail-profile span,
.app[data-rail="collapsed"] .rail-caret{display:none}
.app[data-rail="collapsed"] .rail-mark{display:grid}
.app[data-rail="collapsed"] .side{padding:14px 10px 12px;align-items:stretch}
.app[data-rail="collapsed"] .rail-head{flex-direction:column;gap:10px;padding-bottom:10px}
.app[data-rail="collapsed"] .rail-org{justify-content:center;padding:9px 0}
.app[data-rail="collapsed"] .nav{justify-content:center;padding:11px 0}
.app[data-rail="collapsed"] .agent-status,.app[data-rail="collapsed"] .side-bottom .agent-status{justify-content:center;padding:8px 0}
.app[data-rail="collapsed"] .rail-profile{justify-content:center;padding:8px 0}

.rail-launcher,.rail-scrim{display:none}

@media(max-width:900px){
  .app,.app[data-rail="collapsed"]{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;top:0;left:0;width:272px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:14px 0 40px rgba(11,32,56,.16)}
  .app.rail-open .side{transform:none}
  .main{grid-column:1;padding:64px 16px 34px}
  /* El espacio cliente tiene su propio padding, mas especifico que el de arriba: sin esta
     linea se quedaba con los 30px de escritorio y el boton flotante del menu se comia el
     encabezado de la pantalla. */
  .client-app .main{padding:64px 16px 34px}
  .rail-launcher{display:grid;place-items:center;position:fixed;top:12px;left:12px;z-index:45;width:40px;height:40px;border-radius:11px;background:var(--navy);color:#fff;font-size:17px;box-shadow:0 8px 20px rgba(11,32,56,.22)}
  .app.rail-open .rail-launcher{display:none}
  .app.rail-open .rail-scrim{display:block;position:fixed;inset:0;z-index:35;background:rgba(11,32,56,.42);border:0}
  .app[data-rail="collapsed"] .rail-brand,.app[data-rail="collapsed"] .rail-org span,.app[data-rail="collapsed"] .nav>span,
  .app[data-rail="collapsed"] .side-label,.app[data-rail="collapsed"] .agent-status span,
  .app[data-rail="collapsed"] .rail-profile span,.app[data-rail="collapsed"] .rail-caret{display:revert}
  .app[data-rail="collapsed"] .rail-mark{display:none}
  .app[data-rail="collapsed"] .rail-head{flex-direction:row}
  .app[data-rail="collapsed"] .nav,.app[data-rail="collapsed"] .rail-org,
  .app[data-rail="collapsed"] .rail-profile{justify-content:flex-start;padding:11px 13px}
}
@media(prefers-reduced-motion:reduce){.app,.side,.rail-toggle span{transition:none}}

/* ============================================================
   Revisión por dimensión — diseño de referencia.
   Todo bajo .rv: los nombres (.item, .code, .status, .filter) son
   genéricos y chocarían con la cartera si vivieran sueltos.
   ============================================================ */
.rv{--rv-line:#e1e8f1;--rv-line2:#edf1f6;--rv-blue:#2d6dea;--rv-muted:#64778f;color:#142235}
.rv .topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px}
/* Volver a la cartera es la salida de una pantalla larga: si se lee como texto suelto, se pierde. */
.rv .back{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rv-line);background:#fff;color:#26559f;padding:0 13px 0 9px;height:36px;border-radius:10px;font-size:11.5px;font-weight:900;box-shadow:0 4px 12px rgba(21,52,88,.06);transition:.18s ease}
.rv .back i{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#edf4ff;color:#2b63d3;font-style:normal;font-size:12px;transition:.18s ease}
.rv .back:hover{border-color:#bcd2ff;background:#f7faff;box-shadow:0 9px 20px rgba(45,109,234,.15);transform:translateY(-1px)}
.rv .back:hover i{background:#2d6dea;color:#fff}
.rv .back:focus-visible{outline:2px solid #2d6dea;outline-offset:2px}
.rv .readonly{display:inline-flex;align-items:center;gap:6px;color:#687c94;font-size:10px;font-weight:800;background:#fff;border:1px solid var(--rv-line);padding:6px 9px;border-radius:999px}

.rv .header-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;background:#fff;border:1px solid var(--rv-line);border-radius:17px;padding:14px 16px;box-shadow:0 7px 22px rgba(21,52,88,.045);margin-bottom:10px;position:relative;overflow:hidden}
.rv .header-compact:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#2d6dea,#18ad9b)}
.rv .header-compact .eyebrow{font-size:10px;color:#3269d2;text-transform:uppercase;letter-spacing:1.1px;font-weight:950;margin:0 0 4px}
.rv .header-compact h1{margin:0;font-size:23px;letter-spacing:-.5px;line-height:1.1}
.rv .header-compact p:not(.eyebrow){margin:5px 0 0;color:var(--rv-muted);font-size:12px;line-height:1.35}
.rv .header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rv .btn{height:38px;border:1px solid var(--rv-line);background:#fff;color:#536a83;padding:0 12px;border-radius:10px;font-weight:850;font-size:11px;display:inline-flex;align-items:center;gap:7px;transition:.18s ease}
.rv .btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(21,52,88,.08)}
.rv .btn.primary{background:var(--rv-blue);color:#fff;border-color:var(--rv-blue);box-shadow:0 8px 18px rgba(45,109,234,.2)}

.rv .quickstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.rv .quick{height:54px;background:#fff;border:1px solid var(--rv-line);border-radius:13px;padding:9px 11px;display:flex;align-items:center;gap:9px;min-width:0}
.rv .qico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;font-style:normal}
.rv .qico.blue{background:#edf4ff;color:#2d6dea}
.rv .qico.amber{background:#fff5e5;color:#bd7818}
.rv .qico.teal{background:#eaf9f6;color:#168d7d}
.rv .qico.violet{background:#f2efff;color:#6b54cf}
.rv .quick small{display:block;color:#8494a7;font-size:9px;text-transform:uppercase;letter-spacing:.75px;font-weight:900}
.rv .quick strong{font-size:17px;line-height:1.1}
.rv .quick em{font-style:normal;color:#7b8da3;font-size:10px;margin-left:4px}

/* Criterio del reporte: la vara contra la que se emiten las respuestas y el reporte. */
.rv .rv-goal{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:18px;background:#fff;border:1px solid var(--rv-line);border-radius:17px;padding:14px 16px 16px;margin-bottom:10px;box-shadow:0 7px 22px rgba(21,52,88,.045);position:relative;overflow:hidden}
.rv .rv-goal:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#e0a01e,#2d6dea)}
.rv .rv-goal .eyebrow{font-size:10px;color:#b47a12;text-transform:uppercase;letter-spacing:1.1px;font-weight:950;margin:0 0 4px}
.rv .rv-goal h2{margin:0 0 5px;font-size:16px;letter-spacing:-.2px}
.rv .rv-goal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.rv .rv-goal-hint{margin:0;color:var(--rv-muted);font-size:11.5px;line-height:1.4;max-width:52ch}
/* Si el reporte ya se emitió se dice cuándo y contra qué vara: el botón cambia con esta línea. */
.rv .rv-goal-stamp{margin:6px 0 0;color:#7b8da3;font-size:10.5px;font-weight:800;line-height:1.4;max-width:52ch}
.rv .rv-goal-stamp:empty{display:none}
.rv .rv-goal-value{text-align:right;flex:0 0 auto;line-height:1}
.rv .rv-goal-value strong{font-size:30px;letter-spacing:-1px;color:#1b3454}
.rv .rv-goal-value small{font-size:12px;color:#93a3b6;font-weight:900;margin-left:2px}
.rv .rv-goal-value em{display:block;font-style:normal;font-size:10px;font-weight:900;color:#6c7f97;margin-top:5px}
.rv .rv-goal-track{position:relative;margin-top:26px}
.rv .rv-goal-now{position:absolute;top:-24px;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;pointer-events:none;white-space:nowrap}
.rv .rv-goal-now b{font-size:9px;font-weight:900;color:#6c7f97;background:#f2f5f9;border-radius:99px;padding:3px 7px}
.rv .rv-goal-now i{width:2px;height:8px;background:#c3cfdd;border-radius:99px}
.rv .rv-goal input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:9px;border-radius:99px;background:linear-gradient(90deg,#2d6dea 0,#2d6dea var(--fill,50%),#e7edf6 var(--fill,50%),#e7edf6 100%);margin:0;outline:none;cursor:pointer}
.rv .rv-goal input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #2d6dea;box-shadow:0 4px 12px rgba(45,109,234,.35);cursor:grab;transition:transform .15s ease}
.rv .rv-goal input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}
.rv .rv-goal input[type=range]:active::-webkit-slider-thumb{transform:scale(1.14);cursor:grabbing;box-shadow:0 6px 16px rgba(45,109,234,.45)}
.rv .rv-goal input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #2d6dea;box-shadow:0 4px 12px rgba(45,109,234,.35);cursor:grab}
.rv .rv-goal input[type=range]:focus-visible{outline:2px solid #2d6dea;outline-offset:4px}
/* El objetivo comprometido es la excepción, no la regla: la casilla nace desmarcada y la vara
   queda inerte hasta que alguien declare que el cliente pactó un puntaje. Apagada se sigue
   viendo dónde cae la referencia, que es la información que el consultor necesita igual. */
.rv .rv-goal-switch{margin:0 0 5px}
.rv .rv-goal-switch label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.rv .rv-goal-switch input{position:absolute;opacity:0;width:0;height:0}
.rv .rv-goal-switch span{flex:0 0 auto;width:16px;height:16px;border-radius:5px;border:2px solid #c3cfdd;background:#fff;display:grid;place-items:center;transition:background .15s ease,border-color .15s ease}
.rv .rv-goal-switch span:after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(.4);opacity:0;transition:transform .15s ease,opacity .15s ease;margin-top:-2px}
.rv .rv-goal-switch label:hover span{border-color:#2d6dea}
.rv .rv-goal-switch input:checked+span{background:#2d6dea;border-color:#2d6dea}
.rv .rv-goal-switch input:checked+span:after{opacity:1;transform:rotate(-45deg) scale(1)}
.rv .rv-goal-switch input:focus-visible+span{outline:2px solid #2d6dea;outline-offset:3px}
.rv .rv-goal-off:before{background:linear-gradient(#c3cfdd,#93a3b6)}
.rv .rv-goal-off .eyebrow{color:#8494a8}
.rv .rv-goal-off .rv-goal-value strong{color:#7b8da3}
.rv .rv-goal-track.off{opacity:.55}
.rv .rv-goal-track.off input[type=range]{background:linear-gradient(90deg,#b6c3d4 0,#b6c3d4 var(--fill,50%),#eef2f7 var(--fill,50%),#eef2f7 100%);cursor:not-allowed}
.rv .rv-goal-track.off input[type=range]::-webkit-slider-thumb{border-color:#b6c3d4;box-shadow:none;cursor:not-allowed;transform:none}
.rv .rv-goal-track.off input[type=range]::-moz-range-thumb{border-color:#b6c3d4;box-shadow:none;cursor:not-allowed}
/* Marcas de nivel bajo la pista: el paso es de una décima, pero la vista sigue anclada a los cinco niveles. */
.rv .rv-goal-ticks{position:relative;height:6px;margin-top:3px}
.rv .rv-goal-ticks i{position:absolute;top:0;width:1px;height:5px;background:#d4dded;transform:translateX(-50%)}
.rv .rv-goal-ticks i.major{height:6px;background:#b6c3d4}
.rv .rv-goal-scale{display:flex;justify-content:space-between;margin-top:2px;color:#93a3b6;font-size:10px;font-weight:900}
.rv .rv-goal-side{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0}
.rv .rv-goal-read{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.rv .rv-goal-read article{background:#fbfcfe;border:1px solid var(--rv-line);border-radius:12px;padding:8px 10px;min-width:0}
.rv .rv-goal-read article.warn{background:#fffaf1;border-color:#f2e2c6}
.rv .rv-goal-read article.ok{background:#f2fbf8;border-color:#cfeae2}
.rv .rv-goal-read small{display:block;color:#8494a7;font-size:9px;text-transform:uppercase;letter-spacing:.7px;font-weight:900}
.rv .rv-goal-read strong{display:block;font-size:17px;line-height:1.2;margin-top:3px}
.rv .rv-goal-read strong u{text-decoration:none;font-size:10px;color:#93a3b6}
.rv .rv-goal-read em{display:block;font-style:normal;color:#7b8da3;font-size:9.5px;line-height:1.3;margin-top:3px}
.rv .rv-goal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.rv .rv-goal-actions .btn{height:40px}
.rv .rv-goal-actions .btn:disabled{opacity:.55;cursor:progress;transform:none;box-shadow:none}
@media(max-width:1080px){.rv .rv-goal{grid-template-columns:1fr}.rv .rv-goal-read{grid-template-columns:1fr}}

.rv .workspace{background:#fff;border:1px solid var(--rv-line);border-radius:18px;box-shadow:0 13px 34px rgba(24,55,91,.075);overflow:visible}
.rv .workspace-head{padding:12px 14px 10px;border-bottom:1px solid var(--rv-line);background:linear-gradient(#fff,#fcfdff);border-radius:18px 18px 0 0}
.rv .workspace-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.rv .workspace-title h2{margin:0;font-size:18px;letter-spacing:-.25px}
.rv .workspace-title p{margin:3px 0 0;color:var(--rv-muted);font-size:11px}
.rv .rv-tabs{display:flex;gap:4px;background:#f4f7fb;border:1px solid #e4ebf4;border-radius:11px;padding:3px;flex:0 0 auto}
.rv .rv-tabs button{border:0;background:transparent;color:#6d8098;border-radius:8px;padding:7px 11px;font-size:11px;font-weight:900}
.rv .rv-tabs button b{font-weight:900;opacity:.6;margin-left:4px}
.rv .rv-tabs button.active{background:#fff;color:#225fd7;box-shadow:0 2px 8px rgba(21,52,88,.09)}
.rv .dimension-strip{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:7px}
.rv .dim-chip{position:relative;min-width:0;border:1px solid var(--rv-line);background:#fbfcfe;border-radius:12px;padding:9px 10px;text-align:left;transition:.2s ease;overflow:hidden}
.rv .dim-chip:hover{border-color:#cfdced;transform:translateY(-1px);background:#fff}
.rv .dim-chip.active{border-color:#bcd2ff;background:#f4f8ff;box-shadow:0 7px 18px rgba(45,109,234,.08)}
.rv .dim-chip:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dim-color,#2d6dea);opacity:.9}
.rv .dim-line1{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}
.rv .dim-name{font-size:10.5px;line-height:1.25;font-weight:900;color:#354d68;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}
.rv .dim-score{font-weight:950;font-size:14px;color:#233d5b;white-space:nowrap}
.rv .dim-score small{font-size:8px;color:#92a1b3}
.rv .dim-sub{display:flex;justify-content:space-between;gap:6px;margin-top:6px;font-size:9px;color:#7b8da3}
.rv .mini-progress{height:4px;background:#e9eef5;border-radius:99px;overflow:hidden;margin-top:5px}
.rv .mini-progress i{display:block;height:100%;background:var(--dim-color,#2d6dea);border-radius:inherit;transition:width .8s cubic-bezier(.2,.8,.2,1)}

/* Sin barra superior: la toolbar se pega al borde del viewport. */
.rv .toolbar-wrap{position:sticky;top:0;z-index:35;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--rv-line)}
.rv .toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:8px;padding:9px 14px}
.rv .rv-search{position:relative;display:block}
.rv .rv-search input{width:100%;height:40px;border:1px solid #dce5ef;background:#f9fbfd;border-radius:11px;padding:0 12px 0 36px;outline:none;color:#263a52;font-size:13px}
.rv .rv-search input:focus{border-color:#8fb0ef;box-shadow:0 0 0 3px rgba(45,109,234,.08);background:#fff}
.rv .rv-search svg{position:absolute;left:12px;top:12px;color:#7c8da2}
.rv .filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.rv .filter{height:38px;border:1px solid #dce5ef;background:#fff;color:#667a91;padding:0 10px;border-radius:10px;font-size:10.5px;font-weight:900;transition:.18s}
.rv .filter:hover{background:#f7f9fc}
.rv .filter.active{background:#edf4ff;color:#225fd7;border-color:#cddfff}
.rv .view-toggle{display:flex;border:1px solid #dce5ef;border-radius:10px;padding:3px;background:#f8fafc;height:40px}
.rv .view-toggle button{border:0;background:transparent;color:#75869b;border-radius:7px;padding:0 9px;font-size:10px;font-weight:900}
.rv .view-toggle button.active{background:#fff;color:#255fd5;box-shadow:0 2px 8px rgba(21,52,88,.08)}
.rv .toolbar-sub{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px 9px;color:#75879d;font-size:10px}
.rv .toolbar-sub .right{display:flex;align-items:center;gap:12px}
.rv .textbtn{border:0;background:transparent;color:#2864d6;font-size:10px;font-weight:900;padding:3px 0}
.rv .textbtn[hidden]{display:none}

.rv .groups{padding:10px}
.rv .group{border:1px solid var(--rv-line);border-radius:15px;background:#fff;margin-bottom:10px;overflow:hidden;scroll-margin-top:74px;transition:.2s ease}
.rv .group:hover{border-color:#d5dfeb}
.rv .group.open{box-shadow:0 10px 30px rgba(21,52,88,.05)}
.rv .group-head{width:100%;border:0;background:linear-gradient(90deg,#fcfdff,#fff);padding:12px 14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto auto auto auto;gap:12px;align-items:center;text-align:left;color:inherit}
.rv .group-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--dim-color) 11%,white);color:var(--dim-color);font-weight:950;font-size:13px;font-style:normal}
.rv .group-title b{display:block;font-size:15px;letter-spacing:-.1px}
.rv .group-title small{display:block;color:#70839a;font-size:10.5px;margin-top:3px}
.rv .coverage-ring{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),#e8edf3 0);position:relative}
.rv .coverage-ring:after{content:"";position:absolute;inset:4px;background:#fff;border-radius:50%}
.rv .coverage-ring b{position:relative;z-index:2;font-size:8px;color:#5a6e85}
.rv .group-score{text-align:center;min-width:60px}
.rv .group-score strong{display:block;font-size:17px;letter-spacing:-.4px}
.rv .group-score small{font-size:8px;color:#92a1b3}
.rv .evidence-pill{font-size:9px;font-weight:900;padding:6px 8px;border-radius:999px;background:#eef8f5;color:#20836f;white-space:nowrap}
.rv .evidence-pill.empty{background:#f3f5f8;color:#8998a9}
.rv .caret{width:28px;height:28px;border-radius:8px;background:#f5f8fb;color:#788ca2;display:grid;place-items:center;transition:.2s ease}
.rv .group.open .caret{transform:rotate(90deg);background:#edf4ff;color:#2b63d3}
.rv .group-body{display:none;border-top:1px solid var(--rv-line2);background:#fbfcfe}
.rv .group.open .group-body{display:block;animation:rv-reveal .22s ease}
@keyframes rv-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.rv .subgroup{padding:10px}
.rv .subgroup + .subgroup{border-top:1px solid var(--rv-line)}
.rv .subgroup-head{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 8px 8px}
.rv .subgroup-head-left{display:flex;align-items:center;gap:9px;min-width:0}
.rv .subgroup-mark{width:4px;height:22px;border-radius:99px;background:var(--dim-color);flex:0 0 4px}
.rv .subgroup-head b{font-size:12.5px}
.rv .subgroup-head small{display:block;font-size:10px;color:#8393a6}
.rv .subgroup-score{font-size:10px;font-weight:900;color:#536b84;background:#f1f5f9;border-radius:999px;padding:5px 8px;white-space:nowrap}
.rv .items{display:grid;gap:7px}
.rv .item{background:#fff;border:1px solid #e2e8f0;border-radius:13px;display:grid;grid-template-columns:42px minmax(0,1fr) 166px;gap:10px;padding:11px 12px;position:relative;transition:.18s ease;overflow:hidden}
.rv .item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#dce3ec}
.rv .item.sustained:before{background:#24a984}
.rv .item.unsustained:before{background:#e5a43d}
.rv .item.pending:before{background:#b9c3cf}
.rv .item:hover{border-color:#cdd9e7;box-shadow:0 7px 18px rgba(21,52,88,.055);transform:translateY(-1px)}
.rv .item-num{width:34px;height:34px;border-radius:10px;background:#f2f6fb;color:#4b6e9a;display:grid;place-items:center;font-size:11px;font-weight:950}
.rv .item-main{min-width:0}
.rv .question{font-size:14px;line-height:1.42;font-weight:800;color:#1f3045;margin:0}
.rv .item-topmeta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:5px}
.rv .code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#2b65cf;background:#eef4ff;padding:3px 6px;border-radius:6px;font-size:9.5px;font-weight:800}
.rv .level-label{color:#75879d;font-size:10px}
.rv .answer{margin-top:9px;background:#f7f9fc;border:1px solid #edf1f6;border-radius:10px;padding:9px 10px;font-size:12.5px;line-height:1.46;color:#4a5f78}
.rv .answer .key{display:inline-flex;align-items:center;background:#edf4ff;color:#2a63d2;border-radius:6px;padding:3px 6px;font-size:9px;font-weight:950;margin-right:7px}
.rv .answer.pending-answer{background:#fafbfc;color:#8a98a9;font-style:italic}
.rv .evidence{margin-top:7px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10.5px;color:#60748c;background:none;border:0;padding:0}
.rv .evi-dot{width:7px;height:7px;border-radius:50%;background:#21a67f;flex:0 0 7px}
.rv .evidence.weak{color:#9a6a24}
.rv .evidence.weak .evi-dot{background:#e6a13a}
.rv .evidence.pending{color:#8998aa}
.rv .evidence.pending .evi-dot{background:#b9c3cf}
.rv .evidence a,.rv .rv-file{color:#2864d6;text-decoration:none;font-weight:850;background:#f0f5ff;border:1px solid #deebff;padding:4px 6px;border-radius:7px;font-size:10px}
.rv .rv-file:hover{background:#e2ecff}
.rv .meta-col{border-left:1px solid #edf1f5;padding-left:11px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:0}
.rv .score-rail{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rv .level-badge{font-size:11px;font-weight:950;color:#334d69;white-space:nowrap}
.rv .level-bars{display:flex;gap:3px}
.rv .level-bars i{width:7px;height:16px;border-radius:3px;background:#e7ecf2}
.rv .level-bars i.on{background:#5c83d5}
.rv .responder{font-size:10.5px;color:#566c85;line-height:1.35}
.rv .responder b{display:block;color:#314861;font-size:11px}
.rv .responder small{display:block;color:#8392a4;margin-top:1px;font-size:9.5px}
.rv .status{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:900;width:max-content}
.rv .status.ok{background:#eaf8f3;color:#198168}
.rv .status.warn{background:#fff4e5;color:#a66b1c}
.rv .status.pending{background:#f1f4f7;color:#8796a8}
.rv .compact .item{grid-template-columns:36px minmax(0,1fr) 150px;padding:9px 10px}
.rv .compact .item-num{width:30px;height:30px}
.rv .compact .question{font-size:12.8px}
.rv .compact .answer,.rv .compact .evidence{display:none}
.rv .compact .item-topmeta{margin-top:3px}
.rv .empty-dimension{padding:18px;border:1px dashed #d6e0eb;border-radius:12px;background:#fff;text-align:center;color:#8191a4}
.rv .empty-dimension b{display:block;color:#566c85;font-size:12px}
.rv .empty-dimension p{font-size:10.5px;margin:4px 0 0}
.rv .no-results{padding:38px 18px;text-align:center;color:#7b8ca0;font-size:12px}
.rv .pulse{animation:rv-pulse .75s ease}
@keyframes rv-pulse{0%{box-shadow:0 0 0 0 rgba(45,109,234,.25)}100%{box-shadow:0 0 0 14px rgba(45,109,234,0)}}
.rv .rv-timeline{display:grid;gap:9px}
.rv .rv-msg{border:1px solid var(--rv-line);border-radius:11px;padding:11px 13px;background:#fbfcfe}
.rv .rv-msg.user{background:#eef4ff;border-color:#d5e2fb}
.rv .rv-msg.system{background:#f6f8fb;border-style:dashed}
.rv .rv-msg b{font-size:10px;color:#2865cd}
.rv .rv-msg p{margin:5px 0 4px;color:#4a5f78;font-size:12px;line-height:1.5;white-space:pre-line}
.rv .rv-msg small{color:#95a3b2;font-size:9px}

@media(max-width:1380px){
  .rv .dimension-strip{grid-template-columns:repeat(3,minmax(160px,1fr))}
}
@media(max-width:1100px){
  .rv .item{grid-template-columns:38px minmax(0,1fr)}
  .rv .meta-col{grid-column:2;border-left:0;border-top:1px solid #edf1f5;padding:8px 0 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center}
  .rv .responder{text-align:right}
  .rv .quickstrip{grid-template-columns:repeat(2,1fr)}
  .rv .header-compact{grid-template-columns:1fr}
  .rv .header-actions{justify-content:flex-start}
}
@media(max-width:760px){
  .rv .quickstrip{grid-template-columns:1fr 1fr;gap:6px}
  .rv .workspace-title{align-items:flex-start;flex-direction:column}
  .rv .dimension-strip{display:flex;overflow:auto;padding-bottom:3px;scrollbar-width:none}
  .rv .dim-chip{min-width:180px}
  .rv .toolbar{grid-template-columns:1fr}
  .rv .filters{overflow:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}
  .rv .view-toggle{width:100%}
  .rv .view-toggle button{flex:1}
  .rv .group-head{grid-template-columns:36px minmax(0,1fr) auto auto}
  .rv .group-head .coverage-ring,.rv .group-head .evidence-pill{display:none}
  .rv .item{grid-template-columns:34px minmax(0,1fr);padding:10px 9px}
  .rv .meta-col{grid-template-columns:1fr;gap:6px}
  .rv .responder{text-align:left}
  .rv .readonly{display:none}
}
.rv .rv-responders{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.rv .rv-responder{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;border:1px solid var(--rv-line);border-radius:999px;background:#fbfcfe;font-size:10.5px;font-weight:800;color:#4a5f78}
.rv .rv-responder i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e9f1ff;color:#2a63d2;font-style:normal;font-size:8.5px;font-weight:900}
.rv .rv-responder b{color:#2864d6;background:#eef4ff;border-radius:999px;padding:1px 6px;font-size:9px}
.rv .rv-responder.empty{color:#8998aa;font-weight:700;padding:4px 9px}

/* ============ Mis cuentas: maqueta de rediseño de cartera por organización ============ */
.ac{--ac-ink:#10233d;--ac-line:#e3ebf5;--ac-muted:#6f8097;--ac-brand:#2f72f5;--ac-brand-2:#1f5fe8;max-width:1510px;margin:0 auto;color:var(--ac-ink)}
.ac *{box-sizing:border-box}

/* Hero */
.ac .hero{position:relative;display:flex;gap:26px;align-items:flex-end;justify-content:space-between;margin-bottom:20px}
.ac .hero::after{content:"";position:absolute;right:19%;top:-55px;width:280px;height:160px;background:radial-gradient(circle,rgba(82,141,255,.14),transparent 70%);pointer-events:none}
.ac .eyebrow{position:relative;margin:0 0 7px;color:#2563eb;text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:11px}
.ac h1{font-size:clamp(28px,2.2vw,38px);line-height:1.08;letter-spacing:-.035em;margin:0;color:#0c2039}
.ac .subtitle{max-width:780px;margin:10px 0 0;color:#6c7f97;font-size:14px;line-height:1.55}
.ac .primary-btn{display:inline-flex;align-items:center;gap:9px;padding:12px 17px;border-radius:13px;background:linear-gradient(135deg,#3076ff,#1f5fe8);color:#fff;font-weight:850;box-shadow:0 10px 22px rgba(37,99,235,.24);transition:.2s ease;white-space:nowrap}
.ac .primary-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(37,99,235,.3)}
.ac .primary-btn:active{transform:none}
.ac .primary-btn svg{width:17px;height:17px}

/* Indicadores de cartera */
.ac-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.ac-stat{position:relative;overflow:hidden;min-height:96px;padding:16px;border:1px solid var(--ac-line);border-radius:17px;background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(24,62,104,.05)}
.ac-stat::after{content:"";position:absolute;right:-24px;bottom:-35px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(48,118,255,.11),transparent 70%)}
.ac-stat-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ac-stat-label{color:#7a8ba0;font-size:11px;font-weight:800}
.ac-stat-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:11px;background:#eef4ff;color:#2f72f5}
.ac-stat-icon svg{width:17px;height:17px}
.ac-stat>strong{position:relative;display:block;margin-top:7px;font-size:25px;letter-spacing:-.04em}
.ac-stat>strong small{color:#8b9bb0;font-size:12px;font-weight:750}
.ac-stat>small{position:relative;display:block;margin-top:2px;color:#8b9bb0;font-size:11px}
.ac-stat.levels ul{position:relative;list-style:none;margin:7px 0 0;padding:0;display:grid;gap:4px}
.ac-stat.levels li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.ac-stat.levels li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5b6b80;font-size:11px;font-weight:750}
.ac-stat.levels li strong{flex:none;font-size:19px;letter-spacing:-.04em}
.ac-stat.levels li strong small{color:#8b9bb0;font-size:10px;font-weight:750}
.ac-stat.levels>small{margin-top:7px}
.ac-stat.warn .ac-stat-icon{background:#fff3e6;color:#c2701a}
.ac-stat.warn::after{background:radial-gradient(circle,rgba(229,165,44,.14),transparent 70%)}

/* Barra de herramientas pegajosa */
.ac-toolbar{position:sticky;top:10px;z-index:15;display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:12px;border:1px solid var(--ac-line);border-radius:18px;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(24,62,104,.05)}
.ac-search{flex:1;min-width:240px;display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid transparent;border-radius:13px;background:#f2f6fb;color:#8a9ab0;transition:.2s ease}
.ac-search:focus-within{background:#fff;border-color:#a7c4fb;box-shadow:0 0 0 4px rgba(47,114,245,.09)}
.ac-search svg{width:18px;height:18px;flex:none}
.ac-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ac-ink);font-size:13px}
.ac-search input::placeholder{color:#9aa9bd}
.ac-filter{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:1px solid var(--ac-line);border-radius:13px;background:#fff;color:#516884;font-size:12px;font-weight:800;transition:.2s ease}
.ac-filter svg{width:17px;height:17px}
.ac-filter b{color:#1554c4}
.ac-filter:hover{border-color:#bed3ee;background:#f7fbff}
.ac-views{display:flex;gap:3px;padding:3px;border:1px solid var(--ac-line);border-radius:13px;background:#fff}
.ac-views button{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:transparent;color:#93a3b8;transition:.18s ease}
.ac-views button svg{width:17px;height:17px}
.ac-views button:hover{background:#f4f7fc;color:#5d7390}
.ac-views button.active{background:#eef4ff;color:#1f61da}

/* Tarjeta de cuenta */
.ac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ac-card{position:relative;overflow:hidden;padding:20px;border:1px solid var(--ac-line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(23,57,95,.06);transition:.26s cubic-bezier(.2,.8,.2,1);animation:ac-rise .5s cubic-bezier(.2,.8,.2,1) both}
.ac-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--ac-status,#c8d3e0)}
.ac-card:hover{transform:translateY(-4px);border-color:#d5e3f6;box-shadow:0 20px 48px rgba(23,57,95,.12)}
.ac-card[data-risk=ok],.ac-row[data-risk=ok]{--ac-status:var(--st-ok);--ac-status-bg:var(--st-ok-bg);--ac-status-ink:var(--st-ok-ink)}
.ac-card[data-risk=done],.ac-row[data-risk=done]{--ac-status:var(--st-done);--ac-status-bg:var(--st-done-bg);--ac-status-ink:var(--st-done-ink)}
.ac-card[data-risk=watch],.ac-row[data-risk=watch]{--ac-status:var(--st-watch);--ac-status-bg:var(--st-watch-bg);--ac-status-ink:var(--st-watch-ink)}
.ac-card[data-risk=stalled],.ac-row[data-risk=stalled]{--ac-status:var(--st-stalled);--ac-status-bg:var(--st-stalled-bg);--ac-status-ink:var(--st-stalled-ink)}
.ac-card[data-risk=idle],.ac-row[data-risk=idle]{--ac-status:var(--st-idle);--ac-status-bg:var(--st-idle-bg);--ac-status-ink:var(--st-idle-ink)}

.ac-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px}
.ac-logo{width:50px;height:50px;flex:none;display:grid;place-items:center;border:1px solid #dce9fb;border-radius:15px;background:linear-gradient(145deg,#eaf2ff,#f5f8ff);color:#2866c7;font-size:12px;font-style:normal;font-weight:900;letter-spacing:.04em}
.ac-title{min-width:0}
.ac-title h2{margin:0;font-size:17px;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-title p{margin:3px 0 0;color:#8492a6;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-status{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:var(--ac-status-bg,#f0f4f8);color:var(--ac-status-ink,#6f8097);font-size:11px;font-weight:850;white-space:nowrap}
.ac-status i{width:7px;height:7px;border-radius:50%;background:var(--ac-status,#c3cede)}

.ac-card-body{margin-top:20px;display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center}
.ac-progress{padding:16px;border:1px solid #ecf1f7;border-radius:17px;background:linear-gradient(145deg,#f8fafd,#f3f6fb)}
.ac-progress-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.ac-progress-top strong{font-size:30px;letter-spacing:-.04em}
.ac-progress-top span{color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ac-bar{display:block;height:8px;margin-top:10px;overflow:hidden;border-radius:999px;background:#e6ecf4}
.ac-bar i{display:block;height:100%;width:var(--progress,0%);border-radius:inherit;background:linear-gradient(90deg,var(--ac-brand),#2fb9a2);transform-origin:left;animation:ac-load .9s .15s cubic-bezier(.2,.8,.2,1) both}
.ac-progress small{display:block;margin-top:10px;color:#66798f;font-size:11px;line-height:1.4}
.ac-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ac-metric{min-height:66px;padding:11px 12px;border:1px solid #ecf1f7;border-radius:14px;background:#fff}
.ac-metric span{display:block;color:#8b97a9;font-size:10px;font-weight:750}
.ac-metric strong{display:block;margin-top:3px;font-size:16px;letter-spacing:-.02em}
.ac-metric strong small{color:#94a3b8;font-size:10px;font-weight:700}
.ac-metric strong.level{color:#1f61da}
.ac-metric.levels ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px}
.ac-metric.levels li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
.ac-metric.levels li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5b6b80;font-size:11px;font-weight:700}
.ac-metric.levels li strong{margin:0;flex:none;font-size:15px}
.ac-metric.levels li strong small{font-size:9px}

.ac-people-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:17px;padding-top:15px;border-top:1px solid #eef2f7}
.ac-people-info{display:flex;align-items:center;gap:10px;min-width:0}
.ac-avatars{display:flex;padding-left:4px}
.ac-person{width:31px;height:31px;margin-left:-4px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#e8f0ff;color:#2a62c3;font-size:9px;font-style:normal;font-weight:900}
.ac-person.more{background:#eef2f7;color:#6b7c91}
.ac-people-copy{min-width:0}
.ac-people-copy b{display:block;font-size:11px}
.ac-people-copy small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;font-size:10px}
.ac-last{color:#94a3b8;font-size:10px;white-space:nowrap}

.ac-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px;padding-top:16px;border-top:1px solid #eef2f7}
.ac-action{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border:1px solid var(--ac-line);border-radius:14px;background:#fff;color:#39506b;font-size:12px;font-weight:800;transition:.2s cubic-bezier(.2,.8,.2,1)}
.ac-action svg{width:17px;height:17px;flex:none}
.ac-action:hover{transform:translateY(-2px);border-color:#bcd3f6;color:#1f61da;background:#f8fbff;box-shadow:0 8px 18px rgba(37,99,235,.08)}
.ac-action.primary{border-color:#cfe0fb;background:#f2f7ff;color:#1554c4}
.ac-action.primary:hover{border-color:#2f72f5;background:#2f72f5;color:#fff;box-shadow:0 10px 21px rgba(37,99,235,.22)}
.ac-count{min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#eef2f7;color:#64748b;font-size:9px}
.ac-action.primary .ac-count{background:#dfeaff;color:#1554c4}
.ac-action.primary:hover .ac-count{background:rgba(255,255,255,.2);color:#fff}

/* Vista de lista */
.ac-list{display:grid;gap:8px}
.ac-row{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(150px,1fr) 112px minmax(120px,.8fr) 128px 20px;align-items:center;gap:14px;width:100%;padding:13px 16px 13px 18px;border:1px solid var(--ac-line);border-radius:16px;background:#fff;text-align:left;color:inherit;box-shadow:0 6px 18px rgba(23,57,95,.04);transition:.2s ease}
.ac-row::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--ac-status,#c8d3e0)}
.ac-row:hover{transform:translateY(-1px);border-color:#d5e3f6;box-shadow:0 12px 28px rgba(23,57,95,.09)}
.ac-row-name{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;min-width:0}
.ac-row .ac-logo{width:38px;height:38px;border-radius:12px;font-size:10px}
.ac-row .ac-title b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.ac-row .ac-title small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8492a6;font-size:10px}
.ac-row-progress{min-width:0}
.ac-row-progress .ac-bar{width:100%;margin-top:0}
.ac-row-progress small{display:block;margin-top:5px;color:#7a8ba0;font-size:10px}
.ac-row-score{display:grid;gap:3px;min-width:0;color:#1f61da;letter-spacing:-.02em}
.ac-row-score i{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;font-style:normal}
.ac-row-score em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;font-size:10px;font-style:normal;font-weight:750}
.ac-row-score b{flex:none;font-size:14px;font-weight:800}
.ac-row-people b{display:block;font-size:12px}
.ac-row-people small{display:block;margin-top:2px;color:#94a3b8;font-size:10px}
.ac-row-go{color:#b6c2d2;font-size:16px;text-align:right}
.ac-row .ac-status{justify-self:start}

.ac-empty{display:grid;place-items:center;align-content:center;gap:6px;min-height:210px;padding:40px 24px;border:1px dashed #d4dfec;border-radius:20px;background:rgba(255,255,255,.6);color:var(--ac-muted);text-align:center}
.ac-empty b{color:var(--ac-ink);font-size:14px}
.ac-empty span{font-size:12px}

@keyframes ac-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ac-load{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media(max-width:1280px){
  .ac-grid{grid-template-columns:1fr}
  .ac-row{grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) 104px 128px 20px}
  .ac-row-people{display:none}
}
@media(max-width:1100px){
  .ac-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .ac .hero{display:block}
  .ac .primary-btn{margin-top:16px;width:100%;justify-content:center}
  .ac-toolbar{flex-wrap:wrap}
  .ac-search{min-width:100%;order:1}
  .ac-filter{flex:1;order:2}
  .ac-views{order:2}
  .ac-card-body{grid-template-columns:1fr}
  .ac-progress{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:center}
  .ac-progress-top{grid-column:1}
  .ac-progress .ac-bar{grid-column:2;grid-row:1;margin:0}
  .ac-progress small{grid-column:1/-1}
  .ac-actions{grid-template-columns:1fr}
  .ac-action{justify-content:flex-start;padding:0 16px}
  .ac-row{grid-template-columns:minmax(0,1fr) 110px 20px}
  .ac-row-progress,.ac-row-score{display:none}
}
@media(max-width:560px){
  .ac-stats{gap:8px}
  .ac-stat{min-height:88px;padding:14px}
  .ac-stat>strong{font-size:21px}
  .ac-stat>small{display:none}
  .ac-card{padding:16px;border-radius:18px}
  .ac-card-head{grid-template-columns:auto minmax(0,1fr)}
  .ac-status{grid-column:1/-1;justify-self:start}
  .ac-title h2{font-size:15px}
  .ac-people-row{display:block}
  .ac-last{display:block;margin-top:8px}
  .ac-filter span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .ac-card,.ac-bar i{animation:none}
}
/* Al teclear en el buscador la lista se repinta: sin re-animar cada tarjeta. */
#ac-panel.no-anim .ac-card,#ac-panel.no-anim .ac-bar i{animation:none}

/* --- Banco de preguntas agrupado por dimensión y su contexto reutilizable. --- */
.dim-actions{display:flex;align-items:center;gap:6px;justify-self:start;white-space:nowrap}
.dim-action{height:34px;border:1px solid #d7e1eb;background:#fff;color:#5a6d86;padding:0 11px;border-radius:9px;font-size:10px;font-weight:800;transition:.18s ease}
.dim-action:hover{border-color:#b7cdf0;color:#1d4ed8;box-shadow:0 5px 14px rgba(37,99,235,.1)}
.dim-action.primary{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.2)}
.dim-action.primary:hover{color:#fff;filter:brightness(1.05)}
.dim-ready{color:#0f8f7f;font-size:10px;font-weight:800;white-space:nowrap}

.qdim{border-bottom:1px solid #e8edf3;background:#fff}
.qdim:last-child{border-bottom:0}
.qdim-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;background:linear-gradient(#fbfcfe,#f7f9fc);border-bottom:1px solid transparent;transition:.18s ease}
.qdim.open .qdim-head{border-bottom-color:#e8edf3;background:linear-gradient(#f4f8ff,#fbfcfe)}
.qdim-toggle{display:flex;align-items:center;gap:9px;min-width:0;flex:1;background:transparent;color:#18324f;text-align:left;padding:4px 0}
.qdim-toggle i{width:16px;color:#7b8da4;font-style:normal;font-size:13px;line-height:1}
.qdim-toggle b{font-size:12.5px;letter-spacing:-.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qdim-toggle span{padding:3px 7px;border-radius:99px;background:#e9eef6;color:#5a6d86;font-size:9px;font-weight:800;white-space:nowrap}
.qdim-toggle small{color:#93a3b6;font-size:9.5px;white-space:nowrap}
.qdim-toggle:hover b{color:#1d4ed8}
.qdim-ctx{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.qdim-chip{padding:4px 9px;border-radius:99px;font-size:9px;font-weight:850;white-space:nowrap}
.qdim-chip.ok{background:#e4f7f2;color:#0d7f6f}
.qdim-chip.pending{background:#fdf0e3;color:#a2650d}
.qdim-chip.busy{background:#eaf1ff;color:#2158c9}
.qdim-btn{height:30px;border:1px solid #d7e1eb;background:#fff;color:#5a6d86;padding:0 10px;border-radius:8px;font-size:9.5px;font-weight:800;transition:.18s ease}
.qdim-btn:hover{border-color:#b7cdf0;color:#1d4ed8}
.qdim-btn.primary{border-color:#c7ddff;background:#eef5ff;color:#1d4ed8}
.qdim-btn.primary:hover{background:#2563eb;color:#fff}
.qdim-btn:disabled{opacity:.55;cursor:progress}
.qdim-rows .question-row:last-child{border-bottom:0}

.dim-panel-wrap{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end}
.dim-panel-scrim{flex:1;border:0;background:rgba(11,32,56,.34);backdrop-filter:blur(2px);animation:dimFade .2s ease}
.dim-panel{width:min(560px,100%);height:100%;display:flex;flex-direction:column;gap:14px;padding:20px;overflow-y:auto;background:#fff;box-shadow:-18px 0 46px rgba(15,32,58,.16);animation:dimSlide .24s cubic-bezier(.2,.8,.2,1)}
@keyframes dimFade{from{opacity:0}to{opacity:1}}
@keyframes dimSlide{from{transform:translateX(28px);opacity:0}to{transform:none;opacity:1}}
.dim-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dim-panel header h2{margin:0;font-size:19px;letter-spacing:-.4px}
.dim-panel .eyebrow{margin:0 0 5px}
.dim-panel-meta{margin:6px 0 0;color:#7b8da4;font-size:11px}
.dim-panel-x{width:30px;height:30px;border-radius:9px;background:#f1f5fa;color:#64778f;font-size:17px;line-height:1}
.dim-panel-x:hover{background:#e6edf6;color:#1d4ed8}
.dim-panel-note{display:flex;gap:10px;padding:11px 13px;border:1px solid #d6efe9;border-radius:11px;background:#f6fdfb}
.dim-panel-note>span{color:#0f8f7f;font-size:15px}
.dim-panel-note b{display:block;font-size:11.5px;color:#136e61}
.dim-panel-note small{display:block;margin-top:3px;color:#4b7a72;font-size:10.5px;line-height:1.45}
.dim-panel-field{display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;flex:1;min-height:0;font-size:11px;font-weight:800;color:#41597a}
.dim-panel-field textarea{width:100%;height:100%;min-height:280px;resize:vertical;border:1px solid #d7e1eb;border-radius:11px;padding:12px;color:#22364f;background:#fbfdff;font:inherit;font-weight:400;font-size:12.5px;line-height:1.6;outline:none}
.dim-panel-field textarea:focus{border-color:#6c9bf1;box-shadow:0 0 0 3px #e8f0ff;background:#fff}
.dim-panel-stamp{margin:0;color:#93a3b6;font-size:10px}
.dim-panel footer{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid #edf1f5}
.dim-panel footer .secondary,.dim-panel footer .primary{height:38px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:800}
.dim-panel footer .primary{margin-left:auto;color:#fff;background:#2563eb}
.dim-panel footer .secondary{background:#eef3f8;color:#41597a}
.dim-panel footer button:disabled{opacity:.55;cursor:progress}
@media(max-width:900px){
  .dim-panel{width:100%;padding:16px}
  .dim-actions{justify-self:stretch}
  .qdim-head{flex-wrap:wrap}
  .qdim-ctx{width:100%;justify-content:flex-end}
}

/* --- Filtro de alcance del banco: un control gobierna indicadores, gráficas y tabla. --- */
.scope-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;border:1px solid #e3eaf2;border-radius:14px;background:linear-gradient(#fff,#fbfcfe);box-shadow:0 6px 18px rgba(23,43,77,.04)}
.scope-bar>div{min-width:0}
.scope-bar small{display:block;color:#8496ac;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.scope-bar p{margin:4px 0 0;color:#64778f;font-size:11.5px;line-height:1.4}
.scope-filter{display:flex;gap:3px;flex:0 0 auto;padding:3px;border:1px solid #e4ebf4;border-radius:11px;background:#f4f7fb}
.scope-filter button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border-radius:9px;color:#657990;background:transparent;font-size:11px;font-weight:850;transition:.18s ease;white-space:nowrap}
.scope-filter button:hover{color:#225fd7}
.scope-filter button b{padding:2px 6px;border-radius:99px;color:#61748a;background:#e4eaf2;font-size:9px;font-weight:900}
.scope-filter button.active{color:#174ca9;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.1)}
.scope-filter button.active b{color:#fff;background:#2563eb}
.dimension-bars .fill.split{display:flex;overflow:hidden}
.dimension-bars .fill.split u,.dimension-bars .fill.split s{display:block;height:100%;text-decoration:none}
.dimension-bars .fill.split u{background:#2563eb}
.dimension-bars .fill.split s{background:#2ed3ba}
.bars-legend{display:flex;gap:14px;margin:2px 0 0;color:#7b8da4;font-size:10px;font-weight:750}
/* El card de gráficas es una fila flex: el rótulo no debe partirse ni robarle ancho al título. */
.question-chart-card header>span{white-space:nowrap}
.question-chart-card header>div{min-width:0}
.bars-legend span{display:inline-flex;align-items:center;gap:6px}
.bars-legend i{width:12px;height:4px;border-radius:2px;display:inline-block}
.bars-legend .lg-tech{background:#2563eb}
.bars-legend .lg-biz{background:#2ed3ba}
@media(max-width:900px){
  .scope-bar{flex-direction:column;align-items:stretch}
  .scope-filter{overflow-x:auto}
}

/* ============================================================
   Capa responsive transversal.
   Va última a propósito: ajusta las vistas que se armaron para
   pantallas anchas (cartera, banco de preguntas, accesos, reporte)
   sin tocar sus reglas base. Objetivo: ningún ancho entre 320px y
   1920px debe producir scroll horizontal ni contenido recortado.
   ============================================================ */

/* --- Raíz del desborde: `main` se dimensionaba por su contenido (fit-content), así
   que cualquier bloque ancho estiraba la página entera y las áreas con scroll propio
   nunca llegaban a usarse. Atado a su columna, el excedente scrollea donde corresponde. --- */
.main{width:100%;min-width:0}

/* --- Cartera del Supervisor: la tabla suelta columnas en vez de desbordar --- */
.pf .table-wrap{overflow-x:auto}                 /* red de seguridad: nunca empuja la página */
@media(max-width:1600px){
  .pf .table-head,.pf .diagnostic-row{
    grid-template-columns:minmax(190px,1.3fr) minmax(120px,.85fr) minmax(130px,.85fr) 70px minmax(105px,.7fr) minmax(100px,.7fr) 30px;
    gap:10px;
  }
  .pf .cell-title small{gap:5px}
  .pf .activity small:last-child{display:none}   /* "por Supervisor 1" cabe en el detalle lateral */
}
@media(max-width:1400px){
  /* Sin "Quién responde" ni "Actividad": el panel de detalle los muestra completos. */
  .pf .table-head>*:nth-child(2),.pf .diagnostic-row>*:nth-child(2),
  .pf .table-head>*:nth-child(6),.pf .diagnostic-row>*:nth-child(6){display:none}
  .pf .table-head,.pf .diagnostic-row{
    grid-template-columns:minmax(180px,1.4fr) minmax(120px,.9fr) 68px minmax(100px,.75fr) 28px;
  }
}
@media(max-width:1150px){
  /* Tampoco "Evidencia": quedan avance y nivel. El seguimiento no se pierde en ningun
     corte, viaja en el riel de la fila. */
  .pf .table-head>*:nth-child(5),.pf .diagnostic-row>*:nth-child(5){display:none}
  .pf .table-head,.pf .diagnostic-row{grid-template-columns:minmax(160px,1.5fr) minmax(110px,.9fr) 64px 26px}
}
@media(max-width:560px){
  .pf .kpi-grid{grid-template-columns:1fr}
  .pf .kpi-label{gap:6px}
  .pf .card-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:12px}
  .pf .card-footer{flex-wrap:wrap;gap:8px}
  .pf .drawer-stats{grid-template-columns:1fr 1fr}
  .pf .drawer-actions{grid-template-columns:1fr}
  .pf h1{font-size:clamp(22px,7vw,28px)}
}

/* --- Banco de preguntas: cabecera de dimensión que se puede plegar --- */
@media(max-width:1050px){
  .qdim-toggle small{display:none}
  .qdim-chip{max-width:120px;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:760px){
  .qdim-head{align-items:flex-start;flex-direction:column;gap:8px}
  .qdim-toggle{width:100%}
  .qdim-toggle b{white-space:normal}
  .qdim-ctx{width:100%;justify-content:space-between}
  .qdim-chip{max-width:none}
}

/* --- Accesos: la tabla de usuarios se desplaza dentro de su tarjeta --- */
@media(max-width:1320px){
  .access-user-table{overflow-x:auto}
  .access-user-row{min-width:700px}
}

/* --- Reporte de madurez: tablas anchas con desplazamiento propio --- */
.xr-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.xr-tablewrap .xr-table{min-width:520px}
@media(max-width:680px){
  .xr-tablewrap .xr-table{font-size:11px}
  .xr-table th,.xr-table td{padding:7px 6px}
  .xr-table .xr-barcell{width:86px}
  .xr-table .xr-barcell .xr-mini{width:72px}
}

/* --- Cabeceras de la torre de control: los controles bajan en vez de salirse --- */
@media(max-width:760px){
  .supervisor-head-side{flex-wrap:wrap;flex-shrink:1;min-width:0}
  .supervisor-head-side>*{flex:1 1 auto;min-width:0}
  .supervisor-head{align-items:flex-start;flex-direction:column;gap:12px}
}

/* --- Ajustes generales de las vistas de escritorio en pantallas chicas --- */
@media(max-width:900px){
  .page-head.hero{align-items:flex-start;flex-direction:column}
  .page-head.hero h1{font-size:clamp(24px,6vw,32px)}
  .hero-actions{width:100%;flex-wrap:wrap}
  .hero-actions .btn{flex:1 1 auto;justify-content:center}
}
@media(max-width:560px){
  .main{padding:64px 13px 30px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%}
}

/* --- Analítica del banco: dos tarjetas anchas que se apilan antes de apretarse --- */
@media(max-width:1250px){
  .question-analytics{grid-template-columns:minmax(0,1fr)}
  .question-chart-card{min-height:0}
}
@media(max-width:1250px){
  .analytics .bar-row{grid-template-columns:minmax(110px,.6fr) minmax(110px,1fr) 30px;gap:10px}
}
@media(max-width:560px){
  .analytics .bar-row{grid-template-columns:minmax(0,1fr) minmax(66px,.85fr) 26px;gap:8px}
  /* El selector de alcance se desplaza dentro de su barra en vez de estirarla. */
  .scope-filter{flex:1 1 100%;width:100%;max-width:100%;min-width:0;overflow-x:auto}
  .scope-filter button{flex:0 0 auto}
  .question-chart-card{padding:16px 14px}
  .donut-area{gap:18px!important}
}

/* ============================================================
   Rail lateral en navy: la barra es territorio de marca.
   Va al final del archivo a proposito: refina el shell colapsable
   y necesita ganarle por orden, no por especificidad.
   Sobre fondo oscuro el logotipo se lee sin caja, y el verde de
   "maturity" pasa a ser el acento de toda la barra: activo, estado
   en vivo y firma. El azul se queda en el contenido, que es donde
   viven las acciones.
   ============================================================ */
.side,.client-app .side{background:linear-gradient(184deg,#10365f,#0b2137 78%);border-right:1px solid rgba(255,255,255,.06);backdrop-filter:none}

/* La marca ocupa dos lineas, asi que el boton de contraer se alinea arriba. */
.rail-head{align-items:flex-start;padding:2px 2px 16px}
.rail-toggle{margin-top:2px;background:rgba(255,255,255,.07);color:#a3bad2}
.rail-toggle:hover{background:rgba(255,255,255,.14);color:#fff}

/* Logotipo desnudo sobre el navy: sin fondo propio, el blanco ya contrasta. */
.rail-brand .rail-logo{display:block;max-width:100%;padding:0 2px;color:#fff;font-size:21px;font-weight:900;letter-spacing:-.9px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail-brand .rail-logo span{color:#54dbc1}
/* La firma de la casa: presente, sin competir con el nombre del producto. */
.rail-byline{padding-left:3px;color:#7d94ac;font-size:9.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap}
.rail-byline b{color:#54dbc1;font-weight:800}
/* El logotipo entra donde estaba el nombre escrito, y se mide por alto: la firma acompana
   a una linea de texto de 9.5px, asi que lo que tiene que casar es la altura, no el ancho.
   El desplazamiento baja el arte a la linea base de "by", que la caja recortada del PNG no
   comparte con el texto. */
.rail-byline{display:flex;align-items:baseline;gap:5px}
.rail-byline .brand-mark{height:16px;width:auto;flex:0 0 auto;transform:translateY(4px)}
.rail-mark{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(84,219,193,.16);grid-auto-flow:column;gap:0;justify-content:center;align-content:center}

/* Organizacion: vidrio sobre el navy, no una tarjeta blanca recortada. */
.rail-org{gap:10px;padding:10px;margin-bottom:12px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.05)}
.rail-org>i{width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:rgba(126,178,255,.14);color:#8fbcff;box-shadow:none}
.rail-org small{color:#87a0b9;letter-spacing:.1em}
.rail-org b{font-size:12.5px;color:#fff}

/* Navegacion: el item activo se enciende en el verde de la marca. */
.side-label{color:#748ca6;letter-spacing:.13em}
.nav{position:relative;gap:11px;min-width:0;padding:10px 11px;border-radius:11px;margin:2px 0;color:#a5bcd2}
.nav>i{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.06);color:#8fa8c0;transition:background .16s ease,color .16s ease}
.nav:hover{background:rgba(255,255,255,.06);color:#fff;transform:none}
.nav:hover>i{background:rgba(255,255,255,.12);color:#bfe9de}
.nav.active{color:#7fe9d1;background:rgba(84,219,193,.11);box-shadow:inset 0 0 0 1px rgba(84,219,193,.16)}
.nav.active>i{background:rgba(84,219,193,.18);color:#54dbc1;box-shadow:none}
.nav.active:before{left:-12px;border-radius:0 9px 9px 0;background:#54dbc1;box-shadow:0 0 14px rgba(84,219,193,.5)}

/* Iconos de trazo: un solo tamano en todo el rail. */
.rail-org>i svg,.nav>i svg,.logout>i svg{width:17px;height:17px;display:block}

/* Pie del rail: estado en vivo, identidad y salida. */
.side-bottom{gap:5px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.side-bottom .agent-status{gap:8px;padding:7px 9px;border-radius:9px;background:rgba(41,185,154,.12);border:1px solid rgba(84,219,193,.2)}
.side-bottom .agent-status>i{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#54dbc1;animation:rail-pulse 2.4s ease-in-out infinite}
.side-bottom .agent-status b{font-size:10.5px;line-height:1.3;color:#8ce3d3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes rail-pulse{0%,100%{box-shadow:0 0 0 3px rgba(84,219,193,.22)}50%{box-shadow:0 0 0 6px rgba(84,219,193,.04)}}

/* La cuenta es una sola fila; perfil y salida viven en el menu que abre. */
.rail-account{position:relative;min-width:0}
.rail-profile{gap:8px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.rail-profile:hover,.rail-profile[aria-expanded="true"]{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16)}
.rail-profile>i{width:28px;height:28px;flex:0 0 28px;font-size:10px;background:rgba(126,178,255,.16);color:#bcd8fb}
.rail-profile b{font-size:11.5px;line-height:1.3;color:#fff}
.rail-profile small{font-size:9.5px;line-height:1.3;color:#87a0b9}
.rail-caret{display:grid;place-items:center;flex:0 0 14px;color:#7d94ac;transition:transform .18s ease}
.rail-caret svg{width:14px;height:14px;display:block}
.rail-profile[aria-expanded="true"] .rail-caret{transform:rotate(180deg)}

/* El menu sube desde el pie: abajo no queda sitio y el rail no recorta. */
.rail-menu{position:absolute;left:0;bottom:calc(100% + 6px);z-index:60;display:grid;gap:2px;min-width:100%;width:max-content;max-width:230px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#12365d;box-shadow:0 18px 40px rgba(4,15,28,.5)}
.rail-menu[hidden]{display:none}
.rail-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border-radius:8px;background:transparent;color:#c3d5e7;text-align:left;font-weight:650;font-size:12px}
.rail-menu button>i{display:grid;place-items:center;flex:0 0 17px;font-style:normal}
.rail-menu button>i svg{width:17px;height:17px;display:block}
.rail-menu button:hover{background:rgba(255,255,255,.1);color:#fff}
.rail-menu button.danger:hover{background:rgba(255,120,130,.16);color:#ff9ba3}
@media(prefers-reduced-motion:reduce){.side-bottom .agent-status>i{animation:none}.rail-caret{transition:none}}

/* Contraido: solo queda el sello "dm", que ya trae el mismo verde. */
.app[data-rail="collapsed"] .rail-head{padding-bottom:12px}
.app[data-rail="collapsed"] .nav>i,.app[data-rail="collapsed"] .rail-org>i{flex:0 0 30px}
.app[data-rail="collapsed"] .nav.active:before{left:-10px}

/* El tema oscuro del cliente ya no tiene que oscurecer el rail: solo lo iguala. */
html[data-client-theme="dark"] .client-app .side{background:linear-gradient(184deg,#0d2a48,#081a2b 78%);border-color:rgba(255,255,255,.06)}
html[data-client-theme="dark"] .client-app .side-label,html[data-client-theme="dark"] .client-app .logout{color:#8fa8c0}
html[data-client-theme="dark"] .client-app .nav{color:#a5bcd2}
html[data-client-theme="dark"] .client-app .nav.active{color:#7fe9d1;background:rgba(84,219,193,.11)}

/* --- Consumo y costo del modelo (solo administración) --- */
.bill-ranges{display:flex;gap:4px;flex:0 0 auto;background:#f4f7fb;border:1px solid #e4ebf4;border-radius:12px;padding:3px}
.bill-range{background:transparent;color:#6d8098;border-radius:9px;padding:8px 13px;font-size:11.5px;font-weight:900}
.bill-range.active{background:#fff;color:#225fd7;box-shadow:0 2px 8px rgba(21,52,88,.09)}
.bill-metrics .metric-icon.amber{font-size:19px;font-weight:900}
.bill-total{color:#6c7f97;font-size:11.5px;font-weight:800;text-align:right}
.bill-headtools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.bill-ranges.compact{padding:2px}
.bill-ranges.compact .bill-range{padding:6px 11px;font-size:10.5px}
/* El gráfico desborda a lo ancho cuando el rango es largo: se desplaza él, no la página. */
.bill-chartwrap{overflow-x:auto;overflow-y:visible;padding:14px 2px 2px}
.bill-chart{--plot:184px;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:11px;align-items:start}
/* Los importes del eje se centran en su línea guía: de ahí el desborde de media línea arriba y abajo. */
.bill-axis{grid-row:1;display:flex;flex-direction:column;justify-content:space-between;height:calc(var(--plot) + 12px);margin:-6px 0;text-align:right;color:#9aabc0;font-size:9.5px;font-weight:800;font-variant-numeric:tabular-nums}
.bill-axis span{line-height:12px}
.bill-plot{grid-row:1;position:relative;height:var(--plot);border-bottom:1px solid #dbe4ef;box-shadow:inset 0 1px 0 #eef2f7;background:repeating-linear-gradient(to top,#eef2f7 0 1px,transparent 1px 25%)}
.bill-cols{position:absolute;inset:0;display:flex;align-items:flex-end;gap:3px}
.bill-col{position:relative;flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:7px 7px 0 0;outline:0}
.bill-col:hover,.bill-col:focus-visible{background:linear-gradient(180deg,rgba(45,109,234,.09),rgba(45,109,234,0))}
.bill-col i{--fill:linear-gradient(180deg,#5c95ff,#2d6dea 55%,#1f52bd);width:min(66%,var(--bar,20px));height:var(--h);min-height:3px;border-radius:6px 6px 2px 2px;background-image:var(--fill);box-shadow:0 2px 6px rgba(45,109,234,.22);transform-origin:bottom;animation:billRise .5s cubic-bezier(.2,.8,.25,1) both;animation-delay:var(--d,0ms)}
/* El pico es la cifra que se persigue: se distingue sin tener que buscarla en el eje. */
.bill-col.peak i{--fill:linear-gradient(180deg,#2ad0af,#12a48f 60%,#0c8574);box-shadow:0 2px 8px rgba(18,164,143,.28)}
.bill-col.zero i{--fill:linear-gradient(#e6ecf4,#e6ecf4);height:3px;box-shadow:none}
/* Un mes a medias no se lee como un mes barato: va rayado. */
.bill-col.partial i{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.34) 0 3px,rgba(255,255,255,0) 3px 7px),var(--fill)}
.bill-col:hover i,.bill-col:focus-visible i{filter:brightness(1.08)}
@keyframes billRise{from{transform:scaleY(0);opacity:.4}to{transform:scaleY(1);opacity:1}}
.bill-tip{position:absolute;left:50%;bottom:min(calc(var(--h) + 12px),calc(100% - 84px));z-index:3;min-width:154px;padding:8px 11px;border-radius:11px;background:#0f2744;color:#fff;box-shadow:0 12px 26px rgba(11,32,60,.3);opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:opacity .15s,transform .15s}
.bill-col:hover .bill-tip,.bill-col:focus-visible .bill-tip{opacity:1;transform:translate(-50%,0)}
/* En los extremos el globo se apoya en el borde para no salirse de la tarjeta. */
.bill-col:nth-child(-n+2) .bill-tip{left:0;transform:translate(0,5px)}
.bill-col:nth-child(-n+2):hover .bill-tip,.bill-col:nth-child(-n+2):focus-visible .bill-tip{transform:translate(0,0)}
.bill-col:nth-last-child(-n+2) .bill-tip{left:auto;right:0;transform:translate(0,5px)}
.bill-col:nth-last-child(-n+2):hover .bill-tip,.bill-col:nth-last-child(-n+2):focus-visible .bill-tip{transform:translate(0,0)}
.bill-tip b{display:block;font-size:13.5px;font-weight:900;font-variant-numeric:tabular-nums}
.bill-tip em{display:block;font-style:normal;color:#a9c6ea;font-size:10px;font-weight:800}
/* «septiembre 2026» abre en mayúscula; «1 set.» no se toca, que capitalizar lo dejaba en «1 Set.». */
.bill-tip em::first-letter{text-transform:uppercase}
.bill-tip small{display:block;margin-top:5px;color:#d3e2f5;font-size:10px;font-weight:700}
.bill-tip u{display:block;margin-top:5px;text-decoration:none;color:#ffd08a;font-size:9.5px;font-weight:800}
.bill-marks{grid-row:2;grid-column:2;display:flex;gap:3px;margin-top:9px}
.bill-marks span{flex:1 1 0;min-width:0;overflow:visible;text-align:center;white-space:nowrap;color:#8496ac;font-size:9.5px;font-weight:800}
.bill-legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.bill-chip{border:1px solid #e0e8f3;border-radius:99px;padding:5px 11px;background:#f7fafd;color:#3b5578;font-size:10.5px;font-weight:800}
.bill-chip.peak{border-color:#bfeade;background:#f0fbf8;color:#0c7d6d}
.bill-chip.muted{color:#7f92a8}
@media(prefers-reduced-motion:reduce){.bill-col i{animation:none}}
.bill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bill-card{margin-bottom:0}
.bill-rows{display:grid;gap:14px}
.bill-row{min-width:0}
.bill-rowhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.bill-rowhead b{font-size:12.5px;color:#16304f;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bill-price{flex:0 0 auto;font-style:normal;color:#8496ac;font-size:9.5px;font-weight:800;white-space:nowrap}
.bill-price.warn{color:#a96f11}
.bill-bar{height:9px;border-radius:99px;background:#e8eef6;overflow:hidden;margin:7px 0 5px}
.bill-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d6dea,#12a48f)}
.bill-rowfoot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#8496ac;font-size:10.5px}
.bill-rowfoot b{color:#16304f;font-size:12px;font-weight:900}
.bill-table{display:grid;overflow-x:auto}
.bill-tr{display:grid;grid-template-columns:130px minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,1.1fr) 110px 78px 96px;gap:12px;align-items:center;min-height:52px;border-top:1px solid #edf1f5;font-size:11.5px;color:#2b4160}
.bill-tr.bill-th{border:0;min-height:34px;color:#8a99aa;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.bill-tr>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.bill-tr b{font-weight:800;color:#16304f}
.bill-tr small{display:block;color:#8fa0b4;font-size:9.5px;font-weight:700}
.bill-tr>span:nth-child(5),.bill-tr>span:nth-child(6),.bill-tr>span:nth-child(7){text-align:right;font-variant-numeric:tabular-nums}
/* Una llamada fallida igual se cobra: se marca para que no se lea como consumo sano. */
.bill-tr.failed{background:#fef7f6}
.bill-tr.failed b{color:#b7382f}
.bill-note{border:1px dashed #c9d8ee;background:#f6f9ff;border-radius:12px;padding:13px 15px;color:#3b5578;font-size:11.5px;line-height:1.55;margin-bottom:18px}
.bill-note b{color:#1c4fb8}
.bill-note>span{display:block;margin-top:7px;color:#6c7f97;font-size:10.5px}
.bill-note .warn{color:#a96f11}
@media(max-width:1100px){
  .bill-grid{grid-template-columns:1fr}
  .bill-tr{grid-template-columns:120px minmax(0,1.4fr) minmax(0,1fr) 100px 90px}
  .bill-tr>span:nth-child(4),.bill-tr>span:nth-child(6){display:none}
}

/* --- Evidencia: se guarda sola, asi que la pantalla tiene que decirlo sin que se lo pregunten. ---
   El clip era un emoji de 30px sobre gris claro: no leia como boton y la gente no lo encontraba.
   Ahora adjuntar es una accion con nombre, y el unico boton que queda guarda solo el texto. */
.iv-answer-evidence.compact>header>div>span{color:#1763d4;background:#e8f1ff}
.iv-evidence-state{padding:5px 9px;border-radius:999px;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.02em;transition:.15s ease}
.iv-evidence-state[data-state="idle"]{color:#7d8ea1;background:#eef3f7}
.iv-evidence-state[data-state="dirty"]{color:#8a5a10;background:#fdf1dc}
.iv-evidence-state[data-state="saving"],.iv-evidence-state[data-state="uploading"]{color:#1a5cc4;background:#e6efff}
.iv-evidence-state[data-state="saved"]{color:#12734f;background:#e2f5ec}
.iv-evidence-state[data-state="error"]{color:#a82c2c;background:#fdeaea}

.iv-evidence-compose.dropping{border-color:#3a7ce4;border-style:dashed;box-shadow:0 0 0 4px rgba(37,99,235,.1)}
.iv-evidence-compose.dropping>textarea{background:#f6faff}

.iv-evidence-compose-bar{gap:10px;padding:7px 8px 7px 8px;flex-wrap:wrap}
.iv-evidence-compose-bar>label.iv-evidence-attach{width:auto;height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid #b7cef0;border-radius:9px;color:#14549f;background:#eaf2ff;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.15s ease}
.iv-evidence-compose-bar>label.iv-evidence-attach:hover{border-color:#1f5fbf;color:#0e4a94;background:#dfeaff}
.iv-evidence-compose-bar>label.iv-evidence-attach>i{font-size:14px;font-style:normal;line-height:1}
.iv-evidence-compose-bar>small{flex:1;min-width:120px;color:#8291a3;font-size:9px;line-height:1.4}
.iv-evidence-compose-bar>button{min-width:0;height:34px;padding:0 16px;font-size:10px}
.iv-evidence-compose-bar>button:disabled{opacity:.45;cursor:not-allowed}

.iv-compact-files li{grid-template-columns:14px minmax(0,190px) auto 20px}
.iv-compact-files li b a{color:#26507d;text-decoration:none}
.iv-compact-files li b a:hover{color:#1a5cc4;text-decoration:underline}
.iv-compact-files li button{cursor:pointer}
.iv-compact-files li button:hover{color:#fff;background:#c0392b}

@media(max-width:720px){
  .iv-evidence-compose-bar>small{display:none}
  .iv-evidence-compose-bar>label.iv-evidence-attach{flex:1;justify-content:center}
  .iv-evidence-compose-bar>button{flex:1}
}

/* La primera asesoría es la acción principal, antes del perfil y las instrucciones. */
.client-start-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:center;gap:40px;margin:22px 0 20px;padding:34px 40px;border:1px solid #407ae6;border-radius:24px;background:linear-gradient(115deg,#153c9e,#245bce 65%,#147b91);color:#fff;box-shadow:0 18px 42px rgba(30,78,168,.2);animation:client-start-enter .55s ease-out both}
.client-start-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 90% 0,rgba(114,244,215,.22),transparent 55%);pointer-events:none}
.client-start-kicker{display:flex;align-items:center;gap:9px;margin:0 0 16px;color:#b3ffe8;font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.client-start-kicker>span{width:7px;height:7px;border-radius:50%;background:#84f4d6;box-shadow:0 0 0 5px rgba(132,244,214,.13)}
.client-start-copy h2{margin:0;font-size:clamp(29px,2.8vw,42px);line-height:1.14;letter-spacing:-.035em;color:#fff}
.client-start-copy h2>span{color:#b8f4e5}
.client-start-copy>p:not(.client-start-kicker){max-width:530px;margin:16px 0 23px;font-size:14px;line-height:1.65;color:#e0ecff}
.client-start-action{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:265px;min-height:58px;padding:14px 22px;border:1px solid #b1ffe9;border-radius:13px;background:#91f5d5;color:#0c3549;font-size:17px;font-weight:850;box-shadow:0 8px 24px rgba(0,20,70,.24);cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;animation:client-start-attention 2.4s ease-out .7s 3}
.client-start-action>span{font-size:24px;line-height:1;transition:transform .18s ease}
.client-start-action:hover:not(:disabled){background:#b5ffe8;transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,20,70,.3)}
.client-start-action:hover>span{transform:translateX(4px)}
.client-start-action:focus-visible{outline:3px solid #fff;outline-offset:5px;animation:none}
.client-start-action:disabled{opacity:.8;cursor:progress;animation:none}
.client-start-reassurance{display:flex;align-items:center;gap:7px;margin-top:14px;font-size:11px;line-height:1.5;color:#dbeaff}
.client-start-reassurance>span{color:#9affdf}
.client-start-preview{position:relative;padding:23px;border:1px solid rgba(218,244,255,.25);border-radius:20px;background:rgba(9,35,98,.24)}
.client-start-spark{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(183,250,230,.45);border-radius:12px;background:rgba(133,245,215,.12);color:#a6ffe4;font-size:24px}
.client-start-preview>p{margin:15px 0 19px;color:#fff;font-size:15px;font-weight:800}
.client-start-preview ol{display:grid;gap:19px;list-style:none;padding:0;margin:0}
.client-start-preview li{display:flex;align-items:center;gap:12px}
.client-start-preview li>span{display:grid;place-items:center;flex:0 0 29px;height:29px;border:1px solid rgba(210,247,255,.25);border-radius:50%;color:#a9ffe4;font-size:10px;font-weight:800}
.client-start-preview li b{display:block;color:#fff;font-size:12px}
.client-start-preview li small{display:block;margin-top:3px;color:#d1e4fb;font-size:11px;line-height:1.45}
.client-start-context .client-role-card{padding:20px 23px;background:#fff;color:#173553;box-shadow:0 8px 24px rgba(31,65,103,.04)}
.client-start-context .client-role-icon{float:right;margin:0 0 12px 15px;background:#eaf1ff;color:#2454a5;border-color:#d1def1}
.client-start-context .client-role-card .eyebrow{color:#366b94}
.client-start-context .client-role-card h2{font-size:17px;margin-bottom:12px}
.client-start-context .client-role-card dl>div{border-color:#e5edf5}
.client-start-context .client-role-card dt{color:#627c96}
.client-start-context .client-role-card dd{color:#173553}
.client-start-context .client-role-card>p:not(.eyebrow){margin:12px 0;color:#647c93}
.client-start-context .client-profile-link{color:#245ab0;font-size:11px}
html[data-client-theme="dark"] .client-start-context .client-role-card{background:#0e2235;border-color:#20384f;color:#e2edf7}
html[data-client-theme="dark"] .client-start-context .client-role-card dd{color:#e2edf7}
html[data-client-theme="dark"] .client-start-context .client-role-card dl>div{border-color:#20384f}
html[data-client-theme="dark"] .client-start-context .client-role-card .eyebrow,html[data-client-theme="dark"] .client-start-context .client-profile-link{color:#95c4ff}
html[data-client-theme="dark"] .client-start-context .client-role-card dt,html[data-client-theme="dark"] .client-start-context .client-role-card>p:not(.eyebrow){color:#9cb3c9}
@keyframes client-start-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes client-start-attention{0%,100%{box-shadow:0 8px 24px rgba(0,20,70,.24),0 0 0 0 rgba(145,245,213,0)}35%{box-shadow:0 8px 24px rgba(0,20,70,.24),0 0 0 7px rgba(145,245,213,.2)}70%{box-shadow:0 8px 24px rgba(0,20,70,.24),0 0 0 13px rgba(145,245,213,0)}}
@media(max-width:1100px){.client-start-hero{gap:24px;padding:28px}.client-start-preview{padding:20px}}
@media(max-width:760px){.client-start-hero{grid-template-columns:minmax(0,1fr);gap:26px;padding:25px 22px;margin:16px 0;border-radius:19px}.client-start-preview{display:none}.client-start-action{width:100%;min-width:0;gap:16px;padding-inline:16px;font-size:16px}.client-start-copy h2{font-size:clamp(28px,6vw,36px)}.client-start-copy>p:not(.client-start-kicker){margin:14px 0 20px}.client-start-context{grid-template-columns:minmax(0,1fr)}.client-start-context .client-journey>header{flex-wrap:wrap;gap:10px}.client-start-context .client-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.client-welcome-ready{padding-top:28px}.client-welcome-ready .client-private{display:none}.client-start-reassurance{font-size:10px}}
@media(prefers-reduced-motion:reduce){.client-start-hero,.client-start-action,.client-start-action>span{animation:none;transition:none}.client-start-action:hover:not(:disabled),.client-start-action:hover>span{transform:none}}

/* ── Mi diagnostico: la unica pantalla de quien responde ──────────────────────
   Una columna de bloques que se leen en el orden en que se necesitan: donde estoy,
   quien soy en este diagnostico, como se responde, que sesiones hay y que falta.
   Las tarjetas del cliente no comparten estilos con las del consultor a proposito:
   aqui manda una sola tarea abierta, no un panel de gestion. */
.client-dashboard-v2{width:min(100%,1540px);margin:0 auto;display:grid;gap:14px;
  --dm-ink:#08233f;--dm-line:rgba(204,219,234,.92);--dm-card:rgba(255,255,255,.95);
  --dm-soft:#f9fbfd;--dm-softline:#e3ebf4;--dm-muted:#6f8194;--dm-blue:#2563eb;
  --dm-shadow:0 16px 42px rgba(15,39,67,.08);--dm-shadow-sm:0 8px 24px rgba(15,39,67,.07)}
.client-dashboard-v2 .eyebrow{margin:0 0 7px;color:#1d5ed6;font-size:11px;line-height:1;font-weight:800;letter-spacing:.16em;text-transform:uppercase}

.client-welcome-v2{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:72px;padding:0 2px}
.client-welcome-v2 h1{margin:0;color:var(--dm-ink);font-size:clamp(26px,2.2vw,38px);line-height:1.04;letter-spacing:-.035em}
.welcome-copy-v2>p:last-child{max-width:760px;margin:9px 0 0;color:var(--dm-muted);font-size:13px;line-height:1.45}
.welcome-copy-v2>p b{color:#254f83}

.hero-grid-v2{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(330px,.82fr);align-items:stretch;gap:14px}
.assessment-v2,.role-v2,.quick-guide-v2,.sessions-v2,.journey-v2,.assistant-v2,.client-panel{border:1px solid var(--dm-line);background:var(--dm-card);box-shadow:var(--dm-shadow)}

/* La barra superior de la tarjeta repite el avance en color: azul lo hecho, verde el cierre. */
.assessment-v2{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:21px 22px 18px;border-radius:22px}
.assessment-v2::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#2563eb 0%,#2563eb 62%,#14b8a6 100%)}
.assessment-top-v2{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}
.assessment-top-v2>small{color:#8293a6;font-size:10px}
.assessment-head-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}
.assessment-head-v2 h2{margin:0;color:#0a2745;font-size:25px;line-height:1.08;letter-spacing:-.025em}
.assessment-desc-v2{margin:8px 0 0;color:var(--dm-muted);font-size:12.5px;line-height:1.5}
.assessment-desc-v2 b{color:#1c4a7d}
.progress-ring-v2{position:relative;display:grid;place-items:center;flex:0 0 auto;width:94px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--dm-blue) calc(var(--p)*1%),#e8eef6 0)}
.progress-ring-v2.done{background:conic-gradient(#14b8a6 calc(var(--p)*1%),#e8eef6 0)}
.progress-ring-v2::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.progress-ring-v2>span{position:relative;z-index:1;text-align:center}
.progress-ring-v2 b{display:block;color:#0c2b4d;font-size:23px;line-height:1}
.progress-ring-v2 small{display:block;margin-top:4px;color:#8090a2;font-size:9px}
.meta-v2{display:grid;grid-template-columns:1.25fr .65fr 1fr;overflow:hidden;margin-top:16px;border:1px solid var(--dm-softline);border-radius:14px;background:var(--dm-soft)}
.meta-v2>div{min-width:0;padding:10px 12px}
.meta-v2>div+div{border-left:1px solid var(--dm-softline)}
.meta-v2 small{display:block;margin-bottom:4px;color:#7890a7;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.meta-v2 b{display:block;overflow:hidden;color:#183a59;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.progress-row-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;margin:14px 0 15px}
.progress-track-v2{overflow:hidden;height:9px;border-radius:999px;background:#e7edf4}
.progress-track-v2>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e64e5 0%,#2563eb 70%,#14b8a6 100%);transition:width .4s ease}
.progress-numbers-v2{display:flex;gap:12px;color:#718198;font-size:10px;white-space:nowrap}
.progress-numbers-v2 b{color:#0f3154}
.primary-v2{width:100%;min-height:46px;margin-top:auto;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#2d67e8,#285bd3);font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 9px 20px rgba(37,99,235,.19);transition:transform .18s ease,box-shadow .18s ease}
.primary-v2:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(37,99,235,.25)}
.primary-v2>span{margin-left:7px;font-size:16px}

.role-v2{position:relative;overflow:hidden;padding:21px;border-radius:22px;border-color:rgba(17,55,93,.5);color:#fff;
  background:radial-gradient(circle at 90% 0%,rgba(55,132,255,.22),transparent 35%),linear-gradient(150deg,#173f6e 0%,#153a67 100%)}
.role-v2::after{content:"";position:absolute;right:-95px;bottom:-98px;width:180px;height:180px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.role-top-v2{display:flex;align-items:center;justify-content:space-between;gap:12px}
.role-badge-v2{display:grid;place-items:center;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--role-color) 68%,white);border-radius:14px;background:color-mix(in srgb,var(--role-color) 28%,transparent);font-size:16px;font-weight:900}
.role-mini-v2{color:#9bb9dc;font-size:10px}
.role-v2 .eyebrow{margin-top:22px;color:#44e0cc}
.role-v2 h2{margin:0;color:#fff;font-size:22px;line-height:1.12;letter-spacing:-.02em}
.role-v2 dl{margin:16px 0 0}
.role-v2 dl>div{padding:12px 0;border-top:1px solid rgba(255,255,255,.13)}
.role-v2 dt{color:#89a9cb;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.role-v2 dd{margin:4px 0 0;color:#fff;font-size:12px;font-weight:800}
.role-note-v2{max-width:95%;margin:14px 0 0;color:#c5d6e8;font-size:11px;line-height:1.5}
.profile-link-v2{margin-top:13px;padding:0;border:0;color:#40deca;background:transparent;font-size:10px;font-weight:900;cursor:pointer}
.profile-link-v2:hover{color:#7ceede}

.quick-guide-v2{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border-radius:17px;box-shadow:var(--dm-shadow-sm)}
.quick-guide-v2 article{display:flex;align-items:center;gap:11px;min-width:0;padding:12px 15px}
.quick-guide-v2 article+article{border-left:1px solid #e4edf5}
.qnum-v2{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;color:#2563eb;background:#eef5ff;font-size:9px;font-weight:900}
.quick-guide-v2 h3{margin:0 0 3px;color:#163754;font-size:11px}
.quick-guide-v2 p{margin:0;color:#718399;font-size:10px;line-height:1.35}

.lower-grid-v2{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);align-items:start;gap:14px}
.sessions-v2,.journey-v2{padding:18px 20px;border-radius:20px;box-shadow:var(--dm-shadow-sm)}
.section-head-v2{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.section-head-v2 h2{margin:0;color:#102e4b;font-size:18px;letter-spacing:-.02em}
.count-pill-v2{flex:0 0 auto;padding:6px 10px;border-radius:999px;color:#2861cb;background:#eef5ff;font-size:9px;font-weight:800}
.session-row-v2{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:62px;padding:11px 13px;border:1px solid #dce8f4;border-radius:14px;background:#fbfdff;text-align:left;cursor:pointer;transition:border .18s ease,background .18s ease,transform .18s ease}
.session-row-v2+.session-row-v2{margin-top:9px}
.session-row-v2:hover{border-color:#9ec0f4;background:#f2f7ff;transform:translateY(-1px)}
.session-icon-v2{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#2563eb;background:#eaf2ff;font-size:17px}
.session-row-v2 b{display:block;overflow:hidden;color:#143755;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.session-row-v2 small{display:block;margin-top:3px;color:#718298;font-size:10px;line-height:1.35}
.session-row-v2>i{flex:0 0 auto;color:#5e7892;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}
/* Empezar de cero vive dentro de «Tus sesiones» y no junto al diagnostico activo a proposito:
   abrir uno nuevo es la excepcion, y competir con el boton de continuar invita a empezar de
   cero por error. De ahi el trazo discontinuo: se ofrece, no se propone. */
.session-row-v2.secondary{border-style:dashed;background:#f8fbff}
.session-row-v2.secondary:disabled{opacity:.6;cursor:progress}

.journey-sub-v2{display:block;margin-top:4px;color:#7b8ca0;font-size:10px}
.steps-v2{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:25px}
.steps-v2::before{content:"";position:absolute;left:10%;right:10%;top:15px;height:2px;background:#e0e8f1}
.step-v2{position:relative;z-index:1;min-width:0;text-align:center}
.step-v2>i{display:grid;place-items:center;width:31px;height:31px;margin:0 auto 8px;border:1px solid #d8e2ed;border-radius:50%;color:#8090a1;background:#eef2f6;font-size:10px;font-style:normal;font-weight:900}
.step-v2.done>i{border-color:#a6e8d6;color:#0f927c;background:#daf7ef}
.step-v2.active>i{border-color:#a9c7fb;color:#1f5ed7;background:#e7f0ff;box-shadow:0 0 0 4px rgba(37,99,235,.07)}
.step-v2 b{display:block;color:#24425f;font-size:10px}
.step-v2 small{display:block;margin-top:3px;color:#8796a7;font-size:9px;line-height:1.25}

.assistant-v2{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:11px 15px;border-radius:17px;box-shadow:var(--dm-shadow-sm)}
.assistant-v2>div{display:flex;align-items:center;gap:11px;min-width:0}
.assistant-icon-v2{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;color:#2563eb;background:#eef5ff;font-weight:900}
.assistant-v2 b{display:block;color:#173956;font-size:11.5px}
.assistant-v2 small{display:block;margin-top:2px;color:#78899c;font-size:10px;line-height:1.35}
.results-link-v2{flex:0 0 auto;border:0;color:#1e5ed5;background:transparent;font-size:10.5px;font-weight:900;white-space:nowrap;cursor:pointer}
.results-link-v2:hover{color:#0e3f9d}


/* ── El estado del reporte, cuando ya no queda nada que responder ─────────────
   Las dos esperas del cliente son distintas y se ven distintas: una la resuelve una persona
   que todavia esta trabajando, la otra ya se resolvio. Va a ancho completo y encima de la
   tarjeta de la asesoria porque, llegado ese punto, el avance del cuestionario deja de ser
   la noticia. */
.report-state-v2{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--dm-line);border-radius:20px;background:var(--dm-card);box-shadow:var(--dm-shadow-sm)}
.report-state-v2.building{border-color:#f0d9a8;background:linear-gradient(120deg,#fffaf0,#fffdf8)}
.report-state-v2.ready{border-color:#a8e5d5;background:linear-gradient(120deg,#f0fdf9,#f7fffd)}
.report-state-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:14px;font-size:22px}
.report-state-v2.building .report-state-icon{color:#a4670a;background:#fdf0d5}
.report-state-v2.ready .report-state-icon{color:#0a8a74;background:#d8f6ee}
.report-state-copy{flex:1 1 320px;min-width:0}
.report-state-copy h2{margin:0;color:var(--dm-ink);font-size:20px;line-height:1.15;letter-spacing:-.025em}
.report-state-copy>p:last-child{max-width:760px;margin:6px 0 0;color:var(--dm-muted);font-size:12.5px;line-height:1.5}
.report-state-copy>p b{color:#1c4a7d}
.report-state-v2.building .eyebrow{color:#a4670a}
.report-state-v2.ready .eyebrow{color:#0a8a74}
/* Tres puntos que respiran: la espera tiene que parecer trabajo en curso y no una pantalla
   que se quedo colgada. */
.report-state-wait{display:inline-flex;align-items:center;gap:5px}
.report-state-wait>i{width:6px;height:6px;border-radius:50%;background:#e0a83c;animation:report-wait 1.4s ease-in-out infinite}
.report-state-wait>i:nth-child(2){animation-delay:.2s}
.report-state-wait>i:nth-child(3){animation-delay:.4s}
@keyframes report-wait{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.report-state-action{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;min-height:44px;padding:0 18px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#12a98d,#0d8f78);font-size:12.5px;font-weight:850;cursor:pointer;box-shadow:0 9px 20px rgba(13,143,120,.22);transition:transform .18s ease,box-shadow .18s ease}
.report-state-action:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(13,143,120,.28)}
.report-state-action.ghost{color:#8a5a08;background:transparent;border:1px solid #e6cd9d;box-shadow:none}
.report-state-action.ghost:hover{background:#fdf3de;transform:none}
.report-state-action>span{font-size:15px;line-height:1}

/* Con el reporte enviado la tarjeta tiene dos salidas: leerlo y volver a lo respondido. */
.card-actions-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto}
.card-actions-v2 .primary-v2{margin-top:0}
.ghost-v2{min-height:46px;padding:0 16px;border:1px solid var(--dm-softline);border-radius:12px;color:#2c5c9c;background:transparent;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.ghost-v2:hover{border-color:#9ec0f4;background:#f2f7ff}
/* Con el arranque delante, la ficha del rol pesa menos: el heroe ya es la mancha oscura. */
.client-start-context .role-v2{border-color:var(--dm-line);color:#173553;background:#fff;box-shadow:var(--dm-shadow-sm)}
.client-start-context .role-v2::after{display:none}
.client-start-context .role-v2 h2,.client-start-context .role-v2 dd{color:#173553}
.client-start-context .role-v2 .eyebrow{color:#366b94}
.client-start-context .role-v2 dl>div{border-color:#e5edf5}
.client-start-context .role-v2 dt,.client-start-context .role-note-v2,.client-start-context .role-mini-v2{color:#647c93}
.client-start-context .profile-link-v2{color:#245ab0}
.client-start-context .role-badge-v2{border-color:#d1def1;color:#2454a5;background:#eaf1ff}

@media(min-width:1200px) and (max-height:850px){
  .client-dashboard-v2{gap:11px}
  .client-welcome-v2{min-height:58px}
  .client-welcome-v2 h1{font-size:30px}
  .assessment-v2{padding-top:18px}
  .sessions-v2,.journey-v2{padding-top:15px}
  .steps-v2{margin-top:18px}
}
@media(max-width:1180px){
  .hero-grid-v2,.lower-grid-v2{grid-template-columns:minmax(0,1fr)}
  .quick-guide-v2{grid-template-columns:minmax(0,1fr)}
  .quick-guide-v2 article+article{border-left:0;border-top:1px solid #e4edf5}
}
@media(max-width:760px){
  .client-welcome-v2{align-items:flex-start;flex-direction:column;gap:16px}
  .assessment-head-v2{grid-template-columns:minmax(0,1fr);gap:16px}
  .progress-ring-v2{justify-self:start}
  .meta-v2{grid-template-columns:minmax(0,1fr)}
  .meta-v2>div+div{border-left:0;border-top:1px solid var(--dm-softline)}
  .progress-row-v2{grid-template-columns:minmax(0,1fr);gap:9px}
  .session-row-v2{grid-template-columns:auto minmax(0,1fr);row-gap:8px}
  .session-row-v2>i{grid-column:2}
  .steps-v2{grid-template-columns:repeat(2,1fr);row-gap:18px}
  .steps-v2::before{display:none}
  .assistant-v2{align-items:flex-start;flex-direction:column;gap:12px}
  .report-state-v2{gap:14px;padding:18px}
  .report-state-action{width:100%;justify-content:center}
  .card-actions-v2{grid-template-columns:minmax(0,1fr)}
  .ghost-v2{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .primary-v2,.session-row-v2,.progress-track-v2>span,.report-state-action,.ghost-v2{transition:none}
  .primary-v2:hover,.session-row-v2:hover,.report-state-action:hover{transform:none}
  .report-state-wait>i{animation:none;opacity:.7}
}

html[data-client-theme="dark"] .client-dashboard-v2{--dm-ink:#e4eefa;--dm-line:#20384f;--dm-card:#0e2235;--dm-soft:#0b1c2c;--dm-softline:#1d3348;--dm-muted:#9cb3c9;
  --dm-shadow:0 16px 42px rgba(0,0,0,.28);--dm-shadow-sm:0 8px 24px rgba(0,0,0,.22)}
html[data-client-theme="dark"] .client-dashboard-v2 .eyebrow{color:#7fb4ff}
html[data-client-theme="dark"] .welcome-copy-v2>p b{color:#9ecdff}
html[data-client-theme="dark"] .assessment-top-v2>small{color:#8ca2b7}
html[data-client-theme="dark"] .assessment-head-v2 h2,html[data-client-theme="dark"] .section-head-v2 h2,html[data-client-theme="dark"] .progress-ring-v2 b{color:#e4eefa}
html[data-client-theme="dark"] .assessment-desc-v2 b{color:#9ecdff}
html[data-client-theme="dark"] .progress-ring-v2{background:conic-gradient(#4d8dff calc(var(--p)*1%),#1b3145 0)}
html[data-client-theme="dark"] .progress-ring-v2.done{background:conic-gradient(#2fd0b6 calc(var(--p)*1%),#1b3145 0)}
html[data-client-theme="dark"] .progress-ring-v2::after{background:#0e2235}
html[data-client-theme="dark"] .progress-ring-v2 small,html[data-client-theme="dark"] .meta-v2 small,html[data-client-theme="dark"] .progress-numbers-v2{color:#8ca2b7}
html[data-client-theme="dark"] .meta-v2 b,html[data-client-theme="dark"] .progress-numbers-v2 b,html[data-client-theme="dark"] .session-row-v2 b,html[data-client-theme="dark"] .step-v2 b,html[data-client-theme="dark"] .assistant-v2 b,html[data-client-theme="dark"] .quick-guide-v2 h3{color:#dfeaf6}
html[data-client-theme="dark"] .progress-track-v2{background:#1b3145}
html[data-client-theme="dark"] .quick-guide-v2 article+article{border-color:#1d3348}
html[data-client-theme="dark"] .quick-guide-v2 p,html[data-client-theme="dark"] .session-row-v2 small,html[data-client-theme="dark"] .step-v2 small,html[data-client-theme="dark"] .assistant-v2 small,html[data-client-theme="dark"] .journey-sub-v2{color:#93a9bf}
html[data-client-theme="dark"] .qnum-v2,html[data-client-theme="dark"] .session-icon-v2,html[data-client-theme="dark"] .assistant-icon-v2,html[data-client-theme="dark"] .count-pill-v2{color:#8fc0ff;background:#12304c}
html[data-client-theme="dark"] .session-row-v2{border-color:#1d3348;background:#0b1c2c}
html[data-client-theme="dark"] .session-row-v2:hover{border-color:#2f5c86;background:#102a41}
html[data-client-theme="dark"] .session-row-v2>i{color:#93a9bf}
html[data-client-theme="dark"] .steps-v2::before{background:#1d3348}
html[data-client-theme="dark"] .step-v2>i{border-color:#26405a;color:#8ca2b7;background:#12283b}
html[data-client-theme="dark"] .step-v2.done>i{border-color:#1c6153;color:#5fe3c4;background:#0e3b33}
html[data-client-theme="dark"] .step-v2.active>i{border-color:#2b5b96;color:#8fc0ff;background:#123253}
html[data-client-theme="dark"] .results-link-v2{color:#8fc0ff}
html[data-client-theme="dark"] .client-start-context .role-v2{color:#e2edf7;background:#0e2235;border-color:#20384f}
html[data-client-theme="dark"] .client-start-context .role-v2 h2,html[data-client-theme="dark"] .client-start-context .role-v2 dd{color:#e2edf7}
html[data-client-theme="dark"] .client-start-context .role-v2 .eyebrow,html[data-client-theme="dark"] .client-start-context .profile-link-v2{color:#95c4ff}
html[data-client-theme="dark"] .client-start-context .role-v2 dt,html[data-client-theme="dark"] .client-start-context .role-note-v2,html[data-client-theme="dark"] .client-start-context .role-mini-v2{color:#9cb3c9}
html[data-client-theme="dark"] .client-start-context .role-v2 dl>div{border-color:#20384f}
html[data-client-theme="dark"] .report-state-v2.building{border-color:#4a3a19;background:linear-gradient(120deg,#20190a,#161d29)}
html[data-client-theme="dark"] .report-state-v2.ready{border-color:#17564a;background:linear-gradient(120deg,#0b2b26,#0d2130)}
html[data-client-theme="dark"] .report-state-v2.building .report-state-icon{color:#f0c274;background:#2f2410}
html[data-client-theme="dark"] .report-state-v2.ready .report-state-icon{color:#5fe3c4;background:#0e3b33}
html[data-client-theme="dark"] .report-state-v2.building .eyebrow{color:#f0c274}
html[data-client-theme="dark"] .report-state-v2.ready .eyebrow{color:#5fe3c4}
html[data-client-theme="dark"] .report-state-copy>p b{color:#9ecdff}
html[data-client-theme="dark"] .report-state-action.ghost{border-color:#4a3a19;color:#f0c274}
html[data-client-theme="dark"] .report-state-action.ghost:hover{background:#241b0b}
html[data-client-theme="dark"] .ghost-v2{border-color:#1d3348;color:#8fc0ff}
html[data-client-theme="dark"] .ghost-v2:hover{border-color:#2f5c86;background:#102a41}

/* ── Mi asesoria: la pantalla del cuestionario ────────────────────────────────
   No repite el saludo de Inicio: aqui la asesoria ya se da por encontrada y lo que manda es
   su nombre, en que punto esta y el boton para entrar. */
.asesoria-head-v2{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;padding:22px 24px;border:1px solid var(--dm-line);border-radius:22px;background:var(--dm-card);box-shadow:var(--dm-shadow)}
.asesoria-head-copy{flex:1 1 420px;min-width:0}
.asesoria-head-copy h1{margin:0;color:var(--dm-ink);font-size:clamp(24px,2vw,33px);line-height:1.08;letter-spacing:-.03em}
.asesoria-lead{max-width:660px;margin:10px 0 0;color:var(--dm-muted);font-size:13px;line-height:1.5}
.asesoria-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.asesoria-chip{padding:6px 10px;border:1px solid var(--dm-softline);border-radius:999px;color:#5c7a99;font-size:10px;font-weight:800}
.asesoria-head-side{display:flex;align-items:center;gap:20px;flex:0 0 auto}
.asesoria-head-side .progress-ring-v2{width:86px}
.asesoria-head-side .primary-v2,.asesoria-head-side .card-actions-v2{width:auto;min-width:230px;margin-top:0}
.asesoria-head-side .primary-v2{padding:0 22px}
.asesoria-note{margin:12px 0 0;padding:10px 12px;border:1px dashed var(--dm-softline);border-radius:12px;color:var(--dm-muted);font-size:11.5px;line-height:1.5}
.asesoria-note b{color:#1c4a7d}

.client-panel{padding:18px 20px;border-radius:20px;box-shadow:var(--dm-shadow-sm)}
.client-panel .meta-v2{margin-top:0}
/* La sesion que ya esta en pantalla se marca en vez de invitar a abrirla otra vez. */
.session-row-v2.current{border-color:#9ec0f4;background:#f2f7ff}
.session-row-v2.current>i{color:#2861cb}

@media(max-width:900px){
  .asesoria-head-side{width:100%;justify-content:space-between}
  .asesoria-head-side .primary-v2,.asesoria-head-side .card-actions-v2{flex:1;min-width:0}
}
@media(max-width:600px){
  .asesoria-head-side{flex-wrap:wrap;gap:14px}
  .asesoria-head-side .card-actions-v2{grid-template-columns:minmax(0,1fr)}
}
html[data-client-theme="dark"] .asesoria-chip{border-color:#1d3348;color:#93a9bf}
html[data-client-theme="dark"] .asesoria-note{border-color:#1d3348;color:#93a9bf}
html[data-client-theme="dark"] .asesoria-note b{color:#9ecdff}
html[data-client-theme="dark"] .session-row-v2.current{border-color:#2f5c86;background:#102a41}
html[data-client-theme="dark"] .session-row-v2.current>i{color:#8fc0ff}

/* ────────────────────────────────────────────────────────────────────────────
   Cuestionario del cliente v3: la paleta clara del mockup (violeta + cian).
   Esta capa solo pinta. La estructura de tres zonas -mapa, pregunta, consultor-
   y lo que cada una decide mostrar siguen siendo las de antes; aqui cambian el
   color, el radio y el peso, que es lo que el cliente ve.
   ──────────────────────────────────────────────────────────────────────────── */
.iv-shell{
  --iv-primary:#5d5af0;--iv-primary-2:#7d6dff;--iv-cyan:#11b8c9;--iv-green:#22b573;
  --iv-rose:#e55e89;--iv-ink:#122034;--iv-soft:#6d7890;
  --iv-line:#dde4f0;--iv-line-2:#cfd9ea;
  color:var(--iv-ink);
  background:
    radial-gradient(circle at 8% 0%,rgba(93,90,240,.10),transparent 28%),
    radial-gradient(circle at 100% 8%,rgba(17,184,201,.10),transparent 26%),
    linear-gradient(180deg,#f8fbff 0%,#f3f6fb 100%);
}

/* La barra se queda navy, como el rail del espacio del cliente: es el unico sitio donde
   el logotipo blanco se lee, y asi las dos pantallas muestran la misma firma. El resto de
   la pantalla si toma la paleta clara. */
.iv-brand{align-items:center}
.iv-brand .rail-brand{gap:3px}

/* ── Mapa lateral ─────────────────────────────────────────────────────────── */
.iv-navigator{gap:12px;padding:16px 10px 12px;border-right:1px solid rgba(214,221,236,.9);background:rgba(255,255,255,.48)}
.iv-nav-head{padding:14px 12px;border:1px solid var(--iv-line);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(28,44,76,.06)}
.iv-nav-head span{color:var(--iv-primary);font-size:10px;letter-spacing:1px}
.iv-nav-head b{margin-top:6px;color:var(--iv-ink);font-size:15px;letter-spacing:-.25px}
.iv-nav-head small{margin-top:3px;color:var(--iv-soft);font-size:12px}
.iv-nav-progress{height:6px;margin-top:10px;overflow:hidden;border-radius:999px;background:#edf1f7}
.iv-nav-progress>i{display:block;height:100%;min-width:3%;border-radius:inherit;background:linear-gradient(90deg,var(--iv-primary),var(--iv-cyan));transition:width .35s ease}

/* El bloque de pendientes se cierra como tarjeta y mide lo que pide: estirado a toda la
   columna dejaba media pantalla en blanco cuando no habia nada pendiente. */
.iv-skipped-block{flex:0 1 auto;padding:14px 12px;border:1px solid var(--iv-line);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(28,44,76,.06)}
.iv-skipped-head{padding:0 2px}
.iv-skipped-head span{color:var(--iv-ink);font-size:12px;font-weight:800;letter-spacing:0;text-transform:none}
.iv-skipped-head em{background:var(--iv-rose)}
.iv-skipped-head small{margin-top:4px;color:var(--iv-soft);font-size:11px}

/* El anillo de la pregunta en la que estas y el aviso de pendiente sobresalen de su celda, y
   esta rejilla recorta -lleva scroll vertical-. El hueco lo da el padding; el margen negativo
   lo devuelve para que los numeros sigan alineados con el titulo de la tarjeta. */
.iv-number-grid{flex:0 1 auto;max-height:min(46vh,340px);grid-template-columns:repeat(5,1fr);gap:7px;padding:10px 6px 6px;margin:0 -6px}
.iv-number{height:37px;border:1px solid var(--iv-line-2);border-radius:12px;color:#617087;background:rgba(255,255,255,.92);font-size:12px;font-weight:800}
.iv-number:hover{border-color:#bdbbf9;color:var(--iv-primary);box-shadow:0 6px 12px rgba(93,90,240,.10)}
.iv-number.answered{border-color:#c8ddff;color:#2666bf;background:#eff8ff}
.iv-number.answered::after{width:5px;height:5px;background:#3d8cff}
.iv-number.current{border-color:#aee6cd;color:#167f57;background:linear-gradient(135deg,#ebfbf5,#dff6ee);box-shadow:none}
.iv-number.current::after{content:"";position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:var(--iv-green)}
.iv-number.pending{color:#8b98ad;background:#f7f9fc}
.iv-number.skipped{border-color:#f3cad8;color:#b53c63;background:#fff3f7}
.iv-number.skipped::after{color:#d9578a;font-size:8px}
.iv-number.viewed{outline:2px solid var(--iv-primary)}
.iv-number.skipped.viewed{outline-color:var(--iv-rose)}
.iv-skipped-empty{color:#8796a8;font-size:11px}

/* Leyenda y tip cierran la columna como tarjetas, no como pies pegados al borde. */
.iv-legend{padding:10px 12px;border:1px solid var(--iv-line);border-radius:14px;color:#65728a;background:rgba(255,255,255,.86);font-size:10.5px;line-height:1.45}
.iv-legend i.skipped{border-color:#eaa9c0;background:#f6bcd0}
.iv-side-tip{margin-top:auto;padding:12px;border:1px solid var(--iv-line);border-radius:16px;color:#65728a;background:rgba(255,255,255,.86);font-size:11px;line-height:1.5}
.iv-side-tip b{color:#37455e}

/* Continuar donde iba: el salto a la primera pregunta que aun no se ha abierto. Vive en dos
   sitios -la barra pegajosa y la columna- porque los dos momentos son distintos: acabar de
   responder una pendiente vieja, y mirar el mapa para decidir. Ocupa una fila entera para no
   estrechar Anterior, el progreso y Siguiente, y el hueco desaparece solo cuando no hay nada
   por delante que ahorre camino. */
.iv-jump-slot:empty{display:none}
.iv-progress-nav>.iv-jump-slot{grid-column:1/-1}
.iv-jump-ahead{width:100%;display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid #d9d7fb;border-radius:14px;color:var(--iv-ink);background:linear-gradient(120deg,#f5f4ff,#eef7ff);text-align:left;cursor:pointer;transition:.16s ease}
.iv-jump-ahead>span:first-child{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:9px;color:#fff;background:linear-gradient(140deg,var(--iv-primary),var(--iv-primary-2));font-size:13px}
.iv-jump-ahead b{display:block;font-size:12px;font-weight:800}
.iv-jump-ahead small{display:block;margin-top:2px;color:var(--iv-soft);font-size:10.5px;line-height:1.4}
.iv-jump-ahead:hover{border-color:#b8b4f8;background:#fff;box-shadow:0 7px 16px rgba(93,90,240,.14);transform:translateY(-1px)}
.iv-jump-ahead:focus-visible{outline:2px solid var(--iv-primary);outline-offset:2px}
@media(max-width:640px){.iv-progress-nav>.iv-jump-slot{grid-row:3}}
@media(prefers-reduced-motion:reduce){.iv-jump-ahead{transition:none}.iv-jump-ahead:hover{transform:none}}

/* Seguir sin volver arriba: el mismo «Siguiente» encendido de la barra, al pie de las
   alternativas y antes de la evidencia, que es justo donde queda la mano al elegir. */
.iv-inline-next-slot:empty{display:none}
.iv-inline-next-slot{display:flex;justify-content:center;margin-top:18px}
.iv-inline-next{width:min(100%,430px);height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid transparent;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--iv-primary),var(--iv-primary-2));font-size:13px;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(93,90,240,.3);animation:iv-ready-in .38s cubic-bezier(.34,1.5,.5,1) both;transition:transform .16s ease,box-shadow .16s ease}
.iv-inline-next>span{font-size:16px;line-height:1;transition:transform .16s ease}
.iv-inline-next:hover{box-shadow:0 13px 28px rgba(93,90,240,.36);transform:translateY(-1px)}
.iv-inline-next:hover>span{transform:translateX(3px)}
.iv-inline-next:focus-visible{outline:2px solid var(--iv-primary);outline-offset:3px}
@media(max-width:640px){.iv-inline-next{width:100%;height:48px}}
@media(prefers-reduced-motion:reduce){.iv-inline-next,.iv-inline-next>span{animation:none;transition:none}.iv-inline-next:hover{transform:none}.iv-inline-next:hover>span{transform:none}}

/* ── Progreso y navegacion ────────────────────────────────────────────────── */
.iv-progress-nav{position:sticky;top:0;z-index:9;grid-template-columns:120px minmax(0,1fr) 132px;gap:12px;padding:6px;border-radius:18px;background:rgba(247,250,255,.86);backdrop-filter:blur(10px)}
.iv-progress-nav>button{height:42px;border:1px solid var(--iv-line);border-radius:14px;color:#5b667d;background:rgba(255,255,255,.94);font-size:12px;font-weight:800;box-shadow:none}
.iv-progress-nav>button:hover:not(:disabled){border-color:#bab8f7;color:var(--iv-primary);background:#fff;box-shadow:0 6px 14px rgba(93,90,240,.12)}
/* Siguiente encendido: la senal de que la respuesta quedo registrada, la misma que ya usa
   el stand. Apagado, Siguiente y Anterior pesan igual y responder no se acusa en ninguna
   parte de la barra; encendido dice "listo, sigue" sin mover a nadie de la pregunta. */
.iv-progress-nav>#question-next,.iv-progress-nav>#question-finish{position:relative}
.iv-progress-nav>#question-next.ready,.iv-progress-nav>#question-finish.ready{border-color:transparent;color:#fff;
  background:linear-gradient(135deg,var(--iv-primary),var(--iv-primary-2));
  box-shadow:0 10px 24px rgba(93,90,240,.32);animation:iv-ready-in .38s cubic-bezier(.34,1.5,.5,1) both}
.iv-progress-nav>#question-next.ready:hover:not(:disabled),.iv-progress-nav>#question-finish.ready:hover:not(:disabled){color:#fff;
  background:linear-gradient(135deg,#6f6cf5,#8a7bff);box-shadow:0 14px 30px rgba(93,90,240,.4);transform:translateY(-1px)}
.iv-progress-nav>#question-next.ready::after,.iv-progress-nav>#question-finish.ready::after{content:"";position:absolute;inset:-4px;border-radius:18px;pointer-events:none;
  border:2px solid rgba(93,90,240,.34);animation:iv-ready-halo 1.5s ease-out 2}
/* Terminar no es Siguiente aunque ocupe su sitio: apagado sigue siendo la salida de quien
   deja preguntas abiertas, así que se marca en verde -el color con que la pantalla dice
   "esto ya está"- en vez de desaparecer contra los otros dos botones. */
.iv-progress-nav>#question-finish:not(.ready){border-color:#b6e3d5;color:#0d7f6a;background:#f2fbf8}
.iv-progress-nav>#question-finish:not(.ready):hover{border-color:#7fd0ba;color:#0a6d5b;background:#eafaf5;box-shadow:0 6px 14px rgba(22,165,143,.16)}
@keyframes iv-ready-in{from{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}
@keyframes iv-ready-halo{from{opacity:.75;transform:scale(.96)}to{opacity:0;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){
  .iv-progress-nav>#question-next.ready,.iv-progress-nav>#question-next.ready::after,
  .iv-progress-nav>#question-finish.ready,.iv-progress-nav>#question-finish.ready::after{animation:none}
}
.iv-inline-progress{height:42px;padding:8px 12px;border:1px solid var(--iv-line);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:none}
.iv-inline-progress>header{margin-bottom:6px}
.iv-inline-progress>header span{color:#5e6b84;font-size:10px;letter-spacing:.5px}
.iv-inline-progress>header b{color:#28364f;font-size:11px}
.iv-inline-progress>header strong{padding:0;border-radius:0;color:#28364f;background:none;font-size:11px}
.iv-inline-progress>div{height:6px;background:#eaf0f8}
.iv-inline-progress>div>i{background:linear-gradient(90deg,var(--iv-primary),var(--iv-cyan));box-shadow:none}
.iv-inline-progress>div>i::after{display:none}

/* ── Tarjeta de la pregunta ───────────────────────────────────────────────── */
.iv-question-card{padding:18px 20px 15px;border:1px solid var(--iv-line);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 16px 40px rgba(28,44,76,.08)}
/* La franja se va al canto izquierdo: marca la tarjeta sin manchar la esquina. */
.iv-question-card::before{right:auto;left:0;top:0;width:4px;height:100%;border-radius:0;background:linear-gradient(180deg,var(--iv-primary),var(--iv-cyan))}

.iv-question-meta{align-items:center;gap:12px;margin-bottom:8px}
.iv-question-meta>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.iv-question-meta div span,.iv-question-meta div b,.iv-question-meta div i{display:inline-flex;align-items:center;margin:0;padding:5px 9px;border-radius:999px;font-size:10.5px;font-style:normal;font-weight:800;letter-spacing:0;text-transform:none}
.iv-question-meta div span{color:#564bcc;background:#f2f1ff}
.iv-question-meta div b{color:#73809a;background:#f4f6fa}
.iv-question-meta div i{color:#117e8b;background:#edfafd}
.iv-question-meta>em{padding:6px 10px;font-size:10.5px}
.iv-question-meta>em.answered,.iv-question-meta>em.current{border-color:#c9ebd9;color:#158056;background:#edf9f3}
.iv-question-meta>em.pending{border-color:#e3e8f0;color:#70809a;background:#f1f4f9}

.iv-question-card>h1{margin:4px 0 11px;color:var(--iv-ink);font-size:clamp(22px,1.5vw,26px);line-height:1.16;letter-spacing:-.7px}

.iv-evidence{margin-bottom:12px;border:1px solid var(--iv-line);border-radius:15px;background:#fbfcff}
.iv-evidence summary{padding:10px 12px}
.iv-evidence summary span b{color:#41506a;font-size:12px}
.iv-evidence summary span small{color:#7a869f;font-size:11px}
.iv-evidence summary>i{color:#8090a8;background:transparent;font-weight:900}
.iv-evidence>div{border-top:1px solid #e8edf5}
.iv-evidence>div p{color:#5b6a82;font-size:12.5px;line-height:1.6}
.iv-evidence>div small{color:#8692a9}

.iv-section-title span{color:var(--iv-ink);font-size:13px;font-weight:800}
.iv-section-title small{color:var(--iv-soft);font-size:11px}

/* ── Alternativas ─────────────────────────────────────────────────────────── */
.iv-option{grid-template-columns:36px minmax(0,1fr) 20px;gap:10px;min-height:54px;padding:10px 12px;border:1px solid #dce3ee;border-radius:16px;color:#304059;background:#fff}
.iv-option:hover:not(.readonly){border-color:#bab7f7;background:#fff;box-shadow:0 8px 18px rgba(62,66,122,.08)}
.iv-option>i{width:30px;height:30px;border-radius:10px;color:#5f54d5;background:#f1f0ff;font-size:12px}
/* Cada letra con su color, como en el mockup: la primera opcion es el hijo 2 del grid,
   porque el titulo "Alternativas" ocupa el primero. */
.iv-option:nth-child(2)>i{color:#59667e;background:#f2f2f7}
.iv-option:nth-child(3)>i{color:#2f70bf;background:#edf7ff}
.iv-option:nth-child(4)>i{color:#187658;background:#eefaf6}
.iv-option:nth-child(5)>i{color:#b97615;background:#fff7e8}
.iv-option:nth-child(6)>i{color:#bf4a70;background:#fff0f4}
.iv-option>span{color:#4a5a72;font-size:12.5px;font-weight:600;line-height:1.35}
/* El "Seleccionada" cede su sitio al radio: el circulo dice lo mismo y ocupa menos. */
.iv-option>em{display:none}
.iv-option::after{content:"";width:20px;height:20px;justify-self:end;border:2px solid #ccd4e0;border-radius:50%;transition:.16s ease}
.iv-option.selected{border-color:#8f87f4;color:#2b3a52;background:#f8f7ff;box-shadow:0 9px 18px rgba(93,90,240,.10)}
.iv-option.selected>i{color:#fff;background:linear-gradient(135deg,var(--iv-primary),var(--iv-primary-2));box-shadow:0 7px 16px rgba(93,90,240,.22)}
.iv-option.selected::after{border-color:var(--iv-primary);background:var(--iv-primary);box-shadow:inset 0 0 0 2px #fff}

.iv-option-example{margin-top:10px;border-radius:12px;color:#67748e;background:#f7f8fd;font-size:11px}
.iv-option-example b{color:var(--iv-primary)}

.iv-saved-answer{border-color:#cfeee1;border-radius:16px;background:#f1fbf6}
.iv-saved-answer>span{background:var(--iv-green)}
.iv-saved-answer b{color:#177a56;font-size:11px}
.iv-saved-answer p{color:#5a7a6d;font-size:11.5px}

/* ── Evidencia ────────────────────────────────────────────────────────────── */
.iv-answer-evidence,.iv-answer-evidence.compact{border:1px solid var(--iv-line);border-radius:24px;background:rgba(255,255,255,.95);box-shadow:0 10px 24px rgba(28,44,76,.06)}
.iv-answer-evidence.compact{padding:12px 14px}
.iv-answer-evidence>header>div>span{width:30px;height:30px;border-radius:10px;color:#1b8d65;background:#ebfbf5;font-size:14px}
.iv-answer-evidence>header b{color:var(--iv-ink);font-size:13px}
.iv-answer-evidence>header small{color:var(--iv-soft);font-size:11px}
.iv-answer-evidence>header em{color:#70809a;background:#f1f4f9;font-size:10px}
.iv-evidence-compose{border:1px solid #dbe2ee;border-radius:14px}
.iv-evidence-compose:focus-within{border-color:#9690f1;box-shadow:0 0 0 3px rgba(93,90,240,.08)}
.iv-evidence-compose>textarea{color:#33425b;font-size:12.5px}
.iv-evidence-compose-bar{border-top:1px solid #eef1f7;background:#fbfcff}
.iv-evidence-compose-bar>label{border-radius:10px;color:#55637c;background:#f2f4fa}
.iv-evidence-compose-bar>label:hover{color:var(--iv-primary);background:#f0effe}
.iv-evidence-compose-bar>span{color:#8692a9;font-size:10.5px}
.iv-evidence-compose-bar>button{border-radius:13px}
.iv-compact-empty{color:#98a5b4;font-size:10px}
.iv-compact-files li{border-color:#e4e9f2;border-radius:10px;color:#4a5a72;background:#fbfcff;font-size:9.5px}

.iv-shell .primary{border-radius:13px;background:linear-gradient(135deg,var(--iv-primary),var(--iv-primary-2));box-shadow:0 9px 18px rgba(93,90,240,.18)}

.iv-complete{border-color:var(--iv-line);border-radius:28px;box-shadow:0 16px 40px rgba(28,44,76,.08)}
.iv-complete>span{background:linear-gradient(135deg,var(--iv-primary),var(--iv-cyan))}
.iv-complete h1{color:var(--iv-ink)}
.iv-complete p{color:var(--iv-soft)}

/* ── Burbuja del consultor ────────────────────────────────────────────────── */
.iv-ai-floating{right:18px;bottom:16px}
.iv-ai-fab{--fab-shadow:0 16px 36px rgba(58,74,145,.30),0 5px 14px rgba(18,184,200,.18);width:62px;height:62px;overflow:visible;border:0;border-radius:50%;color:#fff;background:linear-gradient(135deg,#635cf3 0%,#487eea 48%,#18b8c8 100%);box-shadow:var(--fab-shadow)}
.iv-ai-fab:hover{transform:translateY(-3px) scale(1.035);box-shadow:0 20px 44px rgba(58,74,145,.34),0 8px 18px rgba(18,184,200,.20)}
.iv-ai-fab:active{transform:translateY(0) scale(.94)}
/* El collar de vidrio: solo borde, nunca relleno. Un relleno se comeria el degradado
   en cuanto el hover crea contexto de apilado y el z-index negativo deja de pasar detras. */
.iv-ai-fab:before{content:"";position:absolute;inset:-6px;z-index:-1;border:1px solid rgba(93,90,240,.22);border-radius:50%;background:none;opacity:1;transform:none;animation:none}
.iv-ai-fab:hover:before{animation:none}
/* El globito reusa el aria-label, asi no hay dos textos que mantener sincronizados. */
.iv-ai-fab:after{content:attr(aria-label);position:absolute;right:74px;top:50%;padding:8px 11px;border:1px solid #dfe5ef;border-radius:10px;color:#43516a;background:rgba(255,255,255,.96);box-shadow:0 10px 26px rgba(28,44,76,.12);font-size:11px;font-weight:750;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(-50%) translateX(6px);transition:.16s ease}
.iv-ai-fab:hover:after{opacity:1;transform:translateY(-50%) translateX(0)}
.iv-ai-fab>span{font-size:24px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.10))}
.iv-ai-fab>i{right:4px;top:auto;bottom:5px;width:13px;height:13px;border:3px solid #fff;background:#20b87a;box-shadow:0 2px 6px rgba(32,184,122,.28)}
.iv-ai-floating.open .iv-ai-fab{border-radius:50%;background:linear-gradient(135deg,#5b55e8 0%,#3f72dd 48%,#12a3b2 100%);box-shadow:0 10px 24px rgba(58,74,145,.26)}
@keyframes iv-fab-halo{
  0%{box-shadow:var(--fab-shadow),0 0 0 0 rgba(93,90,240,.38)}
  65%{box-shadow:var(--fab-shadow),0 0 0 15px rgba(93,90,240,0)}
  100%{box-shadow:var(--fab-shadow),0 0 0 15px rgba(93,90,240,0)}
}

.iv-ai-floating.open .iv-assistant{width:min(430px,calc(100vw - 28px));height:min(690px,calc(100dvh - 176px));border:1px solid rgba(218,220,235,.9);border-radius:25px;background:rgba(255,255,255,.97);box-shadow:0 28px 80px rgba(32,35,64,.22)}
.iv-assistant>header{border-bottom:1px solid var(--iv-line);background:linear-gradient(135deg,#fbfaff,#f4fbfc)}
.iv-assistant>header>div>span{width:38px;height:38px;border:0;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--iv-primary),var(--iv-cyan));box-shadow:0 7px 17px rgba(102,88,232,.22)}
.iv-assistant>header b{color:var(--iv-ink);font-size:13px}
.iv-assistant>header small{color:#6f7788;font-size:10.5px}
.iv-assistant>header small i{width:7px;height:7px;background:var(--iv-green);box-shadow:0 0 0 4px rgba(32,184,122,.11)}
.iv-ai-header-actions button{border-radius:10px}

.iv-ai-messages{padding:16px;background:linear-gradient(180deg,#fff 0,#fcfcff 100%)}
.iv-ai-message{gap:8px;margin-bottom:13px}
.iv-ai-message>i{width:27px;height:27px;flex-basis:27px;border-radius:9px;color:var(--iv-primary);background:#eeecff;font-size:11px;font-weight:900}
.iv-ai-message>div{padding:11px 12px;border:1px solid #e6e8ef;border-radius:15px 15px 15px 5px;color:#475064;background:#f5f6fa}
.iv-ai-message b{color:var(--iv-primary);font-size:10.5px}
.iv-ai-message p{font-size:12px;line-height:1.45}
.iv-ai-message.user>div{border:0;border-radius:15px 15px 5px 15px;background:linear-gradient(135deg,#6658e8,#7b67ec);box-shadow:0 7px 16px rgba(102,88,232,.14)}

.iv-ai-composer{padding:12px 14px 13px;border-top:1px solid var(--iv-line);background:#fff}
.iv-composer-box{border:1px solid #dde1eb;border-radius:16px;background:#fbfcff;box-shadow:none}
.iv-composer-box:focus-within{border-color:#9992ee;background:#fff;box-shadow:0 0 0 4px rgba(102,88,232,.08)}
.iv-composer-box textarea{min-height:60px;color:#394154;background:transparent;font-size:12px}
.iv-composer-box .dm-composer-requirement{color:#8a91a1;font-size:10px}
.iv-composer-footer{padding:5px 6px 6px 9px;border-top:1px solid #eef1f7}
.iv-score-chip{color:#8a91a1;font-size:10px}
.iv-score-chip i{border-radius:8px;color:var(--iv-primary);background:#efeefe}
.iv-send{height:34px;border-radius:10px;background:linear-gradient(135deg,var(--iv-primary),var(--iv-primary-2));font-size:11px;font-weight:750;box-shadow:0 8px 16px rgba(93,90,240,.18)}
.iv-ai-composer>small{color:#8a91a1;font-size:10px}
.iv-ai-locked{border-top:1px solid var(--iv-line);background:#fbfcff}
.iv-ai-locked>span{border-radius:10px;color:#1b8d65;background:#ebfbf5}
.iv-ai-locked b{color:var(--iv-ink);font-size:11px}
.iv-ai-locked small{color:#7e8fa3;font-size:10px}
.iv-ai-locked button{border-radius:10px;color:var(--iv-primary);background:#f0effe;font-size:10px}

/* El hilo es uno solo por asesoria y se lee por tramos: cada pregunta abre el suyo con su
   numero, su dimension y si quedo respondida. Sin esa marca, volver atras en la conversacion
   es un muro de burbujas sin saber de que pregunta hablaba cada una. El tramo se queda con su
   propio hueco -padding abajo, margen del ultimo mensaje a cero- en vez de prestarselo al
   colapso de margenes: asi su altura medida es la que se ve, que es de lo que vive el scroll. */
.iv-ai-turn{padding-bottom:13px}
.iv-ai-turn>.iv-ai-message:last-child{margin-bottom:0}
.iv-ai-turnmark{display:flex;align-items:baseline;gap:7px;margin:0 0 11px;padding-top:12px;border-top:1px solid var(--iv-line)}
.iv-ai-turn:first-child .iv-ai-turnmark{padding-top:0;border-top:0}
.iv-ai-turnmark b{flex:0 0 auto;color:var(--iv-soft);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.iv-ai-turnmark small{min-width:0;flex:1;overflow:hidden;color:#8a91a1;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.iv-ai-turnmark em{flex:0 0 auto;padding:3px 7px;border-radius:7px;color:var(--iv-soft);background:#f1f3f8;font-size:10px;font-style:normal;font-weight:850}
.iv-ai-turn.current .iv-ai-turnmark b{color:var(--iv-primary)}
.iv-ai-turn.current .iv-ai-turnmark em{color:#fff;background:linear-gradient(135deg,#6658e8,#7b67ec);box-shadow:0 5px 12px rgba(102,88,232,.18)}

/* ── Recomendacion de dimension ───────────────────────────────────────────── */
.iv-dimension-popover{border:1px solid var(--iv-line);border-radius:22px;box-shadow:0 28px 80px rgba(32,35,64,.18)}
.iv-dimension-popover>header{border-bottom:1px solid var(--iv-line);background:linear-gradient(135deg,#fbfaff,#f4fbfc)}
.iv-dimension-popover>header>div>span{border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--iv-primary),var(--iv-cyan))}
.iv-dimension-popover header small{color:var(--iv-primary);font-size:9px}
.iv-dimension-popover header b{color:var(--iv-ink);font-size:13px}
.iv-dimension-popover header em{color:#117e8b;background:#edfafd;font-size:10px}
.iv-dimension-popover>p{color:#5b6a82;font-size:12.5px}
.iv-dimension-popover>footer{border-top:1px solid var(--iv-line);background:#fbfcff}
.iv-dimension-popover>footer span{color:#8692a9;font-size:10px}
.iv-dimension-popover>footer button{border-radius:10px;color:var(--iv-primary);background:#f0effe;font-size:10px}

@media(min-width:901px) and (max-height:850px){
  .iv-progress-nav>button,.iv-inline-progress{height:40px}
  .iv-question-card{padding:14px 18px 13px}
  .iv-question-card>h1{margin-bottom:9px;font-size:clamp(21px,2.5vh,25px)}
  .iv-option{min-height:49px;padding:7px 11px}
  .iv-option>i{width:28px;height:28px}
}

@media(max-width:900px){
  /* El cajon va opaco: translucido, el desenfoque del fondo se cuela entre las tarjetas. */
  .iv-navigator{padding:12px 10px;background:#fff;backdrop-filter:none}
  /* Pegada arriba chocaria con la barra, que ya es sticky en movil. */
  .iv-progress-nav{position:static;grid-template-columns:104px minmax(0,1fr) 116px;gap:8px}
  .iv-number-grid{grid-template-columns:repeat(4,1fr)}
  .iv-number{height:42px}
  .iv-ai-fab:after{display:none}
}

@media(max-width:640px){
  .iv-question-card{padding:18px 15px}
  .iv-question-card>h1{font-size:22px;line-height:1.22}
  .iv-option{min-height:62px}
  .iv-option>span{font-size:13px}
}

/* ────────────────────────────────────────────────────────────────────────────
   La barra de progreso del cuestionario
   ---------------------------------------------------------------------------
   Antes casi no se veia, y no por delgada: `.iv-inline-progress` es flex en
   columna con altura fija, y la pista es un hijo flex mas. Con la cabecera
   dentro no cabian sus 6px y, como `flex-shrink` es 1 por defecto, el navegador
   la encogio a 2px en vez de desbordar. Se leia como si no existiera. Aqui la
   altura pasa a ser minima -no exacta- y la pista queda `flex:none`.

   Dos colores y nada mas: verde lo respondido, rojo lo que se vio y quedo
   pendiente; el resto es la pista. Una linea fina y limpia -sin rayas, sin
   marcas, sin bolita- ocupa menos y se lee de un golpe, que es lo que se le
   pide a un progreso mientras alguien esta pensando otra cosa.
   ──────────────────────────────────────────────────────────────────────────── */
.iv-inline-progress{height:auto;min-height:44px;padding:8px 14px;justify-content:center}
.iv-inline-progress>header{flex:none;margin-bottom:7px;gap:12px}
.iv-inline-progress>header strong{color:var(--iv-primary);font-size:12px;font-weight:900}
/* Ojo con el selector: la regla vieja `.iv-inline-progress>div` fija 6px y gana a un
   `.iv-track` a secas. Por eso la pista se nombra desde su contenedor. */
.iv-inline-progress>.iv-track{position:relative;flex:none;height:4px;padding:0;
  border-radius:999px;background:none;overflow:visible}
.iv-zones{display:flex;height:100%;border-radius:999px;overflow:hidden;background:#e6ecf5}
.iv-zones>i{flex:none;display:block;height:100%;transition:width .55s cubic-bezier(.22,.9,.3,1)}
.iv-zones>i.done{width:calc(var(--to) * 100%);background:linear-gradient(90deg,#0fae67,#22c58c);
  box-shadow:0 0 8px rgba(24,190,130,.45)}
.iv-zones>i.late{width:calc(var(--late) * 100%);background:#ef4a5a}
/* Lo unico que se mueve: el tramo verde crece desde donde estaba. Ver ese avance es la
   recompensa de haber respondido; si aparece ya crecido, esa recompensa no existe. */
.iv-inline-progress>.iv-track.grew>.iv-zones>i.done{animation:iv-grow .6s cubic-bezier(.22,.9,.3,1)}
@keyframes iv-grow{from{width:calc(var(--from) * 100%)}to{width:calc(var(--to) * 100%)}}
/* El recuento pone en palabras los dos colores: el color solo no dice cual es cual,
   y en una sala siempre hay alguien que no distingue el verde del rojo. */
.iv-tally{display:flex;align-items:center;gap:11px;flex:none}
.iv-tally em{display:inline-flex;align-items:center;gap:5px;color:#6a7891;
  font-size:10px;font-style:normal;font-weight:700;white-space:nowrap}
.iv-tally em::before{content:"";width:7px;height:7px;border-radius:2px;background:#d5dfec}
.iv-tally em.done::before{background:#0fae67}
.iv-tally em.late::before{background:#ef4a5a}
@media (max-width:1240px){.iv-tally em{display:none}}
@media (prefers-reduced-motion:reduce){
  .iv-inline-progress>.iv-track.grew>.iv-zones>i.done{animation:none}
  .iv-zones>i{transition:none}
}


/* --- Presentacion de la dimension --------------------------------------------------------
   Aparece sola al entrar a un tema nuevo, tapa la pregunta a proposito -si se pudiera leer
   la pregunta por debajo, nadie leeria la explicacion- y se va por cuatro puertas: el boton,
   la cruz, el velo y Escape. Lo que se mueve tiene una razon: el sello marca de que dimension
   se habla, los puntos dicen cuanto del recorrido va, y los parrafos entran en orden para que
   la vista los recorra en ese orden y no de un golpe. Nada de lo que se mueve cuesta un
   recalculo: el velo tapa con tinta y no con desenfoque -detras late el agente y el boton
   flotante, y difuminar el fondo obligaba a rehacer la pantalla entera en cada cuadro-, el
   punto de ahora se abre escalando en vez de crecer en la fila, y la espera brilla con un
   reflejo que se desplaza en vez de repintarse. */
.iv-dim-intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.iv-dim-veil{position:absolute;inset:0;background:rgba(8,30,55,.62);
  animation:iv-dim-veil .18s ease-out both}
.iv-dim-card{position:relative;width:min(560px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;
  overflow:hidden;border:1px solid #d8e4f1;border-radius:20px;background:#fff;
  box-shadow:0 30px 80px rgba(8,38,69,.34);will-change:transform,opacity;
  animation:iv-dim-card .26s cubic-bezier(.22,.9,.3,1) both}
.iv-dim-card>header{display:flex;align-items:center;gap:13px;padding:20px 20px 14px}
.iv-dim-card>header>div{min-width:0;flex:1}
.iv-dim-card>header small{display:block;color:#2a66cd;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.iv-dim-card>header b{display:block;margin-top:4px;color:#0d223d;font-size:clamp(18px,2.2vw,23px);line-height:1.25;letter-spacing:-.02em}
.iv-dim-mark{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border-radius:15px;
  color:#0e8f7d;background:linear-gradient(145deg,#e6f9f4,#dff1ff);font-size:22px;
  box-shadow:0 8px 20px rgba(17,167,149,.18);animation:iv-dim-mark .34s cubic-bezier(.34,1.5,.5,1) both}
.iv-dim-close{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:1px solid #e0e8f1;
  border-radius:9px;color:#7789a0;background:#fff;font-size:17px;line-height:1}
.iv-dim-close:hover{color:#17436f;background:#eef4fa}
/* Los puntos: donde empieza el tema dentro del recorrido completo. */
.iv-dim-dots{display:flex;gap:5px;padding:0 20px 14px}
.iv-dim-dots>i{height:5px;flex:1;border-radius:99px;background:#e5ebf3;transition:background-color .2s ease}
.iv-dim-dots>i.done{background:#4fc5ad}
.iv-dim-dots>i.now{background:linear-gradient(90deg,#3478f6,#2a63de);transform-origin:left center;
  animation:iv-dim-dot .34s cubic-bezier(.22,.9,.3,1) both}
.iv-dim-body{overflow-y:auto;padding:8px 20px 24px;scrollbar-width:thin;scrollbar-color:#cbd8e6 transparent}
.iv-dim-summary{margin:0;color:#4b6079;font-size:14px;line-height:1.7;
  animation:iv-dim-part .26s cubic-bezier(.22,.9,.3,1) both}
/* Sin texto todavia: la forma del parrafo que viene, latiendo. */
.iv-dim-skeleton{display:grid;gap:10px;padding:16px 0}
.iv-dim-skeleton>i{position:relative;overflow:hidden;height:11px;border-radius:99px;background:#e9eef5}
.iv-dim-skeleton>i:after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
  animation:iv-dim-shimmer 1.15s linear infinite}
.iv-dim-skeleton>i:nth-child(2){width:92%}
.iv-dim-skeleton>i:nth-child(3){width:78%}
.iv-dim-skeleton>i:nth-child(4){width:86%}
.iv-dim-card>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 20px;border-top:1px solid #e9eef4;background:#f8fafc}
.iv-dim-card>footer:not(:has(small)){justify-content:flex-end}
.iv-dim-card>footer small{min-width:0;color:#7b8ca1;font-size:9.5px;line-height:1.5}
.iv-dim-go{flex:0 0 auto;height:42px;padding:0 18px;display:inline-flex;align-items:center;gap:8px;
  border-radius:12px;color:#fff;background:linear-gradient(135deg,#3478f6,#245ed5);font-size:12px;font-weight:850;
  box-shadow:0 10px 24px rgba(37,99,235,.28);transition:transform .18s cubic-bezier(.34,1.4,.5,1),box-shadow .18s ease}
.iv-dim-go:hover{box-shadow:0 14px 30px rgba(37,99,235,.36);transform:translateY(-2px)}
.iv-dim-go:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.3),0 10px 24px rgba(37,99,235,.28)}
.iv-dim-intro.leaving .iv-dim-veil{animation:iv-dim-veil .15s ease-in reverse both}
.iv-dim-intro.leaving .iv-dim-card{animation:iv-dim-out .15s ease-in both}
@keyframes iv-dim-veil{from{opacity:0}to{opacity:1}}
@keyframes iv-dim-card{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes iv-dim-out{to{opacity:0;transform:translateY(8px) scale(.985)}}
@keyframes iv-dim-mark{from{transform:scale(.6) rotate(-12deg)}60%{transform:scale(1.12) rotate(3deg)}to{transform:none}}
@keyframes iv-dim-dot{from{opacity:.4;transform:scaleX(.25)}to{opacity:1;transform:none}}
@keyframes iv-dim-part{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes iv-dim-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:600px){
  .iv-dim-intro{padding:12px}
  .iv-dim-card>header{padding:16px 16px 12px}
  .iv-dim-body,.iv-dim-dots,.iv-dim-card>footer{padding-inline:16px}
  .iv-dim-card>footer{flex-direction:column;align-items:stretch;gap:10px}
  .iv-dim-go{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .iv-dim-veil,.iv-dim-card,.iv-dim-mark,.iv-dim-dots>i.now,.iv-dim-summary,.iv-dim-skeleton>i:after,
  .iv-dim-intro.leaving .iv-dim-veil,.iv-dim-intro.leaving .iv-dim-card{animation:none}
  .iv-dim-go{transition:none}
}

/* Las dos formas de alta se leen completas dentro de la tarjeta de acceso. */
.user-access-options.user-entry-options{grid-template-columns:minmax(0,1fr)}
.user-entry-options .user-access-option{min-height:0}
.user-entry-fields{margin-top:18px}
#user-invitation-note{font-size:13px;line-height:1.65;color:#586f88}

/* Elección del acceso al entrar y desde el menú de la cuenta. */
.role-entry{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at top left,#dcebf6,transparent 60%),#f1f5fa;color:#143454}
.role-entry-card{width:min(100%,580px);padding:38px;border:1px solid #dae5ef;border-radius:24px;background:#fff;box-shadow:0 22px 70px #173d6420}
.role-entry-card>.login-brand{margin-bottom:30px}.role-entry-card>.login-brand .brand-mark{width:240px;max-width:100%;height:auto}.role-entry h1{font-size:29px;line-height:1.18;margin:8px 0 12px}.role-entry-card>p:not(.eyebrow){color:#62758c;line-height:1.6}
.role-choices{display:grid;gap:12px;margin:26px 0 16px}.role-choice{display:flex;align-items:center;gap:16px;width:100%;padding:19px 18px;text-align:left;border:1px solid #d6e3ef;border-radius:15px;background:#fbfdff;color:#173958}
.role-choice:hover:not(:disabled){border-color:#2d739e;background:#eff7fc;box-shadow:0 3px 14px #24567815}.role-choice:focus-visible{outline:3px solid #389dc8;outline-offset:3px}.role-choice>i{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:12px;background:#e6efff;color:#3265b8;font-size:23px;font-style:normal}.role-choice.invitado>i{color:#008b7d;background:#ddf5ee}.role-choice.supervisor>i{color:#7053bb;background:#efe8fb}
.role-choice>span{flex:1;min-width:0}.role-choice b{display:block;font-size:16px}.role-choice small{display:block;margin-top:6px;font-size:13px;line-height:1.5;font-weight:400;color:#657990}.role-choice em{font-style:normal;font-size:13px;color:#55708c}.role-choice[aria-current]{background:#edf5fa;border-color:#abc8dc;opacity:1;cursor:default}
.role-choice-error{color:#ac233a;font-size:14px}.role-entry-logout{display:block;margin:20px auto 0;padding:10px 20px;background:transparent;color:#546e87;font-size:14px}
.role-switch-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:28px;border:1px solid #d4e1eb;border-radius:22px;background:#fff;color:#143454;box-shadow:0 28px 80px #001d3b55}.role-switch-dialog::backdrop{background:#061c37a8;backdrop-filter:blur(3px)}.role-switch-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.role-switch-dialog h2{font-size:24px;margin:6px 0}.role-switch-dialog header button{background:#eff4f8;color:#294967;width:34px;height:34px;border-radius:50%;font-size:24px}.role-switch-dialog>p{color:#63788f;font-size:14px;line-height:1.5}.role-switch-dialog .role-choices{margin-top:22px}
@media(max-width:600px){.role-entry{padding:18px 12px}.role-entry-card{padding:26px 20px}.role-entry h1{font-size:26px}.role-choice{padding:16px 12px;gap:12px}.role-choice>i{flex-basis:36px;height:36px;font-size:20px}.role-switch-dialog{padding:22px 18px}}

.access-user-row .system-role{white-space:normal;line-height:1.5}
