.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-container{background:var(--surface);padding:2rem;border-radius:8px;box-shadow:0 4px 20px #00000026;width:100%;max-width:400px}.login-container h1{text-align:center;margin-bottom:1.5rem;font-size:2rem;font-weight:500}.login-container h1 .ia{color:var(--secondary)}.login-container h1 .vatar{color:var(--primary)}.login-form .form-group{margin-bottom:1rem}.login-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.login-form .form-group input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;outline:none;transition:border-color .2s}.login-form .form-group input:focus{border-color:var(--primary)}.login-error{color:var(--danger);margin-bottom:1rem;text-align:center}.login-success{color:var(--success);margin-bottom:1rem;text-align:center}.password-group .password-input-wrapper{position:relative;display:flex;align-items:center}.password-group .password-input-wrapper input{padding-right:3rem}.password-group .password-toggle{position:absolute;right:.75rem;background:none;border:none;padding:.25rem;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center}.password-group .password-toggle:hover{background:none;color:var(--primary)}.login-btn{width:100%;padding:.75rem;font-size:1rem;margin-top:.5rem}.login-subtitle{text-align:center;color:var(--text-light);margin-bottom:1.5rem;margin-top:-1rem}.login-links{display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.link-btn{background:none!important;border:none;color:var(--primary);cursor:pointer;font-size:.875rem;padding:.25rem;transition:color .2s,text-decoration .2s}.link-btn:hover{color:var(--secondary)!important;background:none!important}.password-strength{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.strength-bar{flex:1;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.strength-fill{height:100%;transition:width .3s,background-color .3s}.strength-label{font-size:.75rem;font-weight:500}.password-requirements{font-size:.75rem;color:var(--text-light);margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.requirement-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.requirement-item i{font-size:.65rem}.password-mismatch{color:var(--danger);font-size:.75rem;margin-top:.25rem;display:block}.recovery-success{text-align:center;padding:2rem 0}.stat-card{background:var(--surface);padding:1.5rem;border-radius:8px;border:1px solid var(--border);text-align:center}.stat-card i{font-size:1.5rem;color:var(--primary);margin-bottom:.5rem;display:block}.stat-value{font-size:2rem;font-weight:600;color:var(--primary)}.btn{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:.5rem;transition:background .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:#d0d0d0}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#c33}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.btn-icon{background:transparent;padding:.5rem;color:var(--text-light)}.btn-icon:hover:not(:disabled){color:var(--primary);background:var(--bg)}.modal{background:var(--surface);border-radius:8px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.modal-small{width:400px;max-width:90%}.modal-medium{width:600px;max-width:90%}.modal-large{width:800px;max-width:90%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1.25rem;font-weight:500}.modal-close{background:transparent;border:none;padding:.5rem;cursor:pointer;color:var(--text-light);font-size:1rem;border-radius:4px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--primary);color:#fff}.modal-body{padding:1.5rem}.view-toggle{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.view-toggle .btn{padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.user-settings-form .form-group{margin-bottom:1rem}.user-settings-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.user-settings-form .form-group input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;outline:none;transition:border-color .2s}.user-settings-form .form-group input:focus{border-color:var(--primary)}.user-settings-form .form-group input:disabled{opacity:.6;background:var(--bg)}.user-settings-form .password-group{position:relative}.user-settings-form .password-input-wrapper{position:relative;display:flex;align-items:center}.user-settings-form .password-input-wrapper input{padding-right:3rem;width:100%}.user-settings-form .password-toggle{position:absolute;right:.75rem;background:none;border:none;padding:.25rem;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center}.user-settings-form .password-toggle:hover{background:none;color:var(--primary)}.user-settings-error{color:var(--danger);margin-bottom:1rem;text-align:center}.user-settings-success{color:var(--success);margin-bottom:1rem;text-align:center}.user-settings-strength{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.user-settings-strength-bar{flex:1;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.user-settings-strength-fill{height:100%;transition:width .3s,background-color .3s}.user-settings-strength-label{font-size:.75rem;font-weight:500}.user-settings-requirements{font-size:.75rem;color:var(--text-light);margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.user-settings-requirement-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.user-settings-requirement-item i{font-size:.65rem}.user-settings-mismatch{color:var(--danger);font-size:.75rem;margin-top:.25rem;display:block}.user-settings-btn{padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.user-settings-btn:disabled{opacity:.6;cursor:not-allowed}.user-settings-btn:hover:not(:disabled){background:var(--primary-hover)}.user-settings-btn.btn-secondary{background:var(--border);color:var(--text)}.user-settings-btn.btn-secondary:hover{background:#d0d0d0}.user-settings-form .form-buttons{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.main-layout{display:flex;min-height:100vh}.topbar{position:fixed;top:0;left:0;right:0;height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:100}.topbar-title{font-size:1.25rem;font-weight:600}.topbar-title .ia{color:var(--secondary)}.topbar-title .vatar{color:var(--primary)}.topbar-user{display:flex;align-items:center;gap:1rem}.user-info-btn{display:flex;align-items:center;gap:.5rem;background:transparent;padding:.25rem .5rem;border-radius:4px;cursor:pointer}.user-info-btn:hover{background:var(--bg)}.user-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--primary)}.user-avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover;object-position:center}.user-details{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-name{font-weight:500;color:var(--text);font-size:.875rem}.user-role{font-size:.7rem;color:var(--text-light)}.topbar-logout{background:transparent;color:var(--text-light);padding:.25rem .5rem}.topbar-logout:hover{color:var(--danger);background:transparent}.logout-btn{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:4px;font-size:.875rem}.logout-btn:hover{background:var(--primary-hover)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface);padding:1.5rem;border-radius:8px;max-width:400px;width:90%;box-shadow:0 4px 20px #0003}.modal h3{margin-bottom:1rem;font-weight:500}.modal p{color:var(--text-light);margin-bottom:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-btn{padding:.5rem 1rem;border-radius:4px;font-size:.875rem}.modal-btn.cancel{background:var(--border);color:var(--text)}.modal-btn.cancel:hover{background:#d0d0d0}.modal-btn.confirm{background:var(--danger)}.modal-btn.confirm:hover{background:#c33}.sidebar{position:fixed;top:60px;left:0;width:240px;height:calc(100vh - 60px);background:var(--surface);border-right:1px solid var(--border);padding:1rem 0;transition:width .3s ease}.sidebar.collapsed{width:60px}.sidebar-toggle{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;padding:.5rem;cursor:pointer;color:var(--text-light);font-size:1rem}.sidebar-toggle:hover{background:var(--bg);color:var(--primary)}.sidebar-nav{display:flex;flex-direction:column;margin-top:2rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text);text-decoration:none;transition:background .2s,color .2s}.sidebar-link i{font-size:1.1rem;width:1.5rem;text-align:center}.sidebar-link:hover{background:var(--bg);color:var(--primary)}.sidebar-link.active{background:var(--bg);color:var(--primary);border-left:3px solid var(--primary)}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.75rem}.sidebar.collapsed .sidebar-toggle{right:50%;transform:translate(50%)}.content{margin-left:240px;margin-top:60px;padding:1.5rem;width:calc(100% - 240px);min-height:calc(100vh - 60px);transition:margin-left .3s ease,width .3s ease}.main-layout:has(.sidebar.collapsed) .content{margin-left:60px;width:calc(100% - 60px)}.dashboard-header{margin-bottom:2rem}.dashboard-header-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.dashboard-header-row i{font-size:1.75rem;color:var(--primary)}.dashboard-header-row h2{font-size:1.5rem}.dashboard-header-desc{color:var(--text-light);margin-left:2.5rem}.dashboard{padding:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--surface);padding:1.5rem;border-radius:8px;border:1px solid var(--border)}.stat-card h3{font-size:.875rem;color:var(--text-light);margin-bottom:.5rem}.stat-card .value{font-size:2rem;font-weight:600;color:var(--primary)}.recent-avatars{background:var(--surface);padding:1.5rem;border-radius:8px;border:1px solid var(--border)}.recent-avatars h3{margin-bottom:1rem}.avatar-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.avatar-item{background:var(--bg);padding:1rem;border-radius:8px;text-align:center}.avatar-item .name{font-weight:500;margin-bottom:.25rem}.avatar-item .gender{font-size:.875rem;color:var(--text-light)}.badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;border-radius:4px;font-weight:500}.badge-success{background:#d1fae5;color:#059669}.badge-warning{background:#fef3c7;color:#d97706}.avatars-section{background:var(--surface);padding:1.5rem;border-radius:8px;border:1px solid var(--border)}.avatars-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.loading-text,.empty-text{text-align:center;color:var(--text-light);padding:2rem}.table-container{overflow-x:auto}.avatars-table{width:100%;border-collapse:collapse}.avatars-table th,.avatars-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.avatars-table th{background:var(--bg);font-weight:500;color:var(--text-light)}.avatars-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.avatars-table th.sortable:hover{color:var(--primary)}.avatars-table th i{margin-left:.5rem;font-size:.75rem}.avatars-table .actions{display:flex;gap:.25rem}.avatars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.avatar-card{background:var(--bg);border-radius:8px;padding:1rem;text-align:center;border:1px solid var(--border)}.avatar-card-image{width:80px;height:80px;margin:0 auto 1rem;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center}.avatar-card-image i{font-size:2.5rem;color:#fff}.avatar-card-info h4{font-size:1rem;margin-bottom:.25rem}.avatar-card-info p{font-size:.875rem;color:var(--text-light);margin-bottom:1rem}.avatar-card-actions{display:flex;justify-content:center;gap:.5rem}.avatar-detail .detail-row{display:flex;padding:.5rem 0;border-bottom:1px solid var(--border)}.avatar-detail .detail-row:last-child{border-bottom:none}.avatar-detail .detail-row label{font-weight:500;width:150px;color:var(--text-light)}.avatar-form .form-group{margin-bottom:1rem}.avatar-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.avatar-form .form-group input,.avatar-form .form-group select,.avatar-form .form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:1rem;font-family:inherit}.avatar-form .form-group input:focus,.avatar-form .form-group select:focus,.avatar-form .form-group textarea:focus{outline:none;border-color:var(--primary)}.avatar-form .form-group textarea{resize:vertical;min-height:80px}.avatar-form-sections{display:flex;flex-direction:column;gap:1.5rem}.form-section{border-bottom:1px solid var(--border);padding-bottom:1rem}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section h4{font-size:1rem;font-weight:500;color:var(--primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);display:inline-block}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.delete-confirm{text-align:center}.delete-confirm p{margin-bottom:1rem}.delete-confirm .warning{color:var(--danger);font-size:.875rem}.create-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.create-tab{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-radius:4px 4px 0 0;color:var(--text-light);font-size:.875rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.create-tab:hover{background:var(--bg);color:var(--text)}.create-tab.active{background:var(--primary);color:#fff}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-bottom:1rem}.media-item{aspect-ratio:1;border-radius:4px;overflow:hidden;border:1px solid var(--border)}.media-item img{width:100%;height:100%;object-fit:cover}.current-media{margin-bottom:1rem}.current-media label{display:block;font-weight:500;margin-bottom:.5rem}.no-data{color:var(--text-light);font-style:italic}.pending-files{margin-top:1rem}.pending-files label{display:block;font-weight:500;margin-bottom:.5rem}.pending-files ul{list-style:none;padding:0;margin:0}.pending-files li{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg);border-radius:4px;margin-bottom:.25rem}.pending-files li i{color:var(--primary)}.pending-files .remove-file{margin-left:auto;background:none;border:none;color:var(--danger);cursor:pointer;padding:.25rem}.avatar-upload-current{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:20px}.avatar-upload-container{position:relative;display:flex;flex-direction:column;align-items:center}.avatar-current-image{width:100px;height:100px;border-radius:50%;object-fit:cover;object-position:center;border:3px solid var(--primary);background:var(--surface);margin-bottom:1rem}.avatar-upload-preview{display:flex;flex-direction:column;align-items:center;gap:1rem}.avatar-preview-container{width:256px;height:256px;border-radius:50%;overflow:hidden;border:3px solid var(--primary);cursor:grab}.avatar-preview-container:active{cursor:grabbing}.avatar-preview-image{width:100%;height:100%;background-repeat:no-repeat;transition:background-position .1s}.avatar-controls{display:flex;align-items:center;gap:1rem;width:100%;max-width:256px}.avatar-controls label{font-weight:500;min-width:50px}.avatar-controls input[type=range]{flex:1}.avatar-hint{font-size:.75rem;color:var(--text-light);text-align:center}.avatar-actions{display:flex;gap:1rem;margin-top:.5rem}.avatar-loading{display:flex;align-items:center;justify-content:center;gap:.5rem}.admin-contact-form .form-group{margin-bottom:1rem}.admin-contact-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.admin-contact-form .form-group input,.admin-contact-form .form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;outline:none;transition:border-color .2s;font-family:inherit;resize:vertical}.admin-contact-form .form-group input:focus,.admin-contact-form .form-group textarea:focus{border-color:var(--primary)}.admin-contact-error{color:var(--danger);margin-bottom:1rem;text-align:center}.admin-contact-success{color:var(--success);margin-bottom:1rem;text-align:center}.admin-contact-actions{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.admin-contact-btn{padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.admin-contact-btn:disabled{opacity:.6;cursor:not-allowed}.admin-contact-btn.btn-secondary{background:var(--border);color:var(--text)}.admin-contact-btn.btn-secondary:hover{background:#d0d0d0}.admin-contact-btn:hover:not(:disabled){background:var(--primary-hover)}.account-delete-modal .form-group{margin-bottom:1rem}.account-delete-modal .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.account-delete-modal .form-group input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;outline:none;transition:border-color .2s}.account-delete-modal .form-group input:focus{border-color:var(--primary)}.account-delete-modal-text{margin-bottom:1rem;color:var(--text)}.account-delete-error{color:var(--danger);margin-bottom:1rem;text-align:center}.account-delete-btn{flex:1;padding:.75rem;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.account-delete-btn:disabled{opacity:.6;cursor:not-allowed}.account-delete-btn.btn-danger{background:var(--danger);color:#fff}.account-delete-btn.btn-danger:hover:not(:disabled){background:#c33}.account-delete-btn.btn-warning{background:#f59e0b;color:#fff}.account-delete-btn.btn-warning:hover:not(:disabled){background:#d97706}.account-delete-btn.btn-secondary{background:var(--border);color:var(--text)}.account-delete-btn.btn-secondary:hover{background:#d0d0d0}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--secondary: #ff6b35;--secondary-hover: #e55a2b;--bg: #f5f5f5;--surface: #ffffff;--text: #333333;--text-light: #666666;--border: #e0e0e0;--danger: #ff4444;--success: #00c851}*{margin:0;padding:0;box-sizing:border-box}a{text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:500}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}input,button{font-family:inherit;font-size:1rem}button{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;background:var(--primary);color:#fff;transition:background .2s}button:hover{background:var(--primary-hover)}button:disabled{opacity:.6;cursor:not-allowed}
