:root{font-family:system-ui,-apple-system,sans-serif;color:#173438;background:#f4f7f5;line-height:1.6}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:24px max(5vw,20px);border-bottom:1px solid #dce6df;background:#fff}a{color:#186859}nav{display:flex;gap:24px}a.brand{text-decoration:none;font-size:23px;font-weight:800;letter-spacing:2px;color:#173438}main{max-width:1180px;margin:60px auto;padding:0 24px 70px}h1{font-size:clamp(32px,4.5vw,58px);line-height:1.12;letter-spacing:-2px;max-width:850px;margin:20px 0}h2{margin-top:36px}h3{font-size:21px;margin:8px 0 20px}.lead{max-width:730px;font-size:19px;color:#526a66;margin-bottom:32px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#39826e}.card{background:#fff;border:1px solid #dce6df;border-radius:14px;padding:28px;margin:20px 0}.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.phases .card{margin:0}.phases h2{font-size:23px}.button,button{display:inline-block;background:#176752;color:white;border:0;padding:14px 24px;border-radius:7px;font-size:15px;font-weight:650;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#104c3c}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:14px}.choice{display:block;border:1px solid #dce6df;border-radius:7px;padding:10px 14px;margin:8px 0;cursor:pointer}.choice:has(:checked){background:#e7f5ed;border-color:#176752}input{accent-color:#176752}input[type=number],input[type=text],input[type=email],input[type=date],select{width:100%;padding:10px;border:1px solid #c7d9cf;border-radius:6px;background:#fff;color:#173438;font:inherit}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:24px}.metrics label{font-size:12px;font-weight:650}small{display:block;color:#687e77;font-weight:400;margin:5px 0}.actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px}.alert{padding:16px;background:#ffe8de;border-radius:8px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%}td,th{padding:12px;border-bottom:1px solid #dce6df;text-align:left}th{background:#e7f1ec}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #cc9829;outline-offset:3px}@media(max-width:800px){.metrics{grid-template-columns:repeat(2,1fr)}.phases{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}header{gap:16px;flex-wrap:wrap}main{margin-top:32px}.card{padding:20px}}@media print{header,.actions,.no-print{display:none!important}body{background:white}main{margin:0;padding:0}.card{break-inside:avoid}.table-scroll{overflow:visible}@page{size:A4 landscape;margin:12mm}}
/* Acceso, paneles y página pública */
input[type=password]{width:100%;padding:12px;border:1px solid #c7d9cf;border-radius:6px;background:#fff;color:#173438;font:inherit}.text-button{padding:0;background:transparent;color:#186859;font:inherit;font-weight:400}.text-button:hover{background:transparent;text-decoration:underline}.stack{display:grid;gap:20px}.stack label{font-size:14px;font-weight:600}.stack input{margin-top:7px}.login-layout{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;min-height:65vh}.login-card{padding:38px}.login-card h2{margin-top:0;font-size:28px}.login-card>small{margin-top:25px}.login-note{color:#39826e;font-size:14px;letter-spacing:1px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.dashboard-grid h2{margin-top:16px}.landing{background:#f8faf7}.landing header{background:#f8faf7;padding-top:25px;padding-bottom:25px}.landing main{margin:0 auto;padding-bottom:0}.landing nav{align-items:center;font-size:13px}.landing nav a{text-decoration:none}.nav-access{padding:9px 17px;border:1px solid #b9cfc1;border-radius:6px}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:35px;padding:85px 0 70px}.hero h1{font-size:clamp(38px,4.8vw,62px);font-weight:600;letter-spacing:-2.9px;line-height:1.13}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#287357}.hero .lead{font-size:17px;max-width:520px;line-height:1.8;margin:25px 0 30px}.hero .eyebrow{letter-spacing:1.4px;font-size:10px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#438b64;margin-right:8px}.hero-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.hero-buttons .button span{margin-left:24px}.quiet-link{font-size:13px;font-weight:600;text-decoration:none}.hero-caption{font-size:11px;color:#6d8074;margin-top:22px}.model-visual{position:relative;height:420px;border-radius:50%;background:radial-gradient(ellipse at center,#e2ecdb,transparent 70%);display:grid;place-items:center}.orbit{position:absolute;border:1px solid #cbdac5;border-radius:50%;width:330px;height:330px}.orbit-two{width:245px;height:245px;border-style:dashed;transform:rotate(-25deg)}.visual-core{display:flex;flex-direction:column;align-items:center;justify-content:center;width:185px;height:185px;border-radius:50%;background:#f8faf7;border:1px solid #d4dfce;text-align:center;box-shadow:0 12px 45px #385a3910;z-index:1}.visual-core>span{font-size:35px;color:#297257;line-height:1.2}.visual-core strong{font-family:Georgia,serif;font-size:22px;font-weight:400;line-height:1.2;margin:12px 0}.visual-core small{font-size:8px;letter-spacing:2px}.orbit-label{position:absolute;background:#fff;padding:12px 19px;border:1px solid #dae4d5;border-radius:8px;box-shadow:0 8px 20px #385a3908;font-size:13px;z-index:2}.orbit-label b{color:#6f9272;margin-right:9px;font-size:10px}.label-one{top:36px;left:35px}.label-two{right:0;top:173px}.label-three{bottom:43px;left:39px}.orbit-dot{position:absolute;width:9px;height:9px;background:#90a975;border:3px solid #f8faf7;border-radius:50%}.dot-one{top:60px;right:93px}.dot-two{bottom:80px;right:75px}.visual-footnote{position:absolute;bottom:0;font-size:8px;letter-spacing:2px;color:#85967e}.principle-strip{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #dce6df;border-bottom:1px solid #dce6df;padding:24px 0;font-size:12px}.principle-strip>span{color:#7b8b7a}.principle-strip strong{font-weight:500}.landing-section{padding:80px 0;scroll-margin-top:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.landing h2{font-size:clamp(27px,3vw,37px);font-weight:500;letter-spacing:-1.2px;line-height:1.25;margin:15px 0}.section-heading>p{max-width:350px;color:#647668;font-size:14px}.landing .phases{margin-top:32px;gap:18px}.phase-card{padding:28px;background:transparent}.phase-number{font-size:12px;color:#75947a;display:flex;justify-content:space-between}.phase-number span{font-size:24px;line-height:1}.phase-card h3{font-size:25px;font-weight:500;margin-top:35px;letter-spacing:-.5px}.phase-card p{font-size:14px;line-height:1.8;color:#607465}.phase-card small{font-size:8px;letter-spacing:1.3px;margin-top:26px}.process-section{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;background:#eaf0e5;margin:0 -35px;padding:60px 50px;border-radius:16px;scroll-margin-top:30px}.process-section>div>p{font-size:14px;color:#647668;max-width:300px;margin-bottom:25px}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid #d2dfcb}.process-list li:last-child{border:0}.process-list li>span{font-size:12px;color:#6f9272;margin-top:3px}.process-list h3{font-size:16px;margin:0 0 6px}.process-list p{font-size:13px;color:#647668;margin:0}.closing-cta{text-align:center;padding:85px 0}.closing-cta h2{margin:20px 0 30px}.closing-cta .eyebrow{font-size:9px}.landing footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:30px 5vw;border-top:1px solid #dce6df}.landing footer .brand{font-size:17px}.landing footer>span{font-size:11px;color:#6d8074}.landing footer small{font-size:9px;max-width:290px}@media(max-width:900px){.hero{grid-template-columns:1fr;padding:50px 0}.model-visual{max-width:440px;width:100%;margin:auto}.process-section{gap:35px;margin:0;padding:30px}.principle-strip{flex-wrap:wrap}.login-layout{gap:25px}.landing nav{gap:14px}}@media(max-width:600px){.login-layout,.dashboard-grid,.process-section{grid-template-columns:1fr}.login-layout{margin-top:30px}.login-card{padding:24px}.section-heading{display:block}.landing header nav a:not(.nav-access){display:none}.hero h1{letter-spacing:-1.5px}.hero{padding-top:40px}.hero .eyebrow{font-size:8px}.model-visual{height:360px}.orbit{width:280px;height:280px}.orbit-two{width:220px;height:220px}.label-one{left:0;top:25px}.label-two{right:0;top:145px}.label-three{left:5px;bottom:30px}.visual-core{width:165px;height:165px}.landing-section{padding:50px 0}.landing .phases{gap:14px}.phase-card h3{margin-top:18px}.principle-strip{display:grid;grid-template-columns:1fr 1fr;font-size:10px}.closing-cta{padding:55px 0}.landing footer{align-items:start;flex-direction:column}.landing footer small{max-width:none}}

/* Altura uniforme para campos y combos, también en controles nativos de Safari. */
input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=date],
select {
    height: 44px;
    min-height: 44px;
    padding: 10px 12px;
    line-height: 1.4;
}
select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 36px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23173438' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
}
select:focus-visible {
    outline: 3px solid #cc9829;
    outline-offset: 3px;
}
