.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem;position:relative;overflow:hidden}.login-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top left,var(--accent-primary-muted) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(99,102,241,.15) 0%,transparent 50%),var(--bg-primary)}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%);mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%)}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:2.5rem;position:relative;z-index:1;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.logo-link{display:block;margin:0 auto 1.25rem;transition:transform var(--transition-base)}.logo-link:hover{transform:scale(1.05)}.logo-image{width:80px;height:80px;object-fit:contain;border-radius:var(--radius-lg)}.login-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.login-header p{color:var(--text-muted);font-size:.9375rem}.success-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:var(--success-muted);border:1px solid var(--success);border-radius:var(--radius-md);color:var(--success);font-size:.875rem;margin-bottom:1rem}.success-message svg{flex-shrink:0}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.login-form label{font-weight:500;font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.login-form label svg{color:var(--text-muted)}.login-form input{padding:.875rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;color:var(--text-primary);transition:all var(--transition-base);font-family:var(--font-primary)}.login-form input::placeholder{color:var(--text-muted)}.login-form input:hover{border-color:var(--border-color-hover)}.login-form input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}.login-button{margin-top:.5rem;padding:.875rem 1.5rem;font-size:1rem;justify-content:center}.spinner-small{width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.toggle-auth{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.toggle-text{font-size:.875rem;color:var(--text-muted)}.btn-link{background:none;border:none;color:var(--accent-primary);font-size:.875rem;font-weight:500;cursor:pointer;padding:0;transition:color var(--transition-base)}.btn-link:hover{color:var(--accent-primary-hover);text-decoration:underline}.login-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);font-size:.8125rem;color:var(--text-muted)}.powered-by{display:block;text-align:center;margin-top:1rem;font-size:.75rem;color:var(--text-muted);text-decoration:none;transition:color var(--transition-base)}.powered-by:hover{color:var(--accent-primary)}@media (max-width: 480px){.login-card{padding:2rem 1.5rem}.logo{width:56px;height:56px}.logo svg{width:28px;height:28px}.login-header h1{font-size:1.5rem}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width var(--transition-slow);z-index:100}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{padding:1.25rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);min-height:72px}.logo{display:flex;align-items:center;gap:.75rem;overflow:hidden;text-decoration:none;transition:opacity var(--transition-base)}.logo:hover{opacity:.8}.logo-image{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-md);flex-shrink:0}.logo-text{font-size:1.25rem;font-weight:700;white-space:nowrap}.sidebar.collapsed .logo-text{display:none}.toggle-btn{flex-shrink:0}.sidebar.collapsed .toggle-btn{margin:0 auto}.sidebar.collapsed .sidebar-header{justify-content:center;padding:1.25rem .75rem}.sidebar.collapsed .logo{justify-content:center}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-base);width:100%;text-align:left;font-size:.9375rem;font-weight:500;white-space:nowrap;overflow:hidden}.nav-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background-color:var(--accent-primary-muted);color:var(--accent-primary);border-left:3px solid var(--accent-primary);box-shadow:var(--shadow-glow)}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem}.sidebar.collapsed .nav-item span{display:none}.sidebar.collapsed .nav-item.active{border-left:none;border-bottom:3px solid var(--accent-primary)}.sidebar-footer{padding:1rem .75rem;border-top:1px solid var(--border-color)}.user-info{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.5rem;background-color:var(--bg-card);border-radius:var(--radius-md);overflow:hidden}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,#60a5fa,#a78bfa);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}.user-avatar.admin{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-primary-hover) 100%)}.user-details{display:flex;flex-direction:column;overflow:hidden}.user-name{font-weight:600;font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{color:var(--text-secondary)}.logout-btn:hover{color:var(--error);background-color:var(--error-muted)}.sidebar.collapsed .user-info{display:none}.sidebar.collapsed .logout-btn{justify-content:center}.email-list{display:flex;flex-direction:column;height:100%}.email-list-header{padding:1.25rem;border-bottom:1px solid var(--border-color)}.header-info{display:flex;align-items:center;gap:.75rem}.email-list-header h2{font-size:1rem;font-weight:600;color:var(--text-primary)}.email-count{font-size:.75rem}.filter-label{font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.email-list-items{flex:1;overflow-y:auto}.email-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-base);position:relative}.email-item:hover{background-color:var(--bg-hover)}.email-item.selected{background-color:var(--accent-primary-muted);border-left:3px solid var(--accent-primary)}.email-item.unread{background-color:#ffffff05}.email-item.unread .email-from{font-weight:600;color:var(--text-primary)}.email-item.unread .email-subject{font-weight:600}.email-avatar{width:36px;height:36px;background-color:var(--bg-elevated);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.email-item.selected .email-avatar{background-color:var(--accent-primary);color:var(--text-inverse)}.email-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.email-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.email-from{font-size:.875rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.email-time{font-size:.75rem;color:var(--text-muted);white-space:nowrap;display:flex;align-items:center;gap:.25rem;flex-shrink:0}.email-subject{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-preview{font-size:.8125rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.unread-indicator{position:absolute;right:3rem;top:50%;transform:translateY(-50%);width:8px;height:8px;background-color:var(--accent-primary);border-radius:50%;box-shadow:0 0 8px var(--accent-primary-glow)}.delete-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--transition-base)}.email-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:#ef44441a;color:#ef4444}.delete-btn:active{transform:translateY(-50%) scale(.95)}.email-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;padding:2rem;text-align:center;color:var(--text-muted)}.email-list-empty svg{opacity:.5}.email-list-empty h3{color:var(--text-secondary);font-weight:600;font-size:1rem}.email-list-empty p{font-size:.875rem}.email-detail{display:flex;flex-direction:column;height:100%}.email-detail-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.email-meta{flex:1;min-width:0}.email-subject-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1.25rem;line-height:1.4}.email-info-grid{display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;align-items:flex-start;gap:.75rem}.info-item svg{color:var(--text-muted);flex-shrink:0;margin-top:.125rem}.info-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.info-label{font-size:.6875rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:.875rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-actions{display:flex;gap:.5rem;flex-shrink:0}.email-detail-body{flex:1;padding:1.5rem;overflow-y:auto}.email-html-content,.email-text-content{line-height:1.7;color:var(--text-secondary);font-size:.9375rem}.email-text-content{white-space:pre-wrap;font-family:var(--font-primary)}.email-html-content{max-width:100%;word-wrap:break-word}.email-html-content img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.email-html-content a{color:var(--accent-primary)!important;text-decoration:none;transition:color var(--transition-base)}.email-html-content a:hover{color:var(--accent-primary-hover)!important;text-decoration:underline}.email-html-content{color:var(--text-primary)!important}.email-html-content *{max-width:100%;color:inherit!important;background-color:transparent!important}.email-html-content p,.email-html-content span,.email-html-content div,.email-html-content td,.email-html-content th,.email-html-content li,.email-html-content h1,.email-html-content h2,.email-html-content h3,.email-html-content h4,.email-html-content h5,.email-html-content h6,.email-html-content strong,.email-html-content b,.email-html-content em,.email-html-content i,.email-html-content u{color:var(--text-primary)!important}.email-html-content a{color:var(--accent-primary)!important}.email-html-content table{border-collapse:collapse}.email-html-content td,.email-html-content th{padding:.5rem}.email-html-content blockquote{margin:1rem 0;padding-left:1rem;border-left:3px solid var(--border-color);color:var(--text-muted)}.thread-view{display:flex;flex-direction:column;gap:1rem}.thread-message{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.thread-message.sent{border-left:3px solid var(--accent-primary)}.thread-message.received{border-left:3px solid var(--success-color, #10b981)}.thread-message-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary, var(--bg-secondary));border-bottom:1px solid var(--border-color)}.thread-sender{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.thread-sender svg{color:var(--text-muted)}.sender-email{font-weight:500;color:var(--text-primary)}.sender-type{color:var(--text-muted);font-size:.75rem}.thread-date{font-size:.75rem;color:var(--text-muted)}.thread-message-body{padding:1rem}.thread-message-body .email-html-content,.thread-message-body .email-text-content{font-size:.875rem}@media (max-width: 768px){.email-detail-header{flex-direction:column;gap:1rem}.email-actions{width:100%}.email-actions .btn-primary{flex:1;justify-content:center}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-title{display:flex;align-items:center;gap:.75rem}.modal-title svg{color:var(--accent-primary)}.modal-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.close-button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.close-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.reply-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto}.reply-form .form-group{display:flex;flex-direction:column;gap:.5rem}.reply-form label{font-weight:500;font-size:.8125rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.reply-form label svg{color:var(--text-muted)}.reply-form input,.reply-form select,.reply-form textarea{padding:.75rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;color:var(--text-primary);transition:all var(--transition-base);font-family:var(--font-primary)}.reply-form input::placeholder,.reply-form textarea::placeholder{color:var(--text-muted)}.reply-form input:hover,.reply-form select:hover,.reply-form textarea:hover{border-color:var(--border-color-hover)}.reply-form input:focus,.reply-form select:focus,.reply-form textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}.reply-form input:disabled{background-color:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed;border-color:var(--border-color)}.reply-form select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}.reply-form textarea{resize:vertical;min-height:180px;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:.5rem}.spinner-small{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 640px){.modal-content{max-height:100vh;height:100%;border-radius:0}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%;justify-content:center}}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:400px;margin:1rem;position:relative;animation:slideUp .2s ease-out;box-shadow:var(--shadow-xl)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:all var(--transition-base)}.confirm-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.confirm-modal-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.confirm-modal-icon.danger{background:#ef44441a;color:#ef4444}.confirm-modal-icon.warning{background:#f59e0b1a;color:#f59e0b}.confirm-modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:.5rem}.confirm-modal-message{font-size:.9375rem;color:var(--text-secondary);text-align:center;line-height:1.6;margin-bottom:1.5rem}.confirm-modal-actions{display:flex;gap:.75rem}.confirm-modal-actions button{flex:1;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.confirm-modal-actions .btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.confirm-modal-actions .btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.confirm-modal-actions .btn-confirm{border:none;color:#fff}.confirm-modal-actions .btn-confirm.danger{background:#ef4444}.confirm-modal-actions .btn-confirm.danger:hover{background:#dc2626}.confirm-modal-actions .btn-confirm.warning{background:#f59e0b}.confirm-modal-actions .btn-confirm.warning:hover{background:#d97706}.users-page{display:flex;flex-direction:column;gap:1.5rem;height:100%}.users-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem}.users-title{display:flex;align-items:center;gap:.75rem}.users-title svg{color:var(--accent-primary)}.users-title h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.users-table-container{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:1rem 1.25rem;text-align:left}.users-table th{background-color:var(--bg-elevated);font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.users-table td{border-bottom:1px solid var(--border-color)}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background-color:var(--bg-hover)}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;background-color:var(--bg-elevated);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.user-details{display:flex;flex-direction:column;gap:.125rem}.user-name{font-weight:500;color:var(--text-primary);font-size:.9375rem}.user-email{font-size:.8125rem;color:var(--text-muted)}.role-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.date-text{font-size:.875rem;color:var(--text-secondary)}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-md);background-color:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-base)}.btn-icon.danger:hover{background-color:var(--error-muted);color:var(--error)}.users-loading,.users-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.users-loading p,.users-error p{color:var(--text-secondary)}.user-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.user-form .form-group{display:flex;flex-direction:column;gap:.5rem}.user-form label{font-weight:500;font-size:.8125rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.user-form label svg{color:var(--text-muted)}.user-form input,.user-form select{padding:.75rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;color:var(--text-primary);transition:all var(--transition-base);font-family:var(--font-primary)}.user-form input::placeholder{color:var(--text-muted)}.user-form input:hover,.user-form select:hover{border-color:var(--border-color-hover)}.user-form input:focus,.user-form select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}.user-form select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}.status-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-size:.8125rem;font-weight:500}.status-toggle.active{color:var(--success)}.status-toggle.active:hover{background-color:var(--success-muted)}.status-toggle.inactive{color:var(--text-muted)}.status-toggle.inactive:hover{background-color:var(--bg-hover);color:var(--text-secondary)}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.status-badge.active{background-color:var(--success-muted);color:var(--success)}.status-badge.inactive{background-color:var(--bg-elevated);color:var(--text-muted)}.action-buttons{display:flex;gap:.5rem}.btn-assign{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:var(--accent-primary-muted);color:var(--accent-primary);border:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-assign:hover{background-color:var(--accent-primary);color:var(--bg-primary)}.all-campaigns{font-size:.8125rem;color:var(--text-muted);font-style:italic}.campaign-modal{max-width:500px}.campaign-modal-body{padding:1.5rem;max-height:400px;overflow-y:auto}.assign-info{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.assign-info strong{color:var(--text-primary)}.campaign-list{display:flex;flex-direction:column;gap:.5rem}.campaign-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.campaign-item:hover{border-color:var(--border-color-hover)}.campaign-item.selected{background-color:var(--accent-primary-muted);border-color:var(--accent-primary)}.campaign-item input[type=checkbox]{display:none}.campaign-checkbox{width:20px;height:20px;border:2px solid var(--border-color);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-base)}.campaign-item.selected .campaign-checkbox{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.campaign-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.campaign-name{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.campaign-status{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.campaign-status.active{color:var(--success)}.campaign-status.paused{color:var(--warning)}.campaign-loading,.no-campaigns{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.75rem;color:var(--text-muted)}.create-campaign-list{display:flex;flex-direction:column;gap:.375rem;max-height:200px;overflow-y:auto;padding:.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.campaign-item.compact{padding:.5rem .75rem}.campaign-item.compact .campaign-checkbox{width:16px;height:16px}.campaign-item.compact .campaign-name{font-size:.8125rem}.form-hint{font-size:.75rem;color:var(--text-muted)}@media (max-width: 768px){.users-table th:nth-child(4),.users-table td:nth-child(4),.users-table th:nth-child(5),.users-table td:nth-child(5){display:none}}@media (max-width: 480px){.users-header{flex-direction:column;align-items:flex-start;gap:1rem}.users-header .btn-primary{width:100%;justify-content:center}}.campaigns-page{display:flex;flex-direction:column;gap:1.5rem;height:100%}.campaigns-header{display:flex;justify-content:space-between;align-items:center}.campaigns-title{display:flex;align-items:center;gap:.75rem}.campaigns-title svg{color:var(--accent-primary)}.campaigns-title h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.campaigns-loading,.campaigns-error,.campaigns-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center}.campaigns-loading p,.campaigns-error p,.campaigns-empty p{color:var(--text-secondary)}.campaigns-empty svg,.campaigns-error svg{color:var(--text-muted);opacity:.5}.campaigns-empty h3{color:var(--text-primary);font-weight:600}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.campaign-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all var(--transition-base)}.campaign-card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-lg)}.campaign-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.campaign-name{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.4;flex:1}.status-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;flex-shrink:0}.status-pill.active{background-color:var(--success-muted);color:var(--success)}.status-pill.paused{background-color:var(--warning-muted);color:var(--warning)}.status-pill.completed{background-color:var(--accent-primary-muted);color:var(--accent-primary)}.status-pill.draft{background-color:var(--bg-elevated);color:var(--text-muted)}.campaign-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:1rem;background-color:var(--bg-secondary);border-radius:var(--radius-md)}.stat-item{display:flex;align-items:center;gap:.5rem}.stat-item svg{color:var(--text-muted);flex-shrink:0}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.stat-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.campaign-rates{display:flex;flex-direction:column;gap:.75rem}.rate-bar{display:flex;flex-direction:column;gap:.375rem}.rate-label{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.rate-value{font-weight:600;font-family:var(--font-mono)}.rate-progress{height:6px;background-color:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden}.rate-fill{height:100%;border-radius:var(--radius-full);transition:width .5s ease}.rate-fill.open{background-color:var(--accent-primary)}.rate-fill.reply{background-color:var(--success)}.campaign-footer{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--border-color)}.campaign-date{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted)}@media (max-width: 768px){.campaigns-grid{grid-template-columns:1fr}.campaign-stats{grid-template-columns:repeat(2,1fr)}}.analytics-page{display:flex;flex-direction:column;gap:1.5rem}.analytics-header{display:flex;justify-content:space-between;align-items:center}.analytics-title{display:flex;align-items:center;gap:.75rem}.analytics-title svg{color:var(--accent-primary)}.analytics-title h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.analytics-loading,.analytics-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center}.analytics-loading p,.analytics-error p{color:var(--text-secondary)}.analytics-error svg{color:var(--text-muted);opacity:.5}.stats-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.overview-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden}.overview-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.overview-card.primary:before{background-color:var(--accent-primary)}.overview-card.success:before{background-color:var(--success)}.overview-card.warning:before{background-color:var(--warning)}.overview-card.info:before{background-color:#8b5cf6}.overview-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.overview-card.primary .overview-icon{background-color:var(--accent-primary-muted);color:var(--accent-primary)}.overview-card.success .overview-icon{background-color:var(--success-muted);color:var(--success)}.overview-card.warning .overview-icon{background-color:var(--warning-muted);color:var(--warning)}.overview-card.info .overview-icon{background-color:#8b5cf61a;color:#8b5cf6}.overview-content{display:flex;flex-direction:column;flex:1}.overview-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.overview-label{font-size:.8125rem;color:var(--text-muted)}.overview-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.overview-trend.up{background-color:var(--success-muted);color:var(--success)}.overview-trend.down{background-color:var(--error-muted);color:var(--error)}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.analytics-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.analytics-card.full-width{grid-column:1 / -1}.analytics-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.campaign-overview-stats{display:flex;gap:2rem}.overview-stat{display:flex;flex-direction:column;gap:.25rem}.overview-stat .stat-number{font-size:2rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.overview-stat .stat-text{font-size:.8125rem;color:var(--text-muted)}.overview-stat.active .stat-number{color:var(--success)}.overview-stat.paused .stat-number{color:var(--warning)}.rate-cards{display:flex;gap:3rem;justify-content:center;padding:1rem 0}.rate-card{display:flex;flex-direction:column;align-items:center;gap:.75rem}.rate-circle{position:relative;width:100px;height:100px}.rate-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.rate-circle .rate-bg{fill:none;stroke:var(--bg-elevated);stroke-width:3}.rate-circle .rate-progress{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .5s ease}.rate-circle.open .rate-progress{stroke:var(--accent-primary)}.rate-circle.reply .rate-progress{stroke:var(--success)}.rate-percent{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.rate-name{font-size:.875rem;color:var(--text-secondary);font-weight:500}.top-campaigns-table{overflow-x:auto}.top-campaigns-table table{width:100%;border-collapse:collapse}.top-campaigns-table th,.top-campaigns-table td{padding:.875rem 1rem;text-align:left}.top-campaigns-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.top-campaigns-table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem}.top-campaigns-table tr:last-child td{border-bottom:none}.top-campaigns-table tr:hover td{background-color:var(--bg-hover)}.campaign-name-cell{font-weight:500;color:var(--text-primary);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase}.status-badge.active,.status-badge.running{background-color:var(--success-muted);color:var(--success)}.status-badge.paused{background-color:var(--warning-muted);color:var(--warning)}.status-badge.draft{background-color:var(--bg-elevated);color:var(--text-muted)}.reply-rate-cell{display:flex;align-items:center;gap:.75rem}.mini-bar{width:60px;height:6px;background-color:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden}.mini-fill{height:100%;background-color:var(--success);border-radius:var(--radius-full);transition:width .3s ease}.no-data{padding:2rem;text-align:center;color:var(--text-muted)}@media (max-width: 1024px){.stats-overview{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}}@media (max-width: 640px){.stats-overview{grid-template-columns:1fr}.campaign-overview-stats{flex-direction:column;gap:1rem}.rate-cards{gap:1.5rem}}.settings-page{display:flex;flex-direction:column;gap:1.5rem}.settings-header{display:flex;justify-content:space-between;align-items:center}.settings-title{display:flex;align-items:center;gap:.75rem}.settings-title svg{color:var(--accent-primary)}.settings-title h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.settings-autosave{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--success);padding:.5rem 1rem;background-color:var(--success-muted);border-radius:var(--radius-md)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.settings-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.settings-card.full-width{grid-column:1 / -1}.card-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background-color:var(--bg-elevated);border-bottom:1px solid var(--border-color)}.card-header svg{color:var(--accent-primary)}.card-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.card-content{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.profile-info{display:flex;align-items:center;gap:1rem}.profile-avatar{width:64px;height:64px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--bg-primary)}.profile-details{display:flex;flex-direction:column;gap:.25rem}.profile-name{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.profile-email{font-size:.875rem;color:var(--text-secondary)}.profile-role{display:inline-flex;width:fit-content;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;margin-top:.25rem}.profile-role.admin{background-color:var(--accent-primary-muted);color:var(--accent-primary)}.profile-role.user{background-color:var(--bg-elevated);color:var(--text-muted)}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.setting-item:last-child{padding-bottom:0;border-bottom:none}.setting-info{display:flex;flex-direction:column;gap:.25rem}.setting-label{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.setting-description{font-size:.8125rem;color:var(--text-muted)}.theme-selector{display:flex;gap:.5rem}.theme-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.theme-option:hover{border-color:var(--border-color-hover);color:var(--text-primary)}.theme-option.active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.toggle{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-full);transition:all var(--transition-base)}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:var(--text-muted);border-radius:50%;transition:all var(--transition-base)}.toggle input:checked+.toggle-slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(22px);background-color:var(--bg-primary)}.setting-item select{padding:.5rem 2rem .5rem .75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem}.setting-item select:focus{outline:none;border-color:var(--accent-primary)}.security-info{display:flex;flex-wrap:wrap;gap:1.5rem}.security-item{display:flex;flex-direction:column;gap:.375rem}.security-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.security-value{font-size:.875rem;color:var(--text-primary)}code.security-value{font-family:var(--font-mono);font-size:.75rem;padding:.25rem .5rem;background-color:var(--bg-secondary);border-radius:var(--radius-sm)}.role-badge{display:inline-flex;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.role-badge.admin{background-color:var(--accent-primary-muted);color:var(--accent-primary)}.role-badge.user{background-color:var(--bg-elevated);color:var(--text-secondary)}.security-note{margin-top:.5rem;font-size:.8125rem;color:var(--text-muted);padding:.75rem;background-color:var(--bg-secondary);border-radius:var(--radius-md)}@media (max-width: 768px){.settings-grid{grid-template-columns:1fr}.setting-item{flex-direction:column;align-items:flex-start}.theme-selector{width:100%}.theme-option{flex:1;justify-content:center}}.dashboard-layout{min-height:100vh;background-color:var(--bg-primary)}.main-content{margin-left:var(--sidebar-width);min-height:100vh;padding:1.5rem;transition:margin-left var(--transition-slow);display:flex;flex-direction:column;gap:1.5rem}.main-content.expanded{margin-left:var(--sidebar-collapsed)}.top-bar{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem}.top-bar-left{display:flex;flex-direction:column;gap:.25rem}.page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.page-subtitle{font-size:.875rem;color:var(--text-muted)}.top-bar-right{display:flex;gap:.75rem}.email-type-tabs{display:flex;gap:.5rem;background-color:var(--bg-card);padding:.375rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);width:fit-content}.email-type-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-base)}.email-type-tab:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.email-type-tab.active{background-color:var(--accent-primary);color:var(--bg-primary)}.email-type-tab.active svg{color:var(--bg-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:all var(--transition-base)}.stat-card:hover{border-color:var(--border-color-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon{width:48px;height:48px;background-color:var(--accent-primary-muted);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--accent-primary)}.stat-icon.unread{background-color:var(--warning-muted);color:var(--warning)}.stat-icon.campaigns{background-color:var(--success-muted);color:var(--success)}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.8125rem;color:var(--text-muted)}.filters-bar{display:flex;gap:1rem;flex-wrap:wrap}.search-box{flex:1;min-width:250px;max-width:400px;position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:1rem;color:var(--text-muted);pointer-events:none}.search-box input{padding-left:2.75rem;background-color:var(--bg-card)}.filter-group{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.filter-group select{width:auto;min-width:200px;background-color:var(--bg-card)}.content-area{flex:1;min-height:0}.email-grid{display:grid;grid-template-columns:400px 1fr;gap:1.5rem;height:calc(100vh - 380px);min-height:400px}.email-list-panel,.email-detail-panel{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.loading-state p,.error-state p{color:var(--text-secondary)}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-muted);padding:2rem;text-align:center}.no-selection svg{opacity:.5}.no-selection h3{color:var(--text-secondary);font-weight:600}.no-selection p{font-size:.875rem}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center}.coming-soon-icon{color:var(--text-muted);opacity:.5}.coming-soon h3{font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.coming-soon p{font-size:.875rem;color:var(--text-muted)}.spinning{animation:spin 1s linear infinite}@media (max-width: 1200px){.email-grid{grid-template-columns:350px 1fr}}@media (max-width: 1024px){.main-content{margin-left:var(--sidebar-collapsed)}.email-grid{grid-template-columns:1fr;height:auto}.email-detail-panel{display:none}.stats-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.main-content{padding:1rem}.stats-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column}.search-box{max-width:100%}.filter-group{width:100%}.filter-group select{flex:1}}.App{min-height:100vh}:root,[data-theme=dark]{--bg-primary: #0d0f14;--bg-secondary: #13151a;--bg-card: #1a1d24;--bg-hover: #20232b;--bg-elevated: #252830;--accent-primary: hsl(175, 80%, 50%);--accent-primary-hover: hsl(175, 80%, 45%);--accent-primary-glow: rgba(35, 211, 191, .3);--accent-primary-muted: rgba(35, 211, 191, .1);--text-primary: #e4e6eb;--text-secondary: #9ca3af;--text-muted: #6b7280;--text-inverse: #0d0f14;--success: #10b981;--success-muted: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-muted: rgba(245, 158, 11, .1);--error: #ef4444;--error-muted: rgba(239, 68, 68, .1);--border-color: rgba(255, 255, 255, .1);--border-color-hover: rgba(255, 255, 255, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px var(--accent-primary-glow);--sidebar-width: 256px;--sidebar-collapsed: 72px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--font-primary: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-card: #ffffff;--bg-hover: #e2e8f0;--bg-elevated: #ffffff;--accent-primary: hsl(175, 80%, 40%);--accent-primary-hover: hsl(175, 80%, 35%);--accent-primary-glow: rgba(20, 184, 166, .3);--accent-primary-muted: rgba(20, 184, 166, .1);--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--success: #059669;--success-muted: rgba(5, 150, 105, .1);--warning: #d97706;--warning-muted: rgba(217, 119, 6, .1);--error: #dc2626;--error-muted: rgba(220, 38, 38, .1);--border-color: rgba(0, 0, 0, .1);--border-color-hover: rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px var(--accent-primary-glow)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}#root{min-height:100vh}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;background-color:var(--bg-primary)}.spinner{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button{font-family:var(--font-primary);cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}.btn-primary{background-color:var(--accent-primary);color:var(--text-inverse);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled){background-color:var(--accent-primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;border:1px solid var(--border-color);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-color-hover);transform:translateY(-2px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background-color:transparent;color:var(--text-secondary);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem}.btn-ghost:hover{background-color:var(--bg-hover);color:var(--text-primary)}.btn-icon{background-color:transparent;color:var(--text-secondary);padding:.5rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.btn-icon:hover{background-color:var(--bg-hover);color:var(--text-primary)}input,textarea,select{font-family:var(--font-primary);font-size:.9375rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;transition:all var(--transition-base);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-card)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-base)}.card:hover{border-color:var(--border-color-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-success{background-color:var(--success-muted);color:var(--success)}.badge-warning{background-color:var(--warning-muted);color:var(--warning)}.badge-error{background-color:var(--error-muted);color:var(--error)}.badge-primary{background-color:var(--accent-primary-muted);color:var(--accent-primary)}.error-message{background-color:var(--error-muted);color:var(--error);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.2);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.success-message{background-color:var(--success-muted);color:var(--success);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(16,185,129,.2);font-size:.875rem}.gradient-text{background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background-color:var(--accent-primary-muted);color:var(--text-primary)}
