:root{--pine:#173d2b;--red:#ad463d;--gold:#c7a66b;--cream:#faf7ef;--paper:#fffdf8;--ink:#27342b;--line:#e8e5db;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#f0e8d7,var(--cream) 58%);color:var(--ink);font-family:var(--sans);display:grid;place-items:center;padding:28px}.access-shell{width:min(100%,440px);display:flex;flex-direction:column;align-items:center}.access-brand{color:var(--pine);text-decoration:none;font-size:19px;font-weight:700;margin-bottom:23px}.access-brand:first-letter{color:var(--red)}.access-brand i{font-family:var(--serif)}.access-card{width:100%;padding:32px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 55px #24392712;border-radius:5px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--red);font-weight:700;margin:0 0 11px}.access-card h1{font:600 30px/1.15 var(--serif);color:var(--pine);margin:0 0 11px}.intro{font-size:12px;line-height:1.7;color:#788076;margin:0 0 22px}.access-card label{display:block;color:#465347;font-size:10px;font-weight:700;margin:14px 0}.access-card input{display:block;width:100%;height:43px;border:1px solid #dedbce;border-radius:3px;background:white;margin-top:7px;padding:0 12px;font:12px var(--sans);color:var(--ink);outline:none}.access-card input:focus{border-color:#6a8a69;box-shadow:0 0 0 3px #456f441c}.access-card label small{display:block;margin-top:6px;color:#8c9187;font-weight:400}.primary,.secondary{min-height:43px;border:0;border-radius:3px;padding:0 15px;background:var(--pine);color:white;font:600 11px var(--sans);text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer}.primary{width:100%;margin-top:19px}.primary span,.secondary span{color:#e6cb91;font-size:15px}.primary:hover{background:#24553a}.secondary{width:100%;background:#a9473d}.secondary:hover{background:#91382f}.admin-actions{display:grid;gap:9px}.link-button{margin-top:0}.form-message{min-height:17px;margin:11px 0 0;color:#a63e33;font-size:10px;line-height:1.5}.form-message.success{color:#3c7444}.access-help{border-top:1px solid var(--line);padding-top:13px;margin:14px 0 0;color:#96978d;font-size:9px;line-height:1.6}.admin-link{margin-top:16px;color:#81897d;font-size:10px;text-decoration:none}.admin-link:hover{color:var(--red)}.link-result{margin-top:17px;padding:13px;background:#f3f1e8;border:1px solid #e6e1d3;border-radius:3px;display:grid;gap:8px}.link-result[hidden]{display:none}.link-result strong{font-size:9px;color:#6e7568}.link-result a{font-size:10px;color:var(--pine);overflow-wrap:anywhere}.copy-button{justify-self:start;border:1px solid #d8d3c6;border-radius:3px;padding:7px 10px;background:var(--paper);color:var(--pine);font:600 9px var(--sans);cursor:pointer}@media(max-width:480px){body{padding:20px}.access-card{padding:25px 21px}.access-card h1{font-size:26px}}
:where([hidden]){display:none!important}.register-success{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.install-mark{width:54px;height:54px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:#f1ead8;font-size:27px}.install-prompt-title{margin:0 0 7px;text-align:center;color:var(--pine);font:600 21px/1.25 var(--serif)}.install-prompt-copy{margin:0 auto 17px;max-width:320px;text-align:center;color:#788076;font-size:12px;line-height:1.7}.install-status,.install-manual-help{margin:10px 0 0;color:#526154;font-size:11px;line-height:1.65}.install-manual-help{padding:11px 12px;border-radius:4px;background:#f3f1e8}.register-success .secondary{margin-top:13px}@media(max-width:480px){.install-prompt-title{font-size:20px}.install-prompt-copy{font-size:13px}.register-success .primary,.register-success .secondary{min-height:48px;font-size:12px}}
.password-field{position:relative;display:block;margin-top:7px}.access-card .password-field input{margin-top:0;padding-right:48px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#647365;cursor:pointer}.password-toggle:hover{background:#f0eee6;color:var(--pine)}.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-slash{display:block}.password-toggle.is-visible .eye-slash{display:none}.password-help{display:block;margin-top:6px;color:#8c9187;font-size:10px}
.form-message{font-size:12px;min-height:20px}.primary:disabled{opacity:.72;cursor:wait}
