/* Access tokens and components adapted from Distrito Countries, read-only reference. */
:root{font-family:'Manrope',system-ui,sans-serif;color:#102a38;background:#f6f1e8;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}[hidden]{display:none!important}
.access-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.access-topbar{background:#fff;border-bottom:1px solid #dde8e2;padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
.access-topbar-inner{max-width:1180px;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:auto}
.access-topbar img{display:block;max-width:50%;height:auto}.access-private{font-size:12px;color:#486263}
.access-main{width:100%;flex:1;display:grid;place-items:center;padding:36px 20px;scroll-padding-block:24px}
.access-card{width:min(100%,460px);min-width:0;background:#fff;border:1px solid #dde8e2;border-radius:14px;box-shadow:0 1px 2px #0000000a;padding:30px 32px}
.access-copy{text-align:center;margin-bottom:26px}.access-mark{display:block;margin:0 auto 18px}
.access-copy h1{margin:0 0 8px;color:#063047;font-size:26px;line-height:1.15;letter-spacing:-.025em;font-weight:820}
.access-copy p{margin:0;color:#486263;font-size:14px;line-height:1.4}
#access-form{display:grid;gap:18px}.access-field{display:grid;gap:8px;color:#2f4a4a;font-size:13px;font-weight:760;min-width:0}
.access-field input{width:100%;min-width:0;min-height:48px;border:1px solid #dde8e2;border-radius:10px;background:#fff;color:#102a38;padding:11px 13px;font-size:16px;outline:none;scroll-margin-block:100px;transition:border-color .12s,box-shadow .12s}
.access-field input:focus{border-color:#8db8a1;box-shadow:0 0 0 4px #6f9b7a29}
.access-field input:disabled{color:#486263;background:#f7faf8}
.access-password-control{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:6px;min-width:0}
.access-password-toggle{position:relative;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dde8e2;border-radius:10px;background:#fff;color:#486263;cursor:pointer;transition:background .12s,border-color .12s}
.access-password-toggle svg{width:22px;height:22px}.access-password-toggle:hover{background:#f7faf8;border-color:#8db8a1;color:#0b4a45}
.access-password-toggle[aria-pressed=true]{background:#eaf6ef;border-color:#8db8a1;color:#0b4a45}
.access-password-toggle[aria-pressed=true]:after{content:'';position:absolute;width:24px;height:2px;border-radius:2px;background:currentColor;transform:rotate(-42deg)}
.access-submit{width:100%;min-height:48px;display:flex;gap:10px;align-items:center;justify-content:center;border:1px solid #0b4a45;border-radius:10px;background:#0b4a45;color:#fff;font-size:15px;font-weight:750;cursor:pointer;transition:background .12s,transform .12s}
.access-submit:hover{background:#083c38}.access-submit:active{transform:translateY(1px)}
.access-submit:disabled{cursor:wait;opacity:.78}.access-password-toggle:disabled{cursor:wait}
button:focus-visible{outline:3px solid #6f9b7a70;outline-offset:3px}
.access-spinner{width:17px;height:17px;border:2px solid #ffffff61;border-top-color:#fff;border-radius:50%;animation:access-spin .8s linear infinite}
.access-message{margin:0;padding:11px 12px;border:1px solid #ead8d0;border-radius:10px;background:#fff8f4;color:#7c3c29;font-size:13px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.access-note{margin:22px 0 0;text-align:center;color:#607575;font-size:12px;line-height:1.5}
.access-footer{text-align:center;color:#607575;font-size:11px;line-height:1.5;padding:0 max(20px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
@keyframes access-spin{to{transform:rotate(360deg)}}
@media(max-width:560px){.access-topbar-inner{min-height:62px}.access-topbar img{width:148px}.access-main{padding:24px 14px}.access-card{padding:26px 22px;border-radius:12px}.access-copy h1{font-size:24px}.access-footer{max-width:330px;margin:auto}}
@media(max-height:640px){.access-main{place-items:start center;padding-block:18px}.access-copy{margin-bottom:18px}.access-mark{width:42px;height:42px;margin-bottom:12px}.access-footer{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.access-spinner{border-top-width:4px}}
