/* V46 · navegación serena y orientación contextual */
:root{
  --app-navy:#173b63;
  --app-blue:#2f6fed;
  --app-teal:#23856d;
  --app-violet:#69569a;
  --app-gold:#b88735;
  --app-surface:#ffffff;
  --app-canvas:#f5f7fa;
  --app-border:#dfe6ee;
  --app-ink:#172033;
  --app-muted:#617083;
}

body{background:var(--app-canvas);font-size:15px;line-height:1.55}
.main{background:var(--app-canvas)}
.sidebar{width:292px;padding:22px 15px;background:linear-gradient(180deg,#102f50 0%,#0b233c 100%);box-shadow:16px 0 48px rgba(7,28,48,.12)}
.brand{padding:0 7px 20px;margin:0 0 12px;border-bottom:1px solid rgba(255,255,255,.11)}
.brand .logo{width:58px;height:58px;border-radius:17px}
.brand strong{font-size:16px;letter-spacing:-.02em}.brand span{max-width:170px;color:#c8dfef;font-size:12px;line-height:1.4}
.nav-group{margin:20px 10px 8px;color:#91b7d0;font-size:12px;letter-spacing:.14em}
.nav-btn{min-height:50px;padding:10px 11px;border:1px solid transparent;border-radius:13px}
.nav-btn:hover{border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.07)}
.nav-btn.active{border-color:#dce9f4;background:#fff;color:#173b63;box-shadow:0 12px 28px rgba(1,17,31,.22)}
.nav-index{width:30px;height:30px;border-radius:10px}.nav-label{font-size:13px}.nav-hint{font-size:12px;line-height:1.35}
.nav-secondary{min-height:43px;opacity:.9}.nav-secondary .nav-index{width:24px;height:24px}
.sidebar-note{margin-top:22px;padding:14px;border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:#cae0ee;line-height:1.5}.sidebar-note strong{display:block;margin-bottom:4px;color:#fff}

.topbar{min-height:92px;height:auto;padding:18px 28px;border-color:var(--app-border);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}
.topbar h1{font-family:var(--font-display);font-size:27px;font-weight:650;letter-spacing:-.03em}.topbar p{max-width:700px;color:var(--app-muted);font-size:12px}
.topbar-badge{margin-top:7px;background:#edf7f3;color:#216950;border-color:#cde9dc}
.permanent-disclaimer{border-color:#dfe6ee;background:#f9fafb;color:#687789}
#view{width:100%;max-width:1380px;margin:0 auto;padding:24px 30px 64px}

.experience-compass{display:grid;grid-template-columns:minmax(220px,1.15fr) repeat(3,minmax(150px,1fr));gap:1px;margin-bottom:18px;overflow:hidden;border:1px solid var(--app-border);border-radius:17px;background:var(--app-border);box-shadow:0 12px 30px rgba(23,59,99,.06)}
.experience-compass>div{min-height:104px;padding:16px 18px;background:#fff}
.experience-compass .compass-context{background:linear-gradient(145deg,#173b63,#235579);color:#fff}
.compass-kicker{display:block;margin-bottom:7px;color:#8fb4ce;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.compass-context .compass-kicker{color:#b9d9ea}.experience-compass strong{display:block;color:var(--app-navy);font-size:12px;line-height:1.35}.compass-context strong{color:#fff;font-family:var(--font-display);font-size:20px;font-weight:650;letter-spacing:-.02em}
.experience-compass p{margin:6px 0 0;color:#66778a;font-size:12px;line-height:1.5}.compass-context p{color:#d2e3ed}
.compass-action{display:flex!important;align-items:flex-start;justify-content:space-between;gap:10px}.compass-action button{flex:0 0 auto;width:32px;height:32px;border:0;border-radius:10px;background:#eaf1fd;color:#2f6fed;font-weight:900;cursor:pointer}.compass-action button:hover{background:#2f6fed;color:#fff}

.calm-status{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#e5f1f7;font-size:12px;font-weight:850}.calm-status i{width:7px;height:7px;border-radius:50%;background:#68c59e;box-shadow:0 0 0 4px rgba(104,197,158,.14)}

.hero,.card,.step-mentor,.module-form,.route-summary,.route-step,.recording-rail{border-color:var(--app-border);box-shadow:0 14px 38px rgba(23,59,99,.065)}
.hero{background:linear-gradient(145deg,#fff,#f2f7fb)}
.card h3,.hero h2,.module-hero h2{letter-spacing:-.02em}
.btn{min-height:42px;border-radius:11px;box-shadow:0 8px 18px rgba(47,111,237,.16);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(47,111,237,.21)}
.btn.ghost,.btn.soft{box-shadow:none}
textarea,.input,select{border-color:#dce4ec;background:#fbfcfd}.field label{font-size:12px}.charline{padding-top:3px}.charline .status-text{min-width:88px;text-align:right;font-weight:750}

.closure-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:stretch;margin-bottom:18px}
.closure-summary{padding:28px;border:1px solid var(--app-border);border-radius:22px;background:linear-gradient(145deg,#173b63,#235c77);color:#fff;box-shadow:0 18px 44px rgba(23,59,99,.16)}
.closure-summary .mini{color:#bad7e6}.closure-summary h2{margin:8px 0 9px;color:#fff;font-family:var(--font-display);font-size:31px;font-weight:650;letter-spacing:-.035em}.closure-summary p{margin:0;color:#d6e7ef}
.closure-score{display:grid;place-items:center;padding:24px;border:1px solid var(--app-border);border-radius:22px;background:#fff;text-align:center}.closure-score strong{color:var(--app-navy);font-family:var(--font-display);font-size:48px;line-height:1}.closure-score span{margin-top:8px;color:var(--app-muted);font-size:12px}
.closure-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.closure-module{padding:18px;border:1px solid var(--app-border);border-radius:16px;background:#fff}.closure-module header{display:flex;align-items:center;justify-content:space-between;gap:12px}.closure-module h3{margin:0;color:var(--app-navy);font-size:15px}.closure-module p{min-height:42px;margin:9px 0;color:var(--app-muted);font-size:12px}.closure-module .progress{height:8px}.closure-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.closure-action{padding:20px;border:1px solid var(--app-border);border-radius:17px;background:#fff}.closure-action h3{margin:0;color:var(--app-navy)}.closure-action p{color:var(--app-muted);font-size:12px}

.official-route-hero{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;padding:28px 30px;border:1px solid var(--app-border);border-radius:22px;background:linear-gradient(135deg,#fff,#eef5fb);box-shadow:0 18px 44px rgba(23,59,99,.08)}.official-route-hero h2{margin:8px 0 7px;color:var(--app-navy);font-family:var(--font-display);font-size:29px;font-weight:650;letter-spacing:-.03em}.official-route-hero p{margin:0;color:var(--app-muted);font-size:12px}.official-route-hero aside{min-width:150px;text-align:center}.official-route-hero aside strong,.official-route-hero aside span,.official-route-hero aside small{display:block}.official-route-hero aside strong{color:var(--app-blue);font-family:var(--font-display);font-size:42px;line-height:1}.official-route-hero aside span{margin-top:7px;color:var(--app-navy);font-size:12px;font-weight:850}.official-route-hero aside small{margin-top:3px;color:#7d8c99;font-size:12px}.official-route-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.official-route-links a{padding:8px 10px;border:1px solid #d7e3eb;border-radius:9px;background:#fff;color:#2a6389;font-size:12px;font-weight:850;text-decoration:none}.official-calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.official-calendar article{padding:14px 16px;border:1px solid var(--app-border);border-radius:14px;background:#fff}.official-calendar article.current{border-color:#adc5ef;background:#f2f6ff}.official-calendar span,.official-calendar b,.official-calendar small{display:block}.official-calendar span{color:#8e6a2f;font-size:12px;font-weight:900;letter-spacing:.08em}.official-calendar b{margin-top:6px;color:var(--app-navy);font-size:12px}.official-calendar small{margin-top:3px;color:var(--app-muted);font-size:12px}.official-route-list{display:grid;gap:13px}.official-route-module{overflow:hidden;border:1px solid var(--app-border);border-left:5px solid #b5c1cc;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(23,59,99,.055)}.official-route-module.progressing{border-left-color:var(--app-blue)}.official-route-module.ready{border-left-color:var(--app-teal)}.official-route-module.parallel{border-left-color:#278d88}.official-route-module>header{display:grid;grid-template-columns:45px 1fr auto;gap:13px;align-items:center;padding:17px 19px;border-bottom:1px solid #e7edf2}.official-route-module>header>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef3f8;color:var(--app-navy);font-size:12px;font-weight:950}.official-route-module>header small,.official-route-module>header h3{display:block}.official-route-module>header small{color:#7690a4;font-size:12px;font-weight:900;letter-spacing:.1em}.official-route-module>header h3{margin:4px 0 0;color:var(--app-navy);font-family:var(--font-display);font-size:20px;font-weight:650}.official-route-module>header>strong{color:var(--app-blue);font-size:17px}.official-task-list{display:grid}.official-task-list button{display:grid;grid-template-columns:39px 1fr auto;gap:12px;align-items:center;padding:13px 19px;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;cursor:pointer;font:inherit}.official-task-list button:hover{background:#f7fafc}.official-task-list i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0f4f7;color:#587187;font-style:normal;font-size:12px;font-weight:900}.official-task-list b,.official-task-list small{display:block}.official-task-list b{color:var(--app-navy);font-size:12px}.official-task-list small{margin-top:3px;color:var(--app-muted);font-size:12px;line-height:1.4}.official-task-list em{color:#2d668d;font-style:normal;font-size:12px;font-weight:850}.official-route-module>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 19px;background:#f8fafb}.official-route-module>footer span{padding:6px 9px;border-radius:999px;background:#eaf1ff;color:#315f9a;font-size:12px;font-weight:850}.official-route-module.start>footer span{background:#edf2f6;color:#5e7283}.official-route-module.ready>footer span{background:#e4f4ec;color:#277356}.official-route-module>footer button{border:0;background:transparent;color:#2b6489;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.official-route-finish{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:14px;padding:21px 23px;border-radius:18px;background:linear-gradient(135deg,#6f572f,#9c773b);color:#fff}.official-route-finish small{font-size:12px;font-weight:900;letter-spacing:.12em}.official-route-finish h3{margin:5px 0;color:#fff;font-family:var(--font-display);font-size:21px}.official-route-finish p{max-width:720px;margin:0;color:#f0e6d4;font-size:12px;line-height:1.5}.official-route-finish button{padding:11px 14px;border:1px solid rgba(255,255,255,.4);border-radius:10px;background:#fff;color:#6b522c;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.official-route-disclaimer{margin:13px 4px;color:#778897;font-size:12px;line-height:1.55}

@media(max-width:1120px){.experience-compass{grid-template-columns:1fr 1fr}.closure-hero,.official-route-hero{grid-template-columns:1fr}.closure-modules{grid-template-columns:1fr}.official-calendar{grid-template-columns:1fr}.official-route-hero aside{text-align:left}}
@media(max-width:780px){#view{padding:18px 16px 86px}.experience-compass{grid-template-columns:1fr}.experience-compass>div{min-height:0}.closure-actions,.official-calendar{grid-template-columns:1fr}.topbar{padding:14px 16px}.topbar h1{font-size:23px}.official-route-hero{padding:21px}.official-route-hero h2{font-size:24px}.official-task-list button{grid-template-columns:35px 1fr;padding:13px}.official-task-list em{grid-column:2}.official-route-module>header h3{font-size:17px}.official-route-finish{align-items:flex-start;flex-direction:column}.official-route-finish button{width:100%}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}
@media print{.experience-compass{display:none!important}.closure-summary{background:#fff!important;color:#172033!important}.closure-summary h2,.closure-summary p{color:#172033!important}}
