*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-weight:400;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}:root{--PhoneInput-color--focus: #03b2cb;--PhoneInputInternationalIconPhone-opacity: .8;--PhoneInputInternationalIconGlobe-opacity: .65;--PhoneInputCountrySelect-marginRight: .35em;--PhoneInputCountrySelectArrow-width: .3em;--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);--PhoneInputCountrySelectArrow-borderWidth: 1px;--PhoneInputCountrySelectArrow-opacity: .45;--PhoneInputCountrySelectArrow-color: currentColor;--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);--PhoneInputCountrySelectArrow-transform: rotate(45deg);--PhoneInputCountryFlag-aspectRatio: 1.5;--PhoneInputCountryFlag-height: 1em;--PhoneInputCountryFlag-borderWidth: 1px;--PhoneInputCountryFlag-borderColor: rgba(0,0,0,.5);--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,.1)}.PhoneInput{display:flex;align-items:center}.PhoneInputInput{flex:1;min-width:0}.PhoneInputCountryIcon{width:calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));height:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--square{width:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--border{background-color:var(--PhoneInputCountryFlag-backgroundColor--loading);box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor)}.PhoneInputCountryIconImg{display:block;width:100%;height:100%}.PhoneInputInternationalIconPhone{opacity:var(--PhoneInputInternationalIconPhone-opacity)}.PhoneInputInternationalIconGlobe{opacity:var(--PhoneInputInternationalIconGlobe-opacity)}.PhoneInputCountry{position:relative;align-self:stretch;display:flex;align-items:center;margin-right:var(--PhoneInputCountrySelect-marginRight)}.PhoneInputCountrySelect{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;border:0;opacity:0;cursor:pointer}.PhoneInputCountrySelect[disabled],.PhoneInputCountrySelect[readonly]{cursor:default}.PhoneInputCountrySelectArrow{display:block;content:"";width:var(--PhoneInputCountrySelectArrow-width);height:var(--PhoneInputCountrySelectArrow-width);margin-left:var(--PhoneInputCountrySelectArrow-marginLeft);border-style:solid;border-color:var(--PhoneInputCountrySelectArrow-color);border-top-width:0;border-bottom-width:var(--PhoneInputCountrySelectArrow-borderWidth);border-left-width:0;border-right-width:var(--PhoneInputCountrySelectArrow-borderWidth);transform:var(--PhoneInputCountrySelectArrow-transform);opacity:var(--PhoneInputCountrySelectArrow-opacity)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon+.PhoneInputCountrySelectArrow{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon--border{box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon .PhoneInputInternationalIconGlobe{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content.user-config-modal{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-button{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .3s}.close-button:hover{color:#333}.modal-body{padding:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#1a73e8}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e0e0e0}.button-primary{background-color:#1a73e8;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s}.button-primary:hover{background-color:#1557b0}.button-primary:disabled{background-color:#ccc;cursor:not-allowed}.button-secondary{background-color:#f5f5f5;color:#333;border:1px solid #ddd;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s}.button-secondary:hover{background-color:#e0e0e0}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;border:1px solid #fcc}.navigation{background-color:#1a73e8;color:#fff;padding:0;box-shadow:0 2px 4px #0000001a}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}@media(max-width:768px){.nav-container{padding:1rem}}.nav-left{display:flex;align-items:center;gap:1rem}.back-button{background:#ffffff26;border:none;border-radius:4px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background-color .3s,transform .2s}.back-button:hover{background:#ffffff40;transform:translate(-2px)}.back-button:active{transform:translate(-4px)}.nav-title{margin:0;font-size:1.5rem;font-weight:600}@media(max-width:640px){.nav-title{font-size:1.25rem}}.nav-right{display:flex;align-items:center;gap:1rem}.user-name{font-size:1rem;font-weight:500;color:#fff;display:flex;align-items:center}@media(max-width:640px){.user-name{font-size:.9rem}}.profile-dropdown-container{position:relative}.profile-button{background:#ffffff26;border:none;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background-color .3s,transform .2s}.profile-button:hover{background:#ffffff40;transform:scale(1.05)}.profile-button:active{transform:scale(.95)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:1000;overflow:hidden}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:#fff;color:#333;font-size:.95rem;cursor:pointer;transition:background-color .2s;text-align:left}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item svg{flex-shrink:0}.dropdown-item.logout-item{border-top:1px solid #e0e0e0;color:#d32f2f}.dropdown-item.logout-item:hover{background-color:#ffebee}.nav-links{list-style:none;display:flex;gap:2rem;margin:0;padding:0;flex-wrap:wrap}@media(max-width:768px){.nav-links{gap:1rem}}@media(max-width:640px){.nav-links{width:100%;justify-content:center;gap:.75rem}}.nav-links a{color:#fff;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:background-color .3s;white-space:nowrap}.nav-links a:hover{background-color:#ffffff1a}@media(max-width:640px){.nav-links a{padding:.4rem .75rem;font-size:.9rem}}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard h1{color:#333;margin-bottom:2rem;font-size:2rem}@media(max-width:768px){.dashboard{padding:1rem}.dashboard h1{font-size:1.5rem;margin-bottom:1.5rem}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2rem}@media(max-width:640px){.dashboard-grid{grid-template-columns:1fr;gap:1rem}}.dashboard-card{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s;cursor:pointer;display:flex;flex-direction:column}.dashboard-card:not(.dashboard-card-disabled):hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.dashboard-card-disabled{opacity:.6;cursor:not-allowed}.dashboard-card-disabled:hover{transform:none}.dashboard-card h2{color:#1a73e8;margin-bottom:1rem;font-size:1.5rem}.dashboard-card p{color:#666;margin-bottom:1.5rem;line-height:1.6;flex-grow:1}.card-button{display:inline-block;padding:.75rem 1.5rem;background-color:#1a73e8;color:#fff;border:none;border-radius:4px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .3s;text-align:center;width:100%}.card-button:not(:disabled):hover{background-color:#0d47a1}.card-button:disabled{background-color:#ccc;cursor:not-allowed}@media(max-width:640px){.dashboard-card{padding:1.5rem}.dashboard-card h2{font-size:1.25rem}.card-button{padding:.625rem 1rem;font-size:.875rem}}.info-section{background:#f5f5f5;padding:1.5rem;border-radius:8px;margin-top:2rem}.info-section h3{color:#333;margin-bottom:1rem}.info-section p{color:#666;margin:.5rem 0}.documents-page{max-width:1200px;margin:0 auto;padding:2rem}.documents-page h1{color:#333;margin-bottom:.5rem}.subtitle{color:#666;margin-bottom:2rem}.documents-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem;min-height:600px}.documents-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.documents-list h2{font-size:1.25rem;color:#333;margin-bottom:1rem}.document-item{padding:1rem;margin-bottom:.75rem;border-radius:6px;cursor:pointer;transition:all .3s;border:2px solid transparent}.document-item.unsigned{background:#fff3cd;border-color:#ffc107}.document-item.signed{background:#d4edda;border-color:#28a745}.document-item:hover{transform:translate(4px);box-shadow:0 2px 4px #0000001a}.doc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.doc-header h3{font-size:1rem;margin:0;color:#333}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.signed{background:#28a745;color:#fff}.status-badge.pending{background:#ffc107;color:#333}.doc-signature small{color:#666;font-size:.85rem}.document-viewer{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.document-viewer h2{color:#1a73e8;margin-bottom:1rem}.document-content{background:#f5f5f5;padding:1.5rem;border-radius:6px;margin-bottom:2rem;min-height:200px}.document-content p{color:#333;line-height:1.8}.signature-section{border-top:2px solid #e0e0e0;padding-top:1.5rem}.signature-section h3{color:#333;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.signature-input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.signature-input:focus{outline:none;border-color:#1a73e8}.btn-primary{background:#1a73e8;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}.btn-primary:hover:not(:disabled){background:#0d47a1}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.signed-info{background:#d4edda;padding:1.5rem;border-radius:6px;border:2px solid #28a745}.signed-info p{margin:.5rem 0;color:#155724}@media(max-width:768px){.documents-grid{grid-template-columns:1fr}}.patients-page{max-width:1400px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{color:#333;margin:0}.filter-controls{display:flex;align-items:center;gap:.75rem}.filter-controls label{color:#666;font-weight:500}.filter-select{padding:.5rem 1rem;border:2px solid #ddd;border-radius:4px;font-size:1rem;cursor:pointer;transition:border-color .3s}.filter-select:focus{outline:none;border-color:#1a73e8}.patients-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem;min-height:600px}.patients-list{display:flex;flex-direction:column;gap:1rem;max-height:800px;overflow-y:auto}.patient-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .3s;border:2px solid transparent}.patient-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.patient-card.selected{border-color:#1a73e8;box-shadow:0 4px 12px #1a73e833}.patient-info h3{color:#333;margin:0 0 .5rem;font-size:1.25rem}.patient-email,.patient-phone{color:#666;margin:.25rem 0;font-size:.9rem}.patient-status{display:flex;gap:.5rem;margin:1rem 0}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.badge.appeared{background:#d4edda;color:#155724}.badge.pending{background:#fff3cd;color:#856404}.badge.paid{background:#28a745;color:#fff}.badge.unpaid{background:#dc3545;color:#fff}.patient-appointment{margin-top:.5rem}.patient-appointment small{color:#999}.patient-details{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.details-header h2{color:#1a73e8;margin:0}.action-buttons{display:flex;gap:1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-primary{background:#1a73e8;color:#fff}.btn-primary:hover{background:#0d47a1}.details-content{display:flex;flex-direction:column;gap:2rem}.info-section,.records-section{background:#f5f5f5;padding:1.5rem;border-radius:6px}.info-section h3,.records-section h3{color:#333;margin:0 0 1rem}.info-section p{color:#666;margin:.5rem 0;line-height:1.6}.records-list{display:flex;flex-direction:column;gap:1rem}.record-item{background:#fff;padding:1rem;border-radius:6px;border-left:4px solid #1a73e8}.record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.record-date{color:#666;font-weight:600;font-size:.9rem}.record-status{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.record-status.paid{background:#28a745;color:#fff}.record-status.unpaid{background:#dc3545;color:#fff}.record-description{color:#333;margin:.5rem 0;font-weight:500}.record-amount{color:#1a73e8;font-weight:600;margin:.5rem 0}.no-records{color:#999;font-style:italic}.no-selection{display:flex;align-items:center;justify-content:center;height:400px;color:#999;font-size:1.1rem}@media(max-width:768px){.patients-grid{grid-template-columns:1fr}.page-header,.details-header{flex-direction:column;align-items:flex-start;gap:1rem}.action-buttons{width:100%;flex-direction:column}.btn{width:100%}}.sacar-turno{max-width:1200px;margin:0 auto;padding:2rem}.sacar-turno h1{color:#333;margin-bottom:2rem;font-size:2rem}@media(max-width:768px){.sacar-turno{padding:1rem}.sacar-turno h1{font-size:1.5rem;margin-bottom:1.5rem}}.filtros-container{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}@media(max-width:768px){.filtros-container{padding:1.5rem}}.filtro-group{margin-bottom:1.5rem}.filtro-group:last-child{margin-bottom:0}.filtro-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:1rem}.filtro-select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:4px;font-size:1rem;background-color:#fff;cursor:pointer;transition:border-color .3s}.filtro-select:focus{outline:none;border-color:#1a73e8}@media(max-width:640px){.filtro-group label{font-size:.9rem}.filtro-select{padding:.625rem;font-size:.9rem}}.turnos-disponibles{margin-top:2rem}.turnos-disponibles h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}@media(max-width:768px){.turnos-disponibles h2{font-size:1.25rem;margin-bottom:1rem}}.turnos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}@media(max-width:640px){.turnos-grid{grid-template-columns:1fr;gap:1rem}}.turno-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;gap:1rem}.turno-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}@media(max-width:640px){.turno-card{padding:1.25rem}}.turno-info{flex-grow:1}.turno-fecha{font-weight:600;color:#1a73e8;margin-bottom:.5rem;font-size:1rem;text-transform:capitalize}.turno-horario{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:.5rem}.turno-profesional{color:#666;font-size:.95rem}@media(max-width:640px){.turno-fecha{font-size:.9rem}.turno-horario{font-size:1.1rem}.turno-profesional{font-size:.875rem}}.turno-button{width:100%;padding:.75rem;background-color:#1a73e8;color:#fff;border:none;border-radius:4px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .3s}.turno-button:hover{background-color:#0d47a1}@media(max-width:640px){.turno-button{padding:.625rem;font-size:.9rem}}.no-turnos{background:#fff;border-radius:8px;padding:2rem;text-align:center;color:#666;box-shadow:0 2px 8px #0000001a;margin-top:2rem}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 16px #0003}@media(max-width:768px){.modal-content{padding:1.5rem;max-width:95%}}@media(max-width:640px){.modal-content{padding:1rem}}.modal-content h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.95rem}@media(max-width:640px){.modal-content h2{font-size:1.25rem;margin-bottom:1rem}}.modal-form{display:flex;flex-direction:column;gap:1.5rem}@media(max-width:640px){.modal-form{gap:1rem}}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{padding:.75rem;border:2px solid #e0e0e0;border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#1a73e8}.form-group input:disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.form-group select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}@media(max-width:640px){.form-group label{font-size:.875rem}.form-group input,.form-group textarea,.form-group select{padding:.625rem;font-size:.9rem}}.confirmacion-datos{background:#f5f5f5;padding:1.5rem;border-radius:8px;margin:1rem 0}@media(max-width:640px){.confirmacion-datos{padding:1rem}}.confirmacion-datos h3{color:#333;margin-bottom:1rem;font-size:1.1rem}@media(max-width:640px){.confirmacion-datos h3{font-size:1rem;margin-bottom:.75rem}}.datos-lista p{margin:.5rem 0;color:#666;font-size:.95rem}@media(max-width:640px){.datos-lista p{font-size:.875rem;margin:.4rem 0}}.modal-buttons{display:flex;gap:1rem;margin-top:1rem}@media(max-width:640px){.modal-buttons{flex-direction:column}}.button-primary,.button-secondary{flex:1;padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .3s}@media(max-width:640px){.button-primary,.button-secondary{padding:.625rem 1rem;font-size:.9rem}}.button-primary{background-color:#1a73e8;color:#fff}.button-primary:hover{background-color:#0d47a1}.button-secondary{background-color:#e0e0e0;color:#333}.button-secondary:hover{background-color:#d0d0d0}.modal-confirmacion{text-align:center;max-width:500px}.confirmacion-icono{width:80px;height:80px;margin:0 auto 1.5rem;background-color:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700}@media(max-width:640px){.confirmacion-icono{width:60px;height:60px;font-size:2rem;margin-bottom:1rem}}.confirmacion-nombre{font-size:1.25rem;font-weight:600;color:#1a73e8;margin-bottom:1rem}@media(max-width:640px){.confirmacion-nombre{font-size:1.1rem}}.confirmacion-texto{color:#666;margin-bottom:1.5rem;font-size:1rem}@media(max-width:640px){.confirmacion-texto{font-size:.9rem;margin-bottom:1rem}}.confirmacion-info{background:#f5f5f5;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}@media(max-width:640px){.confirmacion-info{padding:1rem;margin-bottom:1rem}}.confirmacion-info p{margin:.5rem 0;color:#666;font-size:.95rem}@media(max-width:640px){.confirmacion-info p{font-size:.875rem;margin:.4rem 0}}.modal-confirmacion .button-primary{width:100%;max-width:200px;margin:0 auto}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-box{background-color:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:30px}.login-title{font-size:32px;font-weight:700;color:#333;margin-bottom:8px}.login-subtitle{font-size:16px;color:#666;font-weight:400;margin-top:0}.login-form,.form-group{margin-bottom:20px}.form-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px;border:1px solid #fcc}.login-button{width:100%;background-color:#667eea;color:#fff;border:none;padding:14px;font-size:16px;font-weight:600;border-radius:6px;cursor:pointer;transition:background-color .3s,transform .1s}.login-button:hover:not(:disabled){background-color:#5568d3}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{background-color:#ccc;cursor:not-allowed}.divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:#999;font-size:14px}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.divider span{padding:0 10px}.google-button{width:100%;background-color:#fff;color:#333;border:1px solid #ddd;padding:12px;font-size:16px;font-weight:500;border-radius:6px;cursor:pointer;transition:background-color .3s,box-shadow .3s;display:flex;align-items:center;justify-content:center;gap:12px}.google-button:hover{background-color:#f8f8f8;box-shadow:0 2px 4px #0000001a}.google-icon{width:20px;height:20px}.login-footer{margin-top:24px;text-align:center;font-size:14px;display:flex;justify-content:center;align-items:center;gap:8px}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;text-decoration:none;padding:4px}.footer-separator{color:#ccc}@media(max-width:480px){.login-box{padding:30px 20px}.login-title{font-size:28px}}.password-requirements-list{list-style:none;padding:12px 16px;margin:8px 0 0;background-color:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0;font-size:13px}.requirement-item{display:flex;align-items:flex-start;margin-bottom:8px;transition:color .2s ease}.requirement-item:last-child{margin-bottom:0}.requirement-item.unmet{color:#6c757d}.requirement-item.met{color:#28a745}.requirement-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;font-weight:700;flex-shrink:0;margin-top:2px}.requirement-item.unmet .requirement-icon{color:#6c757d}.requirement-item.met .requirement-icon{color:#28a745}.requirement-text{flex:1;line-height:1.5}@media(max-width:640px){.password-requirements-list{font-size:12px;padding:10px 12px}.requirement-icon{width:16px;height:16px;margin-right:6px}}.register-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.register-box{background-color:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.register-header{text-align:center;margin-bottom:30px}.register-title{font-size:28px;font-weight:700;color:#333;margin-bottom:8px}.register-subtitle{font-size:14px;color:#666;margin:0}.register-form{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-input.error{border-color:#dc3545}.form-input.error:focus{box-shadow:0 0 0 3px #dc35451a}.password-input-container{position:relative;width:100%}.password-input-container .form-input{padding-right:45px}.password-toggle-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:20px;padding:4px 8px;display:flex;align-items:center;justify-content:center;transition:opacity .2s;-webkit-user-select:none;user-select:none}.password-toggle-button:hover:not(:disabled){opacity:.7}.password-toggle-button:disabled{cursor:not-allowed;opacity:.5}.password-toggle-button:focus{outline:2px solid #667eea;outline-offset:2px;border-radius:4px}.phone-input{width:100%}.phone-input .PhoneInputInput{padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s,box-shadow .3s;box-sizing:border-box;width:100%}.phone-input .PhoneInputInput:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.phone-input.error .PhoneInputInput{border-color:#dc3545}.phone-input.error .PhoneInputInput:focus{box-shadow:0 0 0 3px #dc35451a}.error-text{display:block;color:#dc3545;font-size:12px;margin-top:4px}.turnstile-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.api-error-message{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:6px;margin-bottom:16px;border:1px solid #f5c6cb;font-size:14px}.register-button{width:100%;background-color:#667eea;color:#fff;border:none;padding:14px;font-size:16px;font-weight:600;border-radius:6px;cursor:pointer;transition:background-color .3s,transform .1s}.register-button:hover:not(:disabled){background-color:#5568d3}.register-button:active:not(:disabled){transform:scale(.98)}.register-button:disabled{background-color:#ccc;cursor:not-allowed}.register-footer{text-align:center;margin-top:24px;font-size:14px;color:#666}.register-footer p{margin:0}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;text-decoration:none;padding:0;font-weight:500}.link-button:hover{text-decoration:underline}@media(max-width:640px){.register-box{padding:30px 20px}.register-title{font-size:24px}.form-row{grid-template-columns:1fr;gap:0}}.forgot-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.forgot-password-box{background-color:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:420px}.forgot-password-header{text-align:center;margin-bottom:30px}.forgot-password-title{font-size:24px;font-weight:700;color:#333;margin-bottom:12px}.forgot-password-subtitle{font-size:14px;color:#666;line-height:1.5;margin:0}.forgot-password-form,.form-group{margin-bottom:20px}.forgot-password-footer{text-align:center;margin-top:24px}@media(max-width:480px){.forgot-password-box{padding:30px 20px}.forgot-password-title{font-size:20px}}.callback-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.callback-content{background-color:#fff;padding:60px 40px;border-radius:12px;box-shadow:0 10px 40px #0003;text-align:center;max-width:400px;width:100%}.callback-content h2{font-size:24px;color:#333;margin-bottom:12px}.callback-content p{color:#666;font-size:14px;margin-bottom:8px}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon{font-size:50px;margin-bottom:16px}.redirect-message{font-style:italic;color:#999;margin-top:16px}.verification-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.verification-box{background-color:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:480px}.verification-header{text-align:center;margin-bottom:40px}.verification-title{font-size:32px;font-weight:700;color:#333;margin-bottom:8px}.verification-subtitle{font-size:20px;color:#667eea;font-weight:600;margin-top:0;margin-bottom:16px}.verification-text{font-size:14px;color:#666;line-height:1.5;margin:0}.verification-form{display:flex;flex-direction:column;align-items:center}.code-inputs{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.code-input{width:56px;height:56px;font-size:24px;font-weight:700;text-align:center;border:2px solid #ddd;border-radius:8px;transition:border-color .3s,box-shadow .3s}.code-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.code-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px;border:1px solid #fcc;width:100%;text-align:center}.success-message{background-color:#e7f7ef;color:#2d6a4f;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px;border:1px solid #a8d5ba;width:100%;text-align:center}.verify-button{width:100%;background-color:#667eea;color:#fff;border:none;padding:14px;font-size:16px;font-weight:600;border-radius:6px;cursor:pointer;transition:background-color .3s,transform .1s;margin-bottom:20px}.verify-button:hover:not(:disabled){background-color:#5568d3}.verify-button:active:not(:disabled){transform:scale(.98)}.verify-button:disabled{background-color:#ccc;cursor:not-allowed}.resend-section{text-align:center;font-size:14px;color:#666}.resend-text{margin-right:4px}.resend-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;text-decoration:none;padding:0;font-weight:600}.resend-link:hover:not(:disabled){text-decoration:underline}.resend-link:disabled{color:#ccc;cursor:not-allowed}@media(max-width:600px){.verification-box{padding:30px 20px}.verification-title{font-size:28px}.verification-subtitle{font-size:18px}.code-inputs{gap:8px}.code-input{width:48px;height:48px;font-size:20px}}@media(max-width:400px){.code-inputs{gap:6px}.code-input{width:42px;height:42px;font-size:18px}}.confirm-forgot-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.confirm-forgot-password-box{background-color:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:420px}.confirm-forgot-password-header{text-align:center;margin-bottom:30px}.confirm-forgot-password-title{font-size:24px;font-weight:700;color:#333;margin-bottom:12px}.confirm-forgot-password-subtitle{font-size:14px;color:#666;line-height:1.5;margin:0}.confirm-forgot-password-form,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.form-input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.error{border-color:#e53e3e}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container .form-input{padding-right:48px}.password-toggle-button{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:18px;padding:0;display:flex;align-items:center;justify-content:center}.error-text{color:#e53e3e;font-size:12px;margin-top:4px;display:block}.error-message{color:#e53e3e;font-size:13px;margin-bottom:12px;text-align:center}.submit-button{width:100%;background-color:#667eea;color:#fff;border:none;padding:14px;font-size:16px;font-weight:600;border-radius:6px;cursor:pointer;transition:background-color .3s,transform .1s}.submit-button:hover{background-color:#5568d3}.submit-button:active{transform:scale(.98)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.success-message{text-align:center;padding:20px;margin-bottom:20px}.success-icon{width:60px;height:60px;color:#4caf50;margin-bottom:16px}.success-message p{color:#666;font-size:14px;line-height:1.5;margin:0}.confirm-forgot-password-footer{text-align:center;margin-top:24px}.back-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;text-decoration:none;padding:8px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.back-button:hover{text-decoration:underline}@media(max-width:480px){.confirm-forgot-password-box{padding:30px 20px}.confirm-forgot-password-title{font-size:20px}}.app{min-height:100vh;background-color:#f5f5f5}.main-content{min-height:calc(100vh - 80px)}._loadingContainer_1i1de_1{display:flex;justify-content:center;align-items:center;height:100vh;font-family:Arial,sans-serif}._loginContainer_1i1de_9{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;font-family:Arial,sans-serif;background-color:#f5f5f5}._loginBox_1i1de_19{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center}._loginTitle_1i1de_27{margin-bottom:20px;color:#333}._loginSubtitle_1i1de_32{margin-bottom:30px;color:#666;font-weight:400}._loginButton_1i1de_38{background-color:#007bff;color:#fff;border:none;padding:12px 30px;font-size:16px;border-radius:4px;cursor:pointer;transition:background-color .3s}._loginButton_1i1de_38:hover{background-color:#0056b3}._userInfo_1i1de_53{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:10px;font-size:14px;color:#666}._logoutButton_1i1de_64{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;font-size:14px;border-radius:4px;cursor:pointer}._logoutButton_1i1de_64:hover{background-color:#c82333}
