html,body,#root{min-height:100%;margin:0}.auth-shell{background:radial-gradient(circle at 20% 15%,#5a8c4238,#0000 45%),radial-gradient(circle at 80% 85%,#e28f002e,#0000 40%),linear-gradient(135deg,#f7f6f0 0%,#f1efe8 60%,#e9f0e6 100%);place-items:center;min-height:100vh;padding:24px;font-family:Open Sans,sans-serif;display:grid}.auth-card{background:#fff;border:1px solid #2f5f3626;border-radius:16px;width:min(440px,100%);padding:28px;box-shadow:0 12px 30px #1e372426}.auth-card h1{color:#1f3a24;margin:0;font-family:Marcellus,serif;font-size:1.7rem}.auth-subtitle{color:#4e5b50;margin:8px 0 20px}.auth-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.auth-switch-btn{color:#2f5f36;cursor:pointer;background:#f8faf7;border:1px solid #d9dfd4;border-radius:10px;padding:10px 12px;font-weight:700}.auth-switch-btn.is-active{color:#fff;background:#2f5f36;border-color:#2f5f36}.auth-form{gap:12px;display:grid}.auth-form label{color:#2b3e30;gap:6px;font-weight:600;display:grid}.auth-form input{border:1px solid #d7dfd3;border-radius:10px;padding:11px 12px;font-size:1rem}.auth-form textarea{resize:vertical;border:1px solid #d7dfd3;border-radius:10px;padding:11px 12px;font-family:inherit;font-size:1rem}.auth-form input:focus,.auth-form textarea:focus{border-color:#2f5f36;outline:none;box-shadow:0 0 0 3px #2f5f3626}.auth-error{color:#b93a2f;margin:0;font-size:.94rem}.auth-divider{text-align:center;color:#7b8478;margin:14px 0;font-weight:600}.auth-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.auth-btn{cursor:pointer;text-align:center;border:0;border-radius:10px;padding:11px 14px;font-size:.98rem;font-weight:700;text-decoration:none}.auth-btn:disabled{cursor:not-allowed;opacity:.7}.auth-btn-primary{color:#fff;background:linear-gradient(135deg,#2f5f36,#3d7a46)}.auth-btn-outline{color:#2f5f36;background:#fff;border:1px solid #2f5f36}.auth-btn-google{color:#26362a;background:linear-gradient(135deg,#fff,#f3f5f2);border:1px solid #d6ddd1;width:100%}.auth-success p{color:#2f3f32;margin:0}@media (width<=560px){.auth-card{padding:20px}.auth-actions{grid-template-columns:1fr}}.profile-shell{background:radial-gradient(circle at 82% 16%,#2f5f362e,#0000 45%),radial-gradient(circle at 14% 90%,#e28f0033,#0000 48%),linear-gradient(135deg,#f8f5ea 0%,#f1f5ec 56%,#e8f0e4 100%);place-items:center;min-height:100vh;padding:24px;font-family:Open Sans,sans-serif;display:grid}.profile-card{background:#fff;border:1px solid #2f5f3626;border-radius:16px;width:min(560px,100%);padding:28px;box-shadow:0 14px 30px #1a3a2029}.profile-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.profile-head h1{color:#203526;margin:0;font-family:Marcellus,serif;font-size:1.65rem}.profile-back-link{color:#2f5f36;font-weight:700;text-decoration:none}.profile-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.profile-menu-btn{color:#2f5f36;cursor:pointer;background:#f8faf7;border:1px solid #d9dfd4;border-radius:10px;padding:10px 12px;font-weight:700}.profile-menu-btn.is-active{color:#fff;background:#2f5f36;border-color:#2f5f36}.profile-form{gap:12px;display:grid}.profile-form label{color:#2b3e30;gap:6px;font-weight:600;display:grid}.profile-form input,.profile-form textarea{border:1px solid #d7dfd3;border-radius:10px;padding:11px 12px;font-family:inherit;font-size:1rem}.profile-form textarea{resize:vertical}.profile-form input:focus,.profile-form textarea:focus{border-color:#2f5f36;outline:none;box-shadow:0 0 0 3px #2f5f3626}.profile-form input:disabled{color:#627163;background:#f1f4ef}.profile-btn{cursor:pointer;border:0;border-radius:10px;padding:11px 14px;font-size:.98rem;font-weight:700}.profile-btn-primary{color:#fff;background:linear-gradient(135deg,#2f5f36,#3d7a46)}.profile-btn-outline{color:#2f5f36;background:#fff;border:1px solid #2f5f36}.profile-signout-panel p,.profile-muted{color:#4e5b50;margin:0 0 14px}.profile-error{color:#b93a2f;margin:0;font-size:.94rem}.profile-success{color:#1f6a34;margin:0;font-size:.94rem}@media (width<=560px){.profile-card{padding:20px}.profile-head{flex-direction:column;align-items:flex-start}}
