.access-public{height:auto!important;min-height:100vh;background:#f5f6f1!important;overflow:auto!important}.access-header{max-width:1240px;margin:auto;padding:23px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.access-brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:750;text-decoration:none}.access-brand img{width:40px;height:40px;background:#e4ede0;padding:8px;border-radius:11px}.access-header label{display:flex;align-items:center;gap:10px}.access-landing{max-width:1184px;margin:12px auto 0;display:grid;grid-template-columns:1.1fr 1fr;min-height:620px;border:1px solid #dce4dc;border-radius:16px;overflow:hidden;background:white}.access-hero{padding:62px 46px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,rgba(22,59,40,.91),rgba(24,59,40,.6)),url('assets/palm-landscape.png') center/cover;color:white}.access-kicker{font-size:10px;letter-spacing:2.4px;color:#d5dfc1}.access-hero h1{font-size:48px;line-height:1.12;letter-spacing:-1.7px;margin:23px 0}.access-hero p{font-size:16px;line-height:1.8;color:#e1e9d8;max-width:360px}.access-points{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 45px}.access-points span{border:1px solid #91a2897d;border-radius:5px;padding:6px 9px;font-size:11px}.access-hero small{color:#d5dfc1}.access-card{padding:40px 36px;display:flex;align-items:center}.access-card>div{width:100%}.access-card h2{font-size:27px;letter-spacing:-.5px;color:#284936;margin:7px 0 12px}.access-card p{color:#6b7b6e;margin:0 0 22px;line-height:1.7}.access-card .access-form{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.access-form label{display:flex;flex-direction:column;gap:5px;font-weight:600}.access-form input,.access-form select,.access-form textarea{width:100%;box-sizing:border-box}.access-form textarea{min-height:80px;padding:8px!important;resize:vertical}.access-wide{grid-column:1/-1}.access-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.access-card button{border:1px solid #cbd8c8;border-radius:6px;padding:11px 15px;font:600 12px inherit;cursor:pointer;background:white;color:#31543d}.access-card .access-primary{background:#24563f;color:white;border-color:#24563f}.access-card .access-back{padding:0;border:0;margin-bottom:15px;background:transparent;color:#627560}.access-message{background:#edf3e7;padding:12px;border:1px solid #cddfc5;border-radius:6px;margin:15px 0;color:#32583c}.access-footer{max-width:1160px;margin:18px auto;padding:0 18px;color:#7a877b;font-size:11px;text-align:center}.access-admin-tools{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.access-admin-table{overflow:auto}.access-admin-table th button{background:transparent;border:0;font:inherit;color:inherit;cursor:pointer}.access-review-actions{display:flex;gap:5px;flex-wrap:wrap}.access-admin-table td{vertical-align:top}.access-admin-table td:nth-child(2){min-width:180px}.access-admin-table small{display:block;color:#72806f}.access-admin-table .access-reason{max-width:270px;white-space:pre-wrap;overflow-wrap:anywhere}.access-admin-table .btn{padding:5px 8px;white-space:nowrap}.access-empty{padding:24px;text-align:center;color:#768372}@media(max-width:850px){.access-landing{margin:8px 18px;grid-template-columns:1fr}.access-hero{padding:32px;min-height:260px}.access-hero h1{font-size:35px}.access-points{margin:15px 0}.access-card{padding:28px}.access-header{padding:18px}}@media(max-width:480px){.access-form{grid-template-columns:1fr!important}.access-form>*{grid-column:1/-1}.access-header{flex-wrap:wrap}.access-hero h1{font-size:31px}.access-card{padding:23px}}
/* Compact public entry pages, including access and password recovery forms. */
.access-header{padding:16px 24px}.access-landing{min-height:490px;margin-top:6px;border-radius:10px}.access-hero{padding:36px}.access-hero h1{font-size:40px;margin:16px 0}.access-hero p{font-size:14px;line-height:1.6}.access-points{margin:20px 0 28px}.access-card{padding:28px}.access-card h2{font-size:23px;margin:6px 0 10px}.access-card p{margin-bottom:16px;line-height:1.5}.access-card .access-form{gap:10px}.access-card button{padding:8px 12px;min-height:34px}.access-footer{margin-top:12px}.access-empty{padding:18px}
@media(max-width:850px){.access-landing{min-height:0}.access-hero{min-height:220px;padding:24px}.access-hero h1{font-size:31px}.access-card{padding:22px}}
@media(pointer:coarse){.access-card button{min-height:40px}}
@media(max-width:1024px){.access-card button,.access-header select{min-height:44px}.access-form input,.access-form select,.access-form textarea{font-size:16px!important;min-height:44px}}
@media(max-width:480px){.access-header{padding:12px;gap:10px}.access-header label{font-size:12px}.access-header select{max-width:145px}.access-landing{margin:8px 12px}.access-hero{padding:20px;min-height:0}.access-hero h1{font-size:30px}.access-card{padding:20px}.access-brand{font-size:17px}.access-actions button{flex:1 1 130px}}

/* Supabase sign-in */
.access-card .access-link{border:0;background:transparent;padding:0;color:#2f6a49;text-decoration:underline;text-underline-offset:3px;min-height:0;flex:0 0 auto}
.access-card .access-actions{align-items:center;justify-content:space-between}
.access-card .access-actions .access-primary{flex:0 1 160px}
.access-card .access-alt{margin:22px 0 0;padding-top:16px;border-top:1px solid #e3eadf;font-size:12px}
.access-warn{background:#fff8e6;border-color:#f0dca6;color:#7a5a12}
.access-card button[disabled]{opacity:.55;cursor:not-allowed}
.access-card button[aria-busy=true]{cursor:progress}
.access-card .access-kicker{color:#6f8a64}
