*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-primary);background-image:radial-gradient(at 0 0,#38bdf826 0,#0000 50%),radial-gradient(at 100% 100%,#38bdf81a 0,#0000 50%);flex-direction:column;justify-content:space-between;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);width:100%;max-width:420px;box-shadow:var(--shadow);border:1px solid #ffffff1a;border-radius:16px;margin:auto;padding:2.5rem;animation:.5s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-card h1,.main-header h1{text-align:center;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:.6rem;font-size:2.4rem;font-weight:700}.auth-card .subtitle,.main-header .subtitle{color:var(--text-secondary);text-align:center;opacity:.85;margin-bottom:1.8rem;font-size:1.05rem;font-weight:400}.form-group{margin-bottom:1.5rem}label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}input{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:8px;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #38bdf81a}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-weight:600;transition:all .2s;display:flex}.btn-primary{background-color:var(--primary-color);color:#000}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-google{color:#374151;background-color:#fff;margin-top:1rem}.btn-google:hover{background-color:#f9fafb}.divider{text-align:center;color:var(--text-primary);align-items:center;margin:1.5rem 0;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--input-border);flex:1}.divider:not(:empty):before{margin-right:.75rem}.divider:not(:empty):after{margin-left:.75rem}#error-message{color:var(--error-color);text-align:center;min-height:1.25rem;margin-top:1rem;font-size:.875rem}.dashboard-container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;width:100%;max-width:1000px;margin-top:2rem;margin-bottom:2rem;display:grid}.btn-ghost{color:var(--text-secondary);border:1px solid var(--input-border);background:0 0;padding:.5rem 1rem;font-size:.875rem}.btn-ghost:hover{color:var(--text-primary);border-color:var(--text-secondary)}.icon{background-color:var(--color-primary);width:48px;height:48px;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.header-controls{gap:1rem;display:flex}.main-header{text-align:center;margin-top:1rem;margin-bottom:1rem}.btn-icon{justify-content:center;align-items:center;padding:.5rem;display:flex}.templates-container{border-top:1px solid var(--input-border);margin-top:1rem;padding-top:1rem}.loading-text{color:var(--text-secondary);font-size:.8rem}.new-template-btn{margin-top:1rem;text-decoration:none}.disabled-card{opacity:.5;cursor:not-allowed}.custom-perfil-modal{background-color:var(--bg-color);color:var(--text-primary);border:1px solid var(--input-border)}.custom-perfil-modal .modal-header{border-bottom:1px solid var(--input-border)}.perfil-title{color:var(--primary-color)}.modal-close-dark{color:var(--text-primary)}.perfil-body{padding:1.5rem}.loading-state-text{text-align:center;color:var(--text-secondary)}.hidden-form{display:none}.form-hint{color:var(--text-secondary);margin-bottom:1rem;font-size:.8rem}.integration-container{text-align:center}.form-feedback{text-align:center;min-height:1.25rem;margin-top:1rem;margin-bottom:1rem}.error-feedback{color:var(--error-color)}.success-feedback{color:var(--success-color)}.margin-top-md{margin-top:1rem}.margin-top-0{margin-top:0!important}.margin-right-sm{margin-right:8px}.btn-danger{border-color:var(--error-color);width:100%;color:var(--error-color)}
