@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;700&display=swap'); :root { --primary-color: #3B82F6; --secondary-color: #10B981; --bg-color: #F9FAFB; --surface-color: #FFFFFF; --text-color: #1F2937; --light-gray: #6B7280; --primary-color-staff: #3B82F6; --secondary-color-resident: #10B981; --text-color-dark: #1F2937; --text-color-light: #6B7280; --background-light: #F9FAFB; --surface-white: #FFFFFF; --border-color: #E5E7EB; } body.login-page { font-family: 'Inter', sans-serif; background-color: var(--bg-color); color: var(--text-color); display: flex; align-items: center; justify-content: center; min-height: 100vh; margin: 0; } .login-container { max-width: 480px; width: 100%; padding: 2rem; } .login-card { background-color: var(--surface-color); border-radius: 0.75rem; padding: 3rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.05); text-align: center; } .login-card h1 { font-weight: 600; font-size: 1.5rem; margin-bottom: 0.5rem; } .login-card .subtitle { color: var(--light-gray); margin-bottom: 2.5rem; } .btn-block { display: block; width: 100%; padding: 1rem; font-size: 1rem; font-weight: 500; border-radius: 0.5rem; text-decoration: none; transition: transform 0.1s ease-in-out, box-shadow 0.1s ease-in-out; } .btn-block:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.1); } .btn-resident { background-color: var(--secondary-color); color: white; margin-bottom: 1rem; } .btn-staff { background-color: var(--primary-color); color: white; } .footer-text { text-align: center; margin-top: 2rem; color: var(--light-gray); font-size: 0.875rem; } /* Landing Page Styles */ body:not(.login-page) { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background-color: var(--surface-white); color: var(--text-color-dark); margin: 0; line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; } /* Header */ .site-header { background-color: var(--surface-white); box-shadow: 0 2px 4px rgba(0,0,0,0.05); padding: 1rem 0; position: sticky; top: 0; z-index: 100; } .site-header .container { display: flex; justify-content: space-between; align-items: center; } .site-header .logo { font-size: 1.5rem; font-weight: 700; color: var(--text-color-dark); font-family: 'Nunito', sans-serif; } .site-header nav { display: flex; align-items: center; gap: 1.5rem; } .site-header nav a { text-decoration: none; color: var(--text-color-light); font-weight: 600; transition: color 0.3s ease; } .site-header nav a:hover { color: var(--primary-color-staff); } .button { padding: 0.75rem 1.5rem; border-radius: 0.5rem; text-decoration: none; font-weight: 600; transition: all 0.3s ease; display: inline-block; } .button-primary { background-color: var(--primary-color-staff); color: white; } .button-primary:hover { background-color: #2563EB; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(59, 130, 246, 0.3); } .button-secondary { background-color: var(--secondary-color-resident); color: white; } .button-secondary:hover { background-color: #059669; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(16, 185, 129, 0.3); } /* Hero Section */ .hero { background: linear-gradient(to right, #EAF4FB, #EAF7EF); padding: 6rem 0; text-align: left; } .hero-container { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; } .hero-text h1 { font-family: 'Nunito', sans-serif; font-size: 3rem; font-weight: 700; line-height: 1.2; margin-bottom: 1rem; color: var(--text-color-dark); } .hero-text p { font-size: 1.125rem; color: var(--text-color-light); margin-bottom: 2rem; } .hero-buttons { display: flex; gap: 1rem; } .hero-image img { width: 100%; border-radius: 0.75rem; box-shadow: 0 10px 25px rgba(0,0,0,0.1); } /* Mission Section */ .mission-section { padding: 6rem 0; background-color: var(--surface-white); } .mission-container { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; } .mission-text h2 { font-family: 'Nunito', sans-serif; font-size: 2.5rem; font-weight: 700; margin-bottom: 1.5rem; color: var(--text-color-dark); } .mission-text blockquote { font-size: 1.25rem; font-style: italic; color: var(--text-color-light); border-left: 4px solid var(--secondary-color-resident); padding-left: 1.5rem; margin: 0 0 2rem 0; } .cta-link { font-weight: 600; color: var(--primary-color-staff); text-decoration: none; } .cta-link:hover { text-decoration: underline; } .mission-image img { width: 100%; border-radius: 0.75rem; } /* How It Works Section */ .how-it-works-section { padding: 6rem 0; background-color: var(--background-light); text-align: center; } .how-it-works-section h2 { font-family: 'Nunito', sans-serif; font-size: 2.5rem; font-weight: 700; margin-bottom: 1rem; } .how-it-works-section p { font-size: 1.125rem; color: var(--text-color-light); max-width: 600px; margin: 0 auto; } /* Footer */ .site-footer-main { background-color: var(--text-color-dark); color: var(--background-light); padding: 2rem 0; text-align: center; } /* Login Form Styles */ .btn-primary-custom { background-color: var(--primary-color); color: white; border: none; } .btn-primary-custom:hover { background-color: #2563EB; } .login-card .form-footer { margin-top: 1.5rem; font-size: 0.9rem; } .login-card .form-footer a { color: var(--light-gray); text-decoration: none; } .login-card .form-footer a:hover { text-decoration: underline; }