:root{--ink:#163750;--green:#365f4c;--muted:#637585;--line:#dce5e9;--pale:#f3f7fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:white;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3{font-family:Georgia,serif;line-height:1.15}h1{font-size:36px}h2{font-size:30px;margin:0 0 24px}h3{font-size:25px;margin:12px 0}a{color:inherit}button,input{font:inherit}.header{max-width:1180px;margin:auto;min-height:94px;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;gap:24px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:700;letter-spacing:2px}.brand img{width:105px;height:auto}.brand span{border-left:1px solid var(--line);padding-left:14px;font-size:14px}nav{display:flex;align-items:center;gap:24px;font-size:13px}nav a{text-decoration:none}.nav-access{border:1px solid var(--green);padding:8px 15px;border-radius:5px}.wrap{max-width:1120px;margin:auto;padding:0 30px}section{margin-bottom:44px}.hero{position:relative;min-height:390px;background:#e7f1f7;overflow:hidden;border-radius:6px;display:flex;align-items:center;margin-bottom:22px}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,251,253,.98),rgba(247,251,253,.9) 33%,rgba(247,251,253,0) 68%)}.hero-copy{z-index:1;position:relative;padding:40px;max-width:560px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;text-transform:uppercase}.hero h1{font-size:76px;margin:8px 0}.subtitle{font-family:Georgia,serif;font-size:23px;line-height:1.3}.hero p{margin:12px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;text-align:center;gap:8px;text-decoration:none;background:var(--green);color:white;border:1px solid var(--green);border-radius:5px;padding:12px 19px;font-weight:600;font-size:14px;cursor:pointer;min-height:46px}.button:hover{filter:brightness(1.1)}.light{background:white;color:var(--ink);border-color:#bcced5}.button:disabled{opacity:.5;cursor:wait}.notice{padding:14px 22px;border-radius:5px;background:#eaf3fa;text-align:center;font-size:14px}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title p{font-family:Georgia,serif;font-style:italic;text-align:right;color:var(--muted)}.journey,.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.journey{padding:20px 12px 0;position:relative}.journey:before{content:"";position:absolute;top:64px;left:15%;right:15%;border-top:2px dashed #96b3ab}.journey article{z-index:1;text-align:center;padding:20px;background:linear-gradient(#fff0,#fff 70%);border-bottom:1px solid var(--line)}.stage-icon{display:inline-flex;border-radius:50%;width:58px;height:58px;align-items:center;justify-content:center;background:var(--green);color:white;font:25px Georgia;border:7px solid white}.journey p{margin:10px 0 0}.caption{font-size:12px;color:var(--muted);text-align:center}.cards article{border:1px solid var(--line);border-radius:6px;padding:25px;text-align:center;display:flex;flex-direction:column}.cards article .button{margin-top:auto}.cards article>p:not(.eyebrow):not(.price){font-size:14px;color:var(--muted);margin-bottom:22px}.price{font-size:28px;font-weight:700;margin:12px 0}.price small{display:block;font-size:12px;color:var(--muted);font-weight:400}.entry{display:grid;grid-template-columns:40% 60%;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--pale)}.entry img{width:100%;height:100%;object-fit:cover;object-position:25% center}.entry div{padding:30px}.entry h2{margin-bottom:12px}.entry small{display:block;font-size:11px;margin-top:12px}footer{text-align:center;font-size:12px;border-top:1px solid var(--line);padding:22px;color:var(--muted);margin-top:40px}.back{display:block;font-size:13px;text-decoration:none;margin:12px 0 24px}.form-layout{display:grid;grid-template-columns:30% 70%;border:1px solid var(--line);border-radius:8px;overflow:hidden}.form-art{background:linear-gradient(0deg,rgba(14,43,57,.8),rgba(14,43,57,0) 75%),url('/assets/olimpiada-lectura-odisea-horizontal.webp') 28% center/cover;min-height:500px;position:relative;display:flex;align-items:end;color:white}.form-art>div{padding:28px}.form-art p{font-size:12px;letter-spacing:1px}.form-panel{padding:35px 40px;margin:0;min-width:0}.form-panel h1{margin:8px 0}.form-panel h2{font:600 18px system-ui;margin:32px 0 15px}.steps{list-style:none;display:flex;gap:12px;padding:12px 0;border-block:1px solid var(--line);font-size:11px;color:var(--muted);counter-reset:step}.steps li:before{counter-increment:step;content:counter(step) ' ';color:var(--green);font-weight:bold}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:13px;margin-bottom:15px}input{display:block;width:100%;border:1px solid #b8cbd4;border-radius:4px;padding:11px;background:white;color:var(--ink);margin-top:6px;min-width:0}input:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid #64a0cf;outline-offset:3px}.check{display:flex;gap:12px;align-items:start;margin:22px 0;font-size:12px}.check input{width:18px;flex-shrink:0;margin-top:2px}.total{font-weight:700;font-size:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line)}.error{color:#9a3030}.success{color:var(--green)}#confirm-panel,#receipt{border:1px solid #9ab5a7;background:#f4f9f6;padding:20px;margin-top:20px}.friend{padding:14px;border:1px solid var(--line);border-radius:5px;margin-bottom:15px}.friend legend{font-size:14px;font-weight:bold}.status-card{border-left:4px solid var(--green);padding:15px;background:var(--pale);margin:20px 0}.credentials{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.dashboard-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}[hidden]{display:none!important}@media(max-width:800px){.header{padding:18px 22px;flex-wrap:wrap;gap:16px}nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}.wrap{padding:0 20px}.hero-copy{padding:25px}.hero h1{font-size:58px}.hero>img{object-position:60% center}.hero:after{background:linear-gradient(90deg,#f7fbfdf0,#f7fbfdc0 50%,#f7fbfd20)}.cards{gap:12px}.cards article{padding:18px 12px}.form-layout{grid-template-columns:1fr}.form-art{min-height:180px;background-position:center 55%}.form-art>div{padding:22px}.form-art h2{font-size:25px;margin:0}.form-panel{padding:25px}.field-grid{gap:12px}.entry{grid-template-columns:35% 65%}}@media(max-width:560px){.hero{min-height:470px;align-items:flex-start;padding-bottom:145px}.hero>img{top:auto;height:200px;object-position:70% 65%}.hero:after{background:linear-gradient(#eef6fb 58%,#eef6fb00 80%)}.hero h1{font-size:55px}.subtitle{font-size:20px}.hero-copy{padding:24px;max-width:100%}.hero .eyebrow{font-size:10px}.hero .button{padding:10px 12px;font-size:12px}.journey{gap:10px;padding:8px 0}.journey article{padding:8px 2px}.journey h3{font-size:17px}.journey p,.journey small{font-size:11px}.journey:before{top:45px}.stage-icon{width:48px;height:48px}.section-title h2{font-size:27px}.section-title p{font-size:12px}.cards{grid-template-columns:1fr}.cards article{padding:24px}.cards h3{font-size:27px}.entry{grid-template-columns:1fr}.entry img{height:155px;object-position:center 65%}.entry div{padding:24px}.field-grid{grid-template-columns:1fr}.form-panel{padding:22px 18px}.form-panel h1{font-size:30px}.steps{font-size:10px;gap:8px}.form-art{min-height:150px}.header nav a:nth-child(2){display:none}}
/* v14: composición a color de los bocetos aprobados */
body{color:#183d59;background:#fff}h1,h2,h3{color:#153650}.wrap{max-width:1180px}.header{max-width:1240px;min-height:98px}nav a:hover{color:#397352}.hero{min-height:430px;background:#edf5fa;margin-top:5px}.hero>img.hero-art{object-position:center;z-index:0}.hero:after{background:linear-gradient(90deg,rgba(248,252,254,.25),transparent 65%);pointer-events:none}.hero-copy{padding:36px 40px;max-width:570px}.hero .eyebrow{font:600 23px/1.2 Georgia,serif;letter-spacing:0;text-transform:none}.hero h1{font-size:86px;letter-spacing:-3px;line-height:1.04}.hero .subtitle{font-size:24px}.category{font-size:13px}.button{background:#36604b;border-color:#36604b;border-radius:5px;gap:14px;box-shadow:0 2px 3px #1536500a}.button span{font-size:24px;line-height:1}.button.light{background:#fff;border-color:#b7c9d4;color:#183d59}.button:disabled{background:#e3eaf0;border-color:#cbd7df;color:#617382;opacity:1;cursor:not-allowed;box-shadow:none}.notice{background:#e9f3fa}.book-note{display:flex;align-items:center;justify-content:center;gap:16px}.book-note svg{flex:0 0 28px;width:28px;height:28px;fill:none;stroke:#234967;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.section-title{margin-bottom:0}.section-title h2:after,#participar>h2:after{content:'';display:block;width:35px;border-bottom:2px solid #7ba58a;margin-top:12px}.journey-art{width:100%;height:auto;max-height:235px;object-fit:contain;display:block;margin-top:-10px}.journey{padding:0 20px;gap:50px;margin-top:-4px}.journey:before{display:none}.journey article{position:relative;border:1px solid #dfe8ed;background:#fff;border-radius:5px;padding:26px 15px 18px}.journey h3{font-size:23px;margin:0}.stage-number{position:absolute;top:-19px;left:calc(50% - 19px);border:4px solid white;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#3b6651;color:white;font:19px Georgia,serif;border-radius:50%}.journey p{font-size:14px}.journey small{font-size:12px}.caption{font-size:11px}.cards{gap:20px}.cards article{position:relative;padding:27px 24px 24px;box-shadow:0 4px 14px #173e5806;background:linear-gradient(#fff,#f9fbfc)}.card-icon{display:block;fill:none;stroke:#365c4b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;width:36px;height:36px;margin:0 auto 8px}.cards h3{font-size:24px}.price{font-family:Georgia,serif;font-weight:700}.cards .button{font-size:12px;padding:11px 12px}.registration-dates{text-align:center;border:1px solid #dde6ec;border-radius:4px;font-size:13px;padding:12px;color:#445e72;background:#f8fafc}.entry{grid-template-columns:42% 58%;background:linear-gradient(100deg,#f2f7fa,#fff)}.entry>img{height:310px;object-position:center 65%}.entry>div{padding:32px}.entry h2{font-size:29px}.entry p{font-size:14px}.entry .eyebrow{font-size:10px;letter-spacing:2px;color:#42705a}.entry small{color:#617582}.form-layout{grid-template-columns:30% 70%;border-color:#dce7eb;box-shadow:0 8px 35px #193c5408}.form-art{background:linear-gradient(0deg,rgba(16,48,61,.84),rgba(16,48,61,0) 65%),url('/assets/odisea-libro-mar-color.webp') center 60%/cover}.form-art h2{color:white}.form-panel{padding:34px 38px}.form-panel h1{font-size:32px}.form-panel h2{font:600 17px/1.35 Georgia,serif}.form-lead{font-size:14px;color:#697e8b}.steps{counter-reset:step;font-size:11px}.steps li{display:flex;align-items:center;gap:7px}.steps li:before{content:counter(step);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:#ecf3ef;border-radius:50%;color:#3a6650}.availability{background:#eef5f9;border:1px solid #d9e7f0;border-left:3px solid #7199b3;padding:14px 17px;border-radius:4px;font-size:12px;margin:22px 0}.availability p{margin:6px 0 0;color:#647b8a}.availability strong{font-weight:600}.field-grid label{font-size:12px}input{font-size:14px;padding:10px;border-color:#ccdae2}.check{font-size:11px;color:#556d7e}.check input{accent-color:#3c6951}.upload{border:1px dashed #b1c6d4;text-align:center;border-radius:5px;background:#f7fafc;padding:18px;font-size:12px;color:#6c818f}.upload input{max-width:100%;font-size:11px;background:#eef3f6;cursor:not-allowed}.empty{text-align:center;color:#708796;padding:24px 8px}.form-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #e0e8ed;padding-top:18px;margin-top:25px}.form-bottom .total{font-size:17px;font-family:Georgia,serif;margin:0 0 5px}.form-bottom small{font-size:10px;color:#6e828e;display:block;max-width:250px}.left{text-align:left}.friend{border-color:#d6e2e9;background:#fafcfd}.friend legend{font-family:Georgia,serif;color:#315d49}.remove-friend{font:11px system-ui;background:transparent;color:#536c7d;border:0;text-decoration:underline;cursor:pointer;padding:3px}.remove-friend:disabled{opacity:.4;cursor:not-allowed}.participation-stages article{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid #e0e9ee}.participation-stages article>span{display:flex;flex:0 0 30px;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:#eaf1ee;color:#3c6750}.participation-stages h3{font-size:18px;margin:0}.participation-stages p{font-size:12px;color:#657c8a}details{margin-top:23px;font-size:13px;color:#567084}summary{cursor:pointer;font-weight:600}footer{margin-top:40px;font-size:11px}@media(max-width:800px){.hero{min-height:390px}.hero-copy{padding:30px}.hero h1{font-size:67px}.hero .eyebrow{font-size:19px}.hero .subtitle{font-size:21px}.journey{gap:20px;padding:0 8px}.journey-art{margin-top:0}.cards article{padding:22px 15px}.cards h3{font-size:20px}.cards .button{font-size:11px}.form-layout{grid-template-columns:1fr}.form-art{min-height:200px;background-position:center 62%}.form-panel{padding:28px}.entry>div{padding:25px}.entry h2{font-size:24px}.entry>img{height:100%}.form-bottom{flex-wrap:wrap}}@media(max-width:560px){.wrap{padding:0 16px}.header{padding:16px;min-height:0}.brand img{width:97px}nav{font-size:11px;gap:6px}.nav-access{padding:7px 10px}.hero{display:flex;flex-direction:column;padding:0;min-height:0;align-items:stretch;background:#eef6fa}.hero>img.hero-art{position:relative;inset:auto;height:225px;width:100%;object-fit:cover;object-position:72% center;order:0}.hero:after{display:none}.hero-copy{order:1;padding:23px 24px 28px;max-width:none}.hero .eyebrow{font-size:18px;margin:0 0 10px}.hero h1{font-size:59px;margin:0 0 12px;letter-spacing:-2px}.hero .subtitle{font-size:21px;margin:0}.hero .category{font-size:11px;margin-top:17px}.hero .actions{margin-top:18px;gap:8px}.hero .button{font-size:11px;padding:10px 11px}.book-note{align-items:flex-start;text-align:left;font-size:11px;padding:14px;gap:10px}.book-note svg{width:24px;flex-basis:24px}.section-title h2{font-size:27px}.section-title p{font-size:11px}.journey-art{min-height:95px;margin-top:10px}.journey{gap:8px;padding:0;margin-top:0}.journey article{padding:23px 3px 12px}.journey h3{font-size:16px}.journey p,.journey small{font-size:10px}.stage-number{top:-16px;left:calc(50% - 16px);width:32px;height:32px;font-size:16px}.caption{font-size:10px}#participar>h2{font-size:28px}.cards{grid-template-columns:1fr;gap:14px}.cards article{padding:22px}.cards h3{font-size:25px}.cards .button{font-size:13px}.price{font-size:29px}.entry{grid-template-columns:1fr}.entry>img{height:215px;object-position:center 67%}.entry>div{padding:25px}.entry h2{font-size:27px}.entry .button{font-size:12px}.form-panel{padding:24px 18px}.form-panel h1{font-size:29px}.form-art{min-height:200px}.form-art>div{padding:20px}.form-art h2{font-size:26px}.steps{font-size:9px;gap:6px;justify-content:space-between}.steps li{gap:3px;flex-wrap:wrap}.steps li:before{width:19px;height:19px}.field-grid{grid-template-columns:1fr}.form-bottom{align-items:stretch;flex-direction:column}.form-bottom button{width:100%}.registration-dates{font-size:11px}.entry small{font-size:10px}}
.journey-art{height:300px;max-height:none;object-fit:cover;object-position:center 65%}@media(max-width:800px){.journey-art{height:auto;object-fit:contain}}@media(max-width:560px){.journey-art{height:auto;min-height:0}}
/* Carga y revisión local de plantilla de colegios */
.file-label{font-weight:600;color:#244f6b}.upload #school-excel{background:white;cursor:pointer;font-size:12px}.upload #excel-help{font-size:11px}.upload #clear-excel{font-size:11px;padding:7px 12px;min-height:34px}.excel-status:not(:empty){margin:14px 0;padding:13px 16px;border:1px solid #c8ded1;border-radius:4px;background:#f0f7f3;font-size:13px;color:#2d5e43}.excel-status.error{background:#fff4ef;border-color:#efd0c3;color:#873c23}.excel-row-error{background:#fff9f5}#excel-preview{min-width:780px}#excel-preview td:last-child{min-width:200px;max-width:330px;color:#375f4c}.excel-row-error td:last-child{color:#943d24}#excel-preview td{vertical-align:top;overflow-wrap:anywhere}#excel-status:focus{outline:2px solid #8bb2ca;outline-offset:2px}
#excel-preview th:nth-child(2){min-width:160px}#excel-preview th:nth-child(3){min-width:145px}#excel-preview th:nth-child(6){min-width:185px}.table-scroll-help{font-size:11px;color:#667e8c;margin-top:8px}
.registration-message:not(:empty){padding:12px 15px;border:1px solid #cadee8;border-radius:5px;background:#f4f8fa;overflow-wrap:anywhere;font-size:13px}.registration-message.error{background:#fff4ef;border-color:#efd0c3;color:#873c23}#registration-review,#registration-receipt,#participation-data{padding:22px;border:1px solid #c5dcd0;border-radius:6px;background:#f7fbf8;margin:22px 0;overflow-wrap:anywhere}#registration-review .button,#registration-receipt .button,#participation-data .button{margin:8px 8px 8px 0}#registration-receipt input{font-size:12px}#participation-data h3{font-size:20px}.payment-state{display:inline-block;border-radius:20px;background:#fff1d6;color:#856421;padding:6px 14px;font-weight:600;font-size:13px}.payment-state.verified{background:#dcefe4;color:#296745}.field-grid select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #ccdae2;border-radius:4px;background:white;color:#183d59;font:14px system-ui}.friend input{max-width:100%}
