.mm-app { font-family: -apple-system, Segoe UI, Roboto, Arial, sans-serif; max-width: 900px; margin: 0 auto; color: #222; }
.mm-app-body { min-height: 320px; padding: 20px 10px 60px; }
.mm-loading { text-align: center; color: #888; }

/* Login */
.mm-login-box { max-width: 340px; margin: 60px auto; padding: 30px; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.06); }
.mm-login-box h2 { margin-top: 0; text-align: center; }
.mm-field { margin-bottom: 16px; }
.mm-field label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 14px; }
.mm-field input, .mm-field select { width: 100%; padding: 9px 10px; border: 1px solid #ccc; border-radius: 5px; font-size: 14px; box-sizing: border-box; }
.mm-password-wrap { position: relative; }
.mm-password-wrap input { padding-right: 38px; }
.mm-eye-btn { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: 16px; padding: 4px; }
.mm-btn { display: inline-block; padding: 10px 18px; border: none; border-radius: 5px; background: #2b6cb0; color: #fff; font-size: 14px; cursor: pointer; }
.mm-btn:hover { background: #245a92; }
.mm-btn-block { width: 100%; }
.mm-btn-secondary { background: #718096; }
.mm-btn-secondary:hover { background: #5a6472; }
.mm-btn-danger { background: #c53030; }
.mm-btn-danger:hover { background: #9b2c2c; }
.mm-error { color: #c53030; font-size: 13px; margin-top: 8px; min-height: 16px; }

/* Dashboard header */
.mm-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.mm-topbar .mm-hello { font-weight: 600; }
.mm-topbar .mm-hello + .mm-btn { margin-left: 10px; }
.mm-topbar-right { display: flex; align-items: center; gap: 10px; }

.mm-dash-buttons { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 40px; }
.mm-dash-buttons .mm-btn { padding: 22px 26px; font-size: 15px; min-width: 180px; }
.mm-back-link { display: inline-block; margin-bottom: 16px; cursor: pointer; color: #2b6cb0; font-size: 14px; }

/* Dashboard: updated emails section */
.mm-updated-section { margin-top: 40px; }
.mm-updated-section h3 { margin-bottom: 6px; }
.mm-sortable-th { cursor: pointer; user-select: none; }
.mm-sortable-th:hover { color: #2b6cb0; }

/* Domain buttons */
.mm-domain-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.mm-domain-buttons .mm-btn { background: #4a5568; }
.mm-domain-buttons .mm-btn:hover { background: #2d3748; }

/* Search */
.mm-search-row { display: flex; gap: 8px; margin: 16px 0; }
.mm-search-row input { flex: 1; padding: 9px 10px; border: 1px solid #ccc; border-radius: 5px; }

/* Email list */
.mm-email-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.mm-email-table th, .mm-email-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #eee; font-size: 14px; }
.mm-status-badge { padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 600; color: #fff; }
.mm-status-Active { background: #2f855a; }
.mm-status-Inactive { background: #a0aec0; }
.mm-status-Restricted { background: #c05621; }
.mm-status-Pending { background: #d69e2e; }
.mm-status-Done { background: #2f855a; }
.mm-process-btn { padding: 6px 12px; }

/* Modal */
.mm-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 9999; }
.mm-modal { background: #fff; border-radius: 8px; padding: 24px; width: 360px; max-width: 92vw; }
.mm-modal h3 { margin-top: 0; word-break: break-all; }
.mm-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.mm-confirm-box { text-align: center; }
.mm-confirm-box p { margin-bottom: 20px; }
.mm-confirm-actions { display: flex; justify-content: center; gap: 12px; }

/* Upload */
.mm-upload-box { text-align: center; padding: 30px; border: 2px dashed #cbd5e0; border-radius: 8px; }

.mm-footer { text-align: center; font-size: 13px; color: #888; padding: 16px 0; border-top: 1px solid #eee; }
