:root{--brand-dark-green:#214942;--brand-mid-green:#66696e;--brand-light-green:#d2e2db;--brand-burnt-orange:#c56937;--brand-cherry:#5a0a33;--brand-light-orange:#f2dece;--brand-light-cherry:#e1cecd;--brand-off-white:#fafcfb;--brand-dark-grey:#5e6367;--brand-light-grey:#d4d5da;--background:#fff;--foreground:var(--brand-dark-green);--primary:var(--brand-dark-green);--primary-hover:#1a3d37;--card-bg:#fff;--card-border:var(--brand-light-green);--text-secondary:var(--brand-mid-green);--error:#dc2626;--success:#16a34a}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Karla,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-content{flex:1}.site-footer{border-top:1px solid var(--card-border);background:var(--brand-off-white);color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 24px;padding:16px 24px;font-size:.8125rem;display:flex}.site-footer__link{color:var(--primary);font-weight:600;text-decoration:underline}.site-footer__link:hover{color:var(--primary-hover)}.auth-container{background:var(--background);flex-direction:column;min-height:100vh;display:flex}.auth-header{background-color:var(--brand-dark-green);justify-content:center;align-items:center;padding:48px 24px 24px;display:flex}.auth-header img{width:200px;height:auto}.auth-content{flex:1;width:100%;max-width:480px;margin:0 auto;padding:32px 24px}.auth-card{background:var(--card-bg);box-shadow:none;border-radius:16px;margin-bottom:12px;padding:24px;animation:.5s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-title{color:var(--primary);margin-bottom:8px;font-family:Cardo,Georgia,Times New Roman,serif;font-size:2rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:1rem;line-height:1.5}@media (max-width:480px){.auth-content{padding:24px 16px}.auth-card{padding:20px}}