/* Mi Ruta B · Navegación superior y escritorio sin barra lateral.
   Móvil conserva la navegación inferior de siempre. */
.site-toolbar{position:relative;z-index:20;width:100%;min-width:0}
.site-toolbar .top-context,.site-toolbar .top-class-b{display:none}
@media (max-width:799px){
 .site-toolbar{padding:calc(env(safe-area-inset-top) + 20px) 16px 0;margin:0 auto;max-width:1140px}
 .site-toolbar .top{margin:0 auto;max-width:100%}
 .page{padding-top:20px}
 .site-toolbar .bottom-nav{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 10px);top:auto;left:50%;right:auto;transform:translateX(-50%);display:flex;flex-direction:row;align-items:center;justify-content:center;width:min(calc(100vw - 18px),510px);max-width:calc(100vw - 18px);height:70px;gap:2px;padding:7px 5px;border:1px solid rgba(215,228,246,.92);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 8px 28px #132a5424;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
 .site-toolbar .bottom-nav .navitem{flex:1 1 0;width:0;min-width:0;min-height:52px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:3px;padding:5px 1px;font-size:9px;line-height:1.2;border-radius:12px}
 .site-toolbar .bottom-nav .navitem.active{background:#e9f0fe;color:#2957b5}
 body.dark .site-toolbar .bottom-nav{background:rgba(26,42,67,.93);border-color:#405474}
 body.dark .site-toolbar .bottom-nav .navitem.active{background:#294773;color:#d3e4ff}
}
@media (min-width:800px){
 :root{--blue:#245ab0;--navy:#1d2e48;--muted:#71819a;--bg:#f6f8fc;--line:#e0e7f0}
 html,body{background:#f6f8fc!important}
 body{font-size:15px}
 .app-shell{width:100%!important;max-width:none!important;min-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#f6f8fc!important}
 .workspace{display:flex!important;flex-direction:column!important;min-height:100dvh!important;max-width:100%;grid-template-columns:none!important;gap:0}
 .site-toolbar{position:sticky;top:0;z-index:80;display:flex;align-items:center;gap:clamp(14px,2.1vw,27px);width:100%;min-height:84px;height:auto;padding:10px clamp(22px,3.4vw,64px);background:rgba(255,255,255,.96);border-bottom:1px solid #e3e9f1;box-shadow:0 2px 16px rgba(26,46,76,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .site-toolbar .top{display:contents}
 .site-toolbar .brand{order:0;flex:0 0 auto;display:flex!important;gap:11px;align-items:center;opacity:1!important;margin:0}
 .site-toolbar .brand .logo{width:42px;height:42px;background:#23519f;box-shadow:0 4px 12px #204c9b20;border:0;color:#fff;border-radius:12px}
 .site-toolbar .brand strong{font-size:17px;font-weight:820;letter-spacing:-.45px;color:#182d4c}
 .site-toolbar .brand small{font-size:10px;color:#8393aa;letter-spacing:.02px}
 .site-toolbar .bottom-nav{order:1;flex:1 1 auto;min-width:0;max-width:930px;position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:3px;margin:0 auto!important;padding:0!important;width:auto!important;height:auto!important;min-height:53px;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow-x:auto;scrollbar-width:none}
 .site-toolbar .bottom-nav::-webkit-scrollbar{display:none}
 .site-toolbar .bottom-nav .navitem{display:flex!important;align-items:center;justify-content:center!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:43px!important;min-height:43px!important;flex-direction:row!important;text-align:center!important;gap:7px!important;padding:0 clamp(8px,1vw,14px)!important;margin:0!important;border-radius:10px!important;color:#7586a0!important;background:transparent!important;border:1px solid transparent!important;font-size:12px!important;font-weight:710!important;white-space:nowrap!important;line-height:1.2!important;letter-spacing:0!important;box-shadow:none!important}
 .site-toolbar .bottom-nav .navitem .navicon,.site-toolbar .bottom-nav .navitem .navicon .icon-svg{display:grid;place-items:center;width:17px;height:17px;color:inherit}
 .site-toolbar .bottom-nav .navitem .icon-svg{width:17px;height:17px}
 .site-toolbar .bottom-nav .navitem:hover{color:#1e4c92!important;background:#f1f5fc!important}
 .site-toolbar .bottom-nav .navitem.active{background:#eaf1fd!important;color:#1d50a0!important;border-color:#dce7f9!important;font-weight:790!important}
 .site-toolbar .top-actions{order:2;flex:0 0 auto;display:flex;gap:8px;margin-left:0}
 .site-toolbar .round-btn{width:39px;height:39px;border-radius:11px;border:1px solid #e1e8f1;background:#f9fbfd;box-shadow:none;color:#38516f}
 .page{width:100%!important;max-width:none!important;min-height:calc(100vh - 84px)!important;margin:0!important;padding:45px clamp(24px,4.3vw,70px) 75px!important;background:#f6f8fc!important}
 .page-content{width:100%;max-width:1200px;margin:0 auto}
 .heading{font-size:clamp(30px,3vw,40px);font-weight:800;color:#1b2f4e;letter-spacing:-1.25px;line-height:1.12}
 .eyebrow{color:#4770ab;letter-spacing:1.45px;font-size:10px}
 .subhead{font-size:14px;color:#7989a0;line-height:1.55;margin-bottom:25px}
 .home-view{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 20px;align-items:start}
 .home-view>.eyebrow,.home-view>.heading,.home-view>.subhead,.home-view>.section-head,.home-view>.tile-grid,.home-view>.space16,.home-view>.status-note{grid-column:1/-1}
 .home-view>.hero{grid-column:1/span 8;grid-row:4;align-self:stretch}
 .home-view>.stat-grid{grid-column:9/-1;grid-row:4;align-self:stretch}
 .home-view>.hero-after{grid-column:1/span 8;grid-row:5;justify-content:flex-start;padding-top:2px}
 .home-view>.section-head{grid-row:7;margin:34px 0 16px}
 .home-view>.tile-grid{grid-row:8}
 .home-view>.space16{grid-row:9}
 .home-view>.status-note{grid-row:10}
 .hero{display:flex;align-items:center;position:relative;min-height:280px;background:linear-gradient(135deg,#fff,#f9fbff)!important;border:1px solid #dde6f3!important;border-radius:20px!important;color:#203a5e!important;padding:clamp(26px,3vw,39px)!important;box-shadow:0 12px 30px #1b3c7310!important;overflow:hidden}
 .hero:before{content:'';position:absolute;inset:auto -100px -195px auto;width:350px;height:350px;background:radial-gradient(circle,#e1edff 0%,transparent 70%);border:none;transform:none}
 .hero:after,.hero-art{display:none!important}
 .hero>div:first-child{position:relative;max-width:calc(100% - 153px);z-index:2}
 .hero-label{color:#426fb2!important;font-size:10px;letter-spacing:1.3px;font-weight:850}
 .hero h2{font-size:clamp(25px,2.5vw,34px)!important;line-height:1.15!important;letter-spacing:-1.05px!important;color:#152e53!important;max-width:490px;margin:13px 0 12px}
 .hero p{font-size:13px!important;line-height:1.6;max-width:460px;color:#7586a0!important;margin-bottom:19px!important;opacity:1}
 .hero .whitebtn,.hero .hero-secondary{min-height:43px;border-radius:10px!important;font-size:12px!important;padding:10px 13px!important;font-weight:760!important;box-shadow:none!important;margin:4px 7px 3px 0!important}
 .hero .whitebtn{background:#2458ac!important;color:#fff!important;border:1px solid #2458ac!important}
 .hero .hero-secondary{background:#ebf2fc!important;color:#285397!important;border:1px solid #d5e1f3!important}
 .hero-counter{display:flex;position:absolute;right:24px;top:26px;bottom:26px;width:143px;flex-direction:column;align-items:center;justify-content:center;padding:12px;border-radius:16px;background:#1d3f74;color:#fff;box-shadow:0 10px 25px #1a387323}
 .hero-counter span{color:#bad3fb;font-weight:800;letter-spacing:1.1px;font-size:9px}
 .hero-counter strong{font-size:66px;line-height:1.03;letter-spacing:-4px;margin:10px 0 0;color:#fff}
 .hero-counter small{font-size:11px;color:#ecf4ff}
 .hero-counter i{width:37px;height:1px;background:#567ba8;margin:16px auto 12px}
 .hero-counter b{font-size:12px}
 .hero-counter em{font-size:9px;font-style:normal;margin-top:6px;color:#b8d1f0;white-space:nowrap}
 .home-view .stat-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));margin:0;gap:11px}
 .home-view .stat{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;gap:3px 13px;min-height:0;padding:15px 18px!important}
 .home-view .stat .symbol{display:grid;place-items:center;grid-row:1/3;grid-column:1;width:42px;height:42px;border-radius:13px;background:#edf3fe;color:#295caa;margin:0}
 .home-view .stat strong{grid-column:2;grid-row:1;font-size:25px!important;line-height:1.1!important;letter-spacing:-.6px;margin:0!important;color:#1a3153!important;white-space:nowrap}
 .home-view .stat small{grid-column:2;grid-row:2;font-size:11px;color:#8796ac;line-height:1.25}
 .hero-after .link-btn{color:#486eaa;font-size:12px}
 .tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .tile-grid .tile{min-height:106px;border-radius:15px;border:1px solid #e0e8f2;background:#fff;padding:18px 17px;display:flex;flex-direction:row;text-align:left;align-items:center;justify-content:flex-start;gap:13px;box-shadow:0 4px 14px rgba(32,54,85,.028)}
 .tile-grid .tile .ico{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;margin:0;background:#eef4fd;border:1px solid #e0eafb;border-radius:12px;color:#2a58a5}
 .tile-grid .tile .ico .icon-svg{width:21px;height:21px}
 .tile-grid .tile-copy{display:flex;flex:1;min-width:0;align-items:flex-start;text-align:left;gap:5px}
 .tile-grid .tile-copy strong{color:#1c3557;font-size:13px}
 .tile-grid .tile-copy span{color:#8391a7;font-size:11px;text-align:left!important;line-height:1.3}
 .tile-grid .tile-arrow{display:grid;place-items:center;color:#adc0d6;margin:0}
 .card,.form-card,.review-card,.stat{background:#fff;border:1px solid #e0e8f2;border-radius:16px;box-shadow:0 4px 18px #1a3c6710}
 .card,.form-card{padding:25px}
 .form-card{max-width:930px}
 .calendar-card{max-width:860px;margin:0 auto}
 .cal-day,.cal-empty{aspect-ratio:auto;height:55px;min-height:55px}
 .calendar-grid,.calendar-weekdays{gap:6px}
 .question{font-size:clamp(21px,2vw,27px)}
 .question-img{max-height:460px}
 .option{max-width:980px;font-size:14px;border-radius:12px;padding:17px 20px}
 .filter-row{flex-wrap:wrap;overflow:visible;gap:7px}
 .search-wrap{max-width:980px}
 #library-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;max-width:1150px}
 #library-results>.panel-head,#library-results>.btn,#library-results>.space16{grid-column:1/-1}
 #library-results>.review-card{margin:0;min-height:145px}
 .status-note{border-radius:12px;background:#edf2f8;border:1px solid #e2e9f2;color:#7587a1;font-size:11px}
 .btn{background:#2659aa;box-shadow:none;border-radius:11px;font-size:13px}
 .btn:hover:not(:disabled){background:#1d488e}
 .form-control{background:#fff}
 #toast{bottom:25px}
}
@media(min-width:800px) and (max-width:1199px){
 .site-toolbar{padding:13px 25px;flex-wrap:wrap;gap:10px 18px}
 .site-toolbar .brand{flex:1 0 auto}
 .site-toolbar .top-actions{order:1}
 .site-toolbar .bottom-nav{order:2;flex:1 0 100%;justify-content:flex-start;max-width:100%;min-height:45px!important}
 .site-toolbar .bottom-nav .navitem{padding:0 12px!important}
 .home-view{column-gap:12px}
 .home-view>.hero{grid-column:1/9}
 .home-view>.stat-grid{grid-column:9/-1}
 .hero{padding:23px!important;min-height:270px}
 .hero>div:first-child{max-width:calc(100% - 133px)}
 .hero-counter{right:13px;top:25px;bottom:25px;width:116px}
 .hero-counter strong{font-size:51px}
 .home-view .stat{grid-template-columns:32px minmax(0,1fr);gap:2px 8px;padding:12px 10px!important}
 .home-view .stat .symbol{width:31px;height:31px}
 .home-view .stat strong{font-size:20px!important}
 .home-view .stat small{font-size:10px}
 .tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:800px) and (max-width:940px){
 .home-view>.hero,.home-view>.stat-grid,.home-view>.hero-after{grid-column:1/-1;grid-row:auto}
 .home-view .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;margin-top:15px}
 .hero>div:first-child{max-width:calc(100% - 140px)}
}
@media (min-width:800px){
 body.dark,body.dark .app-shell,body.dark .page{background:#121d2e!important}
 body.dark .site-toolbar{background:rgba(21,33,51,.96);border-color:#2d3f56}
 body.dark .site-toolbar .brand strong{color:#e5effd}
 body.dark .site-toolbar .brand small{color:#99aac3}
 body.dark .site-toolbar .bottom-nav .navitem{color:#a8b8cf!important}
 body.dark .site-toolbar .bottom-nav .navitem.active{background:#223c60!important;border-color:#365477!important;color:#d8e9ff!important}
 body.dark .site-toolbar .bottom-nav .navitem:hover{background:#21354e!important;color:#e8f1ff!important}
 body.dark .site-toolbar .round-btn{background:#20324c;border-color:#304760;color:#d9e7ff}
 body.dark .heading,body.dark .home-view .stat strong{color:#eef4ff!important}
 body.dark .hero{background:linear-gradient(115deg,#172b46,#1a304d)!important;border-color:#314963!important}
 body.dark .hero h2{color:#f2f6ff!important}
 body.dark .hero p{color:#afc2dc!important}
 body.dark .hero-counter{background:#112440}
 body.dark .home-view .stat,body.dark .card,body.dark .review-card,body.dark .form-card,body.dark .tile-grid .tile{background:#192b41;border-color:#2c415c}
 body.dark .tile-grid .tile-copy strong{color:#eaf0ff}
 body.dark .status-note{background:#192d45;border-color:#2b425e;color:#b0c2db}
 body.dark .home-view .stat .symbol,body.dark .tile-grid .tile .ico{background:#233e60;border-color:#345478;color:#bed7ff}
}
/* La tarjeta informativa grande solo pertenece al diseño de escritorio amplio. */
@media(max-width:799px){.hero-counter{display:none!important}}
@media(min-width:800px) and (max-width:1199px){.hero-counter{display:none!important}.hero>div:first-child{max-width:100%!important}.hero h2{max-width:100%!important}}
