/* Access controls live outside the canvas. The public visitor renderer never
   loads this file or receives these editing/publication controls. */
.admin-access-bar{margin:0 24px 14px;padding:10px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d9ddcf;border-radius:9px;background:#eceee4;color:#394434;font:11px/1.5 Arial,sans-serif}.admin-access-copy{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.admin-access-copy strong{font-size:10px;font-weight:600;letter-spacing:.04em}.admin-access-copy p{margin:0;color:#737b68}.admin-access-actions{display:flex;align-items:center;gap:13px;flex:none}.admin-access-actions a{color:#526648;text-decoration:none}.admin-access-actions a:hover{text-decoration:underline}.admin-access-actions button{font:inherit;cursor:pointer;border:1px solid #c5cbb9;border-radius:5px;padding:7px 11px;color:#394434;background:#fff7}.admin-access-actions #admin-publish{background:#526648;border-color:#526648;color:#fff}.admin-access-actions button:disabled{opacity:.55;cursor:wait}.admin-access-actions a:focus-visible,.admin-access-actions button:focus-visible{outline:3px solid #af906a;outline-offset:3px}
.auth-page{margin:0;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;font-family:Arial,sans-serif;color:#293326;background:#f4f1e9}.auth-page *{box-sizing:border-box}.auth-card{width:min(440px,calc(100% - 64px));margin:auto;padding:44px 0}.auth-brand{display:inline-flex;flex-direction:column;gap:4px;text-decoration:none;color:#293326;margin-bottom:60px}.auth-brand strong{font-size:25px;letter-spacing:.15em;font-weight:600}.auth-brand span{font-size:9px;letter-spacing:.65em;padding-left:3px}.auth-eyebrow{font-size:9px;letter-spacing:.17em;color:#9c805e}.auth-card h1{font:normal clamp(36px,4.4vw,56px)/1.06 Georgia,serif;letter-spacing:-.03em;margin:18px 0 22px}.auth-description{font-size:13px;line-height:1.8;color:#7a806f;max-width:350px;margin-bottom:30px}.auth-card form{display:flex;flex-direction:column;gap:9px}.auth-card label{font-size:11px;color:#737b68}.auth-card input{font:inherit;font-size:15px;min-height:46px;border:1px solid #d0d6c5;border-radius:6px;background:#fff8;padding:11px 13px;color:#293326;margin-bottom:9px;min-width:0}.auth-card input:focus{outline:2px solid #a9b69c;outline-offset:1px}.auth-card button{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:6px;background:#526648;color:#f4f1e9;min-height:47px;padding:12px 16px;font:inherit;font-size:12px;cursor:pointer;margin-top:7px}.auth-card button:disabled{opacity:.55;cursor:wait}.auth-card button span{font-size:22px}#admin-login-feedback{font-size:12px;line-height:1.6;color:#8d513d;min-height:20px;margin:3px 0}.auth-back{display:inline-block;margin-top:22px;font-size:11px;color:#6a765f;text-decoration:none}.auth-back:hover{text-decoration:underline}.auth-aside{position:relative;overflow:hidden;background:radial-gradient(ellipse at 30% 25%,#a8ae91,#707d60 47%,#45523e);display:flex;flex-direction:column;justify-content:center;padding:9vw;color:#e9e9d9}.auth-aside>p{font:normal clamp(34px,5vw,70px)/1.02 Georgia,serif;letter-spacing:-.02em;position:relative;z-index:1}.auth-aside>span{font-size:9px;letter-spacing:.2em;position:relative;z-index:1}.auth-orbit{position:absolute;width:55vw;height:55vw;left:5vw;top:17%;border:1px solid #f0e8d340;border-radius:50%;box-shadow:0 0 0 6vw #e8e5d009,0 0 0 12vw #e8e5d006}
@media(max-width:800px){.admin-access-bar{align-items:flex-start;gap:10px}.admin-access-copy{flex-direction:column;align-items:flex-start;gap:3px}.admin-access-actions{gap:8px}.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-card{width:min(430px,calc(100% - 48px));padding:32px 0}.auth-brand{margin-bottom:40px}}
@media(max-width:560px){.admin-access-bar{margin:0 12px 12px;flex-direction:column;padding:10px 12px}.admin-access-actions{width:100%;justify-content:space-between;gap:6px}.admin-access-actions a{font-size:10px}.admin-access-actions button{font-size:10px;padding:7px 9px}.admin-access-copy p{font-size:10px}.auth-brand{margin-bottom:28px}}
