.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px}.login-box h1{color:#333;margin-bottom:.5rem;font-size:2rem;text-align:center}.login-box h2{color:#667eea;margin-bottom:2rem;font-size:1.5rem;text-align:center;font-weight:600}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.error{color:#e74c3c;background:#fadbd8;padding:.75rem;border-radius:8px;margin-bottom:1rem;text-align:center}.btn-primary{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.admin-choice-modal{background:#fff;padding:3rem;border-radius:16px;max-width:700px;width:90%;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.close-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#999;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s}.close-btn:hover{background:#f5f5f5;color:#333}.admin-choice-modal h2{color:#333;text-align:center;margin-bottom:2rem;font-size:1.8rem}.choice-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.choice-btn{background:#fff;border:2px solid #e1e8ed;border-radius:12px;padding:2rem;cursor:pointer;transition:all .3s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.choice-btn:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea33}.choice-btn.admin-btn:hover{border-color:#667eea}.choice-btn.mail-btn:hover{border-color:#27ae60}.choice-icon{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:.5rem}.admin-btn .choice-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.mail-btn .choice-icon{background:linear-gradient(135deg,#27ae60,#229954)}.choice-btn h3{color:#333;margin:0;font-size:1.3rem}.choice-btn p{color:#666;margin:0;font-size:.9rem;line-height:1.5}@media (max-width: 600px){.admin-choice-modal{padding:2rem}.choice-buttons{grid-template-columns:1fr}}.admin-container{min-height:100vh;background:#f5f7fa}.admin-nav{background:#fff;padding:1rem 2rem;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.nav-brand h1{color:#333;font-size:1.5rem;margin-bottom:.25rem}.domain{color:#667eea;font-size:.9rem;font-weight:600}.nav-user{display:flex;align-items:center;gap:1rem}.nav-user span{color:#666}.btn-mail{display:flex;align-items:center;gap:.5rem;background:#27ae60;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:background .3s}.btn-mail:hover{background:#229954}.admin-content{padding:2rem;max-width:1400px;margin:0 auto}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-title{display:flex;align-items:center;gap:.75rem;color:#333}.btn-create{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:transform .2s;font-weight:600}.btn-create:hover{transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;padding:2rem;border-radius:16px;width:100%;max-width:500px;color:#333}.modal h3{margin-bottom:1.5rem;color:#333}.modal .form-group{margin-bottom:1.25rem}.modal .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.modal .form-group input{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px}.modal .form-group small{display:block;margin-top:.25rem;color:#667eea;font-size:.85rem}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.btn-secondary{flex:1;padding:.75rem;background:#f1f3f5;color:#333;border:none;border-radius:8px;cursor:pointer;transition:background .3s}.btn-secondary:hover{background:#e1e8ed}.btn-primary{flex:1;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s;font-weight:600}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.users-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.loading{padding:3rem;text-align:center;color:#666}table{width:100%;border-collapse:collapse}thead{background:#f8f9fa}th{padding:1rem;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}td{padding:1rem;border-bottom:1px solid #dee2e6;color:#333}tbody tr:hover{background:#f8f9fa}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.badge-admin{background:#ffeaa7;color:#d63031}.badge-user{background:#dfe6e9;color:#2d3436}.btn-delete{background:#e74c3c;color:#fff;border:none;padding:.5rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;transition:background .3s}.btn-delete:hover:not(:disabled){background:#c0392b}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.action-buttons{display:flex;gap:.5rem;align-items:center}.btn-edit{background:#3498db;color:#fff;border:none;padding:.5rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;transition:background .3s}.btn-edit:hover{background:#2980b9}.btn-admin-toggle{background:#e67e22;color:#fff;border:none;padding:.5rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;transition:background .3s}.btn-admin-toggle:hover{background:#d35400}.btn-admin-toggle.make-admin{background:#27ae60}.btn-admin-toggle.make-admin:hover{background:#229954}.btn-admin-toggle:disabled{opacity:.5;cursor:not-allowed}.edit-user-email{color:#667eea;font-weight:600;margin-bottom:1rem;text-align:center;font-size:1.1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.checkbox-label span{font-weight:500;color:#333}.dashboard-container{min-height:100vh;background:#f5f7fa;display:flex;flex-direction:column}.dashboard-nav{background:#fff;padding:1rem 2rem;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center;gap:1rem;color:#667eea}.nav-brand h1{font-size:1.5rem;margin-bottom:.25rem;color:#333}.nav-actions{display:flex;gap:1rem}.btn-profile{display:flex;align-items:center;gap:.5rem;background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:background .3s}.btn-profile:hover{background:#5568d3}.btn-admin-panel{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:transform .2s;font-weight:600}.btn-admin-panel:hover{transform:translateY(-2px)}.btn-logout{display:flex;align-items:center;gap:.5rem;background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:background .3s}.btn-logout:hover{background:#c0392b}.dashboard-content{display:flex;flex:1;overflow:hidden}.sidebar{width:280px;background:#fff;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:2px 0 8px #0000000d}.btn-compose{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .2s}.btn-compose:hover{transform:translateY(-2px)}.sidebar-menu{display:flex;flex-direction:column;gap:.5rem}.menu-item{display:flex;align-items:center;gap:.75rem;background:transparent;color:#666;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;transition:background .3s;text-align:left}.menu-item:hover{background:#f8f9fa}.menu-item.active{background:#e8ebff;color:#667eea;font-weight:600}.menu-item .badge{margin-left:auto;background:#e74c3c;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem}.user-info{margin-top:auto;padding-top:1.5rem;border-top:1px solid #e1e8ed;display:flex;align-items:center;gap:1rem}.user-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.user-name{font-weight:600;color:#333;margin-bottom:.25rem}.user-email{font-size:.85rem;color:#666}.user-role{font-size:.75rem;color:#667eea;font-weight:600;margin-top:.25rem}.main-content{flex:1;padding:1.5rem;overflow-y:auto}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.content-header h2{color:#333}.btn-refresh{background:transparent;border:1px solid #e1e8ed;padding:.5rem;border-radius:8px;cursor:pointer;color:#666;transition:all .3s}.btn-refresh:hover{background:#f8f9fa;border-color:#667eea;color:#667eea}.emails-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.empty-state{padding:4rem;text-align:center;color:#999}.empty-state svg{margin-bottom:1rem;opacity:.5}.email-item{padding:1.25rem;border-bottom:1px solid #e1e8ed;cursor:pointer;transition:background .3s}.email-item:hover{background:#f8f9fa}.email-item.unread{background:#f0f4ff}.email-from{font-weight:600;color:#333;margin-bottom:.5rem}.email-subject{font-weight:600;color:#667eea;margin-bottom:.5rem}.email-preview{color:#666;font-size:.9rem;margin-bottom:.5rem}.email-date{font-size:.85rem;color:#999}.compose-modal,.email-modal{max-width:600px;max-height:90vh;overflow-y:auto}.email-modal{max-width:800px}.email-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1.5rem;border-bottom:2px solid #e1e8ed;margin-bottom:1.5rem}.email-subject-large{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:1rem}.email-meta{font-size:.9rem;color:#666;line-height:1.6}.btn-delete-email{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:background .3s;white-space:nowrap}.btn-delete-email:hover{background:#c0392b}.email-body{padding:1.5rem 0;color:#333;line-height:1.8}.email-body pre{white-space:pre-wrap;word-wrap:break-word;font-family:inherit}textarea{resize:vertical;min-height:200px}.profile-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.profile-header{background:#fffffff2;padding:1.5rem 2rem;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:1rem}.btn-back{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid #e1e8ed;padding:.5rem 1rem;border-radius:8px;cursor:pointer;color:#666;transition:all .3s}.btn-back:hover{background:#f8f9fa;border-color:#667eea;color:#667eea}.profile-header h1{color:#333;font-size:1.75rem}.profile-content{padding:3rem 2rem;display:flex;justify-content:center}.profile-card{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:600px}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding-bottom:2rem;border-bottom:2px solid #e1e8ed;margin-bottom:2rem}.avatar-wrapper{position:relative}.profile-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #667eea}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:600;color:#fff}.avatar-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-upload{display:flex;align-items:center;gap:.5rem;background:#f8f9fa;color:#333;border:2px solid #e1e8ed;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .3s;font-size:.95rem}.btn-upload:hover{background:#fff;border-color:#667eea;color:#667eea}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.input-disabled{background:#f8f9fa!important;cursor:not-allowed;opacity:.7}.form-divider{margin:1rem 0;text-align:center;position:relative}.form-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e1e8ed;z-index:0}.form-divider span{background:#fff;padding:0 1rem;color:#666;font-size:.9rem;position:relative;z-index:1}.btn-save{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:transform .2s;margin-top:1rem}.btn-save:hover:not(:disabled){transform:translateY(-2px)}.btn-save:disabled{opacity:.6;cursor:not-allowed}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input,textarea{border-radius:8px;border:1px solid #ccc;padding:.6em 1em;font-size:1em;font-family:inherit;background-color:#fff;color:#000}input:focus,textarea:focus{outline:2px solid #646cff;border-color:transparent}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}button{background-color:#f9f9f9}}
