/* MOTOR CENTINELA · pantallas (08/10/2026) */
:root { --mo-rojo: #D64545; --mo-naranja: #E8892B; --mo-amarillo: #D9B526; --mo-verde: #2FA36B; --mo-alto: #0F7A55; }
.mo-cuerpo { display: flex; flex-direction: column; gap: 16px; }
.mo-peq { font-size: 13px; line-height: 1.5; }

/* ---------- Inicio · Hoy ---------- */
#moHoy { margin-bottom: 16px; }
.mo-hoy { padding: 20px !important; }
.mo-hoy-cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; }
.mo-hoy-h { display: block; font: 700 26px/1.15 var(--f-body, Inter, sans-serif); color: var(--text); margin-top: 2px; letter-spacing: -.01em; }
.mo-hoy-cab small { display: block; margin-top: 4px; color: var(--muted); font-size: 14px; }
.mo-hoy-acc { display: flex; flex-wrap: wrap; gap: 8px; }
.mo-empezar { font-size: 15px !important; padding: 12px 20px !important; }
.mo-tareas { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mo-t { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 14px; background: rgba(23,32,28,.035); border: 1px solid var(--borde, rgba(0,0,0,.06)); }
.mo-t > div { flex: 1; min-width: 0; }
.mo-t b { display: block; font-size: 15px; color: var(--text); }
.mo-t small { display: block; font-size: 12.5px; color: var(--muted); margin-top: 2px; line-height: 1.4; }
.mo-ico { flex: none; width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; }
.mo-ico svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mo-repaso .mo-ico { background: #E9F1FB; color: #2A62B8; }
.mo-errores .mo-ico { background: #FCEBEB; color: var(--mo-rojo); }
.mo-nuevo .mo-ico { background: #E6F4EC; color: var(--gold, #12805C); }
.mo-test .mo-ico { background: #F6F0DE; color: #9A7A14; }
.mo-min { flex: none; font: 700 13px var(--f-body, Inter, sans-serif); color: var(--muted); }
.mo-nota { margin-top: 12px; font-size: 13px; color: var(--muted); }
@media (max-width: 560px) {
  .mo-hoy-h { font-size: 22px; }
  .mo-t { flex-wrap: wrap; }
  .mo-t > div { flex-basis: calc(100% - 60px); }
  .mo-min { margin-left: 48px; }
  .mo-t .btn { margin-left: auto; }
  .mo-hoy-acc, .mo-hoy-acc .btn { width: 100%; }
}

/* ---------- Mi preparación ---------- */
.mo-prob { padding: 22px !important; }
.mo-prob-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 8px; }
.mo-cifra b { display: block; font: 400 84px/0.95 "Anton", var(--f-disp, sans-serif); color: var(--text); }
.mo-cifra b small { font-size: 40px; }
.mo-cifra span { font-size: 13px; color: var(--muted); }
.mo-prob-datos { flex: 1; min-width: 240px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mo-prob-datos div { padding: 10px 12px; border-radius: 12px; background: rgba(23,32,28,.04); }
.mo-prob-datos span { display: block; font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.mo-prob-datos b { font-size: 15px; color: var(--text); }
.mo-conf.baja { color: var(--mo-naranja); } .mo-conf.media { color: #9A7A14; } .mo-conf.alta { color: var(--mo-verde); }
.sube { color: var(--mo-verde) !important; } .baja { color: var(--mo-rojo); }
.mo-cuentas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.mo-cuentas span { padding: 6px 12px; border-radius: 999px; background: rgba(23,32,28,.05); font-size: 13px; color: var(--muted); }
.mo-cuentas b { color: var(--text); }
.mo-por { margin-top: 14px; }
.mo-por summary { cursor: pointer; font-weight: 600; color: var(--gold, #12805C); font-size: 14px; }
.mo-por-g { margin-top: 10px; }
.mo-por-g b { font-size: 13px; }
.mo-por-g ul { margin: 6px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.5; }
.mo-por-g.bien b { color: var(--mo-verde); } .mo-por-g.mal b { color: var(--mo-rojo); }
.mo-aviso { margin-top: 14px; padding: 10px 12px; border-radius: 12px; background: #F4EFE0; color: #4a4128; font-size: 13px; line-height: 1.45; }
.mo-prob.vacio .mo-sin { display: block; font: 700 22px/1.2 var(--f-body, Inter, sans-serif); margin: 6px 0 8px; text-transform: uppercase; letter-spacing: .01em; }
.mo-prob.vacio p { font-size: 14.5px; line-height: 1.55; margin: 0 0 12px; }
.mo-barra { height: 8px; border-radius: 8px; background: rgba(23,32,28,.08); overflow: hidden; margin-bottom: 8px; }
.mo-barra i { display: block; height: 100%; background: var(--gold, #12805C); border-radius: 8px; }

.mo-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 860px) { .mo-dos { grid-template-columns: 1fr; } }
.mo-prep-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.mo-prep-n { font: 400 52px/1 "Anton", var(--f-disp, sans-serif); color: var(--text); }
.mo-prep-n small { font-size: 20px; color: var(--muted); }
.mo-riesgo { text-align: right; padding: 8px 12px; border-radius: 12px; }
.mo-riesgo span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; opacity: .8; }
.mo-riesgo b { font-size: 17px; text-transform: capitalize; }
.mo-riesgo.bajo { background: #E6F4EC; color: var(--mo-alto); } .mo-riesgo.moderado { background: #F6F0DE; color: #8B6C0E; }
.mo-riesgo.alto { background: #FDEEDC; color: #B4601A; } .mo-riesgo.sin-datos { background: rgba(23,32,28,.05); color: var(--muted); } .mo-riesgo.critico { background: #FCE6E6; color: #B42323; }
.mo-subs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.mo-sub { display: grid; grid-template-columns: 110px 1fr 34px; align-items: center; gap: 10px; font-size: 13.5px; }
.mo-sub > i { height: 7px; border-radius: 7px; background: rgba(23,32,28,.08); overflow: hidden; }
.mo-sub > i > i { display: block; height: 100%; border-radius: 7px; background: var(--gold, #12805C); }
.mo-sub b { text-align: right; }
.mo-imp ol { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; counter-reset: imp; }
.mo-imp li { display: flex; align-items: center; gap: 12px; counter-increment: imp; }
.mo-imp li::before { content: counter(imp); flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 13px; color: #fff; background: var(--primario, #17201C); }
.mo-imp li > div { flex: 1; min-width: 0; }
.mo-imp b { display: block; font-size: 14.5px; }
.mo-imp small { color: var(--muted); font-size: 12.5px; }
.mo-alertas ul { margin: 8px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.55; }

.mo-mapa-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.mo-ley { display: flex; flex-wrap: wrap; gap: 6px; }
.mo-ley span { font-size: 11.5px; font-weight: 600; padding: 3px 8px; border-radius: 999px; color: #fff; }
.mo-ley .rojo, .mo-tema.rojo .mo-tb > i, .mo-art-dom.rojo { background: var(--mo-rojo); }
.mo-ley .naranja, .mo-tema.naranja .mo-tb > i, .mo-art-dom.naranja { background: var(--mo-naranja); }
.mo-ley .amarillo, .mo-tema.amarillo .mo-tb > i, .mo-art-dom.amarillo { background: var(--mo-amarillo); }
.mo-ley .verde, .mo-tema.verde .mo-tb > i, .mo-art-dom.verde { background: var(--mo-verde); }
.mo-ley .alto, .mo-tema.alto .mo-tb > i, .mo-art-dom.alto { background: var(--mo-alto); }
.mo-tema.rojo .mo-td { color: var(--mo-rojo); } .mo-tema.naranja .mo-td { color: var(--mo-naranja); } .mo-tema.amarillo .mo-td { color: #A88A0E; }
.mo-tema.verde .mo-td { color: var(--mo-verde); } .mo-tema.alto .mo-td { color: var(--mo-alto); }
.mo-temas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 8px; margin-top: 10px; }
.mo-tema { all: unset; box-sizing: border-box; min-width: 0; width: 100%; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 13px; background: rgba(23,32,28,.03); border: 1px solid var(--borde, rgba(0,0,0,.06)); transition: transform .15s, border-color .2s; }
.mo-tema:hover { transform: translateY(-1px); border-color: var(--gold, #12805C); }
.mo-tema:focus-visible { outline: 2px solid var(--gold, #12805C); }
.mo-tn { flex: none; width: 30px; font: 400 24px/1 "Anton", var(--f-disp, sans-serif); text-align: center; color: var(--text); }
.mo-tt { flex: 1; min-width: 0; }
.mo-tt b { display: block; font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--text); }
.mo-tt small { display: block; font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mo-tb { display: block; height: 6px; border-radius: 6px; background: rgba(23,32,28,.08); margin-top: 5px; overflow: hidden; }
.mo-tb > i { display: block; height: 100%; border-radius: 6px; transition: width .6s cubic-bezier(.2,.9,.3,1); }
.mo-td { flex: none; font: 800 17px var(--f-body, Inter, sans-serif); min-width: 34px; text-align: right; }

.mo-graf { width: 100%; height: auto; margin-top: 8px; }
.mo-graf .g { stroke: rgba(23,32,28,.1); stroke-width: 1; }
.mo-graf .g.corte { stroke: rgba(214,69,69,.35); stroke-dasharray: 4 4; }
.mo-graf text { font: 600 10px var(--f-body, Inter, sans-serif); fill: var(--muted, #6b746f); }
.mo-graf .banda { fill: rgba(18,128,92,.12); }
.mo-graf .linea { fill: none; stroke: var(--gold, #12805C); stroke-width: 2.5; stroke-linejoin: round; }
.mo-graf .punto { fill: var(--gold, #12805C); }
.mo-esc { margin-top: 14px; }
.mo-esc-f { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.mo-esc-f div { padding: 10px; border-radius: 12px; background: rgba(23,32,28,.04); }
.mo-esc-f span { display: block; font-size: 12px; color: var(--muted); }
.mo-esc-f b { font-size: 18px; }
@media (max-width: 560px) { .mo-esc-f { grid-template-columns: 1fr; } .mo-cifra b { font-size: 68px; } .mo-temas { grid-template-columns: minmax(0, 1fr); } .mo-tt small { white-space: normal; } .mo-sub { grid-template-columns: 92px 1fr 30px; } }

/* ---------- Mis errores ---------- */
.mo-vacio b { display: block; font-size: 17px; margin-bottom: 6px; }
.mo-vacio span { color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.mo-err-res { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.mo-err-res .card { margin: 0; text-align: center; padding: 14px 10px !important; }
.mo-err-res b { display: block; font: 400 34px/1 "Anton", var(--f-disp, sans-serif); }
.mo-err-res span { font-size: 12.5px; color: var(--muted); }
.mo-auto-b { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mo-filtros { display: flex; flex-wrap: wrap; gap: 10px; }
.mo-filtros label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: var(--muted); flex: 1 1 140px; }
.mo-filtros select { font: 500 14px var(--f-body, Inter, sans-serif); padding: 8px 10px; border-radius: 10px; border: 1px solid var(--borde, rgba(0,0,0,.12)); background: #fff; color: var(--text); }
.mo-arts { display: flex; flex-direction: column; gap: 8px; }
.mo-art { padding: 0 !important; margin: 0 !important; }
.mo-art > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.mo-art > summary::-webkit-details-marker { display: none; }
.mo-art > summary b { display: block; font-size: 14.5px; }
.mo-art > summary small { display: block; font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.mo-art-dom { flex: none; min-width: 44px; padding: 6px 0; text-align: center; border-radius: 10px; color: #fff; font-weight: 800; font-size: 14px; }
.mo-art-qs { padding: 0 14px 14px; display: flex; flex-direction: column; gap: 10px; }
.mo-eq { padding: 10px 12px; border-radius: 12px; background: rgba(23,32,28,.035); font-size: 14px; line-height: 1.45; }
.mo-eq-r { display: flex; flex-direction: column; gap: 3px; margin: 6px 0 4px; }
.mo-eq .mal { color: #B42323; } .mo-eq .bien { color: #1f7a3a; font-weight: 600; } .mo-eq .gris { color: var(--muted); }
.mo-eq small { color: var(--muted); font-size: 12.5px; }
@media (max-width: 560px) { .mo-err-res b { font-size: 26px; } }

/* ---------- Test: creador, guardados e historial ---------- */
.mo-crear { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.mo-crear > div { flex: 1; min-width: 200px; }
.mo-crear b { display: block; font-size: 16px; }
.mo-crear span { font-size: 13.5px; color: var(--muted); }
#moTestsAbajo { display: flex; flex-direction: column; gap: 14px; margin-top: 14px; }
.mo-mio { display: flex; align-items: center; gap: 8px; padding: 10px 0; border-top: 1px solid var(--borde, rgba(0,0,0,.06)); }
.mo-mio:first-of-type { border-top: 0; }
.mo-mio > div { flex: 1; min-width: 0; }
.mo-mio b { display: block; font-size: 14.5px; }
.mo-mio small { font-size: 12.5px; color: var(--muted); }
.mo-hist-l { display: flex; flex-direction: column; margin-top: 8px; }
.mo-run { border-top: 1px solid var(--borde, rgba(0,0,0,.06)); }
.mo-run > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px; padding: 10px 0; }
.mo-run > summary::-webkit-details-marker { display: none; }
.mo-run > summary b { display: block; font-size: 14px; }
.mo-run > summary small { font-size: 12px; color: var(--muted); }
.mo-run-n { flex: none; min-width: 52px; text-align: center; padding: 6px 0; border-radius: 10px; font-weight: 800; font-size: 14px; }
.mo-run-n.ok { background: #E6F4EC; color: var(--mo-alto); } .mo-run-n.ko { background: #FCE6E6; color: #B42323; }
.mo-run-c { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 12px; }
.mo-run-c .mo-eq { flex-basis: 100%; }

.mo-capa { position: fixed; inset: 0; z-index: 1000; display: flex; justify-content: center; align-items: flex-end; background: rgba(12,22,18,.42);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .2s; }
.mo-capa.on { opacity: 1; }
.mo-capa[hidden] { display: none; }
.mo-hoja { width: min(720px, 100%); max-height: 94dvh; display: flex; flex-direction: column; background: var(--bg, #F6F7F5); border-radius: 22px 22px 0 0; overflow: hidden; box-shadow: 0 -20px 60px -20px rgba(0,0,0,.45); }
@media (min-width: 760px) { .mo-capa { align-items: center; } .mo-hoja { border-radius: 22px; } }
.mo-hoja-cab { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--borde, rgba(0,0,0,.07)); background: var(--vidrio-fuerte, #fff); }
.mo-hoja-cab b { font-size: 17px; }
.mo-hoja-c { overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 16px; }
.mo-hoja-pie { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--borde, rgba(0,0,0,.07)); background: var(--vidrio-fuerte, #fff); }
.mo-campo { display: flex; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 600; color: var(--muted); }
.mo-campo > span { display: flex; justify-content: space-between; align-items: center; }
.mo-campo input[type="text"] { font: 500 15px var(--f-body, Inter, sans-serif); padding: 11px 12px; border-radius: 12px; border: 1px solid var(--borde, rgba(0,0,0,.12)); background: #fff; color: var(--text); }
.mo-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mo-chip { all: unset; box-sizing: border-box; cursor: pointer; padding: 8px 12px; min-width: 38px; text-align: center; border-radius: 999px; font: 600 13px var(--f-body, Inter, sans-serif); color: var(--text); background: #fff; border: 1px solid var(--borde, rgba(0,0,0,.12)); transition: background .15s, color .15s; }
.mo-chip.on { background: var(--gold, #12805C); border-color: var(--gold, #12805C); color: #fff; }
.mo-chip:focus-visible { outline: 2px solid var(--gold, #12805C); outline-offset: 2px; }
.mo-link { all: unset; cursor: pointer; color: var(--gold, #12805C); font-weight: 600; }
.mo-pool { font-size: 14px; font-weight: 700; color: var(--text); }

/* ---------- Mi plan y calendario ---------- */
.mo-pl { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mo-pl-i { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 12px; background: rgba(23,32,28,.035); }
.mo-pl-i > div { flex: 1; min-width: 0; }
.mo-pl-i b { display: block; font-size: 14px; color: var(--text); }
.mo-pl-i small { display: block; font-size: 12px; color: var(--muted); }
.mo-pl-k { flex: none; min-width: 74px; text-align: center; padding: 4px 8px; border-radius: 999px; font: 700 11px var(--f-body, Inter, sans-serif); letter-spacing: .03em; text-transform: uppercase; }
.mo-repaso .mo-pl-k { background: #E9F1FB; color: #2A62B8; }
.mo-errores .mo-pl-k { background: #FCEBEB; color: var(--mo-rojo); }
.mo-nuevo .mo-pl-k { background: #E6F4EC; color: var(--gold, #12805C); }
.mo-test .mo-pl-k { background: #F6F0DE; color: #8B6C0E; }
.mo-sim .mo-pl-k, .mo-examen .mo-pl-k { background: var(--primario, #17201C); color: #fff; }
.mo-semana { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin-top: 8px; }
.mo-dia { padding: 10px; border-radius: 14px; border: 1px solid var(--borde, rgba(0,0,0,.06)); }
.mo-chip b { font-weight: 800; }
.mo-ritmo .mo-chips { margin-top: 10px; }
.mo-examen input[type="date"] { font: 500 15px var(--f-body, Inter, sans-serif); padding: 10px 12px; border-radius: 12px; border: 1px solid var(--borde, rgba(0,0,0,.12)); background: #fff; color: var(--text); max-width: 240px; }
.mo-tabla { overflow-x: auto; margin-top: 8px; }
.mo-tabla table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.mo-tabla th { text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); padding: 8px 8px; border-bottom: 1px solid var(--borde, rgba(0,0,0,.08)); white-space: nowrap; }
.mo-tabla td { padding: 8px; border-bottom: 1px solid var(--borde, rgba(0,0,0,.05)); vertical-align: middle; }
.mo-tabla td:first-child { min-width: 200px; }
.mo-tabla .mo-art-dom { display: inline-block; min-width: 40px; padding: 3px 0; font-size: 12.5px; }
.mo-fase { font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: rgba(23,32,28,.06); white-space: nowrap; }
@media (max-width: 560px) { .mo-pl-i { flex-wrap: wrap; } .mo-pl-i > div { flex-basis: calc(100% - 90px); } .mo-semana { grid-template-columns: 1fr; } }

.mo-eq-por { margin-top: 6px; font-size: 13px; color: var(--text); }
.mo-eq-mn { margin-top: 6px; font-size: 13px; padding: 6px 9px; border-radius: 9px; background: rgba(138,163,30,.12); }

/* Plan → «Tu orden de estudio» (09/10/2026) */
.ot-tarjeta h2{margin:.2em 0 .3em}
.ot-rapido{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.ot-rapido label{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ot-rapido select{width:auto;max-width:min(420px,100%);min-width:0;display:inline-block}
.ot-lista{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.ot-fila{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.ot-fila.actual{border-color:var(--gold,#c9a54a);background:rgba(201,165,74,.10)}
.ot-fila.hecho{opacity:.6}
.ot-num{width:26px;text-align:center;font-weight:700;opacity:.7}
.ot-nom{flex:1;min-width:0}
.ot-nom small{display:block;opacity:.7;font-size:12px}
.ot-acc{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:600px){.ot-fila{flex-wrap:wrap}.ot-acc{width:100%;justify-content:flex-start}}
