.layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:#10306b;border-bottom:1px solid #faae44;padding:1rem 0}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.logo-icon{width:40px;height:40px}.nav{display:flex;gap:1rem;align-items:center}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.nav-link:hover{background-color:#faae44;color:#10306b}.nav-link-primary{background-color:#faae44;color:#10306b;font-weight:600}.nav-link-primary:hover{background-color:#fff}.nav-button{color:#fff;background-color:transparent;border:1px solid white;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.nav-button:hover{background-color:#faae44;color:#10306b;border-color:#faae44}.main{flex:1;display:flex;justify-content:center;padding:2rem}.content{width:100%;max-width:1200px}.landing-page{text-align:center;padding:4rem 2rem;max-width:800px;margin:0 auto}.landing-page .logo{max-width:300px;height:auto;margin-bottom:2rem;justify-self:center}.landing-page h1{font-size:3rem;margin-bottom:1rem;color:#10306b}.landing-page p{font-size:1.25rem;color:#6c757d;margin-bottom:2rem;line-height:1.6}.cta{margin-top:2rem}.button{display:inline-block;padding:.75rem 2rem;background-color:#10306b;color:#fff;text-decoration:none;border-radius:4px;font-size:1.125rem;transition:background-color .2s;font-weight:600}.button:hover{background-color:#faae44;color:#10306b}.dashboard-page{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:#2d3748;font-size:2rem;margin-bottom:.5rem}.dashboard-subtitle{color:#718096;font-size:1rem}.loading{text-align:center;padding:3rem;color:#718096;font-size:1.1rem}.error-message{background:#fff5f5;border:1px solid #fc8181;border-radius:8px;padding:1.5rem;color:#c53030;margin-bottom:1rem}.error-message h2{margin-top:0;margin-bottom:.5rem;font-size:1.25rem}.error-message button{margin-top:1rem}.dashboard-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.dashboard-section h2{color:#2d3748;font-size:1.5rem;margin-top:0;margin-bottom:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin-bottom:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{color:#718096;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.info-value{color:#2d3748;font-size:1.25rem;font-weight:600}.frequency-form{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-top:1.5rem}.frequency-form h3{color:#2d3748;font-size:1.25rem;margin-top:0;margin-bottom:.5rem}.form-description{color:#718096;font-size:.875rem;margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group label{color:#4a5568;font-size:.875rem;font-weight:500}.form-group input{padding:.75rem;border:1px solid #cbd5e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.placeholder-message{text-align:center;padding:2rem;color:#718096}.placeholder-message p{margin:.5rem 0}.placeholder-details{font-size:.875rem}.add-user-form{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.add-user-form h3{color:#2d3748;font-size:1.25rem;margin-top:0;margin-bottom:1rem}.users-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0}.users-table{width:100%;border-collapse:collapse;font-size:.875rem}.users-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.users-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#4a5568;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.users-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#2d3748}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background:#f7fafc}.email-cell{font-weight:500}.stat-col{text-align:center;font-weight:600}.stat-col.danger{color:#e53e3e}.stat-col.warning{color:#d69e2e}.stat-col.success{color:#38a169}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.verified{background:#c6f6d5;color:#22543d}.status-badge.unverified{background:#fed7d7;color:#742a2a}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:#e6fffa;color:#234e52}.btn-primary{background:#667eea;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#5a67d8}.btn-primary:disabled{background:#cbd5e0;cursor:not-allowed}.btn-secondary{background:#fff;color:#4a5568;padding:.75rem 1.5rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f7fafc;border-color:#a0aec0}.btn-link{background:none;color:#667eea;padding:.25rem .5rem;border:none;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:underline}.btn-link:hover{color:#5a67d8}@media(max-width:768px){.dashboard-page{padding:1rem}.dashboard-section{padding:1.5rem}.info-grid,.form-row{grid-template-columns:1fr}.users-table{font-size:.75rem}.users-table th,.users-table td{padding:.5rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}}.signup-page{max-width:450px;margin:0 auto;padding:4rem 2rem}.signup-page h1{font-size:2.5rem;margin-bottom:1rem;color:#10306b;text-align:center}.signup-page h2{font-size:1.75rem;margin-bottom:1rem;color:#10306b;text-align:center}.signup-page p{font-size:1.125rem;color:#6c757d;margin-bottom:2rem;text-align:center}.success-message{text-align:center;padding:2rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin-top:2rem}.success-message h1{color:#155724;font-size:2rem;margin-bottom:.5rem}.success-message h2{color:#155724;font-size:1.5rem;margin-bottom:1rem}.success-message p{color:#155724;margin-bottom:1rem}.success-message .instructions{background-color:#fff;border:1px solid #c3e6cb;border-radius:4px;padding:1.5rem;margin:1.5rem 0;text-align:left}.success-message .instructions p{font-weight:600;margin-bottom:.75rem;text-align:center}.success-message .instructions ol{margin:0;padding-left:1.5rem;color:#155724}.success-message .instructions li{margin-bottom:.5rem}.success-message .email-note{font-size:.9rem;color:#155724;background-color:#ffffff80;padding:1rem;border-radius:4px;margin-top:1.5rem}.success-message .signin-note{margin-top:1.5rem;font-size:1rem}.success-message a{color:#10306b;font-weight:600;text-decoration:none}.success-message a:hover{text-decoration:underline}.signup-form{display:flex;flex-direction:column;gap:1.5rem}.password-hint{font-size:.875rem;color:#6c757d;margin:0;padding:0}.signin-link{text-align:center;margin-top:2rem;color:#6c757d}.signin-link a{color:#10306b;text-decoration:none;font-weight:600}.signin-link a:hover{text-decoration:underline}.signin-page{max-width:450px;margin:0 auto;padding:4rem 2rem}.signin-page h1{font-size:2.5rem;margin-bottom:1rem;color:#10306b;text-align:center}.signin-page p{font-size:1.125rem;color:#6c757d;margin-bottom:2rem;text-align:center}.success-banner{padding:1rem;background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:4px;margin-bottom:2rem;text-align:center;font-weight:500}.social-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.social-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.5rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#333;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.social-button:hover{background-color:#f8f9fa;border-color:#10306b}.social-button .icon{font-size:1.25rem}.social-button.google:hover{background-color:#f8f9fa}.social-button.facebook:hover{background-color:#e7f3ff}.social-button.apple:hover{background-color:#f5f5f5}.divider{position:relative;text-align:center;margin:2rem 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#ddd}.divider span{position:relative;display:inline-block;padding:0 1rem;background-color:#fff;color:#6c757d;font-size:.875rem}.signin-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.label{font-weight:600;color:#10306b;font-size:1rem}.input{padding:.75rem;font-size:1rem;border:1px solid #ddd;border-radius:4px}.input:focus{outline:none;border-color:#10306b}.error-message{padding:.75rem;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;font-size:.9rem}.signup-link{text-align:center;margin-top:2rem;color:#6c757d}.signup-link a{color:#10306b;text-decoration:none;font-weight:600}.signup-link a:hover{text-decoration:underline}.auth-callback-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem}.loading-state,.error-state{text-align:center;max-width:500px}.loading-state h1,.error-state h1{font-size:2rem;color:#10306b;margin-bottom:1rem}.loading-state p,.error-state p{font-size:1.125rem;color:#6c757d;margin-bottom:.5rem}.redirect-message{font-style:italic;margin-top:1rem}.account-setup-page{max-width:600px;margin:0 auto;padding:4rem 2rem}.account-setup-page h1{font-size:2.5rem;margin-bottom:1rem;color:#10306b;text-align:center}.account-setup-page p{font-size:1.125rem;color:#6c757d;margin-bottom:3rem;text-align:center}.loading-state{text-align:center;padding:4rem 2rem}.spinner{width:50px;height:50px;margin:0 auto 2rem;border:4px solid #f3f3f3;border-top:4px solid #10306b;border-radius:50%;animation:spin 1s linear infinite}.setup-form{display:flex;flex-direction:column;gap:2rem}.form-group{display:flex;flex-direction:column;gap:1rem}.label{font-weight:600;color:#10306b;font-size:1.125rem;text-align:center}.account-type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.account-card{position:relative;padding:1.5rem;border:2px solid #ddd;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s}.account-card:hover{border-color:#10306b;box-shadow:0 2px 8px #10306b1a}.account-card.selected{border-color:#10306b;background-color:#f0f4ff;box-shadow:0 2px 8px #10306b33}.account-card input[type=radio]{position:absolute;opacity:0;width:0;height:0}.card-content{text-align:center}.card-icon{font-size:3rem;margin-bottom:.5rem}.card-title{font-size:1.125rem;font-weight:600;color:#10306b;margin-bottom:.25rem}.card-description{font-size:.875rem;color:#6c757d}.input{padding:.75rem;font-size:1rem;border:1px solid #ddd;border-radius:4px;background-color:#f8f9fa}.input:disabled{cursor:not-allowed;opacity:.7}.email-note{font-size:.875rem;color:#6c757d;margin:0;text-align:center}.error-message{padding:.75rem;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;font-size:.9rem;text-align:center}.submit-button{padding:.75rem 2rem;background-color:#10306b;color:#fff;border:none;border-radius:4px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:#faae44;color:#10306b}.submit-button:disabled{opacity:.6;cursor:not-allowed}.verify-email-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem}.verify-card{max-width:500px;width:100%;text-align:center;padding:3rem 2rem;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a}.verify-card h1{font-size:2rem;color:#10306b;margin-bottom:1rem}.verify-card p{font-size:1.125rem;color:#6c757d;margin-bottom:1rem}.spinner{width:60px;height:60px;margin:0 auto 2rem;border:5px solid #f3f3f3;border-top:5px solid #10306b;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.verify-card.success{background-color:#d4edda;border-color:#c3e6cb}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;background-color:#28a745;color:#fff;font-size:3rem;line-height:80px;border-radius:50%;font-weight:700}.verify-card.success h1,.verify-card.success p{color:#155724}.redirect-message{font-style:italic;font-size:1rem;margin-top:1.5rem}.signin-link{display:inline-block;margin-top:1.5rem;padding:.75rem 2rem;background-color:#10306b;color:#fff;text-decoration:none;border-radius:4px;font-weight:600;transition:background-color .2s}.signin-link:hover{background-color:#faae44;color:#10306b}.verify-card.error{background-color:#f8d7da;border-color:#f5c6cb}.error-icon{width:80px;height:80px;margin:0 auto 1.5rem;background-color:#dc3545;color:#fff;font-size:3rem;line-height:80px;border-radius:50%;font-weight:700}.verify-card.error h1,.verify-card.error p{color:#721c24}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.action-link{padding:.75rem 1.5rem;background-color:#10306b;color:#fff;text-decoration:none;border-radius:4px;font-weight:600;transition:background-color .2s}.action-link:hover{background-color:#faae44;color:#10306b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
