:root{--blue:#0a5bd8;--blue2:#0c7fc7;--cyan:#14b8c9;--violet:#6d5dfc;--navy:#0b1f3a;--text:#17233b;--muted:#68758a;--line:#e4eaf2;--bg:#f5f8fc;--white:#fff;--shadow:0 18px 50px rgba(31,55,90,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.public-header{position:sticky;top:0;z-index:30;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(228,234,242,.8)}.brand{display:flex;align-items:center;gap:10px;font-size:19px}.brand em{font-style:normal;color:var(--violet);font-weight:800}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#fff;font-weight:900;background:linear-gradient(145deg,var(--blue),var(--violet));box-shadow:0 8px 18px rgba(10,91,216,.25);position:relative}.brand-mark:after{content:"";width:7px;height:7px;border:2px solid #bdf5ff;border-radius:50%;position:absolute;right:4px;top:4px}.public-nav{display:flex;align-items:center;gap:22px;font-size:14px}.btn{border:0;border-radius:12px;padding:11px 17px;font-weight:750;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--violet));color:white;box-shadow:0 10px 26px rgba(10,91,216,.22)}.btn.secondary{background:#eaf2ff;color:var(--blue);border:1px solid #d4e3fb}.btn.ghost{background:transparent;color:var(--text)}.btn.large{padding:14px 21px;border-radius:14px}.btn.full{width:100%}.hero{min-height:650px;padding:85px 7vw 70px;display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;background:radial-gradient(circle at 85% 10%,rgba(109,93,252,.16),transparent 30%),radial-gradient(circle at 7% 35%,rgba(20,184,201,.11),transparent 28%),linear-gradient(#fff,#f7faff)}.hero h1{font-size:clamp(42px,5.2vw,72px);line-height:1.03;margin:15px 0 22px;letter-spacing:-2.5px;max-width:850px}.hero h1 span{background:linear-gradient(90deg,var(--blue),var(--violet));background-clip:text;-webkit-background-clip:text;color:transparent}.hero p{font-size:19px;line-height:1.65;color:var(--muted);max-width:720px}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:900;color:var(--blue)}.hero-actions{display:flex;gap:12px;margin:30px 0}.hero-pills{display:flex;gap:10px;flex-wrap:wrap}.hero-pills span{padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:99px;font-size:13px;color:#496078}.glass{background:rgba(255,255,255,.82);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow)}.hero-card{border-radius:28px;padding:28px;transform:rotate(1deg)}.hero-card-top{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.status-dot{color:#1f9d69}.hero-card h3{font-size:28px;margin:24px 0 18px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.quick-grid span,.fake-field{background:#f7f9fd;border:1px solid var(--line);border-radius:14px;padding:13px}.fake-field{margin:10px 0;display:flex;flex-direction:column;gap:4px}.fake-field small{color:var(--muted)}.section{padding:80px 7vw}.section-head{max-width:780px;margin:0 auto 42px;text-align:center}.section-head h2{font-size:38px;letter-spacing:-1px;margin:12px 0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:0 8px 28px rgba(31,55,90,.05)}.feature-grid article>span{font-size:28px}.feature-grid h3{margin:15px 0 8px}.feature-grid p{color:var(--muted);line-height:1.55;margin:0}.demo-section{background:#eef5ff}.demo-card{max-width:940px;margin:auto;background:#fff;padding:28px;border-radius:24px;box-shadow:var(--shadow)}label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px;color:#42546e;margin-bottom:15px}input,select,textarea{width:100%;border:1px solid #d8e0ea;border-radius:12px;padding:12px 13px;background:#fff;color:var(--text);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:#8bb6ef;box-shadow:0 0 0 4px rgba(10,91,216,.07)}textarea{resize:vertical}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.demo-output{margin-top:18px;padding:18px;background:#f7f9fc;border:1px dashed #cfd9e7;border-radius:14px;min-height:90px;white-space:pre-wrap;line-height:1.55}.plans{background:#fff}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:auto}.plan-card{position:relative;border:1px solid var(--line);border-radius:24px;padding:28px;background:#fff}.plan-card.featured{border:2px solid #6a83f6;box-shadow:0 18px 45px rgba(70,90,210,.13);transform:translateY(-8px)}.badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,var(--blue),var(--violet));color:#fff;border-radius:99px;padding:6px 13px;font-size:11px;font-weight:900}.price{font-size:37px;font-weight:900;margin:10px 0}.price small{font-size:13px;color:var(--muted)}.plan-card p,.plan-card li{color:var(--muted)}.plan-card ul{padding-left:20px;line-height:1.9;min-height:185px}.annual{display:block;text-align:center;color:var(--muted);margin-top:10px}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(9,21,39,.55);padding:20px;backdrop-filter:blur(7px)}.modal.open{display:flex}.modal-card{width:min(480px,100%);background:#fff;border-radius:24px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.25);position:relative}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:30px;color:#7a8798}.auth-brand{margin-bottom:25px}.modal-card h2{margin:0 0 7px}.modal-card>p{color:var(--muted)}.auth-switch{text-align:center;font-size:13px}.auth-switch button{border:0;background:transparent;color:var(--blue);font-weight:800}.demo-note{font-size:11px!important;background:#f7f9fc;padding:10px;border-radius:10px}.toast{position:fixed;right:22px;bottom:22px;z-index:200;background:#101c2d;color:#fff;padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translateY(0)}.private-app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;background:#0c1c32;color:#d8e5f6;padding:18px 14px;display:flex;flex-direction:column;z-index:40}.sidebar-brand{padding:5px 9px 20px;color:#fff}.nav-item{display:flex;gap:12px;align-items:center;width:100%;border:0;background:transparent;color:#bdcce0;border-radius:12px;padding:12px 13px;text-align:left;margin:2px 0;font-weight:700}.nav-item:hover,.nav-item.active{background:#172b47;color:#fff}.sidebar-bottom{margin-top:auto}.app-shell{grid-column:2;min-width:0}.app-topbar{position:sticky;top:0;z-index:25;height:70px;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.breadcrumb{font-weight:800}.mobile-menu{display:none;border:0;background:transparent;font-size:22px}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>span:last-child{display:flex;flex-direction:column}.user-chip small{color:var(--muted)}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#ccddff,#e7ddff);display:grid;place-items:center;font-weight:900;color:var(--blue)}.view-container{padding:28px;max-width:1500px;margin:auto}.welcome-card{border-radius:24px;padding:32px;background:linear-gradient(125deg,#0a5bd8,#5a5ce8 65%,#7657f2);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 20px 45px rgba(40,80,200,.18)}.welcome-card .eyebrow{color:#cbe8ff}.welcome-card h1{margin:8px 0;font-size:36px}.welcome-card p{margin:0;color:#e4ecff}.welcome-card .btn.primary{background:#fff;color:var(--blue)}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:22px 0}.process-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;text-align:left;cursor:pointer;transition:.2s}.process-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(31,55,90,.08)}.process-card .icon{font-size:28px}.process-card h3{margin:10px 0 3px}.process-card small{color:var(--muted)}.dashboard-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 28px rgba(31,55,90,.04)}.panel-head,.view-head,.result-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-head h3{margin:0}.link-btn{background:transparent;border:0;color:var(--blue);font-weight:800}.empty-state{color:var(--muted);padding:25px 0}.progress-card{display:flex;gap:18px;align-items:center}.progress-ring{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) 25%,#e7ecf3 0);position:relative;font-weight:900;color:var(--blue)}.progress-ring:before{content:"";position:absolute;inset:8px;background:white;border-radius:50%}.progress-ring{isolation:isolate}.progress-ring::after{content:"25%";position:absolute}.progress-ring{font-size:0}.progress-card p{color:var(--muted);margin:5px 0}.view-head{margin-bottom:22px}.view-head h1{margin:5px 0;font-size:33px}.view-head p{margin:0;color:var(--muted)}.plan-pill{padding:7px 12px;border-radius:99px;background:#ecf3ff;color:var(--blue);font-weight:900;font-size:12px}.assistant-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px;align-items:start}.stepper{display:flex;gap:8px;margin-bottom:20px}.stepper span{padding:6px 9px;border-radius:99px;background:#f1f4f8;color:#7c8999;font-size:11px;font-weight:800}.stepper .active{background:#e8f0ff;color:var(--blue)}.activity-hint{padding:12px 14px;background:#f5f8fd;border-radius:12px;color:#617188;font-size:13px;margin-bottom:16px}.assistant-actions{display:flex;justify-content:flex-end;gap:9px}.result-panel{position:sticky;top:92px}.tabs{display:flex;background:#f2f5f9;border-radius:10px;padding:3px}.tab{border:0;background:transparent;padding:7px 10px;border-radius:8px;font-size:11px;font-weight:800;color:#6f7d90}.tab.active{background:white;color:var(--blue);box-shadow:0 2px 8px rgba(0,0,0,.06)}.empty-result{padding:70px 18px;text-align:center;color:#8b96a7}.result-panel textarea{font-family:"Cascadia Code",Consolas,monospace;font-size:12px;line-height:1.6;background:#0f1c2d;color:#eaf4ff;border:0;margin-top:14px}.result-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.learn-card{padding:15px;background:#f7f9fc;border-radius:14px;margin-top:12px}.learn-card h4{margin:0 0 6px}.learn-card p{margin:0;color:var(--muted);line-height:1.55}.method-score{display:flex;justify-content:space-between;align-items:center;background:#eaf7f9;padding:13px;border-radius:13px}.guide-warning{padding:13px 16px;border-radius:13px;background:#fff9e8;border:1px solid #f1e2a5;margin-bottom:20px;color:#715c16}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.guide-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;overflow:hidden}.guide-card:after{content:"AulaNova IA";position:absolute;right:-22px;bottom:10px;transform:rotate(-20deg);font-size:24px;font-weight:900;color:rgba(31,70,120,.045);pointer-events:none}.guide-card .guide-icon{font-size:30px}.guide-card h3{font-size:25px;margin:10px 0 3px}.guide-card>p{color:var(--muted);line-height:1.6}.guide-steps{display:grid;gap:8px}.guide-step{background:#f7f9fc;padding:12px;border-radius:12px}.guide-step b{display:block;margin-bottom:3px}.guide-step span{font-size:12px;color:var(--muted)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.project-card h3{margin:7px 0}.project-card p{color:var(--muted);font-size:13px;min-height:38px}.project-meta{display:flex;justify-content:space-between;color:#7c8999;font-size:11px}.project-items{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.project-item{font-size:12px;padding:8px;background:#f7f9fc;border-radius:9px;margin:5px 0}.app-plans{max-width:none}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.stat span{color:var(--muted);font-size:12px}.stat b{display:block;font-size:28px;margin-top:5px}@media print{body>*{display:none!important}}@media(max-width:1100px){.feature-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr)}.assistant-layout{grid-template-columns:1fr}.result-panel{position:static}.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.public-nav a{display:none}.public-nav .ghost{display:none}.hero{grid-template-columns:1fr;padding-top:50px}.hero-card{transform:none}.plans-grid,.dashboard-cols,.guide-grid,.projects-grid{grid-template-columns:1fr}.plan-card.featured{transform:none}.private-app{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.app-shell{margin-left:0}.mobile-menu{display:inline-block}.process-grid{grid-template-columns:1fr 1fr}.view-container{padding:18px}.welcome-card{flex-direction:column;align-items:flex-start}.form-grid.two{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.public-header{padding:0 18px}.hero,.section{padding-left:18px;padding-right:18px}.hero h1{font-size:41px}.hero-actions{flex-direction:column}.feature-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.view-head{align-items:flex-start;flex-direction:column}.panel{padding:17px}.result-head{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}}

/* === Generación directa con IA === */
.btn.ai-generate{background:linear-gradient(135deg,#6948e8,#0a8fd8);color:#fff;border:0;box-shadow:0 8px 22px rgba(71,78,220,.18)}
.btn.ai-generate:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(71,78,220,.25)}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}
.ai-result-card{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.ai-result-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.ai-result-head h3{margin:4px 0 0;font-size:20px}
.ai-result-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.provider-pill{padding:7px 10px;border-radius:999px;background:#eef4ff;color:#284f9c;font-size:11px;font-weight:900;border:1px solid #d8e5ff}
#aiOutput{background:#fff;color:#172438;border:1px solid var(--line);font-family:inherit;font-size:13px;line-height:1.65;min-height:320px}
#aiOutput.is-loading{opacity:.48}
.ai-loading{display:flex;align-items:center;gap:12px;background:#f2f7ff;border:1px solid #dceaff;border-radius:14px;padding:13px 15px;margin:12px 0;color:#284f79}
.ai-loading small{display:block;color:#6f8095;margin-top:3px}
.spinner{width:22px;height:22px;border:3px solid #c9daf3;border-top-color:#246ed6;border-radius:50%;animation:aulanova-spin .8s linear infinite;flex:0 0 auto}
@keyframes aulanova-spin{to{transform:rotate(360deg)}}
.ai-modal-card{width:min(560px,100%)}
.api-security-note{background:#fff8e8;border:1px solid #f2dfa7;border-radius:12px;padding:11px 13px;font-size:12px;line-height:1.5;color:#66531b;margin:12px 0 16px}
@media(max-width:650px){.ai-result-head{align-items:flex-start;flex-direction:column}.ai-result-meta{justify-content:flex-start}.result-actions .btn{flex:1 1 145px}}

/* AulaNova IA · selector Free / API Key */
.ai-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.ai-mode-card{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid var(--line);background:#f8fafc;border-radius:15px;padding:14px;cursor:pointer;transition:.2s;color:#20324a}
.ai-mode-card:hover{border-color:#b7cbef;transform:translateY(-1px)}
.ai-mode-card.active{border-color:#6e8ef1;background:linear-gradient(135deg,#eef4ff,#f5f0ff);box-shadow:0 8px 22px rgba(66,83,180,.10)}
.ai-mode-card span:last-child{display:flex;flex-direction:column;gap:3px}
.ai-mode-card small{font-size:11px;color:var(--muted);line-height:1.35}
.ai-mode-icon{font-size:24px}
.ai-mode-panel{margin-top:8px}
.free-ai-note{background:#f3f8ff;border:1px solid #dceaff;border-radius:14px;padding:13px 15px;margin:12px 0 14px;color:#40556f;font-size:12px}
.free-ai-note b{color:#203a5f}
.free-ai-note ol{margin:8px 0 8px 18px;padding:0;line-height:1.55}
.free-ai-note small{display:block;color:#6f8095}
.free-return-note{display:flex;flex-direction:column;gap:4px;background:#f0f9f5;border:1px solid #ccebdd;border-radius:14px;padding:13px 15px;margin:12px 0;color:#2f5b4b;font-size:12px}
.free-return-note b{color:#174c39}
@media(max-width:650px){.ai-mode-grid{grid-template-columns:1fr}}

/* === AulaNova IA · Rellenar matriz con IA === */
.ai-fill-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;margin:4px 0 18px;border:1px solid #d9e5ff;border-radius:15px;background:linear-gradient(135deg,#f7faff,#f5f1ff)}
.ai-fill-bar>div{display:flex;flex-direction:column;gap:3px}.ai-fill-bar b{font-size:13px;color:#263f67}.ai-fill-bar small{font-size:11px;color:var(--muted);line-height:1.4}
.btn.ai-fill-all{white-space:nowrap;background:#4d6ff0;color:#fff;box-shadow:0 7px 18px rgba(77,111,240,.18);padding:10px 14px}
.smart-field{margin-bottom:15px}.smart-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.smart-field-head label{margin:0;display:block;font-weight:700;font-size:13px;color:#42546e}.smart-field input,.smart-field select,.smart-field textarea{margin:0}
.ai-fill-btn{border:0;background:transparent;color:#4b6fe8;font-size:11px;font-weight:850;padding:4px 6px;border-radius:7px;white-space:nowrap}.ai-fill-btn:hover{background:#eef3ff}.ai-fill-btn:disabled{opacity:.55;cursor:wait}
.fill-return-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}#fillReturnText{min-height:150px}
@media(max-width:700px){.ai-fill-bar{align-items:flex-start;flex-direction:column}.btn.ai-fill-all{width:100%}.smart-field-head{align-items:flex-start}.ai-fill-btn{font-size:10px}.fill-return-actions .btn{flex:1 1 160px}}

/* v5: recomendaciones directas de campos */
.ai-fill-bar-simple{grid-template-columns:1fr}
.ai-fill-btn:disabled{opacity:.65;cursor:wait}

/* v6 · Suscripción, transferencia y WhatsApp */
.subscription-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.bank-summary-card h3,.support-card h3{margin:7px 0 12px}.bank-lines{display:grid;gap:9px;margin:14px 0}.bank-lines div,.bank-payment-box div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);background:#f8fafc;border-radius:11px}.bank-lines small,.bank-payment-box small,.payment-amount small{color:var(--muted);font-size:11px}.bank-lines b,.bank-payment-box b{color:#22344f;font-size:13px}.support-card p{color:var(--muted);line-height:1.55}.btn.whatsapp{background:#16a765;color:#fff;border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.whatsapp:hover{filter:brightness(.96);transform:translateY(-1px)}.payment-modal-card{width:min(580px,100%)}.payment-amount{display:flex;align-items:flex-end;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#eef5ff,#f5f0ff);border:1px solid #dce6ff;border-radius:14px;margin:14px 0}.payment-amount{flex-direction:column;align-items:flex-start;gap:2px}.payment-amount b{font-size:28px;color:#244fc5}.bank-payment-box{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-actions{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}.payment-actions .btn{flex:1 1 190px}.pro-annual-pay{margin-top:8px}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:8px;padding:12px 15px;border-radius:999px;background:#16a765;color:white;text-decoration:none;font-weight:850;box-shadow:0 12px 30px rgba(10,80,50,.25);font-size:13px}.whatsapp-float:hover{transform:translateY(-2px)}@media(max-width:800px){.subscription-help-grid{grid-template-columns:1fr}.bank-payment-box{grid-template-columns:1fr}.whatsapp-float span{display:none}.whatsapp-float{width:48px;height:48px;padding:0;justify-content:center;font-size:20px}}

/* Gestión de usuarios - Administrador */
.admin-user-layout{display:grid;grid-template-columns:.9fr 1.35fr;gap:18px;margin-bottom:18px}.admin-help{color:var(--muted);line-height:1.55;margin:10px 0 18px}.password-inline{display:flex;gap:8px}.password-inline input{min-width:0}.password-inline .btn{white-space:nowrap}.admin-create-actions{display:flex;gap:9px;flex-wrap:wrap}.credential-box{margin-top:14px;padding:14px 16px;border:1px solid #cfe0ff;background:#f4f8ff;border-radius:14px;line-height:1.6;font-size:13px}.credential-box b{color:#193c76}.admin-search{margin:12px 0}.admin-search input{margin:0}.admin-users-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.admin-users-table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}.admin-users-table th,.admin-users-table td{padding:12px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:12px}.admin-users-table th{background:#f7f9fc;color:#51627a;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.admin-users-table tr:last-child td{border-bottom:0}.admin-user-name{display:flex;flex-direction:column;gap:2px}.admin-user-name b{font-size:13px}.admin-user-name small{color:var(--muted)}.status-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.status-badge.pro{background:#e9f8f0;color:#168156}.status-badge.trial{background:#eef4ff;color:#235fd0}.status-badge.expired{background:#fff0f0;color:#bf3b3b}.status-badge.admin{background:#f0ebff;color:#6347d8}.admin-row-actions{display:flex;gap:5px;flex-wrap:wrap}.admin-row-actions button{border:1px solid var(--line);background:#fff;color:#32445e;border-radius:8px;padding:6px 8px;font-size:10px;font-weight:800}.admin-row-actions button:hover{background:#f4f7fb}.admin-row-actions .danger{color:#b33232;border-color:#f0cccc}.admin-row-actions .pro-action{color:#08704c;border-color:#bfe7d7;background:#f2fbf7}@media(max-width:1100px){.admin-user-layout{grid-template-columns:1fr}}@media(max-width:600px){.password-inline{flex-direction:column}.admin-create-actions{flex-direction:column}.admin-create-actions .btn{width:100%}}

/* AulaNova IA v12 - aviso visible solo cuando falta configuración segura */
.security-config-warning{
  position:sticky;top:0;z-index:9999;padding:10px 16px;text-align:center;
  background:#fff3cd;color:#664d03;border-bottom:1px solid #ffecb5;font-weight:700;
}
.guide-secure-content{margin:12px 0;padding:12px;border-radius:12px;background:rgba(15,76,129,.06)}

/* AulaNova IA v12 — MFA */
.mfa-qr-wrap{display:flex;justify-content:center;align-items:center;margin:18px 0;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:16px}
.mfa-qr-wrap img{width:min(240px,70vw);height:auto;display:block}
.admin-security-panel{margin-bottom:20px}


/* AulaNova IA v13.0 — Asistente Docente Ecuador */
.nav-new{margin-left:auto;font-size:9px;font-weight:900;letter-spacing:.08em;background:#16a34a;color:#fff;border-radius:999px;padding:3px 7px}
.ecuador-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:22px;align-items:start}
.ecuador-conversation{min-height:560px}
.ecuador-progress{display:flex;gap:14px;align-items:center;margin-bottom:26px;color:#667085;font-size:13px;font-weight:800}
.ecuador-progress>div{height:8px;background:#eef2ff;border-radius:999px;overflow:hidden;flex:1}
.ecuador-progress i{display:block;height:100%;width:25%;background:linear-gradient(90deg,#1768e5,#6d4df5);border-radius:999px;transition:width .25s ease}
.ecuador-assistant-message{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#f8fbff,#f6f3ff);border:1px solid #e4e9f7;border-radius:20px;padding:22px;margin-bottom:22px}
.ecuador-assistant-message h3{margin:4px 0 8px;font-size:24px;color:#12223e}
.ecuador-assistant-message p{margin:0;color:#667085}
.ecuador-bot{width:48px;height:48px;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(37,99,235,.12);display:grid;place-items:center;font-size:24px;flex:0 0 auto}
.ecuador-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ecuador-option{border:1px solid #dfe5f3;background:#fff;border-radius:16px;padding:16px 18px;text-align:left;font:inherit;font-weight:800;color:#20304c;cursor:pointer;transition:.18s ease;box-shadow:0 3px 10px rgba(31,49,83,.04)}
.ecuador-option:hover{border-color:#6d76f7;transform:translateY(-1px);box-shadow:0 8px 22px rgba(72,81,214,.10)}
.ecuador-option small{display:block;margin-top:5px;color:#7a8599;font-weight:600}
.ecuador-input-area{display:flex;gap:10px;margin-top:8px;align-items:flex-start}
.ecuador-input-control{position:relative;flex:1;min-width:0}
.ecuador-input-control>input{width:100%;min-width:0}
.ec-topic-dropdown{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:45;max-height:330px;overflow:auto;background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(18,38,78,.18);padding:6px}
.ec-topic-dropdown-item{display:flex;width:100%;flex-direction:column;gap:3px;text-align:left;border:0;background:transparent;color:var(--text);padding:10px 11px;border-radius:10px;cursor:pointer;font:inherit}
.ec-topic-dropdown-item:hover,.ec-topic-dropdown-item:focus{background:#eef4ff;outline:none}
.ec-topic-dropdown-item b{font-size:13px;line-height:1.35}
.ec-topic-dropdown-item small{color:var(--muted);font-size:11px;line-height:1.3}
.ec-topic-dropdown-empty{padding:12px;color:var(--muted);font-size:12px}
.ecuador-nav-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid #edf0f6}
.ecuador-summary{position:sticky;top:92px}
.ecuador-summary h3{margin:5px 0 18px}
.ecuador-summary-list{display:grid;gap:0;border:1px solid #e8ecf5;border-radius:16px;overflow:hidden}
.ecuador-summary-list>div{display:grid;gap:4px;padding:13px 15px;border-bottom:1px solid #edf0f6}
.ecuador-summary-list>div:last-child{border-bottom:0}
.ecuador-summary-list small{color:#7a8599}.ecuador-summary-list b{color:#1c2d49}
.ecuador-status,.ecuador-method-card{margin-top:16px;border-radius:16px;padding:15px;display:grid;gap:6px;font-size:13px;line-height:1.45}
.ecuador-status.neutral{background:#f6f8fc;border:1px solid #e8ecf5;color:#475467}
.ecuador-status.ok{background:#ecfdf3;border:1px solid #b7ebca;color:#166534}
.ecuador-status.warn{background:#fff8e7;border:1px solid #f5d98f;color:#8a5a00}
.ecuador-status.error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.ecuador-method-card{background:#f7f5ff;border:1px solid #e5ddff;color:#4c3f7a}
.ecuador-method-card span{display:block}
@media(max-width:900px){.ecuador-layout{grid-template-columns:1fr}.ecuador-summary{position:static}.ecuador-options{grid-template-columns:1fr}.ecuador-input-area{flex-direction:column}}

/* AulaNova v13.0.2 — contexto compartido entre asistentes */
.cross-assistant-sync{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 18px;border:1px solid #dce5f5;border-radius:16px;background:#f7f9fd}
.cross-assistant-sync>div{display:flex;flex-direction:column;gap:4px}
.cross-assistant-sync small{color:#65738a;line-height:1.45}
.cross-assistant-sync.available{border-color:#bdd3ff;background:linear-gradient(135deg,#f3f8ff,#f8f5ff)}
.cross-assistant-sync button:disabled{opacity:.55;cursor:not-allowed}
.curriculum-link-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#e8f1ff;color:#1458c6;font-size:11px;font-weight:800;letter-spacing:.02em}
.field-helper{display:block;margin-top:6px;color:#718096;font-size:12px;line-height:1.4}
.ecuador-transfer-card{margin-top:14px;padding:15px;border:1px solid #dfe7f6;border-radius:16px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}
.ecuador-transfer-card span{font-size:13px;color:#59677d;line-height:1.45}
@media(max-width:760px){.cross-assistant-sync{align-items:stretch;flex-direction:column}.cross-assistant-sync .btn{width:100%}}


/* AulaNova IA v13.1 — Etapa 3 Paso 2 */
.ecuador-summary-list em{
  display:block;margin-top:3px;font-size:11px;font-style:normal;font-weight:700;
  color:#6657d9;
}
.ecuador-summary-list b{
  overflow-wrap:anywhere;
}
.ecuador-option.compact{
  max-width:220px;
}
#ecTextInput[type="number"]{
  appearance:textfield;
}
#ecTextInput[type="date"]{
  min-height:48px;
}


/* AulaNova IA v13.2 — Etapa 3: planificación completa */
.ecuador-plan-result{margin-top:22px;padding:24px}
.ecuador-plan-result.is-loading{opacity:.72;pointer-events:none}
.ecuador-plan-alert{display:flex;flex-direction:column;gap:5px;padding:14px 16px;margin:14px 0;border-radius:14px;background:#fff7e6;border:1px solid #f0c36a;color:#704b00}
.ecuador-plan-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 22px}
.ecuador-plan-rendered{display:flex;flex-direction:column;gap:18px}
.ec-plan-section{border:1px solid #e1e8f4;border-radius:16px;padding:18px;background:#fff}
.ec-plan-section h3{margin:0 0 14px;color:#10233f}
.ec-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ec-info-grid>div{padding:12px;border:1px solid #e7edf6;border-radius:12px;background:#f8fafc;display:flex;flex-direction:column;gap:4px}
.ec-info-grid small{color:#6f7d91}.ec-info-grid b{overflow-wrap:anywhere}
.ec-dua-banner{background:linear-gradient(135deg,#f5f9ff,#f8f5ff)}
.ec-code-list,.ec-relation-list{display:grid;gap:10px}
.ec-code-list article,.ec-relation-list article{padding:13px;border:1px solid #e3e9f3;border-radius:12px;background:#fafcff}
.ec-code-list p,.ec-relation-list p{margin:5px 0 0;color:#43526a;line-height:1.55}
.ec-relation-list article{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ec-insertion{padding:12px;border-left:4px solid #6657d9;background:#f8f7ff;border-radius:10px;margin:8px 0}
.ec-insertion p{margin:5px 0 0}
.ec-planning-table{width:100%;border-collapse:collapse;margin:14px 0 26px;table-layout:fixed}
.ec-planning-table th,.ec-planning-table td{border:1px solid #cfd9e8;padding:12px;vertical-align:top;text-align:left}
.ec-planning-table th{background:#eef4ff;color:#17345f;font-size:13px}
.ec-planning-table th:nth-child(1){width:40%}.ec-planning-table th:nth-child(2){width:17%}.ec-planning-table th:nth-child(3){width:20%}.ec-planning-table th:nth-child(4){width:23%}
.ec-planning-table ul{padding-left:18px;margin:6px 0 10px}
.ec-planning-table li{margin:4px 0;line-height:1.45}
.ec-topic-title{font-size:16px;margin-bottom:7px}
.ec-objective{padding:9px 10px;background:#f7f9fd;border-radius:10px;margin-bottom:10px}
.ec-method-step{margin:12px 0;padding-top:8px;border-top:1px dashed #d8e0ec}
.ec-method-step>strong{display:block;color:#1458c6;margin-bottom:6px}
.ec-method-step>b,.ec-dua-mini>b{display:block;margin-top:8px;font-size:12px;color:#59677d}
.ec-dua-mini{margin-top:12px;padding:10px;background:#f8f6ff;border-radius:10px}
.ec-indicator-line{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.ec-indicator-line b{color:#1458c6}
.ec-signatures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d4dce9}
.ec-signatures>div{min-height:130px;padding:12px;border-right:1px solid #d4dce9;display:flex;flex-direction:column;gap:10px}
.ec-signatures>div:last-child{border-right:0}
.ec-signatures small{margin-top:auto;border-top:1px solid #d4dce9;padding-top:7px}
.ec-quality{display:grid;gap:8px}.ec-quality>div{padding:10px 12px;border-radius:10px;background:#f6f8fb}.ec-quality .ok{color:#166534}.ec-quality .warn{color:#92400e}
.ecuador-next-actions{margin-top:18px;padding:15px;border:1px dashed #cbd6e6;border-radius:14px;background:#f8fafc}
.ecuador-next-actions>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ecuador-next-actions button{border:1px solid #dce4ef;background:#fff;border-radius:10px;padding:9px 11px;color:#78869a}
.muted{color:#7a8798}
@media(max-width:1000px){
  .ec-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ec-relation-list article{grid-template-columns:1fr}
  .ec-planning-table{display:block;overflow-x:auto;white-space:normal}
  .ec-planning-table th,.ec-planning-table td{min-width:190px}
  .ec-signatures{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .ec-info-grid{grid-template-columns:1fr}
  .ec-signatures{grid-template-columns:1fr}
  .ec-signatures>div{border-right:0;border-bottom:1px solid #d4dce9}
}

/* AulaNova IA v13.2.1 — docente desde usuario autenticado */
.ecuador-user-prefill{
  display:inline-flex;align-items:center;gap:7px;
  margin:0 10px 10px 0;padding:8px 11px;border-radius:999px;
  background:#eef6ff;border:1px solid #cfe2ff;color:#24558f;
  font-size:12px;font-weight:800;
}

/* AulaNova IA v13.3 — OpenAI gestionado */
#ecContinuePlanning::before{content:''}


/* AulaNova IA v15.5.25 — selección de temas con respaldo curricular */
.ec-topic-chooser{grid-column:1/-1;width:100%;display:flex;flex-direction:column;gap:16px}
.ec-topic-selected,.ec-topic-suggestions,.ec-topic-no-match{border:1px solid #e3e8f3;border-radius:16px;padding:15px;background:#fff}
.ec-topic-selected{background:linear-gradient(135deg,#f8fbff,#faf8ff)}
.ec-topic-selected.empty{background:#fafbfc}
.ec-topic-heading{display:flex;flex-direction:column;gap:3px;margin-bottom:11px}
.ec-topic-heading b{color:#182b49;font-size:14px}
.ec-topic-heading small{color:#6f7d91;line-height:1.4}
.ec-topic-pills{display:flex;flex-wrap:wrap;gap:8px}
.ec-topic-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #b8ccff;background:#edf4ff;color:#124fae;border-radius:999px;padding:8px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.ec-topic-pill:hover{border-color:#6b8ef7;background:#e5efff}
.ec-topic-pill b{font-size:16px;line-height:1}
.ec-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ec-topic-card{border:1px solid #dfe5f3;background:#fff;border-radius:14px;padding:13px 14px;text-align:left;font:inherit;color:#20304c;cursor:pointer;transition:.16s ease}
.ec-topic-card:hover{border-color:#7b82f6;box-shadow:0 7px 18px rgba(64,76,180,.09)}
.ec-topic-card.selected{border-color:#4361ee;background:#eef3ff;box-shadow:0 0 0 2px rgba(67,97,238,.08)}
.ec-topic-card span{display:block;font-size:13px;font-weight:800;line-height:1.4}
.ec-topic-card small{display:block;margin-top:5px;color:#748198;font-size:11px;line-height:1.35}
.ec-topic-no-match{display:flex;flex-direction:column;gap:5px;background:#fff8e8;border-color:#f1d48a;color:#7a5200}
.ec-topic-no-match span{font-size:13px;line-height:1.45}
.ec-topic-actions{display:flex;justify-content:flex-end}
.ec-topic-actions .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.ec-topic-grid{grid-template-columns:1fr}.ec-topic-actions .btn{width:100%}}


/* AulaNova IA v15.5.26 — métricas de uso, administración y espera de planificación */
.user-usage-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0 4px;
}
.usage-stat{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px 18px;
  box-shadow:0 8px 24px rgba(31,55,90,.04);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.usage-stat span{font-size:12px;color:var(--muted);font-weight:700}
.usage-stat b{font-size:24px;color:var(--navy);line-height:1.2}
.usage-stat-date b{font-size:15px;line-height:1.35}

.admin-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.password-inline{
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto;
  gap:8px;
  align-items:stretch;
}
.password-inline input{
  min-width:190px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.2px;
}
.password-inline .btn{white-space:nowrap}
.admin-users-table{min-width:1120px}
.admin-metric-cell{text-align:center!important;white-space:nowrap}
.admin-metric-cell b{font-size:15px;color:var(--navy)}
.admin-date-cell{min-width:155px;white-space:normal}

.planning-wait-overlay{
  position:fixed;
  inset:0;
  z-index:260;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(9,21,39,.48);
  backdrop-filter:blur(5px);
}
.planning-wait-card{
  width:min(540px,100%);
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:24px;
  border-radius:20px;
  background:#fff;
  border:1px solid #dce7f7;
  box-shadow:0 28px 80px rgba(5,23,50,.28);
}
.planning-wait-card b{display:block;font-size:22px;color:var(--navy);margin-bottom:6px}
.planning-wait-card p{margin:0 0 7px;color:#52647c;line-height:1.55}
.planning-wait-card small{color:#7a889a}
.planning-wait-spinner{width:30px;height:30px;border-width:4px;margin-top:2px}
body.planning-in-progress{overflow:hidden}

@media(max-width:1100px){
  .admin-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .user-usage-strip{grid-template-columns:1fr}
  .admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .password-inline{grid-template-columns:1fr}
  .password-inline input{min-width:0}
}
@media(max-width:520px){
  .admin-stats-grid{grid-template-columns:1fr}
  .planning-wait-card{padding:20px}
}
.admin-password-field{grid-column:1/-1}


/* AulaNova IA v15.6.14 - planificación demostrativa + seguridad de correo */
.planning-demo-section{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.planning-demo-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:24px;align-items:stretch}
.planning-demo-preview,.planning-demo-actions-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 16px 45px rgba(23,51,91,.08)}
.planning-demo-preview{padding:22px;overflow:hidden}
.planning-demo-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid #e6edf7;padding-bottom:14px}
.planning-demo-toolbar>div{display:flex;flex-direction:column;gap:4px}.demo-doc-label{font-size:11px;font-weight:900;color:#0a5bd8;letter-spacing:.08em}
.planning-demo-title{padding:18px 0 12px}.planning-demo-title small{display:block;color:var(--muted);font-weight:800;margin-bottom:5px}.planning-demo-title h3{margin:0;color:var(--navy);font-size:22px;line-height:1.25}
.planning-demo-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.planning-demo-meta span{border:1px solid #dce7f6;border-radius:12px;padding:10px;font-size:12px;color:#53647c}.planning-demo-meta b{display:block;color:#123f7a;margin-bottom:4px}
.planning-demo-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.planning-demo-phases span{padding:9px 8px;text-align:center;border-radius:10px;background:#edf5ff;color:#154f99;font-size:11px;font-weight:900}
.planning-demo-excerpt{border-left:4px solid #0a5bd8;background:#f8fbff;padding:13px 15px;border-radius:0 12px 12px 0}.planning-demo-excerpt p{margin:5px 0 0;color:#53647c;line-height:1.5}
.planning-demo-actions-card{padding:24px;display:flex;flex-direction:column;gap:11px}.planning-demo-actions-card h3{margin:0;color:var(--navy);font-size:23px}.planning-demo-actions-card p{margin:0 0 4px;color:var(--muted);line-height:1.55}.planning-demo-actions-card small{color:#7d8a9c;line-height:1.4}
.planning-demo-modal-card{width:min(980px,94vw);max-height:90vh;overflow:auto}.demo-plan-full{display:flex;flex-direction:column;gap:12px}.demo-plan-full section{border:1px solid #e0e8f3;border-radius:14px;padding:14px}.demo-plan-full h4{margin:0 0 7px;color:#164f96}.demo-plan-full p{margin:5px 0;line-height:1.5}.demo-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.demo-plan-grid>div{border:1px solid #dce7f6;border-radius:10px;padding:10px}.demo-plan-grid small{display:block;color:var(--muted);margin-bottom:4px}.demo-erca-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.demo-erca-grid article{background:#f8fbff;border:1px solid #e1ebf8;border-radius:10px;padding:10px}.demo-erca-grid p{font-size:13px;color:#53647c}.planning-demo-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px;flex-wrap:wrap}
.auth-email-help{margin:-4px 0 12px;padding:10px 12px;border-radius:11px;background:#f1f7ff;border:1px solid #d4e6ff;color:#36597d;font-size:12px;line-height:1.45}
.email-status-line{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:5px}.email-mini-badge,.email-rule-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:3px 7px;font-size:10px!important;font-weight:900;border:1px solid #d9e2ef;background:#f4f6f9;color:#5b697c}.email-mini-badge.verified,.email-rule-badge.allowed{background:#eef9f1;border-color:#cbe9d2;color:#21723a}.email-mini-badge.pending{background:#fff7e8;border-color:#f0d79d;color:#8a6200}.email-mini-badge.institutional,.email-rule-badge.institutional{background:#eaf3ff;border-color:#c7dcff;color:#1458a3}.email-mini-badge.blocked,.email-rule-badge.blocked,.email-mini-badge.disposable,.email-rule-badge.disposable{background:#fff0f0;border-color:#f1c5c5;color:#a82d2d}.email-mini-badge.suspicious,.email-rule-badge.suspicious{background:#fff7e8;border-color:#efd79b;color:#8a6200}
.admin-email-security-panel{margin-top:18px}.email-domain-form{display:grid;grid-template-columns:1.2fr .8fr 1.2fr .7fr;gap:12px;align-items:end}.email-reason-field{grid-column:1/4}.email-domain-save{display:flex;align-items:end;height:100%}.email-domain-save .btn{width:100%}.email-domain-table-wrap{margin-top:14px}.email-domain-table{min-width:900px}.email-domain-table td small{display:block;color:var(--muted);margin-top:3px}.btn.compact{padding:6px 9px;font-size:11px}
@media(max-width:900px){.planning-demo-shell{grid-template-columns:1fr}.planning-demo-meta{grid-template-columns:1fr}.planning-demo-phases{grid-template-columns:repeat(2,1fr)}.demo-plan-grid{grid-template-columns:repeat(2,1fr)}.email-domain-form{grid-template-columns:1fr 1fr}.email-reason-field{grid-column:1/-1}.email-domain-save{grid-column:1/-1}.demo-erca-grid{grid-template-columns:1fr}}
@media(max-width:560px){.planning-demo-phases,.demo-plan-grid{grid-template-columns:1fr}.planning-demo-modal-actions .btn{width:100%}}

/* v15.6.18 · Demo + tipo de cuenta + cupo de planificaciones */
.usage-stat small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:600;line-height:1.3}
#institutionField.hidden,#accountTypeField.hidden,#adminUserInstitutionField.hidden{display:none!important}
#authAccountType,#adminUserAccountType{width:100%}
.admin-users-table{min-width:1460px}
.admin-users-table td>small{display:block;margin-top:4px;color:var(--muted);font-size:11px}


/* AulaNova v15.6.19 · signup_wait_redirect_v1 + theme_toggle_v1 */
.theme-toggle{border:1px solid var(--line);background:var(--white);color:var(--text);border-radius:11px;padding:8px 11px;font-size:12px;font-weight:850;white-space:nowrap;transition:.18s ease}.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(31,55,90,.08)}.compact-theme{padding:7px 10px}.topbar-actions{display:flex;align-items:center;gap:12px}
.verification-screen{min-height:100vh;background:radial-gradient(circle at 80% 10%,rgba(109,93,252,.14),transparent 30%),radial-gradient(circle at 15% 70%,rgba(20,184,201,.10),transparent 28%),var(--bg);padding:28px}.verification-shell{max-width:920px;margin:0 auto}.verification-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:70px}.verification-card{max-width:690px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:28px;padding:42px;box-shadow:var(--shadow);text-align:center}.verification-icon{width:74px;height:74px;margin:0 auto 18px;border-radius:22px;display:grid;place-items:center;font-size:34px;background:linear-gradient(135deg,#eaf3ff,#f2ecff);border:1px solid #dfe8fb}.verification-card h1{font-size:34px;letter-spacing:-.7px;margin:9px 0 12px}.verification-card>p{color:var(--muted);line-height:1.6}.verification-steps{display:grid;gap:10px;text-align:left;margin:26px 0}.verification-steps>div{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;background:#f8fafc;border:1px solid var(--line);border-radius:14px}.verification-steps span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#e9f2ff;color:var(--blue);font-weight:900}.verification-steps p{margin:3px 0;color:var(--text);line-height:1.45}.verification-status{display:flex;align-items:center;gap:13px;text-align:left;padding:15px 16px;border-radius:14px;background:#eef6ff;border:1px solid #cfe2ff;color:#24558f}.verification-status.success{background:#ecfdf3;border-color:#b7ebca;color:#166534}.verification-status.error{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.verification-status div{display:flex;flex-direction:column;gap:3px}.verification-status small{color:inherit;opacity:.82}.verification-spinner{width:23px;height:23px;flex:0 0 auto}.verification-state-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:currentColor;color:#fff;font-weight:900}.verification-status.success .verification-state-icon{background:#168156}.verification-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}.verification-help{font-size:12px!important;margin:18px 0 0!important}.auth-email-help{line-height:1.5}

html[data-theme="dark"]{color-scheme:dark;--text:#e8eef8;--muted:#9cacbf;--line:#2b3b50;--bg:#0b1320;--white:#142033;--navy:#eef4ff;--shadow:0 18px 50px rgba(0,0,0,.28)}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .public-header,html[data-theme="dark"] .app-topbar{background:rgba(11,19,32,.93);border-color:var(--line)}
html[data-theme="dark"] .hero{background:radial-gradient(circle at 85% 10%,rgba(109,93,252,.20),transparent 30%),radial-gradient(circle at 7% 35%,rgba(20,184,201,.12),transparent 28%),linear-gradient(#0b1320,#0e1827)}
html[data-theme="dark"] .glass,html[data-theme="dark"] .feature-grid article,html[data-theme="dark"] .demo-card,html[data-theme="dark"] .plan-card,html[data-theme="dark"] .modal-card,html[data-theme="dark"] .panel,html[data-theme="dark"] .process-card,html[data-theme="dark"] .planning-demo-preview,html[data-theme="dark"] .planning-demo-actions-card,html[data-theme="dark"] .verification-card,html[data-theme="dark"] .ec-plan-section,html[data-theme="dark"] .ec-topic-selected,html[data-theme="dark"] .ec-topic-suggestions,html[data-theme="dark"] .ec-topic-card,html[data-theme="dark"] .ecuador-option{background:#142033;border-color:#2b3b50;color:var(--text)}
html[data-theme="dark"] .section,html[data-theme="dark"] .plans,html[data-theme="dark"] .planning-demo-section{background:#0b1320}
html[data-theme="dark"] .demo-section{background:#101b2b}
html[data-theme="dark"] .hero-pills span,html[data-theme="dark"] .fake-field,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .demo-output,html[data-theme="dark"] .verification-steps>div,html[data-theme="dark"] .ec-info-grid>div,html[data-theme="dark"] .ec-code-list article,html[data-theme="dark"] .ec-relation-list article,html[data-theme="dark"] .cross-assistant-sync,html[data-theme="dark"] .ecuador-transfer-card,html[data-theme="dark"] .ecuador-next-actions{background:#0f1a2a;border-color:#2b3b50;color:var(--text)}
html[data-theme="dark"] .btn.secondary{background:#162b46;border-color:#294667;color:#90c2ff}html[data-theme="dark"] .btn.ghost{color:var(--text)}
html[data-theme="dark"] .sidebar{background:#07111f}html[data-theme="dark"] .nav-item:hover,html[data-theme="dark"] .nav-item.active{background:#132942}
html[data-theme="dark"] .avatar{background:linear-gradient(145deg,#17365e,#3a315f);color:#cfe2ff}
html[data-theme="dark"] .progress-ring:before{background:#142033}
html[data-theme="dark"] .ecuador-assistant-message,html[data-theme="dark"] .ec-dua-banner,html[data-theme="dark"] .ecuador-method-card,html[data-theme="dark"] .ec-topic-selected{background:linear-gradient(135deg,#111f31,#171a30);border-color:#2b3b50}
html[data-theme="dark"] .ec-topic-pill{background:#16305a;border-color:#355a92;color:#c7dcff}
html[data-theme="dark"] .planning-demo-excerpt,html[data-theme="dark"] .demo-erca-grid article{background:#0f1a2a;border-color:#2b3b50}
html[data-theme="dark"] .verification-screen{background:radial-gradient(circle at 80% 10%,rgba(109,93,252,.18),transparent 30%),radial-gradient(circle at 15% 70%,rgba(20,184,201,.10),transparent 28%),#0b1320}
html[data-theme="dark"] .verification-icon{background:linear-gradient(135deg,#172b47,#292346);border-color:#31425a}
html[data-theme="dark"] .verification-status{background:#102842;border-color:#244d73;color:#9cc8f7}
html[data-theme="dark"] .verification-status.success{background:#10291e;border-color:#245d43;color:#85d9ad}
html[data-theme="dark"] .auth-email-help{background:#102842;border-color:#244d73;color:#a9c8e8}
html[data-theme="dark"] .planning-wait-card{background:#142033;color:var(--text)}
@media(max-width:780px){.public-nav a{display:none}.theme-toggle{padding:8px 9px}.verification-screen{padding:18px}.verification-topbar{margin-bottom:34px}.verification-card{padding:28px 20px}.verification-card h1{font-size:28px}.topbar-actions{gap:7px}.compact-theme{font-size:0}.compact-theme::first-letter{font-size:16px}}

/* v15.6.20 · Demo limit persistente + administración de planificaciones + autocompletado */
.planning-limit-modal-card{max-width:430px;text-align:center}
.planning-limit-icon{width:54px;height:54px;margin:0 auto 10px;border-radius:16px;display:grid;place-items:center;font-size:25px;background:#eef3ff}
.planning-limit-modal-card h2{margin-top:6px}
.planning-limit-usage{margin:14px 0;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#f7f9ff;font-weight:800;color:#31558e}
.admin-plans-modal-card{max-width:760px}
.admin-plans-list{display:flex;flex-direction:column;gap:9px;max-height:55vh;overflow:auto;margin-top:14px}
.admin-plan-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}
.admin-plan-item>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.admin-plan-item b{font-size:13px;color:var(--text)}
.admin-plan-item small{color:var(--muted);font-size:11px}
.admin-plan-item button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.admin-plan-item button.danger{color:#b33232;border-color:#f0cccc}
.admin-plan-item button.pro-action{color:#08704c;border-color:#bfe7d7;background:#f2fbf7}
html[data-theme="dark"] .ec-topic-dropdown,html[data-theme="dark"] .admin-plan-item{background:#142033;border-color:#2b3b50}
html[data-theme="dark"] .ec-topic-dropdown-item:hover,html[data-theme="dark"] .ec-topic-dropdown-item:focus{background:#1b3150}
html[data-theme="dark"] .planning-limit-usage{background:#17263b;border-color:#2b3b50;color:#c7dcff}
html[data-theme="dark"] .planning-limit-icon{background:#1b3150}
@media(max-width:700px){.admin-plan-item{align-items:stretch;flex-direction:column}.admin-plan-item button{width:100%}.ec-topic-dropdown{position:static;margin-top:6px}}


/* v15.6.21 · límite Demo con el mismo overlay de la generación */
.planning-limit-overlay{z-index:275;background:rgba(9,21,39,.58);backdrop-filter:blur(6px)}
.planning-limit-wait-card{width:min(560px,100%);align-items:flex-start}
.planning-limit-status-icon{flex:0 0 auto;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:#eef3ff;border:1px solid #d9e5ff}
.planning-limit-wait-content{min-width:0;flex:1}
.planning-limit-wait-content .eyebrow{display:block;margin:0 0 5px}
.planning-limit-wait-content>b{display:block;font-size:22px;line-height:1.25;color:var(--navy);margin-bottom:7px}
.planning-limit-wait-content>p{margin:0 0 10px;color:#52647c;line-height:1.55}
.planning-limit-wait-content .planning-limit-usage{margin:0 0 14px;padding:10px 12px;border:1px solid #dce7f7;border-radius:11px;background:#f7f9ff;font-weight:800;color:#31558e}
.planning-limit-wait-content .btn{margin-bottom:10px}
.planning-limit-wait-content small{display:block;color:#7a889a;line-height:1.45}
body.planning-limit-active{overflow:hidden}
html[data-theme="dark"] .planning-limit-status-icon{background:#1b3150;border-color:#2b4c70}
html[data-theme="dark"] .planning-limit-wait-content>b{color:var(--text)}
html[data-theme="dark"] .planning-limit-wait-content>p,html[data-theme="dark"] .planning-limit-wait-content small{color:#aebcd0}
html[data-theme="dark"] .planning-limit-wait-content .planning-limit-usage{background:#17263b;border-color:#2b3b50;color:#c7dcff}
@media(max-width:620px){.planning-limit-wait-card{padding:22px 18px;gap:12px}.planning-limit-status-icon{width:38px;height:38px}.planning-limit-wait-content>b{font-size:20px}.planning-limit-wait-content .btn{width:100%}}

/* v15.6.22 · plan_feature_matrix_v1 */
.plan-feature-list{list-style:none!important;padding-left:0!important;min-height:0!important;margin:18px 0 22px;display:grid;gap:9px;line-height:1.45!important}
.plan-feature-list li{position:relative;padding-left:25px;color:var(--muted)}
.plan-feature-list li::before{content:"✓";position:absolute;left:0;top:0;color:#168156;font-weight:950}
.plan-feature-list li b,.plan-feature-strong{color:var(--text);font-weight:850}
.plan-footnote{display:block;margin-top:10px;color:var(--muted);line-height:1.4;text-align:center}
.current-plan-card{box-shadow:0 0 0 2px rgba(10,91,216,.18),var(--shadow)}
.current-plan-badge{position:absolute;right:18px;top:18px;padding:5px 9px;border-radius:999px;background:#e9f8f0;color:#168156;font-size:10px;font-weight:900}
.planning-limit-plan-preview{width:min(520px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px;text-align:left}
.planning-limit-plan-preview>div{padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#f7f9fc}
.planning-limit-plan-preview b,.planning-limit-plan-preview span{display:block}
.planning-limit-plan-preview b{color:var(--text);margin-bottom:3px}
.planning-limit-plan-preview span{font-size:12px;color:var(--muted)}
.planning-limit-plan-preview small{grid-column:1/-1;color:var(--muted);line-height:1.45;text-align:center}
html[data-theme="dark"] .planning-limit-plan-preview>div{background:#142033;border-color:#2b3b50}
@media(max-width:620px){.planning-limit-plan-preview{grid-template-columns:1fr}.planning-limit-plan-preview small{grid-column:1}}


/* AulaNova v15.6.23 · planificación trimestral */
.quarterly-process-card{border-color:#7b6cff;background:linear-gradient(145deg,#ffffff,#f4f1ff)}
html[data-theme="dark"] .quarterly-process-card{background:linear-gradient(145deg,#162039,#251f48);border-color:#6759c9}
.qt-option{display:flex;flex-direction:column;gap:4px}
.qt-option small{font-weight:500;color:#68748a}
.qt-topic-proposal{display:grid;gap:16px;width:100%}
.qt-proposal-head{padding:4px 2px}.qt-proposal-head h3{margin:4px 0 7px}.qt-proposal-head p{margin:0;color:#66738b;line-height:1.55}
.qt-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qt-topic-card{display:flex;align-items:flex-start;gap:12px;border:1px solid #dfe5f3;background:#fff;border-radius:16px;padding:14px;cursor:pointer;transition:.18s ease}
.qt-topic-card:hover,.qt-topic-card.selected{border-color:#6d76f7;box-shadow:0 6px 18px rgba(74,86,180,.10)}
.qt-topic-card input{margin-top:4px;accent-color:#635bdf}.qt-topic-card span{display:grid;gap:5px}.qt-topic-card small{color:#738097}
.qt-topic-actions{display:flex;justify-content:flex-end;padding-top:4px}
.qt-plan-cover{padding:24px;border-radius:20px;background:linear-gradient(135deg,#f5f4ff,#eef7ff);border:1px solid #dfe4fb;margin-bottom:16px}
.qt-plan-cover h2{margin:5px 0}.qt-plan-cover p{margin:0 0 12px;color:#5f6f88}.qt-plan-note{font-size:.92rem;line-height:1.5;color:#586780;background:rgba(255,255,255,.7);padding:12px;border-radius:12px}
.qt-plan-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.qt-plan-info>div{border:1px solid #e1e6f2;border-radius:14px;padding:12px;background:#fff}.qt-plan-info small{display:block;color:#7a879b}.qt-plan-info b{display:block;margin-top:4px}
.qt-generated-list{display:grid;gap:16px}.qt-generated-topic{display:grid;grid-template-columns:42px 1fr;gap:14px;border:1px solid #e0e6f2;border-radius:18px;padding:18px;background:#fff}.qt-generated-index{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#635bdf;color:#fff;font-weight:900}.qt-generated-topic h3{margin:0 0 8px}.qt-curricular-links{margin:12px 0;padding:12px;border-radius:12px;background:#f7f9fd}.qt-curricular-links ul{margin:7px 0 0;padding-left:19px}.qt-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.qt-method-grid section{border:1px solid #e5e9f3;border-radius:14px;padding:14px}.qt-method-grid section>b{display:block;margin-bottom:8px}.qt-method-grid small{display:block;margin:9px 0 4px;font-weight:800;color:#5d6980}.qt-evaluation{display:grid;gap:5px;margin-top:14px;padding:13px;border-left:4px solid #635bdf;background:#faf9ff;border-radius:10px}.qt-evaluation small{color:#69758b}
html[data-theme="dark"] .qt-topic-card,html[data-theme="dark"] .qt-plan-info>div,html[data-theme="dark"] .qt-generated-topic{background:#111a2e;border-color:#2b3753;color:#e8edf8}html[data-theme="dark"] .qt-proposal-head p,html[data-theme="dark"] .qt-topic-card small{color:#aeb8cb}html[data-theme="dark"] .qt-plan-cover{background:linear-gradient(135deg,#1c2140,#14243b);border-color:#334264}html[data-theme="dark"] .qt-plan-note,html[data-theme="dark"] .qt-curricular-links,html[data-theme="dark"] .qt-evaluation{background:#17223a;color:#d9e0ee}html[data-theme="dark"] .qt-method-grid section{border-color:#2e3b58}
@media(max-width:760px){.qt-topic-grid,.qt-method-grid,.qt-plan-info{grid-template-columns:1fr}.qt-generated-topic{grid-template-columns:1fr}.qt-generated-index{margin-bottom:2px}.qt-topic-actions .btn{width:100%}}

/* AulaNova v15.7.0 · Centro de planificación + PUD + PCA anual */
.planning-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.planning-type-card{appearance:none;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:22px;padding:24px;box-shadow:var(--shadow);cursor:pointer;color:var(--text);transition:.2s transform,.2s border-color,.2s box-shadow;position:relative;overflow:hidden}
.planning-type-card:hover{transform:translateY(-3px);border-color:#6b71ff;box-shadow:0 18px 42px rgba(32,69,155,.14)}
.planning-type-card.featured{background:linear-gradient(145deg,#f7f4ff,#eef7ff);border-color:#8a78ff}
.planning-type-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#eaf2ff,#f1eaff);font-size:30px;margin-bottom:16px}
.planning-type-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf3ff;color:#285ed8;font-size:12px;font-weight:800;margin-bottom:9px}
.planning-type-card h2{margin:0 0 8px;font-size:22px}.planning-type-card p{margin:0 0 18px;color:var(--muted);line-height:1.55}.planning-type-action{font-weight:900;color:#315fe7}
.planning-center-note{margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#f8fbff;display:flex;gap:12px;align-items:flex-start}.planning-center-note b{white-space:nowrap}.planning-center-note span{color:var(--muted);line-height:1.5}
.pca-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:20px}.pca-builder{min-width:0}.pca-select-grid{margin-top:14px}.pca-quarter-heading{margin-top:26px}.pca-quarter-heading h2{margin:4px 0 5px}.pca-quarter-heading p{margin:0;color:var(--muted)}
.pca-quarter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.pca-quarter-grid>.empty-state{grid-column:1/-1}.pca-quarter-card{border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:flex-start;background:var(--panel)}.pca-quarter-card.ready{border-color:#9fd6b4;background:#f7fff9}.pca-quarter-card.missing{border-color:#f2c6c6;background:#fff9f9}.pca-quarter-num{flex:0 0 auto;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eaf2ff;color:#265fd9;font-weight:900}.pca-quarter-card h3{margin:1px 0 5px;font-size:16px}.pca-quarter-card h3 em{font-style:normal;font-size:11px;color:#168044}.pca-quarter-card p{margin:0 0 9px;color:var(--muted);font-size:13px}.pca-quarter-card select{width:100%;min-width:0}.pca-build-actions{margin-top:18px;padding:16px;border-radius:16px;background:#f7f9fd;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.pca-build-actions b,.pca-build-actions small{display:block}.pca-build-actions small{margin-top:3px;color:var(--muted)}
.pca-info-steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:12px}.pca-info-steps li{display:flex;gap:10px;align-items:flex-start}.pca-info-steps li>b{width:28px;height:28px;border-radius:9px;background:#eaf2ff;color:#2a60d9;display:grid;place-items:center}.pca-info-steps span{color:var(--muted);line-height:1.45}.pca-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.pca-result-quarter{border:1px solid var(--line);border-radius:17px;padding:16px;background:var(--panel)}.pca-result-head{display:flex;gap:10px;align-items:center}.pca-result-head>span{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#2165e8,#6a4cff);color:#fff;font-weight:900;display:grid;place-items:center}.pca-result-head h3{margin:0}.pca-result-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.pca-topic-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.pca-topic-chips span{padding:7px 9px;border-radius:10px;background:#eef3ff;color:#263c67;font-size:12px}.pca-cover{border-color:#8e7aff;background:linear-gradient(145deg,#f5f1ff,#eef8ff)}
html[data-theme="dark"] .planning-type-card.featured{background:linear-gradient(145deg,#1c2035,#202847)}html[data-theme="dark"] .planning-center-note,html[data-theme="dark"] .pca-build-actions{background:#142033}html[data-theme="dark"] .pca-quarter-card.ready{background:#11271c;border-color:#2b6b47}html[data-theme="dark"] .pca-quarter-card.missing{background:#2a171b;border-color:#6f343d}html[data-theme="dark"] .pca-topic-chips span{background:#1b2b49;color:#dce7ff}html[data-theme="dark"] .pca-cover{background:linear-gradient(145deg,#201c38,#16243a)}
@media(max-width:980px){.pca-layout{grid-template-columns:1fr}.pca-quarter-grid,.pca-result-grid{grid-template-columns:1fr}.planning-center-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.planning-center-grid{grid-template-columns:1fr}.planning-type-card{padding:19px}.pca-select-grid{grid-template-columns:1fr!important}.pca-build-actions{align-items:stretch;flex-direction:column}.pca-build-actions .btn{width:100%}.planning-center-note{flex-direction:column}.planning-center-note b{white-space:normal}}
.form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}


/* AulaNova v15.8.0 · Editor inteligente por sección */
.ec-smart-edit-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-2px -2px 14px;padding:11px 12px;border:1px solid #cfe0ff;border-radius:14px;background:linear-gradient(135deg,#f5f9ff,#f8f5ff)}
.ec-smart-edit-bar>div:first-child{display:flex;flex-direction:column;gap:2px}.ec-smart-edit-bar span{font-weight:850;color:#164aa8}.ec-smart-edit-bar small{font-size:11px;color:var(--muted)}
.ec-smart-edit-actions{display:flex;gap:6px;flex-wrap:wrap}.ec-smart-edit-actions button{border:1px solid #d4def1;background:#fff;color:#223b66;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:750;cursor:pointer}.ec-smart-edit-actions button:hover{border-color:#6c63ff;color:#5148e8;box-shadow:0 4px 14px rgba(70,90,180,.12)}
.smart-editor-overlay{position:fixed;inset:0;z-index:100005;background:rgba(6,18,42,.68);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(4px)}.smart-editor-overlay.hidden{display:none!important}
.smart-editor-card{position:relative;width:min(720px,96vw);max-height:92vh;overflow:auto;background:var(--surface,#fff);color:var(--text);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.30)}.smart-editor-close{position:absolute;right:15px;top:13px;width:36px;height:36px;border:0;border-radius:50%;background:var(--soft,#eef3fb);color:var(--text);font-size:22px;cursor:pointer}.smart-editor-brand{display:flex;align-items:center;gap:12px;padding-right:44px}.smart-editor-brand>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,#1768e8,#7758ff);font-size:24px}.smart-editor-brand small{font-size:11px;font-weight:850;letter-spacing:.08em;color:#3265c8}.smart-editor-brand h2{margin:4px 0 0}.smart-editor-context{display:flex;justify-content:space-between;gap:12px;margin:18px 0 10px;padding:11px 13px;border-radius:13px;background:var(--soft,#f5f7fb)}.smart-editor-context span{font-weight:700}.smart-editor-context b{color:#5b50ed}.smart-editor-card>p{color:var(--muted);line-height:1.5}.smart-editor-instruction{display:flex;flex-direction:column;gap:7px;font-weight:800}.smart-editor-instruction small{font-weight:500;color:var(--muted)}.smart-editor-instruction textarea{width:100%;resize:vertical;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;padding:13px;font:inherit;line-height:1.45}.smart-editor-safety{display:flex;flex-direction:column;gap:4px;margin:14px 0;padding:12px 14px;border:1px solid #bfe4cf;background:#effbf4;border-radius:14px;color:#165a34}.smart-editor-safety span{font-size:12px;line-height:1.45}.smart-editor-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.smart-editor-quota{display:block;text-align:center;margin-top:11px;color:var(--muted)}
.smart-editor-chooser{width:min(900px,96vw)}.smart-editor-topic-list{display:grid;gap:10px;margin-top:15px}.smart-editor-topic-list article{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(300px,1.5fr);gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--soft,#fafbfe)}.smart-editor-topic-list small{display:block;color:var(--muted);margin-bottom:3px}.smart-editor-mini-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.smart-editor-mini-actions button{border:1px solid var(--line);background:var(--surface,#fff);color:var(--text);border-radius:10px;padding:7px 9px;font-weight:700;cursor:pointer}.smart-editor-mini-actions button:hover{border-color:#6c63ff;color:#5a50eb}
html[data-theme="dark"] .ec-smart-edit-bar{background:linear-gradient(135deg,#13233a,#201c3c);border-color:#314969}html[data-theme="dark"] .ec-smart-edit-actions button{background:#101c2e;border-color:#344963;color:#dce8fb}html[data-theme="dark"] .smart-editor-safety{background:#112a20;border-color:#285a42;color:#aeeac8}
@media(max-width:720px){.ec-smart-edit-bar{align-items:flex-start}.ec-smart-edit-actions{width:100%}.ec-smart-edit-actions button{flex:1 1 calc(33% - 6px)}.smart-editor-card{padding:20px 16px;border-radius:20px}.smart-editor-topic-list article{grid-template-columns:1fr}.smart-editor-mini-actions{justify-content:flex-start}.smart-editor-mini-actions button{flex:1 1 calc(50% - 6px)}}

/* v15.9.0 · Trazabilidad visual curricular */
.ec-traceability-panel{background:linear-gradient(135deg,#f8fbff,#fbf9ff);border-color:#cfdcf1}
.ec-traceability-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.ec-traceability-head h3{margin:3px 0 0}.ec-trace-lock{font-size:12px;font-weight:750;color:#51647f;background:#fff;border:1px solid #dbe5f3;border-radius:999px;padding:7px 10px}
.ec-trace-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ec-trace-legend>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:11px;border:1px solid #dfe7f3;border-radius:12px;background:#fff}
.ec-trace-legend small{color:var(--muted);font-size:11px;line-height:1.45}
.ec-trace-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;border:1px solid transparent;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:850;line-height:1.15;white-space:nowrap}
.ec-trace-badge i{font-size:9px;font-style:normal}.ec-trace-badge.official{color:#23713c;background:#eaf7ee;border-color:#bfe3c9}.ec-trace-badge.official i{color:#2f9a53}
.ec-trace-badge.verified{color:#1f55a5;background:#eaf2ff;border-color:#c4d8fb}.ec-trace-badge.verified i{color:#2875df}
.ec-trace-badge.generated{color:#6a3fa0;background:#f3eaff;border-color:#dac7f4}.ec-trace-badge.generated i{color:#8b55c7}
.ec-trace-badge.review{color:#8a5b05;background:#fff5dc;border-color:#efd28e}.ec-trace-badge.review i{color:#df9a17}
.ec-trace-row{display:flex;align-items:center;gap:6px;margin:0 0 7px}.ec-relation-trace{grid-column:1/-1;display:flex;justify-content:flex-end;margin-bottom:-2px}
.ec-plan-generated-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px dashed #cdb8eb;border-radius:12px;background:#fbf8ff}.ec-plan-generated-note span:last-child{font-size:12px;color:#5e5770;line-height:1.45}
.ec-indicator-line .ec-trace-row{margin-bottom:5px}.ec-code-list .ec-trace-row{margin-bottom:8px}
html[data-theme="dark"] .ec-traceability-panel{background:linear-gradient(135deg,#111d30,#211a34);border-color:#32445f}html[data-theme="dark"] .ec-traceability-head .ec-trace-lock,html[data-theme="dark"] .ec-trace-legend>div{background:#101b2c;border-color:#30415b;color:#dbe6f5}html[data-theme="dark"] .ec-trace-legend small{color:#aeb9cb}html[data-theme="dark"] .ec-plan-generated-note{background:#211a32;border-color:#594375}html[data-theme="dark"] .ec-plan-generated-note span:last-child{color:#c7bddd}
@media(max-width:900px){.ec-trace-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ec-trace-legend{grid-template-columns:1fr}.ec-trace-badge{white-space:normal}.ec-relation-trace{justify-content:flex-start}.ec-trace-lock{border-radius:12px}}

/* --------------------------------------------------------------------------
   AulaNova v16.0.0 · Adaptaciones educativas + DUA avanzado
   -------------------------------------------------------------------------- */
.support-config{display:grid;gap:16px;width:100%}
.support-privacy-note{display:grid;gap:4px;padding:13px 15px;border:1px solid #cfe1ff;border-radius:14px;background:#f4f8ff;color:#24415f}
.support-privacy-note b{color:#1458c6}.support-privacy-note span{font-size:13px;line-height:1.45}
.support-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.support-option-grid.compact{max-height:420px;overflow:auto;padding-right:4px}
.support-option-card{display:grid;grid-template-columns:auto auto 1fr;align-items:flex-start;gap:10px;padding:15px;border:1px solid #d7e0ec;border-radius:14px;background:#fff;color:#1e293b;cursor:pointer;transition:.18s ease}
.support-option-card:hover{transform:translateY(-1px);border-color:#6f8ff7;box-shadow:0 7px 18px rgba(15,23,42,.07)}.support-option-card.selected{border-color:#635bdf;box-shadow:0 0 0 2px rgba(99,91,223,.12);background:#f3f1ff}
.support-option-card input{margin-top:5px;width:18px;height:18px;accent-color:#1768e5}.support-option-icon{font-size:21px;line-height:1}.support-option-card b,.support-option-card small{display:block}.support-option-card b{color:#1e3a5f;font-size:14px;line-height:1.35}.support-option-card small{margin-top:5px;color:#475569;font-size:12.5px;line-height:1.48;font-weight:600}
.support-actions{display:flex;justify-content:flex-end}.support-actions .btn{min-width:260px}
.qt-support-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid #d9ddf8;border-radius:14px;background:linear-gradient(135deg,#f8f7ff,#f3f9ff)}
.qt-support-inline b,.qt-support-inline small{display:block}.qt-support-inline small{margin-top:3px;color:var(--muted)}
.support-dialog-overlay{position:fixed;inset:0;z-index:10050;background:rgba(8,18,34,.72);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px}
.support-dialog-card{position:relative;width:min(1040px,96vw);max-height:88vh;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#0f172a;border:1px solid #d9e2ef;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.34);padding:24px}
.support-dialog-card label{color:#334155}.support-dialog-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.support-dialog-head h2{margin:3px 0 6px;color:#0f172a;font-size:30px}.support-dialog-head p{margin:0;color:#475569;font-weight:600}.support-dialog-head .modal-close{color:#64748b}
.support-toggle{display:flex;gap:12px;align-items:flex-start;padding:16px;margin-bottom:14px;border:1px solid #cfdafb;border-radius:14px;background:#f4f7ff;color:#1e293b}.support-toggle input{margin-top:4px;width:18px;height:18px;accent-color:#1768e5}.support-toggle b,.support-toggle small{display:block}.support-toggle b{color:#1e3a5f;font-size:14px}.support-toggle small{margin-top:5px;color:#475569;line-height:1.45;font-weight:600}
.support-notes-label{display:grid;gap:7px;margin-top:14px;font-weight:800}.support-notes-label input{width:100%;font-weight:400}
.support-dialog-actions{position:sticky;bottom:-24px;z-index:2;display:flex;justify-content:flex-end;gap:10px;margin:20px -24px -24px;padding:14px 24px;background:#fff;border-top:1px solid #e2e8f0}
.support-plan-banner{border:1px solid #d8d5ff!important;background:linear-gradient(135deg,#faf9ff,#f5fbff)!important}
.support-plan-summary{display:grid;gap:5px}.support-plan-summary b{color:#4e46c7}.support-plan-summary span{color:var(--muted);line-height:1.5}
.support-chip-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.support-chip-list span{padding:6px 9px;border-radius:999px;background:#eceaff;color:#4338a7;font-size:12px;font-weight:800}
.dua-advanced-block,.educational-adaptations-block{margin-top:12px;padding:12px;border-radius:12px;border:1px solid #dcd8ff;background:#faf9ff}.educational-adaptations-block{border-color:#cfe8dc;background:#f6fcf9}
.dua-advanced-block>b,.educational-adaptations-block>b{display:block;margin-bottom:8px}.dua-advanced-block small,.educational-adaptations-block small{display:block;margin:8px 0 3px;font-weight:800;color:#59657a}
html[data-theme="dark"] .support-privacy-note{background:#13243c;border-color:#294a73;color:#dbe9fb}
html[data-theme="dark"] .support-dialog-card{background:#111827;color:#f8fafc;border-color:#334155}
html[data-theme="dark"] .support-dialog-card label{color:#dbe5f3}
html[data-theme="dark"] .support-dialog-head h2{color:#f8fafc}
html[data-theme="dark"] .support-dialog-head p{color:#cbd5e1}
html[data-theme="dark"] .support-dialog-head .modal-close{color:#cbd5e1}
html[data-theme="dark"] .support-option-card{background:#1f2937;border-color:#3b4a60;color:#f1f5f9}
html[data-theme="dark"] .support-option-card b{color:#e6efff}
html[data-theme="dark"] .support-option-card small{color:#cbd5e1}
html[data-theme="dark"] .support-option-card.selected{background:#25214a;border-color:#8178ff}
html[data-theme="dark"] .support-dialog-actions{background:#111827;border-color:#334155}
html[data-theme="dark"] .qt-support-inline,html[data-theme="dark"] .support-toggle,html[data-theme="dark"] .support-plan-banner,html[data-theme="dark"] .dua-advanced-block{background:#171d35!important;border-color:#384565!important}
html[data-theme="dark"] .support-toggle b{color:#eef4ff}html[data-theme="dark"] .support-toggle small{color:#cbd5e1}
html[data-theme="dark"] .educational-adaptations-block{background:#152921;border-color:#315845}
html[data-theme="dark"] .support-chip-list span{background:#28244e;color:#d8d4ff}
@media(max-width:760px){.support-option-grid{grid-template-columns:1fr}.support-option-grid.compact{max-height:55vh}.qt-support-inline{align-items:stretch;flex-direction:column}.qt-support-inline .btn,.support-actions .btn{width:100%}.support-dialog-overlay{padding:10px}.support-dialog-card{width:100%;max-height:92vh;padding:16px;border-radius:18px}.support-dialog-head h2{font-size:23px}.support-dialog-actions{bottom:-16px;margin:18px -16px -16px;padding:12px 16px;flex-direction:column-reverse}.support-dialog-actions .btn{width:100%}}

/* ========================================================================== */
/* v16.1.0 · COMUNIDAD AULANOVA                                               */
/* ========================================================================== */
.community-privacy-note{display:flex;gap:12px;align-items:flex-start;margin:0 0 18px;padding:15px 17px;border:1px solid #cfe3ff;border-radius:16px;background:linear-gradient(135deg,#f7fbff,#f9f7ff);color:var(--text)}
.community-privacy-note b{white-space:nowrap;color:#1459c7}.community-privacy-note span{color:var(--muted);line-height:1.55}
.community-filter-panel{margin-bottom:18px}.community-filters{display:grid;grid-template-columns:1.5fr repeat(5,minmax(130px,1fr));gap:12px;align-items:end}.community-filters label{display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--muted)}.community-filters input,.community-filters select{min-width:0}.community-filter-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}
.community-results-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 12px;padding:0 3px}.community-results-head>div{display:grid;gap:2px}.community-results-head small,.community-results-head>span{color:var(--muted);font-size:12px}
.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.community-card{display:flex;flex-direction:column;min-height:360px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 8px 24px rgba(20,42,80,.06)}.community-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.community-type-pill,.community-clone-ok,.community-view-only{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.community-type-pill{background:#eef4ff;color:#2458b8}.community-clone-ok{background:#eafaf1;color:#167345}.community-view-only{background:#f2f4f7;color:#667085}.community-card h3{margin:0 0 8px;font-size:18px;line-height:1.25}.community-card>p{margin:0 0 12px;color:var(--muted);line-height:1.5}.community-card-meta{display:grid;gap:5px;margin:4px 0 12px;color:var(--muted);font-size:12px}.community-topic-summary{display:grid;gap:4px;padding:10px 11px;border-radius:12px;background:#f8faff;margin-bottom:10px}.community-topic-summary b{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#4264a2}.community-topic-summary span{font-size:12px;line-height:1.4;color:var(--text)}.community-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.community-tags span{padding:4px 8px;border:1px solid #dfe7f6;border-radius:999px;background:#fff;font-size:11px;color:#53627a}.community-card-stats{display:flex;gap:12px;margin-top:auto;padding:10px 0;color:var(--muted);font-size:11px}
.community-publish-modal-card{width:min(680px,94vw)}.community-safe-box{display:grid;gap:5px;padding:12px 14px;margin:12px 0 16px;border:1px solid #cfe3ff;border-radius:14px;background:#f7fbff}.community-safe-box b{color:#155ac9}.community-safe-box span{color:#526178;font-size:13px;line-height:1.5}.community-clone-permission{display:flex!important;gap:11px!important;align-items:flex-start!important;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:14px}.community-clone-permission input{width:18px;height:18px;margin-top:2px}.community-clone-permission span{display:grid;gap:3px}.community-clone-permission small{color:var(--muted);line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.community-preview-modal-card{width:min(1120px,96vw);max-height:90vh;overflow:auto}.community-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:25px}.community-preview-head p{max-width:760px;color:var(--muted)}.community-preview-meta{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 18px}.community-preview-meta span{padding:6px 10px;border-radius:999px;background:#eef4ff;color:#29569e;font-size:12px;font-weight:800}.community-preview-content{display:grid;gap:14px}.community-preview-plan{display:grid;gap:16px}.community-preview-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.community-preview-summary>div{display:grid;gap:4px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fafcff}.community-preview-summary small{color:var(--muted);font-size:11px}.community-official-box{padding:14px;border-left:4px solid #28a66a;border-radius:12px;background:#f4fcf7}.community-official-box h3{margin:8px 0}.community-official-box ul{margin:0;padding-left:20px}.community-official-box li{margin:5px 0;line-height:1.45}.community-preview-topic{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.community-preview-topic-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.community-preview-topic-head>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#2367ed,#7b4ce2);color:#fff;font-weight:900}.community-preview-topic-head small{color:#7145c8;font-weight:800}.community-preview-topic-head h3{margin:2px 0 0}.community-preview-refs{display:grid;gap:7px;margin:12px 0}.community-ref-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 10px;border-radius:10px;background:#f7faff}.community-ref-line b{font-size:12px}.community-preview-method{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.community-preview-method>div{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:11px}.community-preview-method b{font-size:12px;color:#31486d}.community-preview-method span{font-size:12px;color:var(--muted);line-height:1.45}.community-preview-footer{position:sticky;bottom:-1px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px -4px -4px;padding:13px 16px;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:0 -8px 22px rgba(15,35,70,.08);z-index:3}.community-preview-footer p{margin:0}.community-preview-footer small{color:var(--muted)}
.community-published-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 10px;border-radius:10px;background:#eef9f3;color:#167345;font-size:12px;font-weight:800}.community-published-status small{color:#4f7c65;font-weight:700}.planning-library-actions{display:grid;gap:8px;margin-top:10px}.planning-library-actions.three{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-library-actions.two{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-theme="dark"] .community-privacy-note,html[data-theme="dark"] .community-safe-box{background:#12203a;border-color:#294665}html[data-theme="dark"] .community-privacy-note{color:#e8edf8}html[data-theme="dark"] .community-privacy-note b,html[data-theme="dark"] .community-safe-box b{color:#7eb5ff}html[data-theme="dark"] .community-card,html[data-theme="dark"] .community-preview-topic{background:#111a2e;border-color:#2b3753}html[data-theme="dark"] .community-topic-summary,html[data-theme="dark"] .community-preview-summary>div,html[data-theme="dark"] .community-ref-line{background:#16233b;border-color:#2c3d5b}html[data-theme="dark"] .community-tags span{background:#142139;border-color:#31425f;color:#c8d2e4}html[data-theme="dark"] .community-type-pill,html[data-theme="dark"] .community-preview-meta span{background:#172b4f;color:#9bc2ff}html[data-theme="dark"] .community-clone-ok,html[data-theme="dark"] .community-published-status{background:#123326;color:#8de1b5}html[data-theme="dark"] .community-view-only{background:#252d3b;color:#c7cfdb}html[data-theme="dark"] .community-official-box{background:#102b22;color:#e1f6e9}html[data-theme="dark"] .community-preview-method b{color:#d5def0}
@media(max-width:1180px){.community-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.community-search{grid-column:span 2}.community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.community-privacy-note{display:grid}.community-privacy-note b{white-space:normal}.community-filters{grid-template-columns:1fr}.community-search{grid-column:auto}.community-filter-actions,.community-results-head,.community-preview-head,.community-preview-footer{align-items:stretch;flex-direction:column}.community-filter-actions .btn,.community-preview-footer .btn{width:100%}.community-grid{grid-template-columns:1fr}.community-preview-summary,.community-preview-method{grid-template-columns:1fr}.planning-library-actions.three,.planning-library-actions.two{grid-template-columns:1fr}.community-preview-modal-card{width:96vw;max-height:92vh}}
