:root{--brand-teal:#1fa98c;--brand-teal-dark:#0f7a63;--brand-magenta:#a9498f;--brand-bg:#f2f6f5;--brand-ink:#16241f;--brand-border:#e3ebe9;--font-body:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;--font-display:'Poppins','Inter','Segoe UI',system-ui,sans-serif}*,*::before,*::after{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.5;color:var(--brand-ink);background-color:var(--brand-bg);-webkit-text-size-adjust:100%}.guest-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 15% 15%,rgba(31,169,140,0.16) 0%,transparent 45%),radial-gradient(circle at 85% 85%,rgba(169,73,143,0.12) 0%,transparent 45%),var(--brand-bg);padding:2rem 1rem}.auth-card{width:100%;max-width:400px}.auth-card .card{background:#fff;border:none;border-radius:1.1rem;box-shadow:0 20px 45px rgba(10,40,34,0.12)}.auth-card .card-body{padding:2.5rem 2.25rem}.brand-logo-badge{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 6px 16px rgba(10,40,34,0.25);overflow:hidden;flex-shrink:0}.brand-logo-badge img{width:100%;height:100%;object-fit:contain;border-radius:50%}.brand-logo-badge--lg{width:96px;height:96px;padding:12px}.brand-wordmark{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--brand-ink);letter-spacing:-0.01em}.brand-wordmark .accent{color:var(--brand-teal)}h1{font-family:var(--font-display);margin:0}.h5{font-size:1.25rem;font-weight:700;line-height:1.2}p{margin:0}.small{font-size:0.875em}.text-center{text-align:center}.text-muted{color:#6b7c78}.auth-description{margin:0.35rem 0 1.5rem;font-size:0.88rem;line-height:1.55}.mb-1{margin-bottom:0.25rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.mx-auto{margin-left:auto;margin-right:auto;display:block}.w-100{width:100%}.form-label{display:inline-block;margin-bottom:0.5rem;font-size:0.9rem;font-weight:600}.form-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:0.5rem}.form-label-row .form-label{margin-bottom:0}.form-label-row a,.auth-footer-link a{color:var(--brand-teal-dark);font-size:0.85rem;font-weight:600;text-decoration:none}.form-label-row a:hover,.auth-footer-link a:hover{text-decoration:underline}.form-control{display:block;width:100%;padding:0.5rem 0.85rem;font-family:inherit;font-size:1rem;line-height:1.5;color:var(--brand-ink);background-color:#fff;border:1px solid var(--brand-border);border-radius:0.6rem;transition:border-color 0.15s ease,box-shadow 0.15s ease}.form-control:focus{outline:0;border-color:var(--brand-teal);box-shadow:0 0 0 0.2rem rgba(31,169,140,0.2)}.form-control::placeholder{color:#9aaba7}.form-text{margin-top:0.4rem;color:#6b7c78;font-size:0.78rem}.auth-heading-icon{display:flex;width:3rem;height:3rem;margin:0 auto 1rem;align-items:center;justify-content:center;color:var(--brand-teal-dark);background:#e4f6f1;border-radius:50%}.auth-heading-icon svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-footer-link{margin-top:1.25rem;text-align:center}.password-field{position:relative;width:100%}.password-field .form-control{padding-right:3rem}.password-toggle{position:absolute;top:50%;right:0.45rem;display:inline-flex;width:2.25rem;height:2.25rem;padding:0;align-items:center;justify-content:center;color:#60736e;background:transparent;border:0;border-radius:0.45rem;cursor:pointer;transform:translateY(-50%)}.password-toggle:hover{color:var(--brand-teal-dark)}.password-toggle:focus-visible{color:var(--brand-teal-dark);outline:2px solid var(--brand-teal);outline-offset:1px}.password-toggle-icon{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle-slash{display:none}.password-toggle.is-visible .password-toggle-slash{display:block}.form-check{display:flex;align-items:center;gap:0.5rem}.form-check-input{width:1rem;height:1rem;margin:0;accent-color:var(--brand-teal);flex-shrink:0}.form-check-label{font-size:0.9rem;cursor:pointer}.btn{display:inline-block;padding:0.6rem 1.1rem;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.5;text-align:center;border:1px solid transparent;border-radius:0.6rem;cursor:pointer;transition:background-color 0.15s ease}.btn-primary{color:#fff;background-color:var(--brand-teal);border-color:var(--brand-teal)}.btn-primary:hover,.btn-primary:focus-visible{background-color:var(--brand-teal-dark);border-color:var(--brand-teal-dark)}.btn:focus-visible{outline:2px solid var(--brand-teal-dark);outline-offset:2px}.alert{padding:0.75rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:0.6rem}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-success{color:#0f5132;background-color:#dff4ea;border-color:#b8e4d2}@media (prefers-reduced-motion:reduce){.form-control,.btn{transition:none}}