/* Shared login presentation. Authentication remains in the original index script. */
html{min-height:100%;background:#f1f5f2}
body.access-page{margin:0;padding:0;min-height:100vh;font-family:"Segoe UI",Arial,sans-serif;font-size:15px;color:#244333;background:#f1f5f2}
.access-page *{box-sizing:border-box;font-size:inherit}
.access-page .access-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}
.access-page .access-intro{display:flex;flex-direction:column;justify-content:center;padding:70px max(40px,calc((100vw - 1100px)/2));padding-right:64px;background:#174f35;color:#fff;position:relative;overflow:hidden}
.access-page .access-brand{font-size:12px;letter-spacing:.17em;font-weight:700;margin:0 0 52px;display:flex;align-items:center;gap:12px}
.access-page .brand-mark{display:grid;grid-template-columns:repeat(2,8px);gap:4px;padding:9px;border:1px solid #ffffff50;border-radius:8px}
.access-page .brand-mark i{width:8px;height:8px;background:#b5dfbe;border-radius:1px}
.access-page .version-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;border:1px solid #ffffff40;background:#ffffff0c;border-radius:20px;padding:7px 12px;font-size:12px;line-height:18px}
.access-page .version-badge:before{content:"";width:7px;height:7px;background:#b8df8d;border-radius:50%}
.access-page h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.04em;line-height:1.12;font-weight:600;margin:22px 0 16px}
.access-page .intro-copy{font-size:17px;line-height:1.7;color:#d1e4d8;max-width:380px;margin:0}
.access-page .sheet-decoration{width:100%;max-width:340px;height:125px;margin:38px 0;border:1px solid #ffffff2b;border-radius:8px;background:repeating-linear-gradient(0deg,transparent,transparent 30px,#ffffff12 30px,#ffffff12 31px),repeating-linear-gradient(90deg,transparent,transparent 83px,#ffffff12 83px,#ffffff12 84px);position:relative}
.access-page .sheet-decoration:before{content:"";display:block;height:30px;background:#ffffff12;border-radius:7px 7px 0 0;border-bottom:1px solid #ffffff24}
.access-page .sheet-decoration:after{content:"";position:absolute;left:83px;top:60px;width:85px;height:33px;border:2px solid #badf94;background:#badf9418}
.access-page .version-switch{margin-top:4px;max-width:380px;border-top:1px solid #ffffff2b;padding-top:25px}
.access-page .switch-description{font-size:13px;line-height:1.6;color:#d1e4d8;margin:0 0 14px}
.access-page .version-link{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:13px 18px;background:#e2f0d3;color:#174f35;text-decoration:none;border:1px solid transparent;border-radius:7px;font-size:14px;font-weight:600;transition:background .15s}
.access-page .version-link:hover{background:#fff}
.access-page .version-link:focus-visible,.access-page button:focus-visible{outline:3px solid #90bf64;outline-offset:4px}
.access-page .access-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;background-image:linear-gradient(#21734605 1px,transparent 1px),linear-gradient(90deg,#21734605 1px,transparent 1px);background-size:32px 32px}
.access-page .access-card{background:#fff;border:1px solid #dee7df;border-radius:14px;box-shadow:0 14px 50px #2443330a;width:100%;max-width:400px;padding:36px}
.access-page .card-kicker{color:#627767;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin:0 0 9px}
.access-page h2{font-size:26px;font-weight:600;letter-spacing:-.025em;color:#213f2e;margin:0 0 10px}
.access-page .card-description{font-size:14px;color:#69776d;line-height:1.6;margin:0 0 28px}
.access-page #fm_sesion{margin:0;padding:0}
.access-page .access-field{margin-bottom:20px}
.access-page .access-field label{display:block;font-size:13px;font-weight:600;color:#39513f;margin-bottom:8px}
.access-page .access-field input{display:block;width:100%;height:46px;padding:10px 12px;border:1px solid #c8d6cb;border-radius:6px;background-color:#fff;font-family:inherit;font-size:16px;color:#213f2e;box-shadow:0 1px 2px #203d2905}
.access-page .access-field input:focus{outline:3px solid #2173461c;border-color:#217346}
.access-page .access-field input.validatebox-invalid{background-color:#fffaf8;border-color:#d4b8a9}
.access-page .access-submit{width:100%;border:1px solid #217346;background:#217346;color:white;min-height:46px;border-radius:6px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}
.access-page .access-submit:hover{background:#185a36}
.access-page .access-help{display:block;text-align:center;color:#596f5f;font-size:12px;margin-top:20px;text-underline-offset:3px}
.access-page .access-footer{text-align:center;font-size:11px;line-height:1.8;color:#7b897f;margin:24px 0 0}
.access-page .access-footer a{color:#617567;text-underline-offset:3px}
@media(max-width:760px){
 .access-page .access-wrap{display:block}
 .access-page .access-intro{padding:28px 24px 30px}
 .access-page .access-brand{margin-bottom:26px;font-size:11px}
 .access-page h1{font-size:34px;margin:16px 0 12px}
 .access-page .intro-copy{font-size:15px;max-width:none}
 .access-page .sheet-decoration{display:none}
 .access-page .version-switch{margin-top:24px;padding-top:20px;max-width:none}
 .access-page .version-link{width:100%;min-height:46px}
 .access-page .access-main{padding:24px 16px}
 .access-page .access-card{padding:26px 24px;max-width:440px}
 .access-page .access-footer{margin-top:18px}
}
