:root{--auth-primary:#00c2e0;--auth-primary-soft:#64e0e7;--auth-primary-bg:#f0f7f8;--auth-primary-border:#bce7ef;--auth-bg:#f8f9fa;--auth-card-bg:#fff;--auth-card-border:#f0f0f0;--auth-text:#333;--auth-text-muted:#888;--auth-text-light:#a0a0a0;--auth-text-input:#555;--auth-error:#e3342f;--auth-success:#38c172;--auth-radius-sm:8px;--auth-radius-md:12px;--auth-radius-lg:40px;--auth-shadow-card:0 10px 30px #0000000a;--auth-shadow-btn:0 4px 12px #64e0e759;--auth-font:"Open Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--auth-transition:.25s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--auth-font);background-color:var(--auth-bg);min-height:100vh;color:var(--auth-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}.main-container{flex:1;justify-content:space-around;align-items:center;gap:2rem;width:100%;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;display:flex}.brand-section{max-width:450px}.logo{letter-spacing:-.5px;font-size:4rem;font-weight:700}.logo span{color:var(--auth-primary)}.slogan{color:var(--auth-text-muted);margin-bottom:1.5rem;font-size:1.2rem}.description{color:#555;font-size:1.05rem;line-height:1.7}.login-card{background:var(--auth-card-bg);border-radius:var(--auth-radius-lg);box-shadow:var(--auth-shadow-card);border:1px solid var(--auth-card-border);width:100%;max-width:420px;padding:2.5rem}.input-group{margin-bottom:1rem;position:relative}.input-group input,.input-group select,.full-select,.full-input,.select-wrapper select{background-color:var(--auth-primary-bg);border:1.5px solid var(--auth-primary-border);border-radius:var(--auth-radius-md);width:100%;font-size:.95rem;font-family:var(--auth-font);color:var(--auth-text-input);transition:border-color var(--auth-transition), box-shadow var(--auth-transition);outline:none;padding:13px 16px}.input-group input::placeholder{color:var(--auth-text-light)}.input-group input:focus,.input-group select:focus,.full-select:focus,.full-input:focus,.select-wrapper select:focus{border-color:var(--auth-primary);box-shadow:0 0 0 3px #00c2e01a}select,.full-select,.select-wrapper select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px;padding-right:40px!important}.input-group i{color:var(--auth-text-light);pointer-events:none;z-index:2;font-size:.95rem;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.input-group input{padding-right:42px}.input-group-container{margin-bottom:1.2rem}.input-group-container .input-group{margin-bottom:0}.forgot-pass{text-align:left;margin-bottom:.5rem;padding-left:4px}.forgot-pass a{color:var(--auth-text-light);transition:color var(--auth-transition);font-size:.8rem;text-decoration:none}.forgot-pass a:hover{color:var(--auth-primary)}.remember-me{color:var(--auth-text-light);cursor:pointer;align-items:center;gap:6px;font-size:.8rem;display:flex}.remember-me input[type=checkbox]{accent-color:var(--auth-primary-soft);border:1.5px solid var(--auth-primary-border);cursor:pointer;border-radius:3px;width:15px;height:15px}.field-label-top,.field-label{color:var(--auth-text-light);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.date-row{gap:12px;margin-bottom:.5rem;display:flex}.select-wrapper{text-align:center;flex:1}.select-wrapper label{color:var(--auth-text-light);margin-bottom:4px;font-size:.75rem;display:block}.gender-section{margin-bottom:1.5rem}.radio-group{gap:2rem;margin-top:8px;display:flex}.custom-radio{color:var(--auth-text-input);cursor:pointer;transition:color var(--auth-transition);align-items:center;gap:8px;font-size:.9rem;display:flex}.custom-radio:hover{color:var(--auth-primary)}.custom-radio input[type=radio]{accent-color:var(--auth-primary-soft);cursor:pointer;width:16px;height:16px}.btn-primary{background:linear-gradient(135deg, var(--auth-primary-soft), var(--auth-primary));border-radius:var(--auth-radius-md);color:#fff;cursor:pointer;width:100%;box-shadow:var(--auth-shadow-btn);font-size:1.05rem;font-weight:700;font-family:var(--auth-font);transition:transform var(--auth-transition), box-shadow var(--auth-transition), opacity var(--auth-transition);letter-spacing:.2px;border:none;margin-top:.75rem;padding:14px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px #64e0e773}.btn-primary:active{box-shadow:var(--auth-shadow-btn);transform:translateY(0)}.separator{text-align:center;margin:1.5rem 0;position:relative}.separator:before{content:"";z-index:1;background:#e8e8e8;width:100%;height:1px;position:absolute;top:50%;left:0}.separator span{background:var(--auth-card-bg);z-index:2;color:#ccc;text-transform:uppercase;letter-spacing:.5px;padding:0 12px;font-size:.75rem;font-weight:600;position:relative}.social-buttons{flex-direction:column;gap:.6rem;display:flex}.btn-social{border:1.5px solid var(--auth-primary-border);background:var(--auth-card-bg);border-radius:var(--auth-radius-md);color:#555;cursor:pointer;width:100%;font-size:.85rem;font-family:var(--auth-font);transition:border-color var(--auth-transition), background-color var(--auth-transition), transform var(--auth-transition);justify-content:center;align-items:center;gap:10px;padding:11px 16px;display:flex}.btn-social:hover{border-color:var(--auth-primary);background-color:var(--auth-primary-bg);transform:translateY(-1px)}.btn-social img{width:16px;height:16px}.btn-social i{font-size:1.1rem}.footer-link{text-align:center;color:var(--auth-text-light);margin-top:1.2rem;font-size:.85rem}.footer-link a{color:var(--auth-primary);transition:color var(--auth-transition);font-weight:600;text-decoration:none}.footer-link a:hover{color:var(--auth-primary-soft);text-decoration:underline}.helper-text{text-align:left;margin-bottom:1rem;padding-left:4px}.helper-text p,.helper-text span{color:var(--auth-text-light);font-size:.8rem;line-height:1.5}.auth-status{border-radius:var(--auth-radius-sm);margin-bottom:1rem;padding:10px 14px;font-size:.85rem;line-height:1.4}.auth-status--success{color:var(--auth-success);background-color:#38c17214;border:1px solid #38c17233}.auth-error-list{color:var(--auth-error);margin-top:-4px;margin-bottom:.75rem;padding-left:4px;font-size:.8rem;list-style:none}.auth-error-inline{color:var(--auth-error);margin-top:-8px;margin-bottom:10px;font-size:.8rem}.verify-email-text{color:var(--auth-text-input);margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.verify-email-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.btn-link{color:var(--auth-text-light);cursor:pointer;font-size:.85rem;font-family:var(--auth-font);transition:color var(--auth-transition);background:0 0;border:none;text-decoration:underline}.btn-link:hover{color:var(--auth-primary)}.site-footer{background:#fff;border-top:1px solid #eee;margin-top:auto;padding:1.5rem 2rem}.footer-content{max-width:1200px;color:var(--auth-text-light);justify-content:space-between;align-items:center;margin:0 auto;font-size:.8rem;display:flex}.footer-content .links a{color:var(--auth-text-light);transition:color var(--auth-transition);margin-right:15px;text-decoration:none}.footer-content .links a:hover{color:var(--auth-primary)}.social-icons a,.social-icons i{cursor:pointer;color:var(--auth-text-light);transition:color var(--auth-transition);margin-left:12px;font-size:1.15rem;text-decoration:none}.social-icons a:hover,.social-icons i:hover{color:var(--auth-primary)}@media (width<=900px){.main-container{text-align:center;flex-direction:column;padding:1.5rem}.brand-section{max-width:100%;margin-bottom:2rem}.login-card{max-width:100%}}@media (width<=480px){.login-card{border-radius:24px;padding:2rem 1.5rem}.logo{font-size:2.8rem}.slogan{font-size:1rem}.date-row{flex-direction:column;gap:.75rem}.radio-group{gap:1.5rem}.footer-content{text-align:center;flex-direction:column;gap:12px}.footer-content .links a{margin:4px 8px;display:inline-block}.social-icons i{margin:0 8px}}
