:root{--bg-primary: #1e1e2e;--bg-secondary: #252536;--bg-tertiary: #2a2a3d;--bg-hover: #32324a;--bg-active: #3a3a55;--bg-input: #2e2e42;--text-primary: #e4e4e9;--text-secondary: #9898b0;--text-muted: #6e6e88;--accent: #0078d4;--accent-hover: #106ebe;--accent-light: rgba(0, 120, 212, .15);--border: #3a3a50;--danger: #e74c3c;--danger-hover: #c0392b;--success: #27ae60;--star-color: #f1c40f;--radius: 6px;--radius-lg: 10px;--shadow: 0 4px 20px rgba(0, 0, 0, .3);--transition: .15s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden}#root{height:100vh}.app{display:grid;grid-template-columns:220px 340px 1fr;height:100vh}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 0}.sidebar-header{display:flex;align-items:center;gap:10px;padding:0 16px 16px;border-bottom:1px solid var(--border);margin-bottom:12px}.app-logo{font-size:24px}.app-name{font-size:18px;font-weight:600;letter-spacing:-.3px}.btn-compose{margin:0 12px 12px;padding:10px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition)}.btn-compose:hover{background:var(--accent-hover)}.folder-list{flex:1;overflow-y:auto}.folder-item{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;transition:background var(--transition);font-size:13.5px}.folder-item:hover{background:var(--bg-hover)}.folder-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.folder-icon{font-size:16px;width:22px;text-align:center}.folder-label{flex:1}.folder-badge{background:var(--accent);color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px;min-width:20px;text-align:center}.sidebar-footer{border-top:1px solid var(--border);padding:12px 16px 0}.user-info{display:flex;align-items:center;gap:8px;margin-bottom:8px}.user-avatar{font-size:18px}.user-email{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{width:100%;padding:6px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:12px;transition:all var(--transition)}.btn-logout:hover{color:var(--danger);border-color:var(--danger)}.email-list-panel{background:var(--bg-primary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.list-header{padding:14px 16px;border-bottom:1px solid var(--border)}.list-title{font-size:16px;font-weight:600;margin-bottom:10px}.list-count{font-weight:400;color:var(--text-muted);font-size:13px}.search-box{position:relative}.search-box input{width:100%;padding:8px 32px 8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13px;outline:none;transition:border var(--transition)}.search-box input:focus{border-color:var(--accent)}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px}.email-list{flex:1;overflow-y:auto}.list-loading,.list-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.email-row{display:flex;align-items:flex-start;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(58,58,80,.4);cursor:pointer;transition:background var(--transition)}.email-row:hover{background:var(--bg-hover)}.email-row.selected{background:var(--accent-light)}.email-row.unread{border-left:3px solid var(--accent)}.star-btn{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-muted);padding:2px;flex-shrink:0;margin-top:2px;transition:color var(--transition)}.star-btn.starred,.star-btn:hover{color:var(--star-color)}.email-row-content{flex:1;min-width:0}.email-row-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}.email-from{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.unread .email-from{font-weight:700;color:#fff}.email-date{font-size:11px;color:var(--text-muted);flex-shrink:0;margin-left:8px}.email-row-subject{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.unread .email-row-subject{color:var(--text-primary);font-weight:500}.email-row-snippet{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.pagination button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:4px 12px;border-radius:var(--radius);cursor:pointer;font-size:12px}.pagination button:disabled{opacity:.4;cursor:default}.pagination button:not(:disabled):hover{background:var(--bg-hover)}.reader-panel{background:var(--bg-tertiary);overflow-y:auto}.reader-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.3}.reader-empty p{font-size:15px}.email-reader{padding:0;height:100%;display:flex;flex-direction:column}.reader-toolbar{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.reader-toolbar button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:6px 14px;border-radius:var(--radius);cursor:pointer;font-size:13px;transition:all var(--transition)}.reader-toolbar button:hover{background:var(--bg-hover)}.reader-header{padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.reader-subject{font-size:18px;font-weight:600;margin-bottom:12px;line-height:1.3}.reader-meta{font-size:13px;color:var(--text-secondary)}.reader-from{margin-bottom:4px}.reader-from strong{color:var(--text-primary);font-weight:600}.reader-email{color:var(--text-muted);margin-left:6px;font-size:12px}.reader-to,.reader-cc{margin-bottom:2px}.reader-date{color:var(--text-muted);margin-top:4px;font-size:12px}.reader-body{flex:1;padding:20px;overflow-y:auto}.email-html-body{font-size:14px;line-height:1.6;color:var(--text-primary);word-break:break-word}.email-html-body img{max-width:100%;height:auto;border-radius:4px}.email-html-body a{color:var(--accent)}.email-html-body blockquote{border-left:3px solid var(--border);padding-left:12px;margin:8px 0;color:var(--text-secondary)}.email-text-body{font-family:Segoe UI,sans-serif;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.email-empty{color:var(--text-muted);text-align:center;padding:40px}.reader-attachments{padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.reader-attachments h4{font-size:13px;font-weight:600;margin-bottom:10px}.att-list{display:flex;flex-wrap:wrap;gap:8px}.att-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);max-width:280px}.att-item:hover{background:var(--bg-hover);border-color:var(--accent)}.att-icon{font-size:20px;flex-shrink:0}.att-info{display:flex;flex-direction:column;min-width:0}.att-name{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-size{font-size:11px;color:var(--text-muted)}.att-download{background:none;border:none;cursor:pointer;font-size:14px;padding:2px;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.compose-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);width:640px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow);border:1px solid var(--border)}.compose-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.compose-header h3{font-size:16px;font-weight:600}.compose-actions{display:flex;gap:6px}.btn-sm{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:4px 10px;border-radius:var(--radius);cursor:pointer;font-size:13px}.btn-sm:hover{background:var(--bg-hover)}.btn-close{color:var(--text-muted)}.btn-close:hover{color:var(--danger)}.compose-fields{padding:12px 18px 0}.field-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.field-row label{font-size:13px;color:var(--text-muted);width:50px;flex-shrink:0;text-align:right}.field-row input{flex:1;padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13px;outline:none}.field-row input:focus{border-color:var(--accent)}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:4px}.compose-body{flex:1;margin:8px 18px;padding:12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:Segoe UI,sans-serif;font-size:14px;resize:none;outline:none;min-height:200px;line-height:1.5}.compose-body:focus{border-color:var(--accent)}.compose-attachments{padding:0 18px;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.att-chip{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:20px;font-size:12px}.att-chip button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:0 2px}.att-chip button:hover{color:var(--danger)}.compose-footer{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.btn-primary{padding:8px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-attach{padding:8px 14px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;cursor:pointer;transition:all var(--transition)}.btn-attach:hover{background:var(--bg-hover);color:var(--text-primary)}.login-container{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.login-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 36px;width:380px;box-shadow:var(--shadow)}.login-logo{text-align:center;margin-bottom:28px}.logo-icon{font-size:40px;display:block;margin-bottom:8px}.login-logo h1{font-size:24px;font-weight:700;margin-bottom:4px}.login-subtitle{color:var(--text-muted);font-size:13px}.login-box form{display:flex;flex-direction:column;gap:12px}.login-box input{padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:14px;outline:none}.login-box input:focus{border-color:var(--accent)}.login-box button{padding:10px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;margin-top:4px;transition:background var(--transition)}.login-box button:hover{background:var(--accent-hover)}.login-box button:disabled{opacity:.6;cursor:default}.login-error{color:var(--danger);font-size:13px;text-align:center;padding:6px;background:#e74c3c1a;border-radius:var(--radius)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 900px){.app{grid-template-columns:60px 260px 1fr}.sidebar-header .app-name,.folder-label,.folder-badge,.user-email,.btn-compose{display:none}.sidebar{align-items:center}.btn-compose{display:block;width:40px;height:40px;padding:0;font-size:18px;text-align:center;line-height:40px;margin:0 0 8px}.folder-item{justify-content:center;padding:10px}}
