:root{
  --bg:#f5f8fc;--panel:#ffffff;--panel-2:#f8fafc;--ink:#172033;--muted:#667085;--line:#d9e2ef;
  --primary:#123a63;--primary-2:#1d5f92;--accent:#d5a31a;--ok:#11875d;--warn:#b54708;--bad:#b42318;
  --neon:rgba(29,95,146,.28);--glow:0 0 0 1px rgba(29,95,146,.08),0 18px 44px rgba(16,24,40,.10);
  --radius:24px;--radius-sm:16px;--sidebar:304px;--sidebar-mini:88px;--fast:.18s ease;--slow:.28s cubic-bezier(.2,.8,.2,1);
}
body.theme-salvia{--bg:#f5f8f3;--primary:#285146;--primary-2:#4e8070;--accent:#b8954c;--neon:rgba(78,128,112,.28)}
body.theme-lila{--bg:#f7f5fb;--primary:#44346c;--primary-2:#7560a8;--accent:#c08ad8;--neon:rgba(117,96,168,.30)}
body.theme-arena{--bg:#fbf7ef;--primary:#244d61;--primary-2:#6e8796;--accent:#c8845a;--neon:rgba(110,135,150,.30)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(255,255,255,.9),transparent 34%),linear-gradient(135deg,var(--bg),#fff 58%,rgba(213,163,26,.10));overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.56;cursor:not-allowed}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh;transition:var(--slow)}body.nav-mini .app-shell{grid-template-columns:var(--sidebar-mini) minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:20px 16px;background:linear-gradient(180deg,var(--primary),#08233f);color:#fff;border-right:1px solid rgba(255,255,255,.10);z-index:20;box-shadow:12px 0 36px rgba(15,23,42,.12)}.brand-block{display:flex;align-items:center;gap:12px;padding:8px 4px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:52px;height:52px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--accent),#fff1b5);color:var(--primary);font-weight:900;font-size:1.55rem;display:grid;place-items:center;box-shadow:0 12px 26px rgba(0,0,0,.20)}.brand-copy{min-width:0}.brand-copy h1{font-size:1.08rem;margin:0 0 4px;line-height:1.05}.brand-copy p{font-size:.78rem;line-height:1.25;margin:0;color:rgba(255,255,255,.72)}body.nav-mini .brand-copy,body.nav-mini .nav-meta,body.nav-mini .sidebar-footer span{display:none}.nav-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}.nav-item{border:0;border-radius:18px;padding:12px;text-align:left;background:transparent;color:#eaf4ff;display:flex;gap:11px;align-items:center;transition:var(--fast);position:relative}.nav-item:hover{background:rgba(255,255,255,.10);transform:translateX(2px)}.nav-item.active{background:#fff;color:var(--primary);box-shadow:0 12px 26px rgba(0,0,0,.16)}.nav-ico{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:1.06rem;flex:0 0 auto}.nav-item.active .nav-ico{background:color-mix(in srgb,var(--primary-2) 12%,#fff)}.nav-meta strong{font-size:.94rem}.nav-meta small{display:block;color:inherit;opacity:.66;margin-top:3px;font-size:.70rem}.sidebar-footer{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-action{border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.09);color:#fff;padding:10px 9px;font-weight:800}.mini-action:hover{background:rgba(255,255,255,.16)}.mini-action.danger{background:rgba(180,35,24,.18);color:#ffe2df}
.main{min-width:0;padding:26px clamp(18px,2.6vw,38px) 54px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.13em;font-size:.70rem;color:var(--primary-2);font-weight:900}.top-title h2,.drawer-head h3{margin:0;font-size:1.72rem;letter-spacing:-.04em}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mobile-only{display:none!important}.primary-btn,.soft-btn,.ghost-btn,.icon-btn,.tiny-btn,.danger-btn{border:0;border-radius:16px;padding:10px 14px;font-weight:850;transition:var(--fast);display:inline-flex;align-items:center;gap:8px;text-decoration:none}.primary-btn{background:var(--primary);color:#fff;box-shadow:0 14px 26px color-mix(in srgb,var(--primary) 24%,transparent)}.primary-btn:hover{filter:brightness(.96);transform:translateY(-1px)}.soft-btn{background:rgba(255,255,255,.74);color:var(--primary);border:1px solid var(--line);box-shadow:0 10px 22px rgba(16,24,40,.06)}.soft-btn:hover{box-shadow:0 0 0 5px var(--neon);transform:translateY(-1px)}.ghost-btn{background:var(--panel-2);color:var(--primary);border:1px solid var(--line)}.tiny-btn{font-size:.84rem;padding:7px 10px;border:1px solid var(--line);background:#fff;color:var(--primary)}.danger-btn{background:#fee4e2;color:var(--bad);border:1px solid #fecdca}.icon-btn{background:#fff;color:var(--primary);border:1px solid var(--line);box-shadow:var(--glow);padding:10px 12px}.screen{animation:fadeIn .22s ease}.panel{background:rgba(255,255,255,.86);border:1px solid rgba(217,226,239,.88);border-radius:var(--radius);box-shadow:var(--glow);padding:20px}.panel.soft{background:rgba(255,255,255,.64);backdrop-filter:blur(12px)}.panel h3{margin:0 0 8px;font-size:1.16rem}.panel p{color:#475467;line-height:1.52}.hub-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:18px;align-items:stretch}.hero-card{position:relative;overflow:hidden;border-radius:34px;padding:30px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 24px 60px color-mix(in srgb,var(--primary) 28%,transparent)}.hero-card:after{content:"";position:absolute;right:-80px;bottom:-95px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.10)}.hero-card h2{margin:0 0 12px;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.02;letter-spacing:-.06em}.hero-card p{max-width:720px;color:rgba(255,255,255,.84)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:800;font-size:.76rem}.chip.solid{background:#eef5fb;color:var(--primary);border-color:var(--line)}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.action-card{position:relative;min-height:150px;border:1px solid rgba(217,226,239,.9);border-radius:26px;background:rgba(255,255,255,.82);box-shadow:0 14px 32px rgba(16,24,40,.07);padding:18px;text-align:left;overflow:hidden;transition:var(--slow)}.action-card:hover{transform:translateY(-4px);box-shadow:0 0 0 5px var(--neon),0 22px 48px rgba(16,24,40,.12)}.action-card.recommended{border-color:color-mix(in srgb,var(--accent) 60%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 18px 48px rgba(16,24,40,.10)}.action-card.recommended:before{content:"";position:absolute;inset:-2px;border-radius:28px;background:linear-gradient(90deg,transparent,var(--neon),transparent);animation:pulseLine 2.2s ease-in-out infinite;pointer-events:none}.action-ico{width:50px;height:50px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-2) 12%,#fff),#fff);font-size:1.35rem;color:var(--primary);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.action-card h3{margin:14px 0 5px}.action-card p{margin:0;color:var(--muted);line-height:1.36;font-size:.91rem}.next-card{display:grid;gap:12px}.next-step{border-radius:24px;padding:18px;background:linear-gradient(135deg,#fff,#f7fbff);border:1px solid var(--line)}.metric-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{border-radius:20px;background:#fff;border:1px solid var(--line);padding:14px}.metric span{display:block;color:var(--muted);font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.metric strong{display:block;font-size:1.55rem;margin-top:4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.80rem;color:#475467;font-weight:900}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:16px;padding:11px 12px;background:#fff;color:var(--ink);outline:0}.field textarea{min-height:125px;resize:vertical;line-height:1.46}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary-2);box-shadow:0 0 0 5px var(--neon)}.span-2{grid-column:1/-1}.hint{font-size:.82rem;color:var(--muted);line-height:1.42}.divider{height:1px;background:var(--line);margin:16px 0}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.flow-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.flow-step{position:relative;border:1px solid var(--line);border-radius:20px;background:#fff;padding:12px}.flow-step b{display:block}.flow-step small{color:var(--muted)}.flow-step.active{border-color:var(--primary-2);box-shadow:0 0 0 5px var(--neon)}.section-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}.section-list{display:flex;flex-direction:column;gap:8px;max-height:72vh;overflow:auto;padding-right:4px}.section-btn{border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px;text-align:left;color:var(--ink);transition:var(--fast)}.section-btn:hover{transform:translateX(2px);box-shadow:0 0 0 4px var(--neon)}.section-btn.active{border-color:var(--primary-2);background:color-mix(in srgb,var(--primary-2) 8%,#fff)}.section-btn strong{display:block;font-size:.90rem}.section-btn small{display:block;margin-top:5px;color:var(--muted)}.status-chip{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.70rem;font-weight:900;margin-top:7px}.status-pendiente{background:#f2f4f7;color:#344054}.status-revision{background:#e0f2fe;color:#075985}.status-observado{background:#fff6df;color:#92400e}.status-cumplido{background:#e8f7ee;color:#087443}.status-aprobado{background:#dcfce7;color:#166534}.status-critico{background:#fee4e2;color:#b42318}.review-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tab{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--primary);padding:8px 11px;font-weight:900}.tab.active{background:var(--primary);color:#fff}.help-mini{border:1px dashed color-mix(in srgb,var(--accent) 58%,#fff);background:#fffaeb;border-radius:18px;padding:13px;margin:12px 0;color:#533c00}.observation{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;margin:10px 0}.observation small{color:var(--muted)}.json-validator{white-space:pre-wrap;border-radius:18px;border:1px solid var(--line);background:#fff;padding:12px;min-height:52px}.json-validator.ok{border-color:#98d9b6;background:#ecfdf3}.json-validator.err{border-color:#fda29b;background:#fff1f0}.ai-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-link{border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none;color:var(--primary);padding:14px;font-weight:900;display:flex;align-items:center;gap:10px;transition:var(--fast)}.ai-link:hover{box-shadow:0 0 0 5px var(--neon);transform:translateY(-2px)}.timeline{display:grid;gap:10px}.timeline-item{border-left:4px solid var(--primary-2);background:#fff;border-radius:0 18px 18px 0;padding:12px 14px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.progressbar{height:10px;border-radius:999px;background:#e7edf5;overflow:hidden}.progressbar>span{height:100%;display:block;background:linear-gradient(90deg,var(--accent),var(--primary-2));border-radius:999px;min-width:2%}.progress-drawer{position:fixed;top:0;right:0;height:100vh;width:min(420px,92vw);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:-24px 0 60px rgba(15,23,42,.18);z-index:60;transform:translateX(108%);transition:var(--slow);padding:22px;overflow:auto;border-left:1px solid var(--line)}.progress-drawer.open{transform:translateX(0)}.drawer-scrim{position:fixed;inset:0;background:rgba(15,23,42,.22);z-index:55}.drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.drawer-stat{border:1px solid var(--line);border-radius:22px;background:#fff;padding:15px;margin-bottom:12px}.drawer-stat strong{font-size:1.6rem}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.38);display:grid;place-items:center;padding:18px;z-index:100}.modal{width:min(760px,94vw);max-height:88vh;overflow:auto;background:#fff;border-radius:28px;box-shadow:0 30px 80px rgba(15,23,42,.28);padding:26px;position:relative}.modal-wide{width:min(980px,96vw)}.modal h3{margin:0 0 12px;font-size:1.35rem}.modal-close{border:0;border-radius:14px;background:#eef2f7;color:#172033;width:38px;height:38px;font-size:1.4rem;display:grid;place-items:center}.modal .modal-close{position:absolute;right:16px;top:16px}.palette-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.palette-btn{border:1px solid var(--line);border-radius:20px;background:#fff;text-align:left;padding:12px;font-weight:900}.palette-swatch{display:flex;gap:4px;margin-bottom:8px}.palette-swatch span{display:block;width:24px;height:24px;border-radius:50%}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#101828;color:#fff;border-radius:999px;padding:11px 16px;box-shadow:0 14px 36px rgba(0,0,0,.22);transition:var(--fast);z-index:110}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{border:1px dashed var(--line);border-radius:20px;padding:18px;background:rgba(255,255,255,.6);color:var(--muted)}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pulseLine{0%,100%{opacity:.15;transform:translateX(-40%)}50%{opacity:.55;transform:translateX(42%)}}
@media(max-width:1180px){.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-hero,.grid-2{grid-template-columns:1fr}.section-layout{grid-template-columns:1fr}.section-list{max-height:280px}.flow-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(310px,88vw);transform:translateX(-105%);transition:var(--slow)}.sidebar.open{transform:translateX(0)}body.nav-mini .app-shell{grid-template-columns:1fr}.main{padding:18px 14px 42px}.topbar{align-items:flex-start}.topbar-actions span{display:none}.mobile-only{display:inline-flex!important}.action-grid,.grid-3,.form-grid,.metric-row,.palette-grid{grid-template-columns:1fr}.hero-card{padding:24px}.top-title h2{font-size:1.36rem}.modal{padding:22px}.ai-links{grid-template-columns:1fr}}
@media(max-width:460px){.topbar{flex-direction:column}.topbar-actions{width:100%}.topbar-actions button{flex:1;justify-content:center}.flow-strip{grid-template-columns:1fr}.action-card{min-height:132px}}

/* ===== v1.3 LIMPIEZA VISUAL REAL: HUB DE ICONOS + DRAWERS LATERALES ===== */
body{background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.95),transparent 30%),linear-gradient(135deg,var(--bg),#ffffff 64%);}
.main{padding:24px clamp(18px,2.4vw,34px) 42px;}
.topbar{margin-bottom:18px;}
.top-title h2{font-size:1.45rem;}
.topbar-actions span{display:none;}
.topbar-actions .soft-btn,.topbar-actions .primary-btn{width:54px;height:54px;border-radius:20px;padding:0;justify-content:center;font-size:1.22rem;position:relative;}
.topbar-actions .soft-btn:hover::after,.topbar-actions .primary-btn:hover::after,.nav-item:hover::after,.app-icon-card:hover::after{
  content:attr(title);position:absolute;z-index:120;white-space:normal;min-width:180px;max-width:260px;padding:9px 11px;border-radius:14px;background:#101828;color:#fff;font-size:.74rem;line-height:1.25;box-shadow:0 16px 38px rgba(15,23,42,.22);pointer-events:none;
}
.topbar-actions .soft-btn:hover::after,.topbar-actions .primary-btn:hover::after{top:62px;right:0;}
body.nav-mini .sidebar{padding:18px 12px;}
body.nav-mini .nav-item{justify-content:center;padding:12px 9px;border-radius:20px;}
body.nav-mini .nav-ico{width:42px;height:42px;border-radius:16px;font-size:1.18rem;}
body.nav-mini .nav-item:hover::after{content:attr(title);left:76px;top:50%;transform:translateY(-50%);}
body.nav-mini .sidebar-footer{grid-template-columns:1fr;}
body.nav-mini .mini-action{height:46px;border-radius:17px;}
.clean-home{display:grid;gap:18px;max-width:1100px;}
.micro-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;border:1px solid rgba(217,226,239,.88);border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,255,255,.58));box-shadow:0 18px 48px rgba(16,24,40,.08);backdrop-filter:blur(16px);}
.micro-hero h2{margin:0;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1;letter-spacing:-.06em;color:var(--primary);}
.micro-hero p:not(.eyebrow){margin:.55rem 0 0;color:var(--muted);max-width:640px;line-height:1.35;}
.next-pill{border:0;min-width:170px;border-radius:30px;padding:18px 20px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:grid;justify-items:center;gap:3px;box-shadow:0 22px 44px color-mix(in srgb,var(--primary) 26%,transparent);animation:softPulse 2.8s ease-in-out infinite;}
.next-pill span{font-size:1.75rem}.next-pill strong{font-size:1rem}.next-pill small{opacity:.74;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;}
.app-action-grid{display:grid;grid-template-columns:repeat(8,minmax(82px,1fr));gap:14px;}
.app-icon-card{position:relative;border:1px solid rgba(217,226,239,.86);border-radius:28px;background:rgba(255,255,255,.78);min-height:124px;display:grid;place-items:center;align-content:center;gap:10px;padding:14px;color:var(--primary);box-shadow:0 14px 34px rgba(16,24,40,.065);transition:var(--slow);overflow:visible;}
.app-icon-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 0 0 5px var(--neon),0 22px 48px rgba(16,24,40,.12);}
.app-icon-card:hover::after{bottom:-56px;left:50%;transform:translateX(-50%);text-align:center;}
.app-icon-card.recommended{border-color:color-mix(in srgb,var(--accent) 66%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 20px 48px rgba(16,24,40,.11);}
.app-icon-card.recommended .app-icon{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 14%,transparent),0 0 26px color-mix(in srgb,var(--accent) 34%,transparent);}
.app-icon{width:58px;height:58px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-2) 15%,#fff),#fff);font-size:1.55rem;}
.app-icon-card strong{font-size:.94rem;}
.mini-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.mini-stat{border:1px solid rgba(217,226,239,.86);border-radius:24px;background:rgba(255,255,255,.70);padding:14px;display:grid;gap:2px;text-align:left;color:var(--ink);box-shadow:0 10px 28px rgba(16,24,40,.05);}
.mini-stat span{font-size:1.5rem;font-weight:900;color:var(--primary);letter-spacing:-.04em;}.mini-stat small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.68rem;}
/* Oculta la antigua saturación de la home si algún navegador conserva plantillas previas */
.hub-hero,.action-grid{max-width:1100px;}
/* Drawers en vez de globos centrales */
#configBackdrop[hidden],#modalBackdrop[hidden]{display:none!important;}
#configBackdrop{display:flex;align-items:stretch;justify-content:flex-end;background:rgba(15,23,42,.18);padding:16px;}
#configBackdrop .modal{width:min(470px,94vw);max-height:none;height:calc(100vh - 32px);border-radius:30px;padding:24px;overflow:auto;animation:slideInRight .24s cubic-bezier(.2,.8,.2,1);}
#configBackdrop .modal-wide{width:min(470px,94vw);}#configBackdrop .grid-2{grid-template-columns:1fr;}#configBackdrop .palette-grid{grid-template-columns:1fr 1fr;}
#configBackdrop .toolbar{display:grid;grid-template-columns:1fr 1fr;}#configBackdrop .toolbar button{justify-content:center;}
#modalBackdrop{display:flex;align-items:flex-start;justify-content:flex-end;background:rgba(15,23,42,.18);padding:16px;}
#modalBackdrop .modal{width:min(420px,92vw);max-height:calc(100vh - 32px);border-radius:28px;padding:24px;animation:slideInRight .24s cubic-bezier(.2,.8,.2,1);}
/* Pantallas internas más compactas */
.flow-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.flow-step{padding:10px 12px;border-radius:18px}.flow-step b{font-size:.84rem}.flow-step small{font-size:.72rem}.panel{padding:18px;border-radius:24px}.grid-2{gap:14px}.section-layout{grid-template-columns:280px minmax(0,1fr);}.section-btn{padding:10px;border-radius:16px}.section-btn strong{font-size:.82rem}.section-btn small{font-size:.66rem}.tabs{gap:6px}.tab{padding:7px 10px;font-size:.82rem}.field textarea{min-height:112px;}
@keyframes slideInRight{from{opacity:.4;transform:translateX(28px)}to{opacity:1;transform:none}}@keyframes softPulse{0%,100%{box-shadow:0 22px 44px color-mix(in srgb,var(--primary) 22%,transparent)}50%{box-shadow:0 22px 44px color-mix(in srgb,var(--primary) 30%,transparent),0 0 0 8px var(--neon)}}
@media(max-width:1180px){.app-action-grid{grid-template-columns:repeat(4,minmax(92px,1fr));}.micro-hero{align-items:flex-start}.next-pill{min-width:145px}.mini-status-strip{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.topbar-actions .soft-btn,.topbar-actions .primary-btn{width:48px;height:48px}.micro-hero{display:grid;padding:18px}.app-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.app-icon-card{min-height:112px}.mini-status-strip{grid-template-columns:repeat(2,minmax(0,1fr));}.section-layout{grid-template-columns:1fr}.section-list{max-height:238px}#configBackdrop,#modalBackdrop{padding:10px}#configBackdrop .modal,#modalBackdrop .modal{width:100%;height:calc(100vh - 20px);border-radius:24px}.flow-strip{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:460px){.app-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-status-strip{grid-template-columns:1fr}.micro-hero h2{font-size:1.9rem}.app-icon-card{border-radius:22px}.app-icon{width:52px;height:52px;border-radius:20px}.topbar{flex-direction:row;align-items:center}.topbar-actions{width:auto}}


/* =========================================================
   v1.4 Responsive total: menú inferior desplegable + pestaña de borde
   ========================================================= */

/* Pestaña de avance en el borde derecho para PC/tablet */
.progress-edge-tab{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:54;
  min-width:46px;
  min-height:150px;
  border:1px solid color-mix(in srgb,var(--primary-2) 25%,#fff);
  border-right:0;
  border-radius:22px 0 0 22px;
  background:linear-gradient(180deg,var(--primary),var(--primary-2));
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:-14px 0 34px rgba(15,23,42,.16),0 0 0 5px color-mix(in srgb,var(--primary-2) 10%,transparent);
  transition:var(--slow);
}
.progress-edge-tab:hover{
  transform:translateY(-50%) translateX(-4px);
  box-shadow:-18px 0 42px rgba(15,23,42,.20),0 0 0 7px var(--neon);
}
.progress-edge-tab .edge-icon{font-size:1.15rem;}
.progress-edge-tab .edge-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.70rem;
  font-weight:950;
}

/* Botón flotante inferior solo para celular */
.mobile-nav-fab{
  display:none;
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:92;
  width:62px;
  height:62px;
  border:0;
  border-radius:24px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.26),0 0 0 7px var(--neon);
  font-size:1.35rem;
  place-items:center;
  transition:var(--slow);
}
.mobile-nav-fab.open{
  bottom:calc(min(76vh,620px) + 18px);
  transform:translateX(-50%) rotate(45deg);
  background:linear-gradient(135deg,var(--bad),#d92d20);
}

/* Mayor respiración para que overlays externos no tapen acciones */
.main{padding-right:clamp(32px,4.8vw,76px);}
.progress-drawer{z-index:70;}
.drawer-scrim{z-index:65;}

/* En pantallas medianas se mantiene pestaña, pero más pequeña */
@media(max-width:980px){
  body.nav-mini .app-shell,.app-shell{grid-template-columns:1fr;}
  .sidebar{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:min(300px,86vw);
    height:100vh;
    transform:translateX(-105%);
    transition:var(--slow);
  }
  .sidebar.open{transform:translateX(0);}
  .main{padding-left:18px;padding-right:64px;}
}

/* Celular: el antiguo menú izquierdo se convierte en bandeja inferior desplegable hacia arriba */
@media(max-width:760px){
  body{padding-bottom:84px;}
  .app-shell{display:block;min-height:100vh;}
  body.nav-mini .app-shell{display:block;}

  .sidebar{
    position:fixed;
    left:10px;
    right:10px;
    top:auto;
    bottom:10px;
    width:auto;
    height:min(76vh,620px);
    max-height:calc(100vh - 92px);
    transform:translateY(calc(100% + 22px));
    padding:16px;
    border-radius:30px 30px 24px 24px;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 -24px 60px rgba(15,23,42,.30);
    overflow:auto;
    z-index:90;
  }
  .sidebar.open{transform:translateY(0);}
  .sidebar::before{
    content:"";
    position:sticky;
    top:0;
    display:block;
    width:54px;
    height:5px;
    margin:0 auto 12px;
    border-radius:999px;
    background:rgba(255,255,255,.42);
    z-index:2;
  }
  .brand-block{
    padding:2px 4px 14px;
    position:sticky;
    top:0;
    background:linear-gradient(180deg,var(--primary),color-mix(in srgb,var(--primary) 88%,#08233f));
    z-index:3;
    border-radius:22px;
    margin-bottom:10px;
    border-bottom:0;
  }
  body.nav-mini .brand-copy,
  body.nav-mini .nav-meta,
  body.nav-mini .sidebar-footer span{display:block;}
  .nav-list{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .nav-item{
    border-radius:22px;
    padding:13px;
    background:rgba(255,255,255,.08);
    align-items:flex-start;
  }
  .nav-item:hover{transform:translateY(-2px);}
  .nav-item.active{background:#fff;color:var(--primary);}
  .nav-ico{width:38px;height:38px;border-radius:15px;}
  .nav-meta strong{font-size:.88rem;}
  .nav-meta small{font-size:.66rem;}
  .sidebar-footer{
    display:grid;
    grid-template-columns:1fr 1fr;
    position:sticky;
    bottom:0;
    background:linear-gradient(0deg,var(--primary),rgba(18,58,99,.90));
    padding-top:10px;
    border-radius:20px;
  }
  .mobile-nav-fab{display:grid;}
  body.mobile-menu-open .mobile-nav-fab{display:grid;}

  /* El botón superior de menú se oculta: el despliegue está abajo */
  #toggleNav{display:none!important;}

  /* Pestaña de avance en celular: queda como icono pequeño lateral */
  .progress-edge-tab{
    right:12px;
    top:auto;
    bottom:86px;
    width:56px;
    min-width:56px;
    height:56px;
    min-height:56px;
    border-radius:20px;
    border:1px solid color-mix(in srgb,var(--primary-2) 24%,#fff);
    box-shadow:0 16px 40px rgba(15,23,42,.22),0 0 0 6px var(--neon);
    transform:none;
  }
  .progress-edge-tab:hover{transform:translateY(-2px);}
  .progress-edge-tab .edge-label{display:none;}
  .progress-edge-tab .edge-icon{font-size:1.28rem;}

  .main{
    padding:16px 12px 116px;
  }
  .topbar{
    position:sticky;
    top:0;
    z-index:30;
    border:1px solid rgba(217,226,239,.7);
    border-radius:24px;
    padding:12px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(14px);
    box-shadow:0 14px 34px rgba(16,24,40,.07);
  }
  .topbar-actions{gap:8px;flex-wrap:nowrap;}
  .topbar-actions .soft-btn,
  .topbar-actions .primary-btn{
    width:46px;
    height:46px;
    justify-content:center;
    padding:0;
    border-radius:18px;
  }
  .topbar-actions .soft-btn span,
  .topbar-actions .primary-btn span{display:none!important;}
  .top-title{min-width:0;}
  .top-title h2{font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .eyebrow{font-size:.61rem;letter-spacing:.10em;}

  .clean-home{display:grid;gap:14px;}
  .micro-hero{border-radius:28px;}
  .app-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .app-icon-card{min-height:106px;padding:13px;}
  .app-icon-card strong{font-size:.86rem;}
  .app-icon{width:50px;height:50px;border-radius:18px;font-size:1.28rem;}
  .mini-status-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .mini-stat{border-radius:20px;padding:12px;}
  .mini-stat span{font-size:1.32rem;}

  .grid-2,.grid-3,.form-grid,.metric-row,.palette-grid{grid-template-columns:1fr;}
  .flow-strip{grid-template-columns:1fr 1fr;}
  .section-layout{grid-template-columns:1fr;}
  .section-list{max-height:245px;}
  .review-head{display:grid;gap:10px;}
  .ai-links{grid-template-columns:1fr 1fr;}
  .progress-drawer{
    width:calc(100vw - 20px);
    right:10px;
    top:10px;
    height:calc(100vh - 104px);
    border-radius:28px;
    border-left:1px solid var(--line);
    transform:translateX(calc(100% + 24px));
  }
  .progress-drawer.open{transform:translateX(0);}
}

@media(max-width:420px){
  .nav-list{grid-template-columns:1fr;}
  .app-action-grid{grid-template-columns:1fr 1fr;}
  .ai-links{grid-template-columns:1fr;}
  .flow-strip{grid-template-columns:1fr;}
  .micro-hero h2{font-size:1.6rem;}
  .next-pill{min-width:100%;width:100%;}
}


/* =========================================================
   v1.5 Compactación visual y navegación limpia
   ========================================================= */

/* PC: barra izquierda delgada, solo iconos. JSON/Reset salen del menú visible. */
:root{
  --sidebar:88px;
  --sidebar-mini:88px;
}
.app-shell,
body.nav-mini .app-shell{
  grid-template-columns:88px minmax(0,1fr);
}
.sidebar{
  width:88px;
  padding:18px 12px;
  overflow-x:hidden;
}
.brand-block{
  justify-content:center;
  padding:8px 0 16px;
}
.brand-mark{
  width:54px;
  height:54px;
  border-radius:20px;
}
.brand-copy,
.nav-meta,
.sidebar-footer{
  display:none!important;
}
.nav-list{
  align-items:center;
  gap:14px;
}
.nav-item{
  width:58px;
  height:58px;
  padding:0;
  justify-content:center;
  border-radius:22px;
}
.nav-item:hover{
  transform:translateY(-2px);
}
.nav-item.active{
  box-shadow:0 16px 34px rgba(15,23,42,.18);
}
.nav-ico{
  width:42px;
  height:42px;
  border-radius:17px;
}

/* Cuerpo más equilibrado */
.main{
  padding:24px clamp(24px,3vw,44px) 52px;
  padding-right:clamp(72px,5vw,96px);
}
.topbar{
  margin-bottom:18px;
}
.top-title h2{
  font-size:1.42rem;
}

/* Topbar: solo iconos limpios con tooltip nativo */
.topbar-actions .soft-btn,
.topbar-actions .primary-btn{
  width:52px;
  height:52px;
  padding:0;
  justify-content:center;
  border-radius:20px;
}
.topbar-actions .soft-btn span,
.topbar-actions .primary-btn span{
  display:none!important;
}

/* Inicio menos gigante */
.micro-hero{
  min-height:auto;
  padding:26px;
  border-radius:28px;
}
.micro-hero h2{
  font-size:clamp(2rem,3.1vw,3.2rem);
  line-height:1.02;
}
.micro-hero p{
  max-width:760px;
}
.next-pill{
  min-width:160px;
  padding:16px 18px;
  border-radius:28px;
}
.app-action-grid{
  grid-template-columns:repeat(6,minmax(112px,1fr));
  gap:12px;
}
.app-icon-card{
  min-height:128px;
  padding:16px;
  border-radius:24px;
}
.app-icon{
  width:54px;
  height:54px;
  border-radius:20px;
}
.mini-status-strip{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mini-stat{
  border-radius:22px;
  padding:14px 16px;
}

/* Panel de avance: delgado y no invasivo */
.progress-drawer{
  width:min(350px,92vw);
  padding:20px;
}
.drawer-stat{
  border-radius:20px;
  padding:13px 14px;
}
.drawer-stat strong{
  font-size:1.48rem;
}
.progress-edge-tab{
  min-width:42px;
  min-height:138px;
  border-radius:20px 0 0 20px;
}
.progress-edge-tab .edge-label{
  font-size:.64rem;
}

/* Configuración conserva funciones técnicas en un solo sitio */
#configBackdrop .modal{
  width:min(440px,94vw);
}
#configBackdrop .modal-wide{
  width:min(440px,94vw);
}
#configBackdrop .toolbar{
  grid-template-columns:1fr;
}
#configBackdrop .toolbar button{
  width:100%;
}

/* Tablet: se conserva icon-only sin expandir innecesariamente */
@media(max-width:1180px){
  .app-action-grid{
    grid-template-columns:repeat(3,minmax(130px,1fr));
  }
  .main{
    padding-right:76px;
  }
}

/* Celular: menú inferior más proporcionado, no una pared lateral */
@media(max-width:760px){
  body{
    padding-bottom:82px;
  }
  .app-shell,
  body.nav-mini .app-shell{
    display:block;
  }
  .sidebar{
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
    height:auto;
    max-height:min(70vh,560px);
    padding:14px;
    border-radius:28px;
    transform:translateY(calc(100% + 24px));
  }
  .sidebar.open{
    transform:translateY(0);
  }
  .brand-block{
    justify-content:flex-start;
    padding:8px 10px;
    border-radius:22px;
  }
  .brand-copy,
  .nav-meta{
    display:block!important;
  }
  .sidebar-footer{
    display:none!important;
  }
  .brand-mark{
    width:48px;
    height:48px;
    border-radius:18px;
  }
  .brand-copy h1{
    font-size:.98rem;
  }
  .brand-copy p{
    font-size:.72rem;
  }
  .nav-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    align-items:stretch;
  }
  .nav-item{
    width:auto;
    height:auto;
    min-height:92px;
    padding:10px 8px;
    display:grid;
    justify-items:center;
    text-align:center;
    gap:7px;
    border-radius:22px;
  }
  .nav-ico{
    width:40px;
    height:40px;
  }
  .nav-meta strong{
    font-size:.76rem;
    line-height:1.05;
  }
  .nav-meta small{
    display:none;
  }

  .main{
    padding:14px 12px 112px;
  }
  .topbar{
    padding:10px 12px;
    border-radius:22px;
  }
  .top-title h2{
    font-size:1.08rem;
  }
  .topbar-actions .soft-btn,
  .topbar-actions .primary-btn{
    width:44px;
    height:44px;
    border-radius:17px;
  }

  .micro-hero{
    padding:18px;
    border-radius:26px;
  }
  .micro-hero h2{
    font-size:1.68rem;
  }
  .micro-hero p{
    font-size:.92rem;
  }
  .next-pill{
    width:100%;
    min-width:0;
    padding:14px 16px;
  }
  .app-action-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
  }
  .app-icon-card{
    min-height:94px;
    padding:10px 8px;
    border-radius:20px;
  }
  .app-icon{
    width:44px;
    height:44px;
    font-size:1.12rem;
    border-radius:17px;
  }
  .app-icon-card strong{
    font-size:.76rem;
  }
  .mini-status-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mobile-nav-fab{
    display:grid;
    width:58px;
    height:58px;
    border-radius:22px;
    bottom:12px;
  }
  .mobile-nav-fab.open{
    bottom:calc(min(70vh,560px) + 18px);
  }
  .progress-edge-tab{
    right:12px;
    bottom:82px;
    width:52px;
    min-width:52px;
    height:52px;
    min-height:52px;
    border-radius:19px;
  }
  .progress-drawer{
    width:calc(100vw - 24px);
    right:12px;
    top:12px;
    height:calc(100vh - 110px);
    padding:18px;
    border-radius:26px;
  }
}

@media(max-width:430px){
  .nav-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .app-action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mini-status-strip{
    grid-template-columns:1fr 1fr;
  }
}


/* v1.6: ocultar accesos superiores (guía, avance, config) y limpiar topbar */
.topbar-actions{display:none !important;}
.topbar{justify-content:flex-start;}
.top-title{max-width:100%;}
@media(max-width:760px){
  .topbar-actions{display:none !important;}
  .topbar{justify-content:flex-start;}
}
