:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20232b;background:#f7f5f2;font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#151b2a;color:#f8f6f2;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;margin:0 9px 29px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#151b2a;background:#fff;font-weight:950;font-style:italic;font-size:24px;letter-spacing:-.1em;padding-right:4px}.brand strong{font-size:23px;letter-spacing:.045em}.brand small{display:block;letter-spacing:.17em;font-size:8px;font-weight:800;margin-top:1px;color:#b9bdc8}.environment{font-size:10px;letter-spacing:.1em;font-weight:800;border:1px solid #455063;color:#e6ba92;background:#232d3c;padding:10px;border-radius:8px;margin:0 8px 28px;text-align:center}.sidebar nav{display:grid;gap:5px}.nav-caption{font-size:10px;letter-spacing:.15em;color:#8993a6;font-weight:800;padding:0 14px;margin:0 0 9px}.nav-caption-late{margin-top:24px}.sidebar nav a,.sidebar nav .nav-disabled{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:9px;font-size:13px;font-weight:650}.nav-active{background:#303a4c;color:#fff}.nav-disabled{color:#98a2b2}.sidebar-note{margin:auto 10px 0;font-size:11px;line-height:1.55;color:#98a2b2;max-width:195px}.main{min-width:0;padding:0 44px 68px;max-width:1550px;width:100%;margin:0 auto}.topbar{min-height:69px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e1dc;font-size:12px;font-weight:700;color:#485061}.breadcrumb{color:#a3a3a6;font-weight:500}.local-pill{font-size:10px;color:#487061;background:#e7f1ea;border:1px solid #c9dfd2;padding:7px 10px;border-radius:100px}.intro{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:42px 0 26px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.16em;color:#b34a60}.intro h1{font-size:clamp(28px,3vw,43px);line-height:1.1;letter-spacing:-.045em;margin:9px 0 11px;color:#182135}.intro p{font-size:14px;line-height:1.6;color:#626873;max-width:680px;margin:0}.primary-button{border:0;background:#cf304e;color:#fff;font-weight:750;padding:13px 18px;border-radius:9px;box-shadow:0 5px 12px #cf304e22;white-space:nowrap}.primary-button:hover{background:#b71f3c}.secondary-button{background:#fff;border:1px solid #d8d5d1;color:#333b49;font-weight:700;padding:12px 18px;border-radius:9px}.notice{display:flex;align-items:flex-start;gap:11px;border:1px solid #e8dcc1;background:#fffbf1;padding:14px 17px;border-radius:11px;color:#675538;font-size:12px;line-height:1.5;margin-bottom:39px}.notice-icon{border-radius:50%;background:#e3bb72;color:#fff;display:grid;place-items:center;font-weight:900;width:18px;height:18px;flex:none}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:16px}.section-head h2{font-size:23px;letter-spacing:-.03em;margin:5px 0 0;color:#1e283a}.count{color:#777e89;font-size:12px}.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.course-card{display:flex;flex-direction:column;gap:12px;min-height:229px;background:#fff;border:1px solid #e9e5e0;border-radius:14px;padding:19px;box-shadow:0 4px 18px #1d26310a}.course-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.course-icon{height:31px;width:31px;border-radius:9px;background:#f5e7ea;color:#bb314e;display:grid;place-items:center;font-weight:900}.status{font-size:10px;border-radius:50px;padding:5px 8px;font-weight:750;white-space:nowrap}.status-none{background:#f1f0ed;color:#666b74}.status-open{background:#e5f3e9;color:#267251}.status-upcoming{background:#e7edf7;color:#405f91}.course-card h3{font-size:18px;letter-spacing:-.02em;line-height:1.2;margin:3px 0 0;min-height:43px}.course-card p{font-size:12px;line-height:1.45;color:#727782;margin:0;flex:1}.course-card button{border:0;padding:0;background:none;text-align:left;color:#be3150;font-size:12px;font-weight:800}.lower-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:20px;margin-top:36px}.panel{min-width:0;border:1px solid #e8e4df;background:#fff;border-radius:15px;padding:23px}.cohort-list{display:grid;gap:12px}.empty{padding:34px 16px;text-align:center;color:#777e88;background:#faf9f7;border:1px dashed #dcd8d3;border-radius:11px;font-size:13px}.cohort{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid #e9e7e3;padding:16px;border-radius:10px}.cohort h3{font-size:14px;margin:0 0 5px}.cohort p{font-size:12px;margin:0;color:#69707a;line-height:1.5}.cohort-actions{display:flex;gap:9px;align-items:start}.cohort-actions button{border:1px solid #e4dfd9;border-radius:7px;background:#fff;color:#4b5360;font-size:11px;padding:7px 9px;font-weight:700}.cohort-actions button:hover{background:#f8f6f3}.small-label{display:block;color:#7b818a;font-size:11px;font-weight:750;margin:21px 0 7px}.preview-panel select{width:100%;padding:10px 11px;background:#fff;border:1px solid #dedcd8;border-radius:8px;color:#303946}.public-preview{margin-top:17px;border-radius:11px;background:#192233;color:#fff;padding:21px}.public-preview .preview-kicker{font-size:10px;letter-spacing:.17em;color:#e897aa;font-weight:800}.public-preview h3{font-size:22px;line-height:1.1;margin:11px 0 8px;letter-spacing:-.03em}.public-preview p{font-size:12px;line-height:1.55;color:#c4cad3;margin:0 0 16px}.preview-cta{display:inline-block;background:#d33350;color:white;border-radius:7px;font-size:11px;font-weight:800;padding:10px 13px}.preview-disclaimer{font-size:11px;line-height:1.5;color:#9a9da5;margin:12px 0 0}
.session-area{display:flex;align-items:center;gap:10px}.session-area button{background:none;border:0;color:#626b79;text-decoration:underline;font-size:11px;font-weight:700}
.history-panel{margin-top:20px}.history-panel .cohort{align-items:center}.restore-button{border:1px solid #e4dfd9;border-radius:7px;background:#fff;color:#4b5360;font-size:11px;padding:8px 10px;font-weight:700}.phase-label{display:inline-block;margin-top:9px;padding:5px 8px;border-radius:99px;background:#f1f0ed;color:#606979;font-size:10px;font-weight:800}.form-grid .teacher-confirmed{align-self:end;display:flex;align-items:center;gap:8px;min-height:40px}.teacher-confirmed input{accent-color:#cf304e}
.cohort .readiness{margin-top:9px;color:#a1662e}.cohort .readiness-ready{color:#267251}
.course-link{font-size:11px;font-weight:750;color:#56657e;text-decoration:underline;text-underline-offset:2px}.form-divider{display:flex;align-items:baseline;gap:12px;border-top:1px solid #e8e4df;padding-top:15px;margin-top:2px;color:#253146;font-size:12px}.form-divider span{font-weight:500;color:#777e88;font-size:11px}
.course-card .presentation-setting{display:flex;align-items:center;gap:8px;padding-top:11px;border-top:1px solid #eee9e4;color:#263247;font-size:11px;font-weight:750;line-height:1.35;cursor:pointer}.presentation-setting input{accent-color:#cf304e;flex:none;width:16px;height:16px;margin:0}.course-card .presentation-help{font-size:10px;line-height:1.4;color:#7b818a}.cohort .presentation-state{margin-top:7px;color:#56657e}.preview-teacher{border-top:1px solid #556072;margin-top:21px;padding-top:17px}.preview-teacher h4{font-size:17px;margin:6px 0 0;color:#fff}.teacher-preview-note{font-size:11px;line-height:1.5;color:#677185;margin:11px 0 0}
dialog{border:0;border-radius:17px;padding:0;width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 30px);box-shadow:0 25px 80px #10192755}dialog::backdrop{background:#101827a3}dialog form{padding:28px;max-height:calc(100vh - 30px);overflow:auto}.dialog-head{display:flex;align-items:start;justify-content:space-between}.dialog-head h2{font-size:25px;margin:6px 0 0;letter-spacing:-.03em}.icon-button{font-size:27px;border:0;background:none;color:#7a818a;line-height:1}.form-intro{color:#747a84;font-size:12px;line-height:1.5;margin:12px 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:grid;gap:7px;color:#404958;font-size:11px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{min-width:0;border:1px solid #d9dce1;border-radius:8px;padding:10px 11px;background:#fff;color:#1d2738;font-size:13px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid #df92a2;outline-offset:1px}.full-width{grid-column:1/-1}.late-box{display:grid;gap:8px;align-self:center}.late-box .late-toggle{display:flex;align-items:center;gap:8px;font-size:11px}.late-toggle input{accent-color:#cf304e}.form-error{margin-top:16px;background:#fde9eb;color:#b82c45;padding:11px;border-radius:8px;font-size:12px}.dialog-actions{display:flex;justify-content:end;gap:9px;margin-top:24px}
@media(max-width:1150px){.course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.shell{display:block}.sidebar{padding:15px 20px}.brand{margin:0}.sidebar .environment,.sidebar nav,.sidebar-note{display:none}.main{padding:0 20px 50px}.topbar{min-height:57px}.intro{margin:28px 0 19px;align-items:start;flex-direction:column;gap:17px}.lower-grid{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.course-grid{grid-template-columns:1fr}.course-card{min-height:0}.form-grid{grid-template-columns:1fr}.topbar .local-pill{display:none}.cohort{grid-template-columns:1fr}.cohort-actions{justify-content:start}.panel{padding:18px}dialog form{padding:19px}}

/* Gestión EOACS: sistema visual alineado con la identidad de Campus. */
:root{color:#1d293b;background:#f7f7f6}
.shell{grid-template-columns:260px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:30px 18px 22px;background:linear-gradient(163deg,#132139 0%,#1c2940 62%,#2d2639 100%)}
.brand{gap:12px;margin:5px 14px 38px}.brand-mark{display:block;flex:none;width:38px;height:42px;padding:0;border:0;border-radius:0;background:none;object-fit:contain;filter:brightness(0) invert(1)}.brand strong{font-size:22px;line-height:1}.brand small{color:#e2e6ec;font-size:8px;letter-spacing:.14em;margin-top:5px}
.course-card .publication-state{display:block;color:#68788c;font-size:10px;line-height:1.4;border-top:1px solid #e9edf1;padding-top:10px}.course-card .publish-button{background:#172a43;color:#fff;border:0;border-radius:8px;padding:10px 12px;font-weight:750;text-align:center}.course-card .publish-button:hover{background:#263e5e}.course-card .publish-button:disabled{background:#e9edf1;color:#8792a1;cursor:not-allowed}.course-card .publish-button:disabled:hover{background:#e9edf1}
.environment{margin:0 10px 32px;border-color:#655260;background:#3b3444;color:#ffdce3;line-height:1.35}
.nav-caption{color:#aeb8c7}.sidebar nav a,.sidebar nav .nav-disabled{font-size:13px;border-radius:10px;padding:13px 14px}.sidebar nav .nav-active{background:#ffffff18;box-shadow:inset 3px 0 0 #ef4862}.sidebar nav .nav-disabled{color:#a8b2c2}
.sidebar-bottom{display:flex;align-items:center;gap:10px;margin:auto 12px 0;border-top:1px solid #ffffff24;padding-top:21px;color:#e9edf3}.sidebar-bottom-dot{width:9px;height:9px;border-radius:50%;background:#e45167;box-shadow:0 0 0 5px #e4516722;flex:none}.sidebar-bottom strong{display:block;font-size:11px}.sidebar-bottom small{display:block;margin-top:3px;color:#aab5c3;font-size:10px}
.main{max-width:1620px;padding:0 48px 84px}.topbar{min-height:74px;border-bottom-color:#e6e7ea;color:#26344b}.breadcrumb{color:#9099a8}.local-pill{background:#e9f3ef;border-color:#d5e5dd;color:#326349}
.intro{position:relative;overflow:hidden;align-items:stretch;gap:45px;margin:29px 0 19px;padding:34px 36px;background:linear-gradient(113deg,#192a44 0%,#1f3048 56%,#433443 100%);border-radius:20px;color:#fff;box-shadow:0 16px 34px #15244018}.intro:before{content:"";position:absolute;right:26%;top:-120px;width:380px;height:380px;border:1px solid #ffffff1f;border-radius:50%;pointer-events:none}.intro:after{content:"";position:absolute;right:20%;top:-85px;width:310px;height:310px;border:1px solid #ffffff13;border-radius:50%;pointer-events:none}.intro-copy{position:relative;z-index:1;max-width:610px}.intro .eyebrow{color:#f69bac}.intro h1{font-size:clamp(34px,3.7vw,52px);line-height:1.02;letter-spacing:-.053em;margin:16px 0 13px;color:#fff}.intro h1 span{color:#f49eac}.intro p{color:#d2d9e3;font-size:14px;line-height:1.6;max-width:530px}.intro-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.intro-meta span{border:1px solid #ffffff36;border-radius:999px;padding:8px 10px;color:#e9ecf1;font-size:10px;font-weight:700;white-space:nowrap}.intro-meta b{color:#ffa8b6;margin-right:5px}.intro-action{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:start;min-width:255px;max-width:280px;margin-left:auto;padding:20px 22px;background:#ffffff12;border:1px solid #ffffff29;border-radius:15px;backdrop-filter:blur(5px)}.intro-action-label{font-size:9px;letter-spacing:.16em;color:#ffa9b7;font-weight:800}.intro-action strong{font-size:18px;letter-spacing:-.02em;margin-top:9px}.intro-action p{font-size:11px;margin:7px 0 19px}.intro-action .primary-button{width:100%;display:flex;justify-content:space-between;align-items:center;background:#df3653;box-shadow:none}.intro-action .primary-button:hover{background:#bc2641}
.notice{margin-bottom:27px;padding:13px 15px;background:#fff;border:1px solid #e8e8e8;color:#596371;font-size:12px;border-radius:10px}.notice strong{color:#22344e}.notice-icon{background:#df3653}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 37px}.metric{display:flex;flex-direction:column;min-height:106px;padding:16px 19px;background:#fff;border:1px solid #e5e7ea;border-radius:13px;box-shadow:0 3px 10px #1b29360a}.metric span{font-size:9px;letter-spacing:.12em;font-weight:850;color:#778398}.metric strong{font-size:29px;line-height:1.12;margin:7px 0 2px;letter-spacing:-.04em;color:#1c2b42}.metric small{font-size:10px;color:#8a93a0}.metric-accent{background:#fff8f9;border-color:#f4dadd}.metric-accent strong{font-size:18px;margin:13px 0 7px;color:#af3550}
.section-head{margin-bottom:17px}.section-head h2{font-size:24px;color:#1e2b40}.section-description{margin:6px 0 0;color:#778190;font-size:12px;line-height:1.4}.eyebrow{color:#b74059}.count{border:1px solid #e4e8eb;border-radius:999px;background:#fff;padding:7px 11px;font-weight:750;color:#687589}
.course-grid{gap:13px}.course-card{min-height:251px;border-color:#e3e7eb;border-radius:15px;padding:19px 20px;box-shadow:0 6px 17px #1b29350c;transition:transform .16s ease,box-shadow .16s ease}.course-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #1b293517}.course-icon{background:#fcebef;color:#d23955}.course-card h3{color:#1d2a3e}.course-card p{color:#758092}.course-link{color:#53647c}.course-card .presentation-setting{color:#293a52}.course-card .presentation-help{color:#8290a0}.course-card button{color:#b62f4d}
.lower-grid{margin-top:30px}.panel{border-color:#e2e6e9;border-radius:15px;box-shadow:0 5px 18px #1b29360a}.public-preview{background:linear-gradient(142deg,#1c2a40,#25334b);border-radius:12px}.empty{background:#fafbfc;border-color:#d9dfe4;color:#8290a0}.phase-label{background:#eef3f8;color:#465b78}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline-color:#df3653aa}
@media(max-width:1180px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{gap:16px}.intro-action{min-width:220px}}
@media(max-width:820px){.sidebar{position:static;height:auto;padding:15px 20px}.sidebar-bottom{display:none}.main{padding:0 20px 50px}.intro{margin-top:22px;padding:25px;flex-direction:column}.intro-action{max-width:none;width:100%;margin:0;min-width:0}.intro-meta{margin-top:18px}.metrics{margin-bottom:29px}}
@media(max-width:560px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{min-height:100px;padding:13px}.metric strong{font-size:26px}.metric-accent strong{font-size:16px}.intro h1{font-size:36px}.intro-meta span{font-size:9px}.notice{font-size:11px}.section-description{max-width:290px}.course-card{min-height:0}}

.login-body{background:#f5f7fa}.login-layout{display:grid;grid-template-columns:minmax(380px,48%) minmax(0,1fr);min-height:100vh}.login-brand-panel{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:55px 7vw 50px;background:radial-gradient(circle at 70% 10%,#513145 0%,transparent 46%),linear-gradient(155deg,#14223a,#1c2b44);color:#fff}.login-brand-panel .brand{margin:0}.login-brand-copy{margin:auto 0;max-width:550px}.login-brand-copy .eyebrow{color:#efa3b1}.login-brand-copy h1{font-size:clamp(43px,4.4vw,68px);line-height:.99;letter-spacing:-.06em;margin:19px 0 18px}.login-brand-copy h1 span{color:#e95068}.login-brand-copy p{font-size:16px;line-height:1.6;color:#cbd5e2;max-width:470px}.login-brand-panel>small{font-size:11px;color:#aeb9c8}.login-form-panel{display:grid;place-items:center;padding:40px}.login-form-wrap{width:min(100%,430px)}.login-form-wrap h2{font-size:34px;letter-spacing:-.045em;margin:13px 0}.login-form-wrap>p{color:#687587;line-height:1.6;font-size:14px;margin:0 0 27px}.login-form-wrap form{display:grid;gap:17px}.login-form-wrap label{display:grid;gap:7px;color:#26344b;font-size:12px;font-weight:750}.login-form-wrap input{width:100%;height:50px;padding:0 13px;border:1px solid #d6dce4;border-radius:9px;background:#fff;color:#17263c}.login-form-wrap input:focus{outline:2px solid #dd7388;outline-offset:1px}.login-form-wrap button{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.login-form-wrap button:disabled{opacity:.65;cursor:wait}.login-form-wrap>small{display:block;font-size:11px;color:#8993a0;line-height:1.5;margin-top:29px}.login-form-wrap .form-error{margin:0}
@media(max-width:780px){.login-layout{grid-template-columns:1fr}.login-brand-panel{min-height:300px;padding:24px 25px 32px}.login-brand-copy{margin:44px 0 24px}.login-brand-copy h1{font-size:42px}.login-brand-copy p{font-size:13px}.login-brand-panel>small{display:none}.login-form-panel{padding:38px 25px 55px}.login-form-wrap h2{font-size:29px}}
.setup-body{min-height:100vh;display:grid;place-items:center;padding:25px;background:#f4f6f8}.setup-card{width:min(100%,540px);padding:36px;background:#fff;border:1px solid #e3e7ea;border-radius:18px;box-shadow:0 12px 38px #1b29361c}.setup-card h1{margin:10px 0;font-size:30px;letter-spacing:-.04em}.setup-card p{font-size:13px;line-height:1.6;color:#6e7887}.setup-card form{display:grid;gap:15px;margin-top:25px}.setup-card label{display:grid;gap:6px;font-size:12px;color:#26344b;font-weight:750}.setup-card input{height:45px;border:1px solid #d6dce4;border-radius:9px;padding:0 12px}.setup-card .primary-button{margin-top:5px}.setup-card #setup-result{margin-top:20px;border-top:1px solid #e6e8eb;padding-top:12px}
.course-card .publish-button{background:#172a43;color:#fff;border:0;border-radius:8px;padding:10px 12px;font-weight:750;text-align:center}.course-card .publish-button:hover{background:#263e5e}.course-card .publish-button:disabled{background:#e9edf1;color:#8792a1;cursor:not-allowed}.course-card .publish-button:disabled:hover{background:#e9edf1}
