*{box-sizing:border-box}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.hero{background:linear-gradient(120deg,#071c4d 0%,#075d9c 70%,#069bbb 100%)}.hero-art{min-width:170px;height:170px;border:3px solid #92eaff66;box-shadow:0 0 50px #35edff44,inset 0 0 50px #9ceaff33;display:flex;align-items:center;justify-content:center;border-radius:48px;font-size:85px;font-weight:900;color:#fff;transform:rotate(-7deg)}.hero-art span{font-size:28px;color:#fdba74;transform:translate(-5px,36px)}.glass{border:1px solid #ffffff44;background:#ffffff12;border-radius:15px;padding:15px;text-align:center}.pill{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.15em;border-radius:99px;padding:9px 14px}.field{display:block;width:100%;margin-top:7px;border:1px solid #d7e2eb;border-radius:12px;padding:12px 13px;background:white;outline:0;color:#1e293b;font-weight:500;font-size:14px}.field:focus{border-color:#0891b2;box-shadow:0 0 0 3px #06b6d422}.label{display:block;font-size:13px;font-weight:700;color:#334155}.btn-primary{background:#0369a1;color:white;padding:12px 17px;border-radius:12px;font-size:14px;font-weight:800;transition:.15s}.btn-primary:hover{background:#075985}.btn-primary:disabled{opacity:.55;cursor:wait}.btn-secondary{background:#f1f5f9;color:#334155;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:700}.sidebar{width:260px;flex-shrink:0;background:linear-gradient(180deg,#071c4d,#075985);display:flex;flex-direction:column;min-height:100vh}.nav{display:block;width:100%;color:#c8def6;text-align:left;padding:14px 17px;border-radius:12px;font-weight:600;font-size:14px}.nav:hover,.nav.active{background:#ffffff1b;color:white}.heading{font-size:27px;font-weight:900;color:#0c2450}.muted{color:#64748b;font-size:14px}.module{display:flex;text-align:left;flex-direction:column;gap:9px;background:#fff;border:1px solid #dbe5ef;padding:22px;border-radius:19px;transition:.2s}.module:hover{border-color:#0e7490;transform:translateY(-3px);box-shadow:0 12px 25px #0f172a12}.module b{font-size:18px;color:#0b2852}.module small{color:#64748b}.module-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:#ecfeff;border-radius:15px;font-size:28px}.step{padding:15px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff;font-size:14px;font-weight:700;color:#1e40af}.guide-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden}.guide-card img{height:155px;width:100%;object-fit:cover}.guide-card .body{padding:16px}.tag{display:inline-block;font-size:11px;font-weight:800;border-radius:99px;padding:5px 9px}.tag.published{background:#dcfce7;color:#166534}.tag.draft{background:#fef3c7;color:#92400e}.action{font-size:12px;font-weight:800;padding:8px 10px;border-radius:9px;background:#f1f5f9;color:#155e75}.action:hover{background:#cffafe}.bubble{max-width:85%;padding:13px 16px;border-radius:16px;font-size:14px;white-space:pre-wrap;line-height:1.55}.bubble.assistant{background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.bubble.human{background:#0369a1;color:#fff;margin-left:auto;border-bottom-right-radius:4px}.suggest{display:block;width:100%;background:#f8fafc;text-align:left;border:1px solid #e2e8f0;padding:10px;border-radius:11px;font-size:12px;color:#155e75}.suggest:hover{background:#ecfeff}@media(max-width:1023px){.sidebar{position:fixed;z-index:30;left:-270px;top:0;bottom:0;transition:left .2s}.sidebar.open{left:0}}
@media print{body{background:white!important}header,aside,button{display:none!important}}
.dictionary-card{animation:riseIn .38s ease both;transition:transform .2s,box-shadow .2s}.dictionary-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #0f172a12}@keyframes riseIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}

/* V2.3: modal + responsive file pickers + notifications */
.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;text-align:center;min-height:105px;border:2px dashed #89bbd9;border-radius:1rem;background:#f3faff;color:#0c4a6e;padding:1.1rem;transition:.2s ease}
.upload-zone:hover,.upload-zone:focus-within{border-color:#0284c7;background:#e0f2fe;transform:translateY(-1px)}
.upload-zone b{font-size:.87rem}.upload-zone small{font-size:.72rem;color:#64748b}
.nursa-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.75rem;background:white;color:#0f172a;padding:1rem;border-radius:1rem;border:1px solid #e2e8f0;box-shadow:0 15px 42px #0f172a25;animation:toast-in .22s ease}
.nursa-toast.success{border-left:5px solid #059669}.nursa-toast.error{border-left:5px solid #dc2626}.nursa-toast.info{border-left:5px solid #0284c7}
@keyframes toast-in{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
body.nursa-modal-open{overflow:hidden}

/* NURSA - HNCASE | Centro de inteligencia educativa V2.5 */
.nursa-command-dashboard{--ai-navy:#0b214d;--ai-cyan:#22d3ee}
.ai-command-hero{background:radial-gradient(circle at 80% 25%,#1469a1 0%,transparent 45%),linear-gradient(115deg,#061637,#0b3262 60%,#08547a);box-shadow:0 18px 40px #0a28531c}
.ai-grid{opacity:.26;background-image:linear-gradient(#73d9f01b 1px,transparent 1px),linear-gradient(90deg,#73d9f01b 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent 35%,black)}
.ai-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22d3ee;box-shadow:0 0 0 4px #22d3ee25,0 0 16px #22d3ee;flex-shrink:0}
.ai-action-primary{border-radius:14px;padding:12px 20px;font-size:14px;font-weight:800;background:linear-gradient(120deg,#67e8f9,#2dd4bf);color:#082f49;transition:.2s}
.ai-action-ghost{border:1px solid #b6f3ff5c;background:#ffffff13;color:white;border-radius:14px;padding:12px 20px;font-size:14px;font-weight:700;transition:.2s}
.ai-action-primary:hover,.ai-action-ghost:hover{transform:translateY(-2px)}
.ai-orb-wrap{width:210px;height:188px;align-items:center;justify-content:center;position:relative}
.ai-orb-wrap:before,.ai-orb-wrap:after{content:'';position:absolute;border:1px solid #7de3ff66;border-radius:50%;inset:9px 14px;transform:rotate(-20deg)}
.ai-orb-wrap:after{inset:26px 0;transform:rotate(38deg);border-style:dashed}
.ai-orb{width:130px;height:130px;border-radius:34px;background:linear-gradient(145deg,#39bdf144,#031c4288);box-shadow:inset 0 0 40px #22d3ee30,0 0 45px #38bdf829;display:flex;align-items:center;justify-content:center;font-size:72px;font-weight:800;border:1px solid #67e8f9aa;position:relative}
.ai-orb small{font-size:18px;position:absolute;bottom:17px;right:19px;color:#fb923c}
.ai-data-pill{display:inline-flex;align-items:center;gap:10px;border-radius:100px;background:#ecfeff;border:1px solid #c3eaf1;color:#0e7490;font-weight:800;font-size:11px;padding:8px 13px}
.ai-kpi{background:white;border:1px solid #e1eaf5;border-radius:18px;padding:18px;min-height:148px;position:relative;overflow:hidden;box-shadow:0 5px 16px #0f172a08;transition:transform .22s,box-shadow .22s}
.ai-kpi:hover{transform:translateY(-3px);box-shadow:0 15px 25px #0f172a13}
.ai-kpi:before{content:'';position:absolute;width:96px;height:96px;border-radius:50%;right:-35px;top:-46px;background:#22d3ee16}
.ai-kpi-orange:before{background:#fb923c1c}.ai-kpi-violet:before{background:#818cf81b}
.ai-kpi-top{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px;color:#64748b;font-weight:800}
.ai-kpi-icon{font-size:19px;background:#eef8ff;color:#0369a1;border-radius:10px;width:34px;height:34px;display:flex;align-items:center;justify-content:center}
.ai-kpi-orange .ai-kpi-icon{color:#c2410c;background:#fff7ed}.ai-kpi-violet .ai-kpi-icon{color:#6d28d9;background:#f5f3ff}
.ai-kpi strong{display:block;font-size:clamp(26px,2.4vw,34px);font-weight:900;line-height:1.3;color:#0b214d;margin:8px 0 7px;font-variant-numeric:tabular-nums}
.ai-kpi-foot{display:flex;align-items:center;gap:7px;color:#94a3b8;font-weight:600;font-size:10px}
.ai-kpi-foot i{width:5px;height:5px;border-radius:50%;background:#22d3ee}
.ai-analytics-card{background:#fff;border:1px solid #e1eaf5;border-radius:22px;padding:22px 23px;box-shadow:0 6px 18px #152e5108;min-width:0}
.ai-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}
.ai-chart-heading h3{font-size:18px;font-weight:900;letter-spacing:-.02em;color:#0b214d;margin:4px 0}
.ai-chart-heading p{font-size:12px;color:#94a3b8}
.ai-kicker{font-weight:900;font-size:10px;letter-spacing:.14em;color:#0891b2}
.ai-heading-icon{background:#edf9ff;border:1px solid #d6f2fc;border-radius:13px;color:#0369a1;font-size:22px;display:grid;place-items:center;width:44px;height:44px;flex-shrink:0}
.ai-chart-space{min-height:190px;display:flex;align-items:center}
.ai-bars{width:100%;height:180px;display:flex;gap:12px;justify-content:space-around;align-items:stretch;border-bottom:1px solid #e2e8f0;padding:15px 5px 0}
.ai-bar-track{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.ai-bar{width:min(40px,76%);min-height:3px;border-radius:8px 8px 0 0;box-shadow:0 -5px 17px #38bdf827;animation:ai-grow .55s ease both;transform-origin:bottom}
.ai-bar-label{position:absolute;bottom:-22px;color:#64748b;font-weight:700;font-size:11px;text-transform:capitalize}
.ai-bar-value{font-size:11px;font-weight:900;color:#0b214d;margin-bottom:5px}
@keyframes ai-grow{from{transform:scaleY(.04);opacity:.35}to{transform:scaleY(1);opacity:1}}
.ai-line-svg{display:block;width:100%;max-height:210px;overflow:visible}
.ai-empty-note{font-size:11px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:8px 10px;margin-top:14px}
.ai-category-head{display:flex;align-items:center;gap:23px;border-bottom:1px solid #edf2f7;padding-bottom:18px}
.ai-donut{width:108px;height:108px;flex-shrink:0;border-radius:50%;background:conic-gradient(#06b6d4 calc(var(--ratio)*1%),#e2e8f0 0);display:grid;place-items:center}
.ai-donut>div{height:82px;width:82px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:white}
.ai-donut b{font-size:21px;font-weight:900;color:#0b214d}.ai-donut span{font-size:10px;color:#64748b}
.ai-progress-track{height:9px;background:#f1f5f9;border-radius:20px;overflow:hidden}.ai-progress-track span{height:100%;display:block;border-radius:20px}
.ai-top-row{display:flex;align-items:center;gap:12px;background:#f8fafc;border:1px solid #edf2f7;border-radius:12px;padding:12px 13px}
.ai-top-index{color:#0e7490;font-weight:900;font-size:11px}.ai-top-views{color:#0b214d;white-space:nowrap}.ai-top-views span{font-size:10px;color:#94a3b8;font-weight:600}
.ai-module{display:flex;align-items:center;gap:14px;text-align:left;padding:18px;border:1px solid #dfeaf4;background:#fff;border-radius:19px;box-shadow:0 4px 14px #0f172a08;transition:.2s}
.ai-module:hover{border-color:#22d3ee;box-shadow:0 12px 22px #0f172a12;transform:translateY(-2px)}
.ai-module-icon{background:#edfaff;color:#0369a1;width:47px;height:47px;border-radius:13px;display:grid;place-items:center;font-size:23px;flex-shrink:0}
.ai-module b{display:block;color:#0b214d;font-size:13px}.ai-module small{display:block;font-size:11px;color:#64748b;margin-top:4px}
@media(max-width:640px){.ai-analytics-card{padding:17px}.ai-kpi{padding:12px;min-height:125px}.ai-chart-heading h3{font-size:16px}.ai-module{padding:14px}}
@media(prefers-reduced-motion:reduce){.ai-bar{animation:none}.ai-module,.ai-kpi{transition:none}}


/* V2.7: corrección de estructura y contención responsive del dashboard */
html,body{max-width:100%;overflow-x:clip}
.nursa-command-dashboard,.dashboard-grid,.ai-command-hero{width:100%;min-width:0;max-width:100%}
.dashboard-grid>*{min-width:0;max-width:100%}
.ai-analytics-card{min-width:0;max-width:100%;overflow:hidden}
.ai-chart-heading>div{min-width:0}
.ai-chart-space{width:100%;min-width:0;max-width:100%;display:block;overflow:hidden;padding-bottom:22px}
.ai-bars{max-width:100%;width:100%;min-width:0;gap:clamp(6px,1vw,14px);height:175px}
.ai-bar-track{min-width:0;max-width:100%;flex:1 1 0}
.ai-line-svg{width:100%;height:auto;max-height:210px;overflow:hidden}
.ai-category-head{gap:clamp(10px,2vw,23px);flex-wrap:wrap}
.ai-top-row{min-width:0;max-width:100%}
@media(max-width:767px){.ai-command-hero{padding:20px}.ai-command-hero h2{font-size:clamp(26px,7vw,38px)}.ai-analytics-card{padding:17px}.ai-data-pill{max-width:100%}}

/* V2.8 — Simulador de conversaciones para ponencia */
.sim-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:0 0 20px}.sim-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:900;color:#0891b2;margin-bottom:8px}.sim-demo-tag{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:900;white-space:nowrap}
.sim-layout{display:grid;grid-template-columns:minmax(245px,315px) minmax(0,1fr);gap:16px;align-items:stretch;min-width:0}.sim-case-list,.sim-chat-area{background:white;border:1px solid #dbe6f3;border-radius:24px;box-shadow:0 12px 34px #0b316111;min-width:0;overflow:hidden}.sim-case-list{display:flex;flex-direction:column}.sim-case-title{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#082859,#064b85);color:white;padding:17px 18px;font-size:13px;font-weight:900}.sim-case-title span:last-child{color:#93e9fa;font-size:11px}.sim-case-scroll{max-height:555px;overflow:auto;padding:10px;display:grid;align-content:start;gap:5px}.sim-case-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border-radius:13px;border:1px solid transparent;padding:10px 9px;background:white;transition:.2s;min-width:0}.sim-case-item:hover{background:#eff8ff}.sim-case-item.is-active{border-color:#67e8f9;background:linear-gradient(105deg,#e9fbff,#ecf2ff)}.sim-case-emoji{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#f0f7ff;font-size:20px;flex:none}.sim-case-labels{display:flex;flex-direction:column;gap:3px;min-width:0}.sim-case-labels strong{font-size:12px;color:#123666;line-height:1.3}.sim-case-labels small{font-size:10px;color:#728399}.sim-chevron{color:#2c91bd;margin-left:auto}.sim-aside-tip{border-top:1px solid #edf2f8;background:#f8fbff;padding:14px 16px;color:#526782;font-size:11px;line-height:1.6}
.sim-chat-area{display:flex;flex-direction:column;min-height:690px;max-height:790px}.sim-chat-header{display:flex;align-items:center;gap:12px;padding:16px 20px;color:white;background:linear-gradient(110deg,#092858,#086aa0)}.sim-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#1eafce;font-weight:900;font-size:22px}.sim-chat-name{font-weight:900;font-size:14px}.sim-online-dot{display:inline-block;background:#34d399;width:8px;height:8px;border-radius:50%;margin-left:5px}.sim-chat-sub{font-size:11px;color:#b5eaf9}.sim-progress{font-size:12px;font-weight:900;padding:6px 10px;border-radius:10px;background:#ffffff24;white-space:nowrap}
.sim-case-intro{padding:14px 20px;background:linear-gradient(90deg,#ecfaff,#f6f8ff);border-bottom:1px solid #deebf6}.sim-intro-top{display:flex;align-items:center;gap:7px;color:#227499;font-size:10px;font-weight:800;letter-spacing:.05em}.sim-intro-icon{font-size:20px}.sim-case-intro h3{color:#092a55;font-weight:900;font-size:17px;margin:4px 0}.sim-case-intro p{font-size:12px;color:#5e728e}.sim-conversation{background:radial-gradient(circle at 80% 10%,#e4f4ff 0,transparent 40%),#f6f9fe;flex:1;min-height:180px;overflow-y:auto;padding:19px;display:flex;flex-direction:column;gap:13px}.sim-welcome{align-self:center;margin:auto;max-width:310px;display:grid;place-items:center;text-align:center;gap:12px;color:#6a7d99;font-size:13px}.sim-welcome span{font-size:40px;color:#19a8ce}.sim-message{max-width:91%;display:flex;flex-direction:column;gap:5px;animation:simIn .22s ease}.sim-user{align-self:end;align-items:end}.sim-assistant{align-self:start;align-items:start}.sim-message-author{color:#55738f;font-weight:900;letter-spacing:.07em;font-size:9px}.sim-message-content{border-radius:16px;padding:13px 16px;font-size:13px;line-height:1.65;white-space:pre-wrap}.sim-user .sim-message-content{background:linear-gradient(125deg,#126ab2,#074a87);color:white;border-bottom-right-radius:3px}.sim-assistant .sim-message-content{background:white;border:1px solid #dae7f4;color:#203c5f;border-bottom-left-radius:3px;box-shadow:0 3px 12px #0f4f7d0b}.sim-message-tip{border-left:3px solid #17b3cd;color:#3e6075;background:#e7f9fb;border-radius:6px;padding:9px 11px;font-size:11px;line-height:1.5}.sim-finished{align-self:center;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:12px;text-align:center;font-size:12px;font-weight:800}.sim-composer{border-top:1px solid #dce9f7;padding:14px 17px;display:flex;gap:10px;align-items:end;background:white}.sim-next-block{flex:1;min-width:0}.sim-next-label{font-size:9px;font-weight:900;color:#64748b;letter-spacing:.08em;margin-bottom:6px}.sim-next-btn{background:linear-gradient(105deg,#082f69,#0275b2);color:white;border-radius:12px;padding:12px 14px;width:100%;text-align:left;font-weight:750;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-next-btn:disabled{background:#deedf4;color:#64748b}.sim-next-btn span{font-size:20px}.sim-composer-actions{display:flex;gap:7px}.sim-small-btn{border:1px solid #d8e5f3;border-radius:11px;background:#f5faff;color:#245075;font-weight:700;font-size:11px;padding:12px 10px}.sim-small-btn:disabled{opacity:.4}.sim-disclaimer{border:1px solid #fed7aa;background:#fffbeb;border-radius:15px;color:#8a4a0c;padding:13px 16px;font-size:11px;line-height:1.65;margin-top:15px}@keyframes simIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.sim-layout{grid-template-columns:250px minmax(0,1fr)}.sim-case-list{min-width:0}.sim-chat-area{min-height:610px}}@media(max-width:750px){.sim-head{flex-direction:column;gap:9px}.sim-layout{grid-template-columns:1fr}.sim-case-scroll{max-height:220px}.sim-case-list{max-width:100%}.sim-chat-area{min-height:620px;max-height:730px}.sim-composer{flex-wrap:wrap}.sim-composer-actions{width:100%}.sim-small-btn{flex:1}.sim-message{max-width:96%}}
